mirror of
https://github.com/photoprism/photoprism.git
synced 2026-07-17 16:49:04 +00:00
Merge branch 'develop' into feature/eslint-workspace-setup
This commit is contained in:
commit
15f005dc14
159 changed files with 2330 additions and 806 deletions
|
|
@ -1,22 +1,27 @@
|
|||
# Local build files and directories:
|
||||
/photos/*
|
||||
/frontend/node_modules/*
|
||||
/node_modules
|
||||
/assets/docs
|
||||
/assets/static/build/*
|
||||
/assets/facenet
|
||||
/assets/nasnet
|
||||
/assets/nsfw
|
||||
/assets/efficientnet
|
||||
/assets/imagenet
|
||||
/assets/resnet
|
||||
/assets/vision
|
||||
/assets/models
|
||||
/storage
|
||||
/build
|
||||
/frontend/node_modules/
|
||||
/node_modules/
|
||||
/assets/docs/
|
||||
/assets/static/build/
|
||||
/assets/facenet/
|
||||
/assets/nasnet/
|
||||
/assets/nsfw/
|
||||
/assets/efficientnet/
|
||||
/assets/imagenet/
|
||||
/assets/resnet/
|
||||
/assets/vision/
|
||||
/assets/models/
|
||||
/storage/
|
||||
/build/
|
||||
/photoprism
|
||||
/photoprism-*
|
||||
/frontend/tests/acceptance/screenshots
|
||||
/frontend/tests/acceptance/screenshots/
|
||||
/frontend/tests/screenshots/
|
||||
/frontend/tests/*.html
|
||||
/frontend/tests/*.log
|
||||
/frontend/tests_output/
|
||||
/frontend/coverage/
|
||||
/test/
|
||||
/specs/
|
||||
/docs/
|
||||
|
|
@ -85,7 +90,7 @@ Thumbs.db
|
|||
.glide
|
||||
/tmp/
|
||||
/internal/tmp/
|
||||
/TODO.md
|
||||
/DONE.md
|
||||
*.override.md
|
||||
/AGENTS_*
|
||||
/REPOS.md
|
||||
/CLAUDE.md
|
||||
|
|
|
|||
33
.gitignore
vendored
33
.gitignore
vendored
|
|
@ -32,43 +32,44 @@ venv
|
|||
.nv
|
||||
.eslintcache
|
||||
.gocache
|
||||
/pro
|
||||
/portal
|
||||
/plus
|
||||
/pro/
|
||||
/portal/
|
||||
/plus/
|
||||
/tmp/
|
||||
/internal/tmp/
|
||||
/test/
|
||||
*-lock.json
|
||||
/node_modules
|
||||
/frontend/node_modules/*
|
||||
/node_modules/
|
||||
/frontend/node_modules/
|
||||
/frontend/tests/*.html
|
||||
/frontend/tests/*.log
|
||||
/frontend/tests/screenshots
|
||||
/frontend/tests/screenshots/
|
||||
/frontend/src/locales/*.mo
|
||||
/frontend/tests_output
|
||||
/frontend/tests_output/
|
||||
frontend/coverage/
|
||||
**/__screenshots__/
|
||||
/photoprism
|
||||
/photoprism-*
|
||||
/photos/originals/*
|
||||
/photos/import/*
|
||||
/storage/*
|
||||
/build/*
|
||||
/assets/docs
|
||||
/assets/facenet
|
||||
/assets/nasnet
|
||||
/assets/nsfw
|
||||
/storage/
|
||||
/build/
|
||||
/assets/docs/
|
||||
/assets/facenet/
|
||||
/assets/nasnet/
|
||||
/assets/nsfw/
|
||||
/assets/static/build/
|
||||
/assets/static/maps/
|
||||
/assets/*net
|
||||
/assets/vision
|
||||
/assets/vision/
|
||||
/specs/
|
||||
/docs/
|
||||
/bin/
|
||||
/TODO.md
|
||||
/DONE.md
|
||||
*.override.md
|
||||
/AGENTS_*
|
||||
/REPOS.md
|
||||
/CLAUDE.md
|
||||
/TODO.md
|
||||
|
||||
# Files created automatically by editors and/or operating systems:
|
||||
.DS_Store
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# PhotoPrism® — Repository Guidelines
|
||||
|
||||
**Last Updated:** February 22, 2026
|
||||
**Last Updated:** February 23, 2026
|
||||
|
||||
## Purpose
|
||||
|
||||
|
|
@ -18,12 +18,13 @@ This file tells automated coding agents (and humans) where to find the single so
|
|||
- Packages: `README.md` files under `internal/`, `pkg/`, and `frontend/src/`, e.g. [`internal/photoprism/README.md`](internal/photoprism/README.md), [`internal/photoprism/batch/README.md`](internal/photoprism/batch/README.md), [`internal/config/README.md`](internal/config/README.md), [`internal/server/README.md`](internal/server/README.md), [`internal/api/README.md`](internal/api/README.md), [`internal/thumb/README.md`](internal/thumb/README.md), [`internal/ffmpeg/README.md`](internal/ffmpeg/README.md), and [`frontend/src/common/README.md`](frontend/src/common/README.md).
|
||||
- Face Detection & Embeddings: [`internal/ai/face/README.md`](internal/ai/face/README.md)
|
||||
- Vision Config & Engines: [`internal/ai/vision/README.md`](internal/ai/vision/README.md), [`internal/ai/vision/openai/README.md`](internal/ai/vision/openai/README.md), [`internal/ai/vision/ollama/README.md`](internal/ai/vision/ollama/README.md)
|
||||
- Terminology Glossary: [`GLOSSARY.md`](GLOSSARY.md) (single source for term definitions across specs/docs)
|
||||
|
||||
### Local Agent Progress
|
||||
|
||||
- Use root-level task files to track progress and handoff notes across sessions/environments:
|
||||
- `TODO.md` for new/upcoming tasks.
|
||||
- `DONE.md` for completed tasks.
|
||||
- `AGENTS_TODO.md` for actionable tasks.
|
||||
- `AGENTS_DONE.md` for completed tasks.
|
||||
- These files are local workflow aids and may not exist yet in a given workspace.
|
||||
|
||||
> Quick Tip: to inspect GitHub issue details without leaving the terminal, run `curl -s https://api.github.com/repos/photoprism/photoprism/issues/<id>`.
|
||||
|
|
@ -379,6 +380,7 @@ Note: Across our public documentation, official images, and in production, the c
|
|||
- When introducing new metadata sources (e.g., `SrcOllama`, `SrcOpenAI`), define them in both `internal/entity/src.go` and the frontend lookup tables (`frontend/src/common/util.js`) so UI badges and server priorities stay aligned.
|
||||
- Vision worker scheduling is controlled via `VisionSchedule` / `VisionFilter` and the `Run` property set in `vision.yml`. Utilities like `vision.FilterModels` and `entity.Photo.ShouldGenerateLabels/Caption` help decide when work is required before loading media files.
|
||||
- Logging: use the shared logger (`event.Log`) via the package-level `log` variable (see `internal/auth/jwt/logger.go`) instead of direct `fmt.Print*` or ad-hoc loggers.
|
||||
- Logging terminology: in human-readable log text, prefer canonical runtime terms (`instance`, `service`) and reserve `node` for contract-bound names (`/cluster/nodes`, `Node*`, `PHOTOPRISM_NODE_*`).
|
||||
- Audit outcomes: import `github.com/photoprism/photoprism/pkg/log/status` and end every `event.Audit*` slice with a single outcome token such as `status.Succeeded`, `status.Failed`, `status.Denied`, or other constants defined there (no additional segments afterwards).
|
||||
- Error outcomes: when a sanitized error string should be the outcome, call `status.Error(err)` instead of adding a placeholder and passing `clean.Error(err)` manually.
|
||||
- Cluster registry tests (`internal/service/cluster/registry`) currently rely on a full test config because they persist `entity.Client` rows. They run migrations and seed the SQLite DB, so they are intentionally slow. If you refactor them, consider sharing a single `config.TestConfig()` across subtests or building a lightweight schema harness; do not swap to the minimal config helper unless the tests stop touching the database.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
PhotoPrism — Backend CODEMAP
|
||||
|
||||
**Last Updated:** February 22, 2026
|
||||
**Last Updated:** February 23, 2026
|
||||
|
||||
Purpose
|
||||
- Give agents and contributors a fast, reliable map of where things live and how they fit together, so you can add features, fix bugs, and write tests without spelunking.
|
||||
|
|
@ -110,6 +110,9 @@ Media Processing
|
|||
- Metadata: `internal/meta/*`.
|
||||
- FFmpeg integration: `internal/ffmpeg/*`.
|
||||
- HEIF tooling: distribution binaries live under `scripts/dist/install-libheif.sh`; regenerate archives with `make build-libheif-*` (wraps `scripts/dist/build-libheif.sh` for each supported distro/arch) before publishing to `dl.photoprism.app/dist/libheif/`.
|
||||
- Folder album consistency:
|
||||
- `internal/entity/folder.go` keeps `FindFolder(...)` unscoped for create/index conflict handling, so a soft-deleted row cannot cause repeated insert/fail/not-found loops.
|
||||
- `internal/photoprism/index.go` runs `entity.ReconcileOriginalsFolderAlbums(...)` only on forced rescans, after the file walk, so regular indexing stays lightweight while complete rescans repair stale/missing folder albums.
|
||||
|
||||
Background Workers
|
||||
- Scheduler and workers: `internal/workers/*.go` (index, vision, meta, sync, backup, share); started from `internal/commands/start.go`.
|
||||
|
|
@ -122,7 +125,7 @@ Cluster / Portal
|
|||
- Theme sync logs explicitly when refresh/rotation occurs so operators can trace credential churn in standard log levels.
|
||||
- Registry/provisioner: `internal/service/cluster/registry/*`, `internal/service/cluster/provisioner/*`.
|
||||
- Theme endpoint (server): GET `/api/v1/cluster/theme`; client/CLI installs theme only if missing or no `app.js`.
|
||||
- Portal-only extensions: `portal/internal/portal` (Portal defaults, flags, provisioning options, `/p/*` proxy router).
|
||||
- Portal-only extensions: `portal/internal/portal` (Portal defaults, flags, provisioning options, `/i/*` proxy router).
|
||||
- See specs cheat sheet: `specs/portal/README.md`.
|
||||
|
||||
Logging & Events
|
||||
|
|
|
|||
38
GLOSSARY.md
Normal file
38
GLOSSARY.md
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
## PhotoPrism — Glossary
|
||||
|
||||
**Last Updated:** February 23, 2026
|
||||
|
||||
### Purpose & Scope
|
||||
|
||||
- This is the single source of truth for terminology used across `specs/` and related docs.
|
||||
- Define terms once here and reference this file instead of redefining the same terms in multiple documents.
|
||||
- Keep technical/API contract names unchanged where required, even when user-facing wording differs.
|
||||
|
||||
### Canonical Terms
|
||||
|
||||
- **admin** — user or client with elevated authorization scopes/roles.
|
||||
- **AdvertiseUrl** — internal/service URL that cluster peers use to reach an instance or service.
|
||||
- **app** — intentional identifier in names/examples (for example `app.js`, `app.kubernetes.io/*`, `photoprism-app`); not the preferred generic runtime role term.
|
||||
- **client** — OAuth/API client identity and credentials (`ClientID`, `ClientSecret`), and broadly a caller of an API.
|
||||
- **cluster domain** — DNS domain used to derive cluster defaults (for example portal/instance URLs).
|
||||
- **cluster UUID** — stable cluster identifier used by provisioning and cluster metadata.
|
||||
- **instance** — PhotoPrism runtime with role `instance` (a cluster member serving UI/API/media features).
|
||||
- **Join Token** — bootstrap bearer token used for initial registration (`/api/v1/cluster/nodes/register`).
|
||||
- **node** — technical identifier used in API/config contracts (for example `/api/v1/cluster/nodes`, `NodeName`, `PHOTOPRISM_NODE_*`, `config/node/...` paths).
|
||||
- **portal** — PhotoPrism runtime with role `portal`, providing cluster control-plane APIs and routing.
|
||||
- **service** — PhotoPrism runtime with role `service` (non-instance cluster member focused on service workloads).
|
||||
- **SiteUrl** — canonical public URL/origin for an instance.
|
||||
- **tenant** — shared-domain routing ownership label used in path-based URLs such as `/i/<tenant>/...`; typically maps to a registered instance name.
|
||||
|
||||
### Writing Rules
|
||||
|
||||
- Use **instance**/**instances** for cluster runtime behavior and role language.
|
||||
- Use **tenant**/**tenants** for shared-domain path ownership and routing semantics.
|
||||
- Keep **node** where a field name, endpoint, flag/env var, config path, or code contract explicitly requires it.
|
||||
- Keep **app** only where it is an intentional identifier/example.
|
||||
- When a term appears ambiguous, link or refer back to this glossary.
|
||||
|
||||
### Change Management
|
||||
|
||||
- Update this file first when introducing, renaming, or clarifying core terminology.
|
||||
- When terminology changes, update dependent docs to match these definitions.
|
||||
15
Makefile
15
Makefile
|
|
@ -100,6 +100,21 @@ show-build:
|
|||
@echo "$(BUILD_TAG)"
|
||||
test-all: test acceptance-run-chromium
|
||||
fmt: fmt-js fmt-go fmt-swag
|
||||
format-tables: # Format Markdown tables in README.md, AGENTS.md, and CODEMAP.md files.
|
||||
@set -eu; \
|
||||
tmp="$$(mktemp)"; \
|
||||
trap 'rm -f "$$tmp"' EXIT INT TERM; \
|
||||
find "$(CURDIR)" -maxdepth 1 -type f \( -name 'README.md' -o -name 'AGENTS.md' -o -name 'CODEMAP.md' \) -print0 >> "$$tmp"; \
|
||||
for dir in internal pkg docker setup; do \
|
||||
if [ -d "$$dir" ]; then \
|
||||
find "$$dir" -type f \( -name 'README.md' -o -name 'AGENTS.md' -o -name 'CODEMAP.md' \) -print0 >> "$$tmp"; \
|
||||
fi; \
|
||||
done; \
|
||||
if [ ! -s "$$tmp" ]; then \
|
||||
echo "No markdown files found for table formatting."; \
|
||||
exit 0; \
|
||||
fi; \
|
||||
xargs -0 npx --yes markdown-table-formatter < "$$tmp"
|
||||
clean-local: clean-local-config clean-local-cache
|
||||
upgrade: dep-upgrade-js dep-upgrade
|
||||
devtools: install-go dep-npm
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ services:
|
|||
## OpenID Connect (pre-configured for local tests):
|
||||
## see https://keycloak.localssl.dev/realms/master/.well-known/openid-configuration
|
||||
## the seeded "photoprism-develop" client in scripts/sql/mariadb-init.sql
|
||||
## allows callbacks for /api/v1/oidc/redirect and /p/* paths
|
||||
## allows callbacks for /api/v1/oidc/redirect and /i/* paths
|
||||
PHOTOPRISM_OIDC_URI: "https://keycloak.localssl.dev/realms/master"
|
||||
PHOTOPRISM_OIDC_CLIENT: "photoprism-develop"
|
||||
PHOTOPRISM_OIDC_SECRET: "9d8351a0-ca01-4556-9c37-85eb634869b9"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
PhotoPrism — Frontend CODEMAP
|
||||
|
||||
**Last Updated:** February 22, 2026
|
||||
**Last Updated:** February 23, 2026
|
||||
|
||||
Purpose
|
||||
- Help agents and contributors navigate the Vue 3 + Vuetify 3 app quickly and make safe changes.
|
||||
|
|
@ -40,7 +40,7 @@ Runtime & Plugins
|
|||
- HTML sanitization: `vue-3-sanitize` + `vue-sanitize-directive`
|
||||
- Tooltips: `floating-vue`
|
||||
- Video: HLS.js assigned to `window.Hls`
|
||||
- PWA: Workbox registers a service worker after config load (see `src/common/pwa.js` and `src/app.js`); scope and registration URL derive from `$config.baseUri` so non-root deployments work. In Portal mode we intentionally skip root-scope (`/`) registration to avoid shared-domain cache interference with instance scopes under `/p/<name>/`. Instance clients under `/p/<name>/` also try to unregister legacy root-scope registrations before registering their scoped worker, so upgrades from older shared-domain setups can recover without manual browser cleanup. Workbox precache rules live in `frontend/webpack.config.js` (see the `GenerateSW` plugin); locale chunks and non-woff2 font variants are excluded there so we don’t force every user to download those assets on first visit.
|
||||
- PWA: Workbox registers a service worker after config load (see `src/common/pwa.js` and `src/app.js`); scope and registration URL derive from `$config.baseUri` so non-root deployments work. In Portal mode we intentionally skip root-scope (`/`) registration to avoid shared-domain cache interference with instance scopes under `/i/<name>/`. Instance clients under `/i/<name>/` also try to unregister legacy root-scope registrations before registering their scoped worker, so upgrades from older shared-domain setups can recover without manual browser cleanup. Workbox precache rules live in `frontend/webpack.config.js` (see the `GenerateSW` plugin); locale chunks and non-woff2 font variants are excluded there so we don’t force every user to download those assets on first visit.
|
||||
- Service worker cleanup: `frontend/src/sw-scope-cleanup.js` provides strict same-scope precache cleanup. `cleanupOutdatedCaches` is disabled in `GenerateSW` to avoid broad cross-scope cache deletion on shared origins.
|
||||
- WebSocket: `src/common/websocket.js` publishes `websocket.*` events, used by `$session` for client info
|
||||
|
||||
|
|
|
|||
20
frontend/package-lock.json
generated
20
frontend/package-lock.json
generated
|
|
@ -60,7 +60,7 @@
|
|||
"i": "^0.3.7",
|
||||
"jsdom": "^26.1.0",
|
||||
"luxon": "^3.7.2",
|
||||
"maplibre-gl": "^5.18.0",
|
||||
"maplibre-gl": "^5.19.0",
|
||||
"memoize-one": "^6.0.0",
|
||||
"mini-css-extract-plugin": "^2.10.0",
|
||||
"minimist": "^1.2.8",
|
||||
|
|
@ -3989,9 +3989,9 @@
|
|||
"license": "ISC"
|
||||
},
|
||||
"node_modules/@maplibre/maplibre-gl-style-spec": {
|
||||
"version": "24.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-24.4.1.tgz",
|
||||
"integrity": "sha512-UKhA4qv1h30XT768ccSv5NjNCX+dgfoq2qlLVmKejspPcSQTYD4SrVucgqegmYcKcmwf06wcNAa/kRd0NHWbUg==",
|
||||
"version": "24.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-24.5.0.tgz",
|
||||
"integrity": "sha512-55sPMCtWAZY7r7ftU2at1SsBJfhJyIE5X16Tbl+uFcnTuiCxEuh6839iq/hgjLM8zUEjXdRu2V30bfsYCNB1Qg==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@mapbox/jsonlint-lines-primitives": "~2.0.2",
|
||||
|
|
@ -6613,9 +6613,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001772",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001772.tgz",
|
||||
"integrity": "sha512-mIwLZICj+ntVTw4BT2zfp+yu/AqV6GMKfJVJMx3MwPxs+uk/uj2GLl2dH8LQbjiLDX66amCga5nKFyDgRR43kg==",
|
||||
"version": "1.0.30001774",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz",
|
||||
"integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
|
|
@ -10959,9 +10959,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/maplibre-gl": {
|
||||
"version": "5.18.0",
|
||||
"resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.18.0.tgz",
|
||||
"integrity": "sha512-UtWxPBpHuFvEkM+5FVfcFG9ZKEWZQI6+PZkvLErr8Zs5ux+O7/KQ3JjSUvAfOlMeMgd/77qlHpOw0yHL7JU5cw==",
|
||||
"version": "5.19.0",
|
||||
"resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.19.0.tgz",
|
||||
"integrity": "sha512-REhYUN8gNP3HlcIZS6QU2uy8iovl31cXsrNDkCcqWSQbCkcpdYLczqDz5PVIwNH42UQNyvukjes/RoHPDrOUmQ==",
|
||||
"license": "BSD-3-Clause",
|
||||
"dependencies": {
|
||||
"@mapbox/geojson-rewind": "^0.5.2",
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@
|
|||
"i": "^0.3.7",
|
||||
"jsdom": "^26.1.0",
|
||||
"luxon": "^3.7.2",
|
||||
"maplibre-gl": "^5.18.0",
|
||||
"maplibre-gl": "^5.19.0",
|
||||
"memoize-one": "^6.0.0",
|
||||
"mini-css-extract-plugin": "^2.10.0",
|
||||
"minimist": "^1.2.8",
|
||||
|
|
|
|||
|
|
@ -35,7 +35,13 @@ export const serviceWorkerUrl = (scopeBase) => {
|
|||
|
||||
// shouldCleanupRootScopeServiceWorker indicates if legacy root-scope workers should be removed.
|
||||
export const shouldCleanupRootScopeServiceWorker = (scopeBase) => {
|
||||
return typeof scopeBase === "string" && scopeBase.startsWith("/p/");
|
||||
if (typeof scopeBase !== "string" || !scopeBase.startsWith("/") || scopeBase === "/") {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Proxy-routed instance paths include at least two path segments (prefix + tenant),
|
||||
// e.g. "/<prefix>/<tenant>/" such as "/i/pro-1/" or "/instance/pro-1/".
|
||||
return scopeBase.split("/").filter(Boolean).length >= 2;
|
||||
};
|
||||
|
||||
// isRootScopeRegistration checks whether a service worker registration controls the root scope.
|
||||
|
|
@ -101,7 +107,7 @@ export const shouldRegisterServiceWorker = (config) => {
|
|||
const scopeBase = serviceWorkerScopeBase(config?.baseUri);
|
||||
|
||||
// Avoid root-scope service workers for the portal UI on shared domains.
|
||||
// Instances still register workers at /p/<name>/ where cache scopes stay isolated.
|
||||
// Instances still register workers at /<prefix>/<tenant>/ where cache scopes stay isolated.
|
||||
return !(config?.values?.portal && scopeBase === "/");
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -446,6 +446,10 @@ div.v-dialog.v-dialog--fullscreen > div.v-card {
|
|||
font-size: 0.75rem;
|
||||
}
|
||||
|
||||
body .v-table>.v-table__wrapper>table {
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
.v-table .v-table__wrapper tbody tr td .v-input,
|
||||
.v-table .v-table__wrapper tbody tr td .v-input .v-field__input {
|
||||
min-height: auto;
|
||||
|
|
@ -453,6 +457,8 @@ div.v-dialog.v-dialog--fullscreen > div.v-card {
|
|||
margin: 0;
|
||||
}
|
||||
|
||||
/* Menu */
|
||||
|
||||
.v-input.v-select.v-input--density-compact > .v-input__control > .v-field .v-select__selection,
|
||||
.v-menu > .v-overlay__content > .v-list > .v-list-item.v-list-item--density-compact > .v-list-item__content > .v-list-item-title {
|
||||
font-size: 0.75rem;
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"PO-Revision-Date: 2025-11-27 11:38+0000\n"
|
||||
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-translate@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:07+0000\n"
|
||||
"Last-Translator: Admin <hello@photoprism.app>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -847,7 +847,7 @@ msgstr "Groep"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Klasterknoop"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3884,7 +3884,7 @@ msgstr "Gebruikers"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: ar\n"
|
||||
|
|
@ -11,7 +11,7 @@ msgstr ""
|
|||
"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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "المجموعة العنقودية"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "العقدة العنقودية"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "المستخدمون"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"PO-Revision-Date: 2025-11-27 11:38+0000\n"
|
||||
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-translate@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -847,7 +847,7 @@ msgstr "Кластар"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Кластарны вузел"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3884,7 +3884,7 @@ msgstr "Карыстальнікі"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Bulgarian <https://translate.photoprism.app/projects/photoprism/frontend/bg/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Клъстер"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Възел на клъстера"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Потребители"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-translate@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:07+0000\n"
|
||||
"Last-Translator: Admin <hello@photoprism.app>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: ca\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Clúster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Nod de clúster"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Usuaris"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Czech <https://translate.photoprism.app/projects/photoprism/frontend/cs/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Cluster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Uzel clusteru"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Uživatelé"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Danish <https://translate.photoprism.app/projects/photoprism/frontend/da/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Klynge"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Klyngeknudepunkt"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Brugere"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: German <https://translate.photoprism.app/projects/photoprism/frontend/de/>\n"
|
||||
"Language: de\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Cluster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Cluster-Knoten"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Benutzer"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"PO-Revision-Date: 2025-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -847,7 +847,7 @@ msgstr "Συστάδα"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Κόμβος συστάδας"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3884,7 +3884,7 @@ msgstr "Χρήστες"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Spanish <https://translate.photoprism.app/projects/photoprism/frontend/es/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Grupo"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Nodo del clúster"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3888,7 +3888,7 @@ msgstr "Usuarios"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"PO-Revision-Date: 2025-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -847,7 +847,7 @@ msgstr "Klaster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Klastrisõlm"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3884,7 +3884,7 @@ msgstr "Kasutajad"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"PO-Revision-Date: 2025-11-27 11:38+0000\n"
|
||||
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-translate@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -847,7 +847,7 @@ msgstr "Multzoa"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Klotxeko nodoa"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3884,7 +3884,7 @@ msgstr "Erabiltzaileak"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-translate@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:07+0000\n"
|
||||
"Last-Translator: Admin <hello@photoprism.app>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: fa\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==0 || n==1);\n"
|
||||
"X-Generator: Weblate 5.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "خوشه"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "گره خوشهای"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "کاربران"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"PO-Revision-Date: 2025-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -847,7 +847,7 @@ msgstr "Klusteri"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Klusterin solmu"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3884,7 +3884,7 @@ msgstr "Käyttäjät"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-28 23:02+0000\n"
|
||||
"Last-Translator: jean-louis67 <jean-louis.frenkel@orange.fr>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: French <https://translate.photoprism.app/projects/photoprism/frontend/fr/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Cluster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Nœud de grappe"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Utilisateurs"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"PO-Revision-Date: 2025-11-27 11:38+0000\n"
|
||||
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-translate@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:07+0000\n"
|
||||
"Last-Translator: Admin <hello@photoprism.app>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -847,7 +847,7 @@ msgstr "Braisle"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Nód Cnuasaigh"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3884,7 +3884,7 @@ msgstr "Úsáideoirí"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Hebrew <https://translate.photoprism.app/projects/photoprism/frontend/he/>\n"
|
||||
"Language: he\n"
|
||||
|
|
@ -11,7 +11,7 @@ msgstr ""
|
|||
"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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "אֶשׁכּוֹל"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "צומת אשכול"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "משתמשים"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-translate@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:07+0000\n"
|
||||
"Last-Translator: Admin <hello@photoprism.app>\n"
|
||||
"Language-Team: Hindi <https://translate.photoprism.app/projects/photoprism/frontend/hi/>\n"
|
||||
"Language: hi\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==0 || n==1);\n"
|
||||
"X-Generator: Weblate 5.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "झुंड"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "क्लस्टर नोड"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "उपयोगकर्ताओं"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-translate@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:07+0000\n"
|
||||
"Last-Translator: Admin <hello@photoprism.app>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: hr\n"
|
||||
"MIME-Version: 1.0\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Klaster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Klaster čvor"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Korisnici"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Hungarian <https://translate.photoprism.app/projects/photoprism/frontend/hu/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
msgid "{0} appended action"
|
||||
|
|
@ -849,7 +849,7 @@ msgstr "Klaszter"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Klaszter csomópont"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3886,7 +3886,7 @@ msgstr "Felhasználók"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Indonesian <https://translate.photoprism.app/projects/photoprism/frontend/id/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Cluster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Simpul Cluster"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Pengguna"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Italian <https://translate.photoprism.app/projects/photoprism/frontend/it/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Cluster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Nodo cluster"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Utenti"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:07+0000\n"
|
||||
"Last-Translator: Admin <hello@photoprism.app>\n"
|
||||
"Language-Team: Japanese <https://translate.photoprism.app/projects/photoprism/frontend/ja/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "クラスター"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "クラスターノード"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "ユーザー"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Korean <https://translate.photoprism.app/projects/photoprism/frontend/ko/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "클러스터"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "클러스터 노드"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "사용자"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-translate@weblate.org>\n"
|
||||
"Language-Team: Kurdish <https://translate.photoprism.app/projects/photoprism/frontend/ku/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Kom"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Girêka Komê"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Bikarhêner"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Lithuanian <https://translate.photoprism.app/projects/photoprism/frontend/lt/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Klasteris"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Klasterio mazgas"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Vartotojai"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"PO-Revision-Date: 2026-01-14 21:02+0000\n"
|
||||
"Last-Translator: Janis Eglitis <alfabeta.lv@gmail.com>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: lv\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= 19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n"
|
||||
"X-Generator: Weblate 5.15.1\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
msgid "{0} appended action"
|
||||
|
|
@ -846,7 +846,7 @@ msgstr "Klasteris"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Klastera mezgls"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -2383,7 +2383,7 @@ msgstr "Nav rezultātu"
|
|||
|
||||
#: src/component/navigation.vue:335
|
||||
msgid "No server connection"
|
||||
msgstr ""
|
||||
msgstr "Nav servera savienojuma"
|
||||
|
||||
#: src/component/service/upload.vue:160
|
||||
msgid "No servers configured."
|
||||
|
|
@ -3832,7 +3832,7 @@ msgstr "Augšupielādes, kas var saturēt šādus attēlus, tiks automātiski no
|
|||
|
||||
#: src/page/cluster/nodes.vue:246
|
||||
msgid "URL"
|
||||
msgstr ""
|
||||
msgstr "URL"
|
||||
|
||||
#: src/page/settings/advanced.vue:355
|
||||
msgid "Use Presets"
|
||||
|
|
@ -3883,7 +3883,7 @@ msgstr "Lietotāji"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-translate@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: ms\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Kluster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Nod Klaster"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Pengguna"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Norwegian Bokmål <https://translate.photoprism.app/projects/photoprism/frontend/nb_NO/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Klynge"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Klyngeknutepunkt"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Brukere"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Dutch <https://translate.photoprism.app/projects/photoprism/frontend/nl/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Cluster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Clusternode"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Gebruikers"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"PO-Revision-Date: 2025-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Polish <https://translate.photoprism.app/projects/photoprism/frontend/pl/>\n"
|
||||
"Language: pl\n"
|
||||
|
|
@ -10,7 +10,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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -849,7 +849,7 @@ msgstr "Klaster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Węzeł klastra"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3886,7 +3886,7 @@ msgstr "Użytkownicy"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-translate@weblate.org>\n"
|
||||
"Language-Team: Portuguese <https://translate.photoprism.app/projects/photoprism/frontend/pt/>\n"
|
||||
"Language: pt\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Aglomerado"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Nó do cluster"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Usuários"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Portuguese (Brazil) <https://translate.photoprism.app/projects/photoprism/frontend/pt_BR/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Grupo"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Nó do cluster"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Usuários"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -3,15 +3,15 @@ msgstr ""
|
|||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"POT-Creation-Date: \n"
|
||||
"PO-Revision-Date: 2026-01-16 12:18+0000\n"
|
||||
"Last-Translator: Lulu195 <bimasakti.ro@gmail.com>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Romanian <https://translate.photoprism.app/projects/photoprism/frontend/ro/>\n"
|
||||
"Language: ro\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"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.15.2\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Cluster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Nod de cluster"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Utilizatori"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Russian <https://translate.photoprism.app/projects/photoprism/frontend/ru/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: usercopypaste\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Кластер"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Кластерный узел"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Пользователи"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Slovak <https://translate.photoprism.app/projects/photoprism/frontend/sk/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Klaster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Uzol klastra"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Používatelia"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"PO-Revision-Date: 2025-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -847,7 +847,7 @@ msgstr "Grozd"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Vozlišče gruče"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3884,7 +3884,7 @@ msgstr "Uporabniki"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Swedish <https://translate.photoprism.app/projects/photoprism/frontend/sv/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Kluster"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Klusternod"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Användare"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:07+0000\n"
|
||||
"Last-Translator: Admin <hello@photoprism.app>\n"
|
||||
"Language-Team: \n"
|
||||
"Language: th\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "กลุ่ม"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "โหนดคลัสเตอร์"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "ผู้ใช้"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Turkish <https://translate.photoprism.app/projects/photoprism/frontend/tr/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Küme"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Küme Düğümü"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Kullanıcılar"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "Кластер"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Кластерний вузол"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "Користувачі"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"PO-Revision-Date: 2025-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -847,7 +847,7 @@ msgstr "Cụm"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "Nút cụm"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3884,7 +3884,7 @@ msgstr "Người dùng"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Chinese (Simplified) <https://translate.photoprism.app/projects/photoprism/frontend/zh_Hans/>\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "群组"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "集群节点"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3889,7 +3889,7 @@ msgstr "用户"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
|
|
@ -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-11-27 11:38+0000\n"
|
||||
"Last-Translator: Google Cloud Translation Basic <noreply-mt-google-translate@weblate.org>\n"
|
||||
"PO-Revision-Date: 2026-02-23 16:05+0000\n"
|
||||
"Last-Translator: DeepL <noreply-mt-deepl@weblate.org>\n"
|
||||
"Language-Team: Chinese (Traditional) <https://translate.photoprism.app/projects/photoprism/frontend/zh_Hant/>\n"
|
||||
"Language: zh_TW\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.13.3\n"
|
||||
"X-Generator: Weblate 5.16\n"
|
||||
"Generated-By: easygettext\n"
|
||||
|
||||
#: src/locales.js:272
|
||||
|
|
@ -850,7 +850,7 @@ msgstr "簇"
|
|||
|
||||
#: src/model/cluster-node.js:80
|
||||
msgid "Cluster Node"
|
||||
msgstr ""
|
||||
msgstr "叢集節點"
|
||||
|
||||
#: src/component/photo/edit/files.vue:140
|
||||
#: src/component/photo/edit/files.vue:141
|
||||
|
|
@ -3887,7 +3887,7 @@ msgstr "使用者"
|
|||
|
||||
#: src/page/cluster/nodes.vue:252
|
||||
msgid "UUID"
|
||||
msgstr ""
|
||||
msgstr "UUID"
|
||||
|
||||
#: src/component/photo/view/cards.vue:114
|
||||
#: src/component/photo/view/cards.vue:239
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue