Merge branch 'develop' into feature/oidc-v2
# Conflicts: # README.md
This commit is contained in:
commit
039c9d9d57
49 changed files with 2268 additions and 1756 deletions
42
README.md
42
README.md
|
@ -9,14 +9,15 @@ PhotoPrism: Browse Your Life in Pictures
|
|||
[][chat]
|
||||
[][twitter]
|
||||
|
||||
PhotoPrism® is a privacy-friendly app for browsing, organizing, and sharing your photo collection.
|
||||
It makes use of the latest technologies without getting in your way.
|
||||
PhotoPrism® is an AI-powered app for browsing, organizing & sharing your photo collection.
|
||||
It makes use of the latest technologies to tag and find pictures automatically without getting in your way.
|
||||
You can run it at home, on a private server, or in the cloud.
|
||||
|
||||

|
||||

|
||||
|
||||
To get a first impression, you're welcome to play with our public demo at [demo.photoprism.org](https://demo.photoprism.org/).
|
||||
|
||||
## Features ##
|
||||
## Feature Overview ##
|
||||
|
||||
* Browse all your photos and [videos](https://demo.photoprism.org/videos) without worrying about RAW conversion, duplicates or video formats
|
||||
* Easily find specific pictures using powerful [search filters](https://demo.photoprism.org/browse?view=cards&q=flower%20color%3Ared)
|
||||
|
@ -48,7 +49,6 @@ We recommend updating your existing `docker-compose.yml` config based on
|
|||
## Back us on [Patreon](https://www.patreon.com/photoprism) or [GitHub Sponsors](https://github.com/sponsors/photoprism) ##
|
||||
|
||||
Your continued support helps us provide services like satellite maps and develop new features.
|
||||
|
||||
Ideas endorsed by silver and [gold sponsors](SPONSORS.md) receive a [golden label](https://github.com/photoprism/photoprism/issues?q=is%3Aissue+is%3Aopen+label%3Asponsor) and will be prioritized.
|
||||
|
||||
Also, please [leave a star](https://github.com/photoprism/photoprism/stargazers) on GitHub if you like this project.
|
||||
|
@ -58,21 +58,39 @@ Thank you very much! 💜
|
|||
|
||||
## Roadmap ##
|
||||
|
||||
Our vision is to provide the most user-friendly solution for browsing, organizing, and sharing your photo collection.
|
||||
Our vision is to provide the most user- and privacy-friendly solution to keep your pictures organized and accessible.
|
||||
The [roadmap](https://github.com/photoprism/photoprism/projects/5) shows what tasks are in progress,
|
||||
what needs testing, and which features are going to be implemented next.
|
||||
|
||||
Please give ideas you like a thumbs-up 👍 , so that we know what is most popular.
|
||||
You are welcome to submit specific feature requests via [GitHub Issues](https://github.com/photoprism/photoprism/issues)
|
||||
if you have verified that no similar [idea](https://github.com/photoprism/photoprism/labels/idea) or
|
||||
[todo](https://github.com/photoprism/photoprism/labels/todo) already exists.
|
||||
|
||||
## Questions?
|
||||
|
||||
Follow us on [Twitter](https://twitter.com/photoprism_app) or join our [Community Chat](https://gitter.im/browseyourlife/community)
|
||||
to get regular updates, connect with other contributors, and discuss your ideas. Don't be afraid to ask silly questions.
|
||||
|
||||
## Getting Support ##
|
||||
|
||||
Please use [GitHub Issues](https://github.com/photoprism/photoprism/issues) only to report clearly identified bugs and
|
||||
impediments to us. If you are not sure, first use [GitHub Discussions](https://github.com/photoprism/photoprism/discussions)
|
||||
or ask in our [Community Chat](https://gitter.im/browseyourlife/community). [Sponsors](https://docs.photoprism.org/funding/)
|
||||
receive direct [technical support](https://photoprism.app/contact) via email.
|
||||
|
||||
When reporting a problem, please include the version you are using and information
|
||||
about your environment such as browser, operating system, installed memory, and
|
||||
processor type.
|
||||
|
||||
## Contributions ##
|
||||
|
||||
We welcome contributions of any kind. If you have a bug or an idea, read our
|
||||
[guide](https://docs.photoprism.org/developer-guide/) before opening an issue.
|
||||
Issues labeled [help wanted](https://github.com/photoprism/photoprism/labels/help%20wanted) /
|
||||
We welcome contributions of any kind, including bug reports, testing, writing documentation,
|
||||
tutorials, blog posts, and pull requests. Issues labeled
|
||||
[help wanted](https://github.com/photoprism/photoprism/labels/help%20wanted) /
|
||||
[easy](https://github.com/photoprism/photoprism/issues?q=is%3Aissue+is%3Aopen+label%3Aeasy) can be
|
||||
good (first) contributions.
|
||||
|
||||
Follow us on [Twitter][twitter] to receive regular project updates and discuss development related topics. Don't be afraid to ask stupid questions.
|
||||
good (first) contributions. Our step-by-step guide explains how to submit
|
||||
[pull requests](https://docs.photoprism.org/developer-guide/pull-requests/).
|
||||
|
||||
## Trademarks ##
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
PhotoPrism for Raspberry Pi (64bit)
|
||||
===================================
|
||||
PhotoPrism for the Raspberry Pi and other ARM-based devices
|
||||
===========================================================
|
||||
|
||||
Our latest release comes as a single multi-arch image for AMD64, ARM64, and ARMv7.
|
||||
If your device meets the system requirements, the same installation instructions
|
||||
|
@ -55,10 +55,10 @@ This may be necessary after upgrading, especially to new major versions.
|
|||
|
||||
## System Requirements ##
|
||||
|
||||
It's important to boot your Raspberry Pi 3 / 4 with the parameter "arm_64bit=1" in config.txt
|
||||
in order to use our Docker image.
|
||||
It's important that you boot your Raspberry Pi 3 / 4 with the parameter "arm_64bit=1"
|
||||
in config.txt to use our ARM64 image.
|
||||
|
||||
Alternatively, you may run the image on UbuntuDockerPi (https://github.com/guysoft/UbuntuDockerPi).
|
||||
Alternatively, you may run it on UbuntuDockerPi (https://github.com/guysoft/UbuntuDockerPi).
|
||||
It's a 64bit Ubuntu Server with Docker pre-installed.
|
||||
|
||||
Your device should have at least 4 GB of memory. Also make sure it has at least 4 GB of swap
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
version: '3.5'
|
||||
|
||||
# Example Docker Compose config file for PhotoPrism (Raspberry Pi / ARM64)
|
||||
# Example Docker Compose config file for PhotoPrism (Raspberry Pi and other ARM-based devices)
|
||||
#
|
||||
# ATTENTION: It's important that you boot your Raspberry Pi 3 / 4 with the parameter "arm_64bit=1"
|
||||
# in config.txt to use our ARM64 image.
|
||||
#
|
||||
# Documentation : https://docs.photoprism.org/getting-started/raspberry-pi/
|
||||
# Docker Hub URL: https://hub.docker.com/r/photoprism/photoprism/
|
||||
|
@ -33,8 +36,11 @@ version: '3.5'
|
|||
|
||||
services:
|
||||
photoprism:
|
||||
# Our stable version and development preview now come as a single multi-arch image for AMD64, ARM64, and ARMv7.
|
||||
# Use photoprism/photoprism:preview instead for testing preview builds:
|
||||
image: photoprism/photoprism:latest
|
||||
# Owners of ARMv7-based devices may have to explicitly specify the image architecture:
|
||||
# platform: "linux/arm/v7"
|
||||
depends_on:
|
||||
- mariadb
|
||||
# Only enable automatic restarts once your installation is properly
|
||||
|
@ -89,16 +95,19 @@ services:
|
|||
# - "/dev/video11:/dev/video11" # Video4Linux (h264_v4l2m2m)
|
||||
working_dir: "/photoprism"
|
||||
volumes:
|
||||
# Your photo and video files ([local path]:[container path]):
|
||||
# The *originals* folder contains your original photo and video files (- "[host folder]:/photoprism/originals"):
|
||||
- "~/Pictures:/photoprism/originals"
|
||||
# Multiple folders can be indexed by mounting them as sub-folders of /photoprism/originals:
|
||||
# - "/mnt/Family:/photoprism/originals/Family" # [folder_1]:/photoprism/originals/[folder_1]
|
||||
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder_2]:/photoprism/originals/[folder_2]
|
||||
# Mounting an import folder is optional (see docs):
|
||||
# Multiple folders can be made accessible by mounting them as subfolders of /photoprism/originals:
|
||||
# - "/mnt/Family:/photoprism/originals/Family" # [folder 1]:/photoprism/originals/[folder 1]
|
||||
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder 2]:/photoprism/originals/[folder 2]
|
||||
# You may mount an *import* folder from which files can be transferred to *originals* (optional):
|
||||
# - "~/Import:/photoprism/import"
|
||||
# Permanent storage for settings, index & sidecar files (DON'T REMOVE):
|
||||
# Cache, session, thumbnail, and sidecar files will be created in the *storage* folder (never remove):
|
||||
- "./storage:/photoprism/storage"
|
||||
|
||||
# ATTENTION: Owners of ARMv7-based devices have to revert to an alternative image if they want to use MariaDB.
|
||||
# The official image is available for AMD64 and ARM64 only. Pay close attention to changed directory and
|
||||
# environment variable names.
|
||||
mariadb:
|
||||
restart: unless-stopped
|
||||
image: arm64v8/mariadb:10.5
|
||||
|
@ -106,10 +115,10 @@ services:
|
|||
- seccomp:unconfined
|
||||
- apparmor:unconfined
|
||||
command: mysqld --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: # Don't remove permanent storage for index database files!
|
||||
- "./database:/var/lib/mysql"
|
||||
volumes:
|
||||
- "./database:/var/lib/mysql" # Never remove
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: please_change
|
||||
MYSQL_ROOT_PASSWORD: insecure
|
||||
MYSQL_DATABASE: photoprism
|
||||
MYSQL_USER: photoprism
|
||||
MYSQL_PASSWORD: insecure
|
||||
|
|
128
docker/examples/armv7/docker-compose.yml
Normal file
128
docker/examples/armv7/docker-compose.yml
Normal file
|
@ -0,0 +1,128 @@
|
|||
version: '3.5'
|
||||
|
||||
# Example Docker Compose config file for PhotoPrism (ARMv7-based devices)
|
||||
#
|
||||
# Documentation : https://docs.photoprism.org/getting-started/raspberry-pi/
|
||||
# Docker Hub URL: https://hub.docker.com/r/photoprism/photoprism/
|
||||
#
|
||||
# Please run behind a reverse proxy like Caddy, Traefik or Nginx if you need HTTPS / SSL support
|
||||
# e.g. when running PhotoPrism on a public server outside your home network.
|
||||
#
|
||||
# -------------------------------------------------------------------
|
||||
# DOCKER COMPOSE COMMAND REFERENCE
|
||||
# -------------------------------------------------------------------
|
||||
# Start | docker-compose up -d
|
||||
# Stop | docker-compose stop
|
||||
# Update | docker-compose pull
|
||||
# Logs | docker-compose logs --tail=25 -f
|
||||
# Terminal | docker-compose exec photoprism bash
|
||||
# Help | docker-compose exec photoprism photoprism help
|
||||
# Config | docker-compose exec photoprism photoprism config
|
||||
# Reset | docker-compose exec photoprism photoprism reset
|
||||
# Backup | docker-compose exec photoprism photoprism backup -a -i
|
||||
# Restore | docker-compose exec photoprism photoprism restore -a -i
|
||||
# Index | docker-compose exec photoprism photoprism index
|
||||
# Reindex | docker-compose exec photoprism photoprism index -f
|
||||
# Import | docker-compose exec photoprism photoprism import
|
||||
#
|
||||
# To search originals for faces without a complete rescan:
|
||||
# docker-compose exec photoprism photoprism faces index
|
||||
# -------------------------------------------------------------------
|
||||
# Note: All commands may have to be prefixed with "sudo" when not running as root.
|
||||
# This will change the home directory "~" to "/root" in your configuration.
|
||||
|
||||
services:
|
||||
photoprism:
|
||||
# Our stable version and development preview now come as a single multi-arch image for AMD64, ARM64, and ARMv7.
|
||||
# Use photoprism/photoprism:preview instead for testing preview builds:
|
||||
image: photoprism/photoprism:latest
|
||||
platform: "linux/arm"
|
||||
depends_on:
|
||||
- mariadb
|
||||
# Only enable automatic restarts once your installation is properly
|
||||
# configured as it otherwise may get stuck in a restart loop:
|
||||
# https://docs.photoprism.org/getting-started/faq/#why-is-photoprism-getting-stuck-in-a-restart-loop
|
||||
# restart: unless-stopped
|
||||
security_opt:
|
||||
- seccomp:unconfined
|
||||
- apparmor:unconfined
|
||||
# Run as a specific, non-root user (see https://docs.docker.com/engine/reference/run/#user):
|
||||
# user: "1000:1000"
|
||||
ports:
|
||||
- "2342:2342" # [server]:[container]
|
||||
environment:
|
||||
PHOTOPRISM_ADMIN_PASSWORD: "insecure" # PLEASE CHANGE: Your initial admin password (min 4 characters)
|
||||
PHOTOPRISM_ORIGINALS_LIMIT: 5000 # File size limit for originals in MB (increase for high-res video)
|
||||
PHOTOPRISM_HTTP_COMPRESSION: "none" # Improves transfer speed and bandwidth utilization (none or gzip)
|
||||
PHOTOPRISM_WORKERS: 1 # Limits the number of indexing workers to reduce system load
|
||||
PHOTOPRISM_DEBUG: "false" # Run in debug mode (shows additional log messages)
|
||||
PHOTOPRISM_PUBLIC: "false" # No authentication required (disables password protection)
|
||||
PHOTOPRISM_READONLY: "false" # Don't modify originals directory (reduced functionality)
|
||||
PHOTOPRISM_EXPERIMENTAL: "false" # Enables experimental features
|
||||
PHOTOPRISM_DISABLE_CHOWN: "false" # Disables storage permission updates on startup
|
||||
PHOTOPRISM_DISABLE_WEBDAV: "false" # Disables built-in WebDAV server
|
||||
PHOTOPRISM_DISABLE_SETTINGS: "false" # Disables Settings in Web UI
|
||||
PHOTOPRISM_DISABLE_TENSORFLOW: "false" # Disables all features depending on TensorFlow
|
||||
PHOTOPRISM_DISABLE_FACES: "false" # Disables facial recognition
|
||||
PHOTOPRISM_DISABLE_CLASSIFICATION: "false" # Disables image classification
|
||||
# PHOTOPRISM_FFMPEG_ENCODER: "h264_v4l2m2m" # FFmpeg AVC encoder for video transcoding (default: libx264)
|
||||
# PHOTOPRISM_FFMPEG_BUFFERS: "64" # FFmpeg capture buffers (default: 32)
|
||||
PHOTOPRISM_DETECT_NSFW: "false" # Flag photos as private that MAY be offensive
|
||||
PHOTOPRISM_UPLOAD_NSFW: "true" # Allow uploads that MAY be offensive
|
||||
# PHOTOPRISM_DATABASE_DRIVER: "sqlite" # SQLite is an embedded database that doesn't require a server
|
||||
PHOTOPRISM_DATABASE_DRIVER: "mysql" # Use MariaDB (or MySQL) instead of SQLite for improved performance
|
||||
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: "insecure" # MariaDB database user password
|
||||
PHOTOPRISM_SITE_URL: "http://localhost:2342/" # Public PhotoPrism URL
|
||||
PHOTOPRISM_SITE_TITLE: "PhotoPrism"
|
||||
PHOTOPRISM_SITE_CAPTION: "Browse Your Life"
|
||||
PHOTOPRISM_SITE_DESCRIPTION: ""
|
||||
PHOTOPRISM_SITE_AUTHOR: ""
|
||||
# Set a non-root user, group, or custom umask if your Docker environment doesn't support this natively:
|
||||
# PHOTOPRISM_UID: 1000
|
||||
# PHOTOPRISM_GID: 1000
|
||||
# PHOTOPRISM_UMASK: 0000
|
||||
HOME: "/photoprism"
|
||||
# Optional hardware devices for video transcoding and machine learning:
|
||||
# devices:
|
||||
# - "/dev/video11:/dev/video11" # Video4Linux (h264_v4l2m2m)
|
||||
working_dir: "/photoprism"
|
||||
volumes:
|
||||
# The *originals* folder contains your original photo and video files (- "[host folder]:/photoprism/originals"):
|
||||
- "~/Pictures:/photoprism/originals"
|
||||
# Multiple folders can be made accessible by mounting them as subfolders of /photoprism/originals:
|
||||
# - "/mnt/Family:/photoprism/originals/Family" # [folder 1]:/photoprism/originals/[folder 1]
|
||||
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder 2]:/photoprism/originals/[folder 2]
|
||||
# You may mount an *import* folder from which files can be transferred to *originals* (optional):
|
||||
# - "~/Import:/photoprism/import"
|
||||
# Cache, session, thumbnail, and sidecar files will be created in the *storage* folder (never remove):
|
||||
- "./storage:/photoprism/storage"
|
||||
|
||||
mariadb:
|
||||
restart: unless-stopped
|
||||
image: lscr.io/linuxserver/mariadb
|
||||
security_opt:
|
||||
- seccomp:unconfined
|
||||
- apparmor:unconfined
|
||||
command: mysqld --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:
|
||||
- "./mariadb:/config" # Never remove
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: insecure
|
||||
MYSQL_DATABASE: photoprism
|
||||
MYSQL_USER: photoprism
|
||||
MYSQL_PASSWORD: insecure
|
||||
|
||||
# Uncomment the following lines to upgrade automatically, whenever there is a new Docker image available:
|
||||
#
|
||||
# watchtower:
|
||||
# restart: unless-stopped
|
||||
# image: containrrr/watchtower
|
||||
# environment:
|
||||
# WATCHTOWER_CLEANUP: "true"
|
||||
# WATCHTOWER_POLL_INTERVAL: 7200 # Checks for updates every two hours
|
||||
# volumes:
|
||||
# - "/var/run/docker.sock:/var/run/docker.sock"
|
||||
# - "~/.docker/config.json:/config.json" # Optional, for authentication if you have a Docker Hub account
|
|
@ -154,9 +154,11 @@ services:
|
|||
HOME: "/photoprism"
|
||||
working_dir: "/photoprism"
|
||||
volumes:
|
||||
# Your photo and video files ([local path]:[container path]):
|
||||
# The *originals* folder contains your original photo and video files (- "[host folder]:/photoprism/originals"):
|
||||
- "./originals:/photoprism/originals"
|
||||
# You may mount an *import* folder from which files can be transferred to *originals* (optional):
|
||||
- "./import:/photoprism/import"
|
||||
# Cache, session, thumbnail, and sidecar files will be created in the *storage* folder (never remove):
|
||||
- "./storage:/photoprism/storage"
|
||||
- "./backup:/var/lib/photoprism"
|
||||
|
||||
|
@ -184,8 +186,8 @@ services:
|
|||
- seccomp:unconfined
|
||||
- apparmor:unconfined
|
||||
command: mysqld --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: # Don't remove permanent storage for index database files!
|
||||
- "./database:/var/lib/mysql"
|
||||
volumes:
|
||||
- "./database:/var/lib/mysql" # Never remove
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: "_admin_password_"
|
||||
MYSQL_DATABASE: "photoprism"
|
||||
|
|
|
@ -96,14 +96,14 @@ services:
|
|||
# - "/dev/dri/card0:/dev/dri/card0"
|
||||
working_dir: "/photoprism"
|
||||
volumes:
|
||||
# Your photo and video files ([local path]:[container path]):
|
||||
# The *originals* folder contains your original photo and video files (- "[host folder]:/photoprism/originals"):
|
||||
- "~/Pictures:/photoprism/originals"
|
||||
# Multiple folders can be indexed by mounting them as sub-folders of /photoprism/originals:
|
||||
# - "/mnt/Family:/photoprism/originals/Family" # [folder_1]:/photoprism/originals/[folder_1]
|
||||
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder_2]:/photoprism/originals/[folder_2]
|
||||
# Mounting an import folder is optional (see docs):
|
||||
# Multiple folders can be made accessible by mounting them as subfolders of /photoprism/originals:
|
||||
# - "/mnt/Family:/photoprism/originals/Family" # [folder 1]:/photoprism/originals/[folder 1]
|
||||
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder 2]:/photoprism/originals/[folder 2]
|
||||
# You may mount an *import* folder from which files can be transferred to *originals* (optional):
|
||||
# - "~/Import:/photoprism/import"
|
||||
# Permanent storage for settings, index & sidecar files (DON'T REMOVE):
|
||||
# Cache, session, thumbnail, and sidecar files will be created in the *storage* folder (never remove):
|
||||
- "./storage:/photoprism/storage"
|
||||
|
||||
mariadb:
|
||||
|
@ -113,10 +113,10 @@ services:
|
|||
- seccomp:unconfined
|
||||
- apparmor:unconfined
|
||||
command: mysqld --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: # Don't remove permanent storage for index database files!
|
||||
- "./database:/var/lib/mysql"
|
||||
volumes:
|
||||
- "./database:/var/lib/mysql" # Never remove
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: please_change
|
||||
MYSQL_ROOT_PASSWORD: insecure
|
||||
MYSQL_DATABASE: photoprism
|
||||
MYSQL_USER: photoprism
|
||||
MYSQL_PASSWORD: insecure
|
||||
|
|
|
@ -75,14 +75,14 @@ services:
|
|||
# PHOTOPRISM_INIT: "tensorflow-amd64-avx2"
|
||||
HOME: "/photoprism"
|
||||
volumes:
|
||||
# Your photo and video files ([local path]:[container path]):
|
||||
# The *originals* folder contains your original photo and video files (- "[host folder]:/photoprism/originals"):
|
||||
- "~/Pictures:/photoprism/originals"
|
||||
# Multiple folders can be indexed by mounting them as sub-folders of /photoprism/originals:
|
||||
# - "/mnt/Family:/photoprism/originals/Family" # [folder_1]:/photoprism/originals/[folder_1]
|
||||
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder_2]:/photoprism/originals/[folder_2]
|
||||
# Mounting an import folder is optional (see docs):
|
||||
# Multiple folders can be made accessible by mounting them as subfolders of /photoprism/originals:
|
||||
# - "/mnt/Family:/photoprism/originals/Family" # [folder 1]:/photoprism/originals/[folder 1]
|
||||
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder 2]:/photoprism/originals/[folder 2]
|
||||
# You may mount an *import* folder from which files can be transferred to *originals* (optional):
|
||||
# - "~/Import:/photoprism/import"
|
||||
# Permanent storage for settings, index & sidecar files (DON'T REMOVE):
|
||||
# Cache, session, thumbnail, and sidecar files will be created in the *storage* folder (never remove):
|
||||
- "./storage:/photoprism/storage"
|
||||
|
||||
mariadb:
|
||||
|
@ -92,10 +92,10 @@ services:
|
|||
- seccomp:unconfined
|
||||
- apparmor:unconfined
|
||||
command: mysqld --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: # Don't remove permanent storage for index database files!
|
||||
- "mariadb_data:/var/lib/mysql"
|
||||
volumes:
|
||||
- "mariadb_data:/var/lib/mysql" # Never remove
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: please_change
|
||||
MYSQL_ROOT_PASSWORD: insecure
|
||||
MYSQL_DATABASE: photoprism
|
||||
MYSQL_USER: photoprism
|
||||
MYSQL_PASSWORD: insecure
|
||||
|
|
|
@ -88,14 +88,14 @@ services:
|
|||
HOME: "/photoprism"
|
||||
working_dir: "/photoprism"
|
||||
volumes:
|
||||
# Your photo and video files ([local path]:[container path]):
|
||||
# The *originals* folder contains your original photo and video files (- "[host folder]:/photoprism/originals"):
|
||||
- "~/Pictures:/photoprism/originals"
|
||||
# Multiple folders can be indexed by mounting them as sub-folders of /photoprism/originals:
|
||||
# - "/mnt/Family:/photoprism/originals/Family" # [folder_1]:/photoprism/originals/[folder_1]
|
||||
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder_2]:/photoprism/originals/[folder_2]
|
||||
# Mounting an import folder is optional (see docs):
|
||||
# Multiple folders can be made accessible by mounting them as subfolders of /photoprism/originals:
|
||||
# - "/mnt/Family:/photoprism/originals/Family" # [folder 1]:/photoprism/originals/[folder 1]
|
||||
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder 2]:/photoprism/originals/[folder 2]
|
||||
# You may mount an *import* folder from which files can be transferred to *originals* (optional):
|
||||
# - "~/Import:/photoprism/import"
|
||||
# Permanent storage for settings, index & sidecar files (DON'T REMOVE):
|
||||
# Cache, session, thumbnail, and sidecar files will be created in the *storage* folder (never remove):
|
||||
- "./storage:/photoprism/storage"
|
||||
|
||||
mariadb:
|
||||
|
@ -106,10 +106,10 @@ services:
|
|||
- seccomp:unconfined
|
||||
- apparmor:unconfined
|
||||
command: mysqld --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: # Don't remove permanent storage for index database files!
|
||||
- "./database:/var/lib/mysql"
|
||||
volumes:
|
||||
- "./database:/var/lib/mysql" # Never remove
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: please_change
|
||||
MYSQL_ROOT_PASSWORD: insecure
|
||||
MYSQL_DATABASE: photoprism
|
||||
MYSQL_USER: photoprism
|
||||
MYSQL_PASSWORD: insecure
|
||||
|
|
|
@ -78,14 +78,14 @@ services:
|
|||
HOME: "/photoprism"
|
||||
working_dir: "/photoprism"
|
||||
volumes:
|
||||
# Your photo and video files ([local path]:[container path]):
|
||||
# The *originals* folder contains your original photo and video files (- "[host folder]:/photoprism/originals"):
|
||||
- "~/Pictures:/photoprism/originals"
|
||||
# Multiple folders can be indexed by mounting them as sub-folders of /photoprism/originals:
|
||||
# - "/mnt/Family:/photoprism/originals/Family" # [folder_1]:/photoprism/originals/[folder_1]
|
||||
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder_2]:/photoprism/originals/[folder_2]
|
||||
# Multiple folders can be made accessible by mounting them as subfolders of /photoprism/originals:
|
||||
# - "/mnt/Family:/photoprism/originals/Family" # [folder 1]:/photoprism/originals/[folder 1]
|
||||
# - "/mnt/Friends:/photoprism/originals/Friends" # [folder 2]:/photoprism/originals/[folder 2]
|
||||
# Mounting the import folder is optional (see docs):
|
||||
# - "~/Import:/photoprism/import"
|
||||
# Permanent storage for settings, index & sidecar files (DON'T REMOVE):
|
||||
# Cache, session, thumbnail, and sidecar files will be created in the *storage* folder (never remove):
|
||||
- "./storage:/photoprism/storage"
|
||||
|
||||
# Uncomment the following lines to upgrade automatically, whenever there is a new Docker image available:
|
||||
|
|
|
@ -77,13 +77,14 @@ services:
|
|||
HOME: "/photoprism"
|
||||
working_dir: "/photoprism"
|
||||
volumes:
|
||||
# Your photo and video files (multiple directories or drives can be indexed by mounting them as sub-folders):
|
||||
# The *originals* folder contains your original photo and video files (- "C:/Directory:/photoprism/originals"):
|
||||
- "~/Pictures:/photoprism/originals/Pictures"
|
||||
# Multiple folders can be made accessible by mounting them as subfolders of /photoprism/originals:
|
||||
# - "D:/Pictures:/photoprism/originals/Pictures"
|
||||
# - "E:/Friends:/photoprism/originals/Friends"
|
||||
# Mounting an import folder is optional (see docs):
|
||||
# You may mount an *import* folder from which files can be transferred to *originals* (optional):
|
||||
# - "E:/:/photoprism/import"
|
||||
# Permanent storage for settings, index & sidecar files (DON'T REMOVE):
|
||||
# Cache, session, thumbnail, and sidecar files will be created in the *storage* folder (never remove):
|
||||
- "./storage:/photoprism/storage"
|
||||
|
||||
mariadb:
|
||||
|
@ -93,10 +94,10 @@ services:
|
|||
- seccomp:unconfined
|
||||
- apparmor:unconfined
|
||||
command: mysqld --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: # Don't remove permanent storage for index database files!
|
||||
- "mariadb_data:/var/lib/mysql"
|
||||
volumes:
|
||||
- "mariadb_data:/var/lib/mysql" # Never remove
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: please_change
|
||||
MYSQL_ROOT_PASSWORD: insecure
|
||||
MYSQL_DATABASE: photoprism
|
||||
MYSQL_USER: photoprism
|
||||
MYSQL_PASSWORD: insecure
|
||||
|
|
536
frontend/package-lock.json
generated
536
frontend/package-lock.json
generated
|
@ -1839,9 +1839,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@types/component-emitter": {
|
||||
"version": "1.2.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz",
|
||||
"integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg=="
|
||||
"version": "1.2.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
|
||||
"integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
|
||||
},
|
||||
"node_modules/@types/cookie": {
|
||||
"version": "0.4.1",
|
||||
|
@ -1887,9 +1887,9 @@
|
|||
"integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4="
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "16.10.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.9.tgz",
|
||||
"integrity": "sha512-H9ReOt+yqIJPCutkTYjFjlyK6WEMQYT9hLZMlWtOjFQY2ItppsWZ6RJf8Aw+jz5qTYceuHvFgPIaKOHtLAEWBw=="
|
||||
"version": "16.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.1.tgz",
|
||||
"integrity": "sha512-PYGcJHL9mwl1Ek3PLiYgyEKtwTMmkMw4vbiyz/ps3pfdRYLVv+SN7qHVAImrjdAXxgluDEw6Ph4lyv+m9UpRmA=="
|
||||
},
|
||||
"node_modules/@types/parse-json": {
|
||||
"version": "4.0.0",
|
||||
|
@ -2040,9 +2040,9 @@
|
|||
"integrity": "sha512-FbpX+hD5BvXCQerEYO7jtAGHlhAkhTQ4KIV73kmLWNlawWhTiVuQxizgVb0BOkX5oG9cIRZ42EG++d/k/Efp0w=="
|
||||
},
|
||||
"node_modules/@vvo/tzdb": {
|
||||
"version": "6.28.0",
|
||||
"resolved": "https://registry.npmjs.org/@vvo/tzdb/-/tzdb-6.28.0.tgz",
|
||||
"integrity": "sha512-nRApJUfYIjng1dxGdHekGY7wGtOcTSBze4zijnSIc9YYuD2r0jnlFMmyMLbh8BHSEW6j0PGVg+LR/rRjQOivGw=="
|
||||
"version": "6.29.0",
|
||||
"resolved": "https://registry.npmjs.org/@vvo/tzdb/-/tzdb-6.29.0.tgz",
|
||||
"integrity": "sha512-9N7FNfJZ7F38mTS4HeBw9VQqyfKBbU1Zl2SRdSyyKY7HmTtEwuwanRfusi6isdFLmGU63TNvV/lSprJyEeB4Og=="
|
||||
},
|
||||
"node_modules/@webassemblyjs/ast": {
|
||||
"version": "1.11.1",
|
||||
|
@ -2651,9 +2651,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/babel-loader": {
|
||||
"version": "8.2.2",
|
||||
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz",
|
||||
"integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==",
|
||||
"version": "8.2.3",
|
||||
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz",
|
||||
"integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==",
|
||||
"dependencies": {
|
||||
"find-cache-dir": "^3.3.1",
|
||||
"loader-utils": "^1.4.0",
|
||||
|
@ -2758,14 +2758,14 @@
|
|||
}
|
||||
},
|
||||
"node_modules/babel-plugin-istanbul": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
|
||||
"integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
|
||||
"version": "6.1.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
|
||||
"integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.0.0",
|
||||
"@istanbuljs/load-nyc-config": "^1.0.0",
|
||||
"@istanbuljs/schema": "^0.1.2",
|
||||
"istanbul-lib-instrument": "^4.0.0",
|
||||
"istanbul-lib-instrument": "^5.0.4",
|
||||
"test-exclude": "^6.0.0"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -2830,9 +2830,9 @@
|
|||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
|
||||
},
|
||||
"node_modules/base64-arraybuffer": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
|
||||
"integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=",
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz",
|
||||
"integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==",
|
||||
"engines": {
|
||||
"node": ">= 0.6.0"
|
||||
}
|
||||
|
@ -3029,9 +3029,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001267",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001267.tgz",
|
||||
"integrity": "sha512-r1mjTzAuJ9W8cPBGbbus8E0SKcUP7gn03R14Wk8FlAlqhH9hroy9nLqmpuXlfKEw/oILW+FGz47ipXV2O7x8lg==",
|
||||
"version": "1.0.30001270",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001270.tgz",
|
||||
"integrity": "sha512-TcIC7AyNWXhcOmv2KftOl1ShFAaHQYcB/EPL/hEyMrcS7ZX0/DvV1aoy6BzV0+16wTpoAyTMGDNAJfSqS/rz7A==",
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/browserslist"
|
||||
|
@ -3211,9 +3211,9 @@
|
|||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
|
||||
},
|
||||
"node_modules/colord": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/colord/-/colord-2.8.0.tgz",
|
||||
"integrity": "sha512-kNkVV4KFta3TYQv0bzs4xNwLaeag261pxgzGQSh4cQ1rEhYjcTJfFRP0SDlbhLONg0eSoLzrDd79PosjbltufA=="
|
||||
"version": "2.9.1",
|
||||
"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.1.tgz",
|
||||
"integrity": "sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw=="
|
||||
},
|
||||
"node_modules/colorette": {
|
||||
"version": "2.0.16",
|
||||
|
@ -4306,9 +4306,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.3.867",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.867.tgz",
|
||||
"integrity": "sha512-WbTXOv7hsLhjJyl7jBfDkioaY++iVVZomZ4dU6TMe/SzucV6mUAs2VZn/AehBwuZMiNEQDaPuTGn22YK5o+aDw=="
|
||||
"version": "1.3.876",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.876.tgz",
|
||||
"integrity": "sha512-a6LR4738psrubCtGx5HxM/gNlrIsh4eFTNnokgOqvQo81GWd07lLcOjITkAXn2y4lIp18vgS+DGnehj+/oEAxQ=="
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
|
@ -4332,17 +4332,20 @@
|
|||
}
|
||||
},
|
||||
"node_modules/engine.io": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz",
|
||||
"integrity": "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==",
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.0.0.tgz",
|
||||
"integrity": "sha512-Ui7yl3JajEIaACg8MOUwWvuuwU7jepZqX3BKs1ho7NQRuP4LhN4XIykXhp8bEy+x/DhA0LBZZXYSCkZDqrwMMg==",
|
||||
"dependencies": {
|
||||
"@types/cookie": "^0.4.1",
|
||||
"@types/cors": "^2.8.12",
|
||||
"@types/node": ">=10.0.0",
|
||||
"accepts": "~1.3.4",
|
||||
"base64id": "2.0.0",
|
||||
"cookie": "~0.4.1",
|
||||
"cors": "~2.8.5",
|
||||
"debug": "~4.3.1",
|
||||
"engine.io-parser": "~4.0.0",
|
||||
"ws": "~7.4.2"
|
||||
"engine.io-parser": "~5.0.0",
|
||||
"ws": "~8.2.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
|
@ -4366,6 +4369,14 @@
|
|||
"yeast": "0.1.2"
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io-client/node_modules/base64-arraybuffer": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
|
||||
"integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=",
|
||||
"engines": {
|
||||
"node": ">= 0.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io-client/node_modules/debug": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||
|
@ -4391,15 +4402,35 @@
|
|||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||
},
|
||||
"node_modules/engine.io-client/node_modules/ws": {
|
||||
"version": "7.4.6",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
|
||||
"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
|
||||
"engines": {
|
||||
"node": ">=8.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": "^5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io-parser": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz",
|
||||
"integrity": "sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==",
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.1.tgz",
|
||||
"integrity": "sha512-j4p3WwJrG2k92VISM0op7wiq60vO92MlF3CRGxhKHy9ywG1/Dkc72g0dXeDQ+//hrcDn8gqQzoEkdO9FN0d9AA==",
|
||||
"dependencies": {
|
||||
"base64-arraybuffer": "0.1.4"
|
||||
"base64-arraybuffer": "~1.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/engine.io/node_modules/cookie": {
|
||||
|
@ -5088,9 +5119,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-promise": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz",
|
||||
"integrity": "sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng==",
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.1.1.tgz",
|
||||
"integrity": "sha512-XgdcdyNzHfmlQyweOPTxmc7pIsS6dE4MvwhXWMQ2Dxs1XAL2GJDilUsjWen6TWik0aSI+zD/PqocZBblcm9rdA==",
|
||||
"engines": {
|
||||
"node": "^10.12.0 || >=12.0.0"
|
||||
},
|
||||
|
@ -5099,9 +5130,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-vue": {
|
||||
"version": "7.19.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.19.1.tgz",
|
||||
"integrity": "sha512-e2pD7nW2sTY04ThH+66BgToNwC4n6dqfNhKE+ypdJFtZgn3Zn+nP8ZEIFPG0PGqCKQ3qxy8dJk1bzUsuQd3ANA==",
|
||||
"version": "7.20.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz",
|
||||
"integrity": "sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==",
|
||||
"dependencies": {
|
||||
"eslint-utils": "^2.1.0",
|
||||
"natural-compare": "^1.4.0",
|
||||
|
@ -5112,7 +5143,7 @@
|
|||
"node": ">=8.10"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"eslint": "^6.2.0 || ^7.0.0 || ^8.0.0-0"
|
||||
"eslint": "^6.2.0 || ^7.0.0 || ^8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-plugin-vue/node_modules/eslint-visitor-keys": {
|
||||
|
@ -5934,19 +5965,19 @@
|
|||
"deprecated": "flatten is deprecated in favor of utility frameworks such as lodash."
|
||||
},
|
||||
"node_modules/flow-parser": {
|
||||
"version": "0.162.0",
|
||||
"resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.162.0.tgz",
|
||||
"integrity": "sha512-tqn7GkffCpBkGl6cFPHk08gug2Gb+KgE4ShDJmYVUFAARKvwtgxiLbLk2pv22KMLtzin+OPeCku3UoBE66nQDg==",
|
||||
"version": "0.162.1",
|
||||
"resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.162.1.tgz",
|
||||
"integrity": "sha512-yp0oSVaawR8p39PGhOb/TtclByOxJirI+DVPR99GkeRY8xZ/4gLt+BeqcLgJsed1tE1YwMgdiAYKSfhoLTFVeg==",
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/flow-remove-types": {
|
||||
"version": "2.162.0",
|
||||
"resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-2.162.0.tgz",
|
||||
"integrity": "sha512-MZxBuutqo8fnppmehSAxVi01C52mwfs7KQDkaSLN+LIgLtqqrE0RgY4tx2xLeMD/0ZwEg3yrucBLl9o/OCIrhw==",
|
||||
"version": "2.162.1",
|
||||
"resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-2.162.1.tgz",
|
||||
"integrity": "sha512-fOnPSznJWL3i/TZOK2WHzkcNq8TK+eRuUyu0Yxz4Yibf+eU0MnZjs6cOt3fCh6oZWnUpmjG3CnnQrxZjodi4hQ==",
|
||||
"dependencies": {
|
||||
"flow-parser": "^0.162.0",
|
||||
"flow-parser": "^0.162.1",
|
||||
"pirates": "^3.0.2",
|
||||
"vlq": "^0.2.1"
|
||||
},
|
||||
|
@ -6796,9 +6827,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/is-core-module": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz",
|
||||
"integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==",
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
|
||||
"integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
|
||||
"dependencies": {
|
||||
"has": "^1.0.3"
|
||||
},
|
||||
|
@ -7064,19 +7095,20 @@
|
|||
}
|
||||
},
|
||||
"node_modules/istanbul-lib-coverage": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.2.tgz",
|
||||
"integrity": "sha512-o5+eTUYzCJ11/+JhW5/FUCdfsdoYVdQ/8I/OveE2XsjehYn5DdeSnNQAbjYaO8gQ6hvGTN6GM6ddQqpTVG5j8g==",
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
|
||||
"integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/istanbul-lib-instrument": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
|
||||
"integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.0.4.tgz",
|
||||
"integrity": "sha512-W6jJF9rLGEISGoCyXRqa/JCGQGmmxPO10TMu7izaUTynxvBvTjqzAIIGCK9USBmIbQAaSWD6XJPrM9Pv5INknw==",
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.7.5",
|
||||
"@babel/core": "^7.12.3",
|
||||
"@babel/parser": "^7.14.7",
|
||||
"@istanbuljs/schema": "^0.1.2",
|
||||
"istanbul-lib-coverage": "^3.0.0",
|
||||
"semver": "^6.3.0"
|
||||
|
@ -7186,9 +7218,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/jest-worker": {
|
||||
"version": "27.2.5",
|
||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.5.tgz",
|
||||
"integrity": "sha512-HTjEPZtcNKZ4LnhSp02NEH4vE+5OpJ0EsOWYvGQpHgUMLngydESAAMH5Wd/asPf29+XUDQZszxpLg1BkIIA2aw==",
|
||||
"version": "27.3.1",
|
||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.3.1.tgz",
|
||||
"integrity": "sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==",
|
||||
"dependencies": {
|
||||
"@types/node": "*",
|
||||
"merge-stream": "^2.0.0",
|
||||
|
@ -7305,9 +7337,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/karma": {
|
||||
"version": "6.3.4",
|
||||
"resolved": "https://registry.npmjs.org/karma/-/karma-6.3.4.tgz",
|
||||
"integrity": "sha512-hbhRogUYIulfkBTZT7xoPrCYhRBnBoqbbL4fszWD0ReFGUxU+LYBr3dwKdAluaDQ/ynT9/7C+Lf7pPNW4gSx4Q==",
|
||||
"version": "6.3.5",
|
||||
"resolved": "https://registry.npmjs.org/karma/-/karma-6.3.5.tgz",
|
||||
"integrity": "sha512-uAwOPXtfEdIHIZdK7QcnKEv0BK/bg+AZikZ7TK1ZLk3apW/wNH74rbdamJby1CVVYw3I9PXxqeEo78OaiHeErA==",
|
||||
"dependencies": {
|
||||
"body-parser": "^1.19.0",
|
||||
"braces": "^3.0.2",
|
||||
|
@ -7327,7 +7359,7 @@
|
|||
"qjobs": "^1.2.0",
|
||||
"range-parser": "^1.2.1",
|
||||
"rimraf": "^3.0.2",
|
||||
"socket.io": "^3.1.0",
|
||||
"socket.io": "^4.2.0",
|
||||
"source-map": "^0.6.1",
|
||||
"tmp": "^0.2.1",
|
||||
"ua-parser-js": "^0.7.28",
|
||||
|
@ -8008,9 +8040,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/mocha": {
|
||||
"version": "9.1.2",
|
||||
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.2.tgz",
|
||||
"integrity": "sha512-ta3LtJ+63RIBP03VBjMGtSqbe6cWXRejF9SyM9Zyli1CKZJZ+vfCTj3oW24V7wAphMJdpOFLoMI3hjJ1LWbs0w==",
|
||||
"version": "9.1.3",
|
||||
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.3.tgz",
|
||||
"integrity": "sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw==",
|
||||
"dependencies": {
|
||||
"@ungap/promise-all-settled": "1.1.2",
|
||||
"ansi-colors": "4.1.1",
|
||||
|
@ -8255,9 +8287,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/node-releases": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.0.tgz",
|
||||
"integrity": "sha512-aA87l0flFYMzCHpTM3DERFSYxc6lv/BltdbRTOMZuxZ0cwZCD3mejE5n9vLhSJCN++/eOqr77G1IO5uXxlQYWA=="
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
|
||||
"integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA=="
|
||||
},
|
||||
"node_modules/node-storage-shim": {
|
||||
"version": "2.0.1",
|
||||
|
@ -8732,12 +8764,12 @@
|
|||
"integrity": "sha512-RVAzFGo1Mx9+YukVKSgTLut6r4ZVBW8IVrqGHAPfEsVJN93WSp5HRD6+qNa7av1q/joPKDNJd55m5AJl9GBQGA=="
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.3.9",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.9.tgz",
|
||||
"integrity": "sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw==",
|
||||
"version": "8.3.10",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.10.tgz",
|
||||
"integrity": "sha512-YYfvfUdWx+ECpr5Hgc6XRfsaux8LksL5ey8qTtWiuRXOpOF1YYMwAySdh0nSmwhZAFvvJ6rgiIkKVShu4x2T1Q==",
|
||||
"dependencies": {
|
||||
"nanoid": "^3.1.28",
|
||||
"picocolors": "^0.2.1",
|
||||
"nanoid": "^3.1.30",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^0.6.2"
|
||||
},
|
||||
"engines": {
|
||||
|
@ -10693,11 +10725,6 @@
|
|||
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/postcss/node_modules/picocolors": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
|
||||
"integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA=="
|
||||
},
|
||||
"node_modules/potpack": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.1.tgz",
|
||||
|
@ -11632,6 +11659,14 @@
|
|||
"url": "https://www.paypal.me/franciscopresencia/19"
|
||||
}
|
||||
},
|
||||
"node_modules/server/node_modules/base64-arraybuffer": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
|
||||
"integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=",
|
||||
"engines": {
|
||||
"node": ">= 0.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/server/node_modules/component-emitter": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
|
||||
|
@ -11710,6 +11745,26 @@
|
|||
"isarray": "2.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/server/node_modules/ws": {
|
||||
"version": "7.4.6",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
|
||||
"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
|
||||
"engines": {
|
||||
"node": ">=8.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": "^5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/setprototypeof": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
|
||||
|
@ -11764,9 +11819,9 @@
|
|||
"integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ=="
|
||||
},
|
||||
"node_modules/sirv": {
|
||||
"version": "1.0.17",
|
||||
"resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.17.tgz",
|
||||
"integrity": "sha512-qx9go5yraB7ekT7bCMqUHJ5jEaOC/GXBxUWv+jeWnb7WzHUFdcQPGWk7YmAwFBaQBrogpuSqd/azbC2lZRqqmw==",
|
||||
"version": "1.0.18",
|
||||
"resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.18.tgz",
|
||||
"integrity": "sha512-f2AOPogZmXgJ9Ma2M22ZEhc1dNtRIzcEkiflMFeVTRq+OViOZMvH1IPMVOwrKaxpSaHioBJiDR0SluRqGa7atA==",
|
||||
"dependencies": {
|
||||
"@polka/url": "^1.0.0-next.20",
|
||||
"mime": "^2.3.1",
|
||||
|
@ -11831,28 +11886,25 @@
|
|||
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
|
||||
},
|
||||
"node_modules/socket.io": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.2.tgz",
|
||||
"integrity": "sha512-JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==",
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.3.1.tgz",
|
||||
"integrity": "sha512-HC5w5Olv2XZ0XJ4gOLGzzHEuOCfj3G0SmoW3jLHYYh34EVsIr3EkW9h6kgfW+K3TFEcmYy8JcPWe//KUkBp5jA==",
|
||||
"dependencies": {
|
||||
"@types/cookie": "^0.4.0",
|
||||
"@types/cors": "^2.8.8",
|
||||
"@types/node": ">=10.0.0",
|
||||
"accepts": "~1.3.4",
|
||||
"base64id": "~2.0.0",
|
||||
"debug": "~4.3.1",
|
||||
"engine.io": "~4.1.0",
|
||||
"socket.io-adapter": "~2.1.0",
|
||||
"socket.io-parser": "~4.0.3"
|
||||
"debug": "~4.3.2",
|
||||
"engine.io": "~6.0.0",
|
||||
"socket.io-adapter": "~2.3.2",
|
||||
"socket.io-parser": "~4.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/socket.io-adapter": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz",
|
||||
"integrity": "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg=="
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.2.tgz",
|
||||
"integrity": "sha512-PBZpxUPYjmoogY0aoaTmo1643JelsaS1CiAwNjRVdrI0X9Seuc19Y2Wife8k88avW6haG8cznvwbubAZwH4Mtg=="
|
||||
},
|
||||
"node_modules/socket.io-client": {
|
||||
"version": "2.4.0",
|
||||
|
@ -13069,9 +13121,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/webpack": {
|
||||
"version": "5.58.2",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.58.2.tgz",
|
||||
"integrity": "sha512-3S6e9Vo1W2ijk4F4PPWRIu6D/uGgqaPmqw+av3W3jLDujuNkdxX5h5c+RQ6GkjVR+WwIPOfgY8av+j5j4tMqJw==",
|
||||
"version": "5.59.1",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.59.1.tgz",
|
||||
"integrity": "sha512-I01IQV9K96FlpXX3V0L4nvd7gb0r7thfuu1IfT2P4uOHOA77nKARAKDYGe/tScSHKnffNIyQhLC8kRXzY4KEHQ==",
|
||||
"dependencies": {
|
||||
"@types/eslint-scope": "^3.7.0",
|
||||
"@types/estree": "^0.0.50",
|
||||
|
@ -13219,10 +13271,30 @@
|
|||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-bundle-analyzer/node_modules/ws": {
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
|
||||
"integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==",
|
||||
"engines": {
|
||||
"node": ">=8.3.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
"utf-8-validate": "^5.0.2"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"bufferutil": {
|
||||
"optional": true
|
||||
},
|
||||
"utf-8-validate": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/webpack-cli": {
|
||||
"version": "4.9.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.0.tgz",
|
||||
"integrity": "sha512-n/jZZBMzVEl4PYIBs+auy2WI0WTQ74EnJDiyD98O2JZY6IVIHJNitkYp/uTXOviIOMfgzrNvC9foKv/8o8KSZw==",
|
||||
"version": "4.9.1",
|
||||
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz",
|
||||
"integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==",
|
||||
"dependencies": {
|
||||
"@discoveryjs/json-ext": "^0.5.0",
|
||||
"@webpack-cli/configtest": "^1.1.0",
|
||||
|
@ -13235,7 +13307,6 @@
|
|||
"import-local": "^3.0.2",
|
||||
"interpret": "^2.2.0",
|
||||
"rechoir": "^0.7.0",
|
||||
"v8-compile-cache": "^2.2.0",
|
||||
"webpack-merge": "^5.7.3"
|
||||
},
|
||||
"bin": {
|
||||
|
@ -13482,11 +13553,11 @@
|
|||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "7.4.6",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
|
||||
"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
|
||||
"version": "8.2.3",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
|
||||
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
|
||||
"engines": {
|
||||
"node": ">=8.3.0"
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"bufferutil": "^4.0.1",
|
||||
|
@ -14810,9 +14881,9 @@
|
|||
"integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA=="
|
||||
},
|
||||
"@types/component-emitter": {
|
||||
"version": "1.2.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.10.tgz",
|
||||
"integrity": "sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg=="
|
||||
"version": "1.2.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz",
|
||||
"integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ=="
|
||||
},
|
||||
"@types/cookie": {
|
||||
"version": "0.4.1",
|
||||
|
@ -14858,9 +14929,9 @@
|
|||
"integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4="
|
||||
},
|
||||
"@types/node": {
|
||||
"version": "16.10.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.9.tgz",
|
||||
"integrity": "sha512-H9ReOt+yqIJPCutkTYjFjlyK6WEMQYT9hLZMlWtOjFQY2ItppsWZ6RJf8Aw+jz5qTYceuHvFgPIaKOHtLAEWBw=="
|
||||
"version": "16.11.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.1.tgz",
|
||||
"integrity": "sha512-PYGcJHL9mwl1Ek3PLiYgyEKtwTMmkMw4vbiyz/ps3pfdRYLVv+SN7qHVAImrjdAXxgluDEw6Ph4lyv+m9UpRmA=="
|
||||
},
|
||||
"@types/parse-json": {
|
||||
"version": "4.0.0",
|
||||
|
@ -14993,9 +15064,9 @@
|
|||
"integrity": "sha512-FbpX+hD5BvXCQerEYO7jtAGHlhAkhTQ4KIV73kmLWNlawWhTiVuQxizgVb0BOkX5oG9cIRZ42EG++d/k/Efp0w=="
|
||||
},
|
||||
"@vvo/tzdb": {
|
||||
"version": "6.28.0",
|
||||
"resolved": "https://registry.npmjs.org/@vvo/tzdb/-/tzdb-6.28.0.tgz",
|
||||
"integrity": "sha512-nRApJUfYIjng1dxGdHekGY7wGtOcTSBze4zijnSIc9YYuD2r0jnlFMmyMLbh8BHSEW6j0PGVg+LR/rRjQOivGw=="
|
||||
"version": "6.29.0",
|
||||
"resolved": "https://registry.npmjs.org/@vvo/tzdb/-/tzdb-6.29.0.tgz",
|
||||
"integrity": "sha512-9N7FNfJZ7F38mTS4HeBw9VQqyfKBbU1Zl2SRdSyyKY7HmTtEwuwanRfusi6isdFLmGU63TNvV/lSprJyEeB4Og=="
|
||||
},
|
||||
"@webassemblyjs/ast": {
|
||||
"version": "1.11.1",
|
||||
|
@ -15460,9 +15531,9 @@
|
|||
}
|
||||
},
|
||||
"babel-loader": {
|
||||
"version": "8.2.2",
|
||||
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz",
|
||||
"integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==",
|
||||
"version": "8.2.3",
|
||||
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz",
|
||||
"integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==",
|
||||
"requires": {
|
||||
"find-cache-dir": "^3.3.1",
|
||||
"loader-utils": "^1.4.0",
|
||||
|
@ -15535,14 +15606,14 @@
|
|||
}
|
||||
},
|
||||
"babel-plugin-istanbul": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
|
||||
"integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
|
||||
"version": "6.1.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
|
||||
"integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
|
||||
"requires": {
|
||||
"@babel/helper-plugin-utils": "^7.0.0",
|
||||
"@istanbuljs/load-nyc-config": "^1.0.0",
|
||||
"@istanbuljs/schema": "^0.1.2",
|
||||
"istanbul-lib-instrument": "^4.0.0",
|
||||
"istanbul-lib-instrument": "^5.0.4",
|
||||
"test-exclude": "^6.0.0"
|
||||
}
|
||||
},
|
||||
|
@ -15592,9 +15663,9 @@
|
|||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
|
||||
},
|
||||
"base64-arraybuffer": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
|
||||
"integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz",
|
||||
"integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA=="
|
||||
},
|
||||
"base64id": {
|
||||
"version": "2.0.0",
|
||||
|
@ -15753,9 +15824,9 @@
|
|||
}
|
||||
},
|
||||
"caniuse-lite": {
|
||||
"version": "1.0.30001267",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001267.tgz",
|
||||
"integrity": "sha512-r1mjTzAuJ9W8cPBGbbus8E0SKcUP7gn03R14Wk8FlAlqhH9hroy9nLqmpuXlfKEw/oILW+FGz47ipXV2O7x8lg=="
|
||||
"version": "1.0.30001270",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001270.tgz",
|
||||
"integrity": "sha512-TcIC7AyNWXhcOmv2KftOl1ShFAaHQYcB/EPL/hEyMrcS7ZX0/DvV1aoy6BzV0+16wTpoAyTMGDNAJfSqS/rz7A=="
|
||||
},
|
||||
"chai": {
|
||||
"version": "4.3.4",
|
||||
|
@ -15893,9 +15964,9 @@
|
|||
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
|
||||
},
|
||||
"colord": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/colord/-/colord-2.8.0.tgz",
|
||||
"integrity": "sha512-kNkVV4KFta3TYQv0bzs4xNwLaeag261pxgzGQSh4cQ1rEhYjcTJfFRP0SDlbhLONg0eSoLzrDd79PosjbltufA=="
|
||||
"version": "2.9.1",
|
||||
"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.1.tgz",
|
||||
"integrity": "sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw=="
|
||||
},
|
||||
"colorette": {
|
||||
"version": "2.0.16",
|
||||
|
@ -16702,9 +16773,9 @@
|
|||
"integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA=="
|
||||
},
|
||||
"electron-to-chromium": {
|
||||
"version": "1.3.867",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.867.tgz",
|
||||
"integrity": "sha512-WbTXOv7hsLhjJyl7jBfDkioaY++iVVZomZ4dU6TMe/SzucV6mUAs2VZn/AehBwuZMiNEQDaPuTGn22YK5o+aDw=="
|
||||
"version": "1.3.876",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.876.tgz",
|
||||
"integrity": "sha512-a6LR4738psrubCtGx5HxM/gNlrIsh4eFTNnokgOqvQo81GWd07lLcOjITkAXn2y4lIp18vgS+DGnehj+/oEAxQ=="
|
||||
},
|
||||
"emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
|
@ -16722,17 +16793,20 @@
|
|||
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
|
||||
},
|
||||
"engine.io": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-4.1.1.tgz",
|
||||
"integrity": "sha512-t2E9wLlssQjGw0nluF6aYyfX8LwYU8Jj0xct+pAhfWfv/YrBn6TSNtEYsgxHIfaMqfrLx07czcMg9bMN6di+3w==",
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.0.0.tgz",
|
||||
"integrity": "sha512-Ui7yl3JajEIaACg8MOUwWvuuwU7jepZqX3BKs1ho7NQRuP4LhN4XIykXhp8bEy+x/DhA0LBZZXYSCkZDqrwMMg==",
|
||||
"requires": {
|
||||
"@types/cookie": "^0.4.1",
|
||||
"@types/cors": "^2.8.12",
|
||||
"@types/node": ">=10.0.0",
|
||||
"accepts": "~1.3.4",
|
||||
"base64id": "2.0.0",
|
||||
"cookie": "~0.4.1",
|
||||
"cors": "~2.8.5",
|
||||
"debug": "~4.3.1",
|
||||
"engine.io-parser": "~4.0.0",
|
||||
"ws": "~7.4.2"
|
||||
"engine.io-parser": "~5.0.0",
|
||||
"ws": "~8.2.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"cookie": {
|
||||
|
@ -16760,6 +16834,11 @@
|
|||
"yeast": "0.1.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"base64-arraybuffer": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
|
||||
"integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
|
||||
},
|
||||
"debug": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
|
||||
|
@ -16784,15 +16863,21 @@
|
|||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
|
||||
},
|
||||
"ws": {
|
||||
"version": "7.4.6",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
|
||||
"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
|
||||
"requires": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"engine.io-parser": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-4.0.3.tgz",
|
||||
"integrity": "sha512-xEAAY0msNnESNPc00e19y5heTPX4y/TJ36gr8t1voOaNmTojP9b3oK3BbJLFufW2XFPQaaijpFewm2g2Um3uqA==",
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.1.tgz",
|
||||
"integrity": "sha512-j4p3WwJrG2k92VISM0op7wiq60vO92MlF3CRGxhKHy9ywG1/Dkc72g0dXeDQ+//hrcDn8gqQzoEkdO9FN0d9AA==",
|
||||
"requires": {
|
||||
"base64-arraybuffer": "0.1.4"
|
||||
"base64-arraybuffer": "~1.0.1"
|
||||
}
|
||||
},
|
||||
"enhanced-resolve": {
|
||||
|
@ -17392,15 +17477,15 @@
|
|||
}
|
||||
},
|
||||
"eslint-plugin-promise": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz",
|
||||
"integrity": "sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng==",
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.1.1.tgz",
|
||||
"integrity": "sha512-XgdcdyNzHfmlQyweOPTxmc7pIsS6dE4MvwhXWMQ2Dxs1XAL2GJDilUsjWen6TWik0aSI+zD/PqocZBblcm9rdA==",
|
||||
"requires": {}
|
||||
},
|
||||
"eslint-plugin-vue": {
|
||||
"version": "7.19.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.19.1.tgz",
|
||||
"integrity": "sha512-e2pD7nW2sTY04ThH+66BgToNwC4n6dqfNhKE+ypdJFtZgn3Zn+nP8ZEIFPG0PGqCKQ3qxy8dJk1bzUsuQd3ANA==",
|
||||
"version": "7.20.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.20.0.tgz",
|
||||
"integrity": "sha512-oVNDqzBC9h3GO+NTgWeLMhhGigy6/bQaQbHS+0z7C4YEu/qK/yxHvca/2PTZtGNPsCrHwOTgKMrwu02A9iPBmw==",
|
||||
"requires": {
|
||||
"eslint-utils": "^2.1.0",
|
||||
"natural-compare": "^1.4.0",
|
||||
|
@ -17935,16 +18020,16 @@
|
|||
"integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg=="
|
||||
},
|
||||
"flow-parser": {
|
||||
"version": "0.162.0",
|
||||
"resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.162.0.tgz",
|
||||
"integrity": "sha512-tqn7GkffCpBkGl6cFPHk08gug2Gb+KgE4ShDJmYVUFAARKvwtgxiLbLk2pv22KMLtzin+OPeCku3UoBE66nQDg=="
|
||||
"version": "0.162.1",
|
||||
"resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.162.1.tgz",
|
||||
"integrity": "sha512-yp0oSVaawR8p39PGhOb/TtclByOxJirI+DVPR99GkeRY8xZ/4gLt+BeqcLgJsed1tE1YwMgdiAYKSfhoLTFVeg=="
|
||||
},
|
||||
"flow-remove-types": {
|
||||
"version": "2.162.0",
|
||||
"resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-2.162.0.tgz",
|
||||
"integrity": "sha512-MZxBuutqo8fnppmehSAxVi01C52mwfs7KQDkaSLN+LIgLtqqrE0RgY4tx2xLeMD/0ZwEg3yrucBLl9o/OCIrhw==",
|
||||
"version": "2.162.1",
|
||||
"resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-2.162.1.tgz",
|
||||
"integrity": "sha512-fOnPSznJWL3i/TZOK2WHzkcNq8TK+eRuUyu0Yxz4Yibf+eU0MnZjs6cOt3fCh6oZWnUpmjG3CnnQrxZjodi4hQ==",
|
||||
"requires": {
|
||||
"flow-parser": "^0.162.0",
|
||||
"flow-parser": "^0.162.1",
|
||||
"pirates": "^3.0.2",
|
||||
"vlq": "^0.2.1"
|
||||
},
|
||||
|
@ -18527,9 +18612,9 @@
|
|||
"integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w=="
|
||||
},
|
||||
"is-core-module": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz",
|
||||
"integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==",
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz",
|
||||
"integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==",
|
||||
"requires": {
|
||||
"has": "^1.0.3"
|
||||
}
|
||||
|
@ -18699,16 +18784,17 @@
|
|||
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
|
||||
},
|
||||
"istanbul-lib-coverage": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.2.tgz",
|
||||
"integrity": "sha512-o5+eTUYzCJ11/+JhW5/FUCdfsdoYVdQ/8I/OveE2XsjehYn5DdeSnNQAbjYaO8gQ6hvGTN6GM6ddQqpTVG5j8g=="
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
|
||||
"integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw=="
|
||||
},
|
||||
"istanbul-lib-instrument": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
|
||||
"integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.0.4.tgz",
|
||||
"integrity": "sha512-W6jJF9rLGEISGoCyXRqa/JCGQGmmxPO10TMu7izaUTynxvBvTjqzAIIGCK9USBmIbQAaSWD6XJPrM9Pv5INknw==",
|
||||
"requires": {
|
||||
"@babel/core": "^7.7.5",
|
||||
"@babel/core": "^7.12.3",
|
||||
"@babel/parser": "^7.14.7",
|
||||
"@istanbuljs/schema": "^0.1.2",
|
||||
"istanbul-lib-coverage": "^3.0.0",
|
||||
"semver": "^6.3.0"
|
||||
|
@ -18789,9 +18875,9 @@
|
|||
}
|
||||
},
|
||||
"jest-worker": {
|
||||
"version": "27.2.5",
|
||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.5.tgz",
|
||||
"integrity": "sha512-HTjEPZtcNKZ4LnhSp02NEH4vE+5OpJ0EsOWYvGQpHgUMLngydESAAMH5Wd/asPf29+XUDQZszxpLg1BkIIA2aw==",
|
||||
"version": "27.3.1",
|
||||
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.3.1.tgz",
|
||||
"integrity": "sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==",
|
||||
"requires": {
|
||||
"@types/node": "*",
|
||||
"merge-stream": "^2.0.0",
|
||||
|
@ -18883,9 +18969,9 @@
|
|||
}
|
||||
},
|
||||
"karma": {
|
||||
"version": "6.3.4",
|
||||
"resolved": "https://registry.npmjs.org/karma/-/karma-6.3.4.tgz",
|
||||
"integrity": "sha512-hbhRogUYIulfkBTZT7xoPrCYhRBnBoqbbL4fszWD0ReFGUxU+LYBr3dwKdAluaDQ/ynT9/7C+Lf7pPNW4gSx4Q==",
|
||||
"version": "6.3.5",
|
||||
"resolved": "https://registry.npmjs.org/karma/-/karma-6.3.5.tgz",
|
||||
"integrity": "sha512-uAwOPXtfEdIHIZdK7QcnKEv0BK/bg+AZikZ7TK1ZLk3apW/wNH74rbdamJby1CVVYw3I9PXxqeEo78OaiHeErA==",
|
||||
"requires": {
|
||||
"body-parser": "^1.19.0",
|
||||
"braces": "^3.0.2",
|
||||
|
@ -18905,7 +18991,7 @@
|
|||
"qjobs": "^1.2.0",
|
||||
"range-parser": "^1.2.1",
|
||||
"rimraf": "^3.0.2",
|
||||
"socket.io": "^3.1.0",
|
||||
"socket.io": "^4.2.0",
|
||||
"source-map": "^0.6.1",
|
||||
"tmp": "^0.2.1",
|
||||
"ua-parser-js": "^0.7.28",
|
||||
|
@ -19455,9 +19541,9 @@
|
|||
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="
|
||||
},
|
||||
"mocha": {
|
||||
"version": "9.1.2",
|
||||
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.2.tgz",
|
||||
"integrity": "sha512-ta3LtJ+63RIBP03VBjMGtSqbe6cWXRejF9SyM9Zyli1CKZJZ+vfCTj3oW24V7wAphMJdpOFLoMI3hjJ1LWbs0w==",
|
||||
"version": "9.1.3",
|
||||
"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.3.tgz",
|
||||
"integrity": "sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw==",
|
||||
"requires": {
|
||||
"@ungap/promise-all-settled": "1.1.2",
|
||||
"ansi-colors": "4.1.1",
|
||||
|
@ -19630,9 +19716,9 @@
|
|||
"integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA="
|
||||
},
|
||||
"node-releases": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.0.tgz",
|
||||
"integrity": "sha512-aA87l0flFYMzCHpTM3DERFSYxc6lv/BltdbRTOMZuxZ0cwZCD3mejE5n9vLhSJCN++/eOqr77G1IO5uXxlQYWA=="
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz",
|
||||
"integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA=="
|
||||
},
|
||||
"node-storage-shim": {
|
||||
"version": "2.0.1",
|
||||
|
@ -19965,12 +20051,12 @@
|
|||
"integrity": "sha512-RVAzFGo1Mx9+YukVKSgTLut6r4ZVBW8IVrqGHAPfEsVJN93WSp5HRD6+qNa7av1q/joPKDNJd55m5AJl9GBQGA=="
|
||||
},
|
||||
"postcss": {
|
||||
"version": "8.3.9",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.9.tgz",
|
||||
"integrity": "sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw==",
|
||||
"version": "8.3.10",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.10.tgz",
|
||||
"integrity": "sha512-YYfvfUdWx+ECpr5Hgc6XRfsaux8LksL5ey8qTtWiuRXOpOF1YYMwAySdh0nSmwhZAFvvJ6rgiIkKVShu4x2T1Q==",
|
||||
"requires": {
|
||||
"nanoid": "^3.1.28",
|
||||
"picocolors": "^0.2.1",
|
||||
"nanoid": "^3.1.30",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^0.6.2"
|
||||
},
|
||||
"dependencies": {
|
||||
|
@ -19978,11 +20064,6 @@
|
|||
"version": "3.1.30",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz",
|
||||
"integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ=="
|
||||
},
|
||||
"picocolors": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
|
||||
"integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA=="
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -22099,6 +22180,11 @@
|
|||
"socket.io": "^2.0.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"base64-arraybuffer": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz",
|
||||
"integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI="
|
||||
},
|
||||
"component-emitter": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
|
||||
|
@ -22169,6 +22255,12 @@
|
|||
"debug": "~4.1.0",
|
||||
"isarray": "2.0.1"
|
||||
}
|
||||
},
|
||||
"ws": {
|
||||
"version": "7.4.6",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
|
||||
"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
|
||||
"requires": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -22214,9 +22306,9 @@
|
|||
"integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ=="
|
||||
},
|
||||
"sirv": {
|
||||
"version": "1.0.17",
|
||||
"resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.17.tgz",
|
||||
"integrity": "sha512-qx9go5yraB7ekT7bCMqUHJ5jEaOC/GXBxUWv+jeWnb7WzHUFdcQPGWk7YmAwFBaQBrogpuSqd/azbC2lZRqqmw==",
|
||||
"version": "1.0.18",
|
||||
"resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.18.tgz",
|
||||
"integrity": "sha512-f2AOPogZmXgJ9Ma2M22ZEhc1dNtRIzcEkiflMFeVTRq+OViOZMvH1IPMVOwrKaxpSaHioBJiDR0SluRqGa7atA==",
|
||||
"requires": {
|
||||
"@polka/url": "^1.0.0-next.20",
|
||||
"mime": "^2.3.1",
|
||||
|
@ -22262,25 +22354,22 @@
|
|||
}
|
||||
},
|
||||
"socket.io": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-3.1.2.tgz",
|
||||
"integrity": "sha512-JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==",
|
||||
"version": "4.3.1",
|
||||
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.3.1.tgz",
|
||||
"integrity": "sha512-HC5w5Olv2XZ0XJ4gOLGzzHEuOCfj3G0SmoW3jLHYYh34EVsIr3EkW9h6kgfW+K3TFEcmYy8JcPWe//KUkBp5jA==",
|
||||
"requires": {
|
||||
"@types/cookie": "^0.4.0",
|
||||
"@types/cors": "^2.8.8",
|
||||
"@types/node": ">=10.0.0",
|
||||
"accepts": "~1.3.4",
|
||||
"base64id": "~2.0.0",
|
||||
"debug": "~4.3.1",
|
||||
"engine.io": "~4.1.0",
|
||||
"socket.io-adapter": "~2.1.0",
|
||||
"socket.io-parser": "~4.0.3"
|
||||
"debug": "~4.3.2",
|
||||
"engine.io": "~6.0.0",
|
||||
"socket.io-adapter": "~2.3.2",
|
||||
"socket.io-parser": "~4.0.4"
|
||||
}
|
||||
},
|
||||
"socket.io-adapter": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.1.0.tgz",
|
||||
"integrity": "sha512-+vDov/aTsLjViYTwS9fPy5pEtTkrbEKsw2M+oVSoFGw6OD1IpvlV1VPhUzNbofCQ8oyMbdYJqDtGdmHQK6TdPg=="
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.2.tgz",
|
||||
"integrity": "sha512-PBZpxUPYjmoogY0aoaTmo1643JelsaS1CiAwNjRVdrI0X9Seuc19Y2Wife8k88avW6haG8cznvwbubAZwH4Mtg=="
|
||||
},
|
||||
"socket.io-client": {
|
||||
"version": "2.4.0",
|
||||
|
@ -23189,9 +23278,9 @@
|
|||
}
|
||||
},
|
||||
"webpack": {
|
||||
"version": "5.58.2",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.58.2.tgz",
|
||||
"integrity": "sha512-3S6e9Vo1W2ijk4F4PPWRIu6D/uGgqaPmqw+av3W3jLDujuNkdxX5h5c+RQ6GkjVR+WwIPOfgY8av+j5j4tMqJw==",
|
||||
"version": "5.59.1",
|
||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-5.59.1.tgz",
|
||||
"integrity": "sha512-I01IQV9K96FlpXX3V0L4nvd7gb0r7thfuu1IfT2P4uOHOA77nKARAKDYGe/tScSHKnffNIyQhLC8kRXzY4KEHQ==",
|
||||
"requires": {
|
||||
"@types/eslint-scope": "^3.7.0",
|
||||
"@types/estree": "^0.0.50",
|
||||
|
@ -23310,13 +23399,19 @@
|
|||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"ws": {
|
||||
"version": "7.5.5",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
|
||||
"integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==",
|
||||
"requires": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
"webpack-cli": {
|
||||
"version": "4.9.0",
|
||||
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.0.tgz",
|
||||
"integrity": "sha512-n/jZZBMzVEl4PYIBs+auy2WI0WTQ74EnJDiyD98O2JZY6IVIHJNitkYp/uTXOviIOMfgzrNvC9foKv/8o8KSZw==",
|
||||
"version": "4.9.1",
|
||||
"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz",
|
||||
"integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==",
|
||||
"requires": {
|
||||
"@discoveryjs/json-ext": "^0.5.0",
|
||||
"@webpack-cli/configtest": "^1.1.0",
|
||||
|
@ -23329,7 +23424,6 @@
|
|||
"import-local": "^3.0.2",
|
||||
"interpret": "^2.2.0",
|
||||
"rechoir": "^0.7.0",
|
||||
"v8-compile-cache": "^2.2.0",
|
||||
"webpack-merge": "^5.7.3"
|
||||
},
|
||||
"dependencies": {
|
||||
|
@ -23476,9 +23570,9 @@
|
|||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||
},
|
||||
"ws": {
|
||||
"version": "7.4.6",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
|
||||
"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
|
||||
"version": "8.2.3",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
|
||||
"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
|
||||
"requires": {}
|
||||
},
|
||||
"x-xss-protection": {
|
||||
|
|
13
frontend/src/component/icon/sponsor.vue
Normal file
13
frontend/src/component/icon/sponsor.vue
Normal file
|
@ -0,0 +1,13 @@
|
|||
<template>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24"
|
||||
width="24px" fill="currentColor">
|
||||
<rect fill="none" height="24" width="24"/>
|
||||
<path
|
||||
d="M9.68,13.69L12,11.93l2.31,1.76l-0.88-2.85L15.75,9h-2.84L12,6.19L11.09,9H8.25l2.31,1.84L9.68,13.69z M20,10 c0-4.42-3.58-8-8-8s-8,3.58-8,8c0,2.03,0.76,3.87,2,5.28V23l6-2l6,2v-7.72C19.24,13.87,20,12.03,20,10z M12,4c3.31,0,6,2.69,6,6 s-2.69,6-6,6s-6-2.69-6-6S8.69,4,12,4z"/>
|
||||
</svg>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
name: "IconSponsor",
|
||||
};
|
||||
</script>
|
|
@ -29,6 +29,7 @@ https://docs.photoprism.org/developer-guide/
|
|||
*/
|
||||
|
||||
import IconLivePhoto from "./icon/live_photo.vue";
|
||||
import IconSponsor from "./icon/sponsor.vue";
|
||||
|
||||
const icons = {
|
||||
live_photo: {
|
||||
|
@ -37,6 +38,12 @@ const icons = {
|
|||
name: "live_photo",
|
||||
},
|
||||
},
|
||||
sponsor: {
|
||||
component: IconSponsor,
|
||||
props: {
|
||||
name: "sponsor",
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
export default icons;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@import url("themes/grayscale.css");
|
||||
@import url("themes/midnight.css");
|
||||
@import url("themes/vanta.css");
|
||||
@import url("themes/shadow.css");
|
||||
@import url("themes/yellowstone.css");
|
||||
|
||||
|
|
|
@ -1,93 +0,0 @@
|
|||
/* Midnight Theme */
|
||||
|
||||
.theme-midnight .v-content__wrap,
|
||||
.theme-midnight .p-page,
|
||||
.theme-midnight .form,
|
||||
.theme-midnight .v-content {
|
||||
background: #212121 !important;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-small-dialog__content,
|
||||
#photoprism.theme-midnight .theme--light.v-sheet,
|
||||
#photoprism.theme-midnight .theme--light.v-card {
|
||||
background: #212121;
|
||||
}
|
||||
|
||||
.theme-midnight .application.theme--light {
|
||||
background: #212121;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light .v-table {
|
||||
background: #262626;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-table thead th,
|
||||
#photoprism.theme-midnight .theme--light.v-table tbody td {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-table tbody tr:hover {
|
||||
background: #333333;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-chip,
|
||||
#photoprism.theme-midnight .v-card__actions .theme--light.v-text-field--solo>.v-input__control>.v-input__slot {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-text-field--solo>.v-input__control>.v-input__slot {
|
||||
background: #262626;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-input--selection-controls.v-input--is-disabled .v-icon {
|
||||
color: #999 !important;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-input--selection-controls.v-input--is-disabled .v-icon,
|
||||
#photoprism.theme-midnight .theme--light.v-input--is-disabled .v-label,
|
||||
#photoprism.theme-midnight .theme--light.v-input--is-disabled input,
|
||||
#photoprism.theme-midnight .theme--light.v-input--is-disabled textarea {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight,
|
||||
#photoprism.theme-midnight .p-page a,
|
||||
#photoprism.theme-midnight .v-datatable a,
|
||||
#photoprism.theme-midnight .theme--light.v-expansion-panel .v-expansion-panel__container,
|
||||
#photoprism.theme-midnight .theme--light.v-tabs__bar .v-tabs__div,
|
||||
#photoprism.theme-midnight .theme--light {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-list {
|
||||
background: #262626;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight a.text-link {
|
||||
color: #c8e3e7 !important;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-select .v-select__selections {
|
||||
color: #eee;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-list .v-list__tile__sub-title,
|
||||
#photoprism.theme-midnight .accent--text {
|
||||
color: #919bd4 !important;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-input:not(.v-input--is-disabled) input,
|
||||
#photoprism.theme-theri .theme--light.v-input:not(.v-input--is-disabled) textarea {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-btn.v-btn--disabled,
|
||||
#photoprism.theme-midnight .theme--light.v-btn.v-btn--disabled .v-btn__loading,
|
||||
#photoprism.theme-midnight .theme--light.v-btn.v-btn--disabled .v-icon {
|
||||
color: #999 !important;
|
||||
}
|
||||
|
||||
#photoprism.theme-midnight .theme--light.v-list .v-list__tile__mask {
|
||||
color: #cccccc;
|
||||
background: transparent;
|
||||
}
|
93
frontend/src/css/themes/vanta.css
Normal file
93
frontend/src/css/themes/vanta.css
Normal file
|
@ -0,0 +1,93 @@
|
|||
/* Black Aqua Theme */
|
||||
|
||||
.theme-vanta .v-content__wrap,
|
||||
.theme-vanta .p-page,
|
||||
.theme-vanta .form,
|
||||
.theme-vanta .v-content {
|
||||
background: #212121 !important;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-small-dialog__content,
|
||||
#photoprism.theme-vanta .theme--light.v-sheet,
|
||||
#photoprism.theme-vanta .theme--light.v-card {
|
||||
background: #212121;
|
||||
}
|
||||
|
||||
.theme-vanta .application.theme--light {
|
||||
background: #212121;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light .v-table {
|
||||
background: #262626;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-table thead th,
|
||||
#photoprism.theme-vanta .theme--light.v-table tbody td {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-table tbody tr:hover {
|
||||
background: #333333;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-chip,
|
||||
#photoprism.theme-vanta .v-card__actions .theme--light.v-text-field--solo>.v-input__control>.v-input__slot {
|
||||
background: #333;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-text-field--solo>.v-input__control>.v-input__slot {
|
||||
background: #262626;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-input--selection-controls.v-input--is-disabled .v-icon {
|
||||
color: #999 !important;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-input--selection-controls.v-input--is-disabled .v-icon,
|
||||
#photoprism.theme-vanta .theme--light.v-input--is-disabled .v-label,
|
||||
#photoprism.theme-vanta .theme--light.v-input--is-disabled input,
|
||||
#photoprism.theme-vanta .theme--light.v-input--is-disabled textarea {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta,
|
||||
#photoprism.theme-vanta .p-page a,
|
||||
#photoprism.theme-vanta .v-datatable a,
|
||||
#photoprism.theme-vanta .theme--light.v-expansion-panel .v-expansion-panel__container,
|
||||
#photoprism.theme-vanta .theme--light.v-tabs__bar .v-tabs__div,
|
||||
#photoprism.theme-vanta .theme--light {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-list {
|
||||
background: #262626;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta a.text-link {
|
||||
color: #c8e3e7 !important;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-select .v-select__selections {
|
||||
color: #eee;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-list .v-list__tile__sub-title,
|
||||
#photoprism.theme-vanta .accent--text {
|
||||
color: #05dde1 !important;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-input:not(.v-input--is-disabled) input,
|
||||
#photoprism.theme-vanta .theme--light.v-input:not(.v-input--is-disabled) textarea {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-btn.v-btn--disabled,
|
||||
#photoprism.theme-vanta .theme--light.v-btn.v-btn--disabled .v-btn__loading,
|
||||
#photoprism.theme-vanta .theme--light.v-btn.v-btn--disabled .v-icon {
|
||||
color: #999 !important;
|
||||
}
|
||||
|
||||
#photoprism.theme-vanta .theme--light.v-list .v-list__tile__mask {
|
||||
color: #cccccc;
|
||||
background: transparent;
|
||||
}
|
|
@ -9,7 +9,7 @@
|
|||
</h3>
|
||||
</v-flex>
|
||||
<v-flex xs3 text-xs-right>
|
||||
<v-icon color="secondary-dark">volunteer_activism</v-icon>
|
||||
<v-icon color="secondary-dark">$vuetify.icons.sponsor</v-icon>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</v-card-title>
|
||||
|
@ -19,7 +19,7 @@
|
|||
<translate>We'll let you know how to enable it when you sign up on Patreon or GitHub Sponsors.</translate>
|
||||
</p>
|
||||
<p class="body-1">
|
||||
<translate>Your continued support helps us fund operating costs, provide services like satellite maps, and develop new features.</translate>
|
||||
<translate>Your continued support helps us provide services like satellite maps and develop new features.</translate>
|
||||
</p>
|
||||
<p class="body-1">
|
||||
<translate>Please contact us at hello@photoprism.app if you have questions or need help.</translate>
|
||||
|
|
Binary file not shown.
|
@ -10,7 +10,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: easygettext\n"
|
||||
"X-Generator: Poedit 3.0\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: src/dialog/photo/files.vue:132 src/dialog/photo/files.vue:129
|
||||
|
@ -44,15 +44,15 @@ msgstr "%{n} Personen gefunden"
|
|||
msgid "%{n} pictures found"
|
||||
msgstr "%{n} Bilder gefunden"
|
||||
|
||||
#: src/options/options.js:307
|
||||
#: src/options/options.js:312
|
||||
msgid "1 hour"
|
||||
msgstr "1 Stunde"
|
||||
|
||||
#: src/options/options.js:309
|
||||
#: src/options/options.js:314
|
||||
msgid "12 hours"
|
||||
msgstr "12 Stunden"
|
||||
|
||||
#: src/options/options.js:308
|
||||
#: src/options/options.js:313
|
||||
msgid "4 hours"
|
||||
msgstr "4 Stunden"
|
||||
|
||||
|
@ -61,13 +61,13 @@ msgid "A click will copy it to your clipboard."
|
|||
msgstr "Auf den Link klicken, um ihn zu kopieren."
|
||||
|
||||
#: src/component/navigation.vue:371 src/component/navigation.vue:27
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:88
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:81
|
||||
#: src/pages/help.vue:45
|
||||
msgid "About"
|
||||
msgstr "Info"
|
||||
|
||||
#: src/dialog/share/upload.vue:113 src/model/account.js:96
|
||||
#: src/pages/settings.vue:74
|
||||
#: src/component/navigation.vue:44 src/dialog/share/upload.vue:113
|
||||
#: src/model/account.js:96 src/pages/settings.vue:74
|
||||
msgid "Account"
|
||||
msgstr "Zugang"
|
||||
|
||||
|
@ -117,23 +117,23 @@ msgstr "Hinzugefügt"
|
|||
msgid "Advanced"
|
||||
msgstr "Erweitert"
|
||||
|
||||
#: src/options/options.js:317
|
||||
#: src/options/options.js:322
|
||||
msgid "After 1 day"
|
||||
msgstr "Nach einem Tag"
|
||||
|
||||
#: src/options/options.js:318
|
||||
#: src/options/options.js:323
|
||||
msgid "After 3 days"
|
||||
msgstr "Nach 3 Tagen"
|
||||
|
||||
#: src/options/options.js:319
|
||||
#: src/options/options.js:324
|
||||
msgid "After 7 days"
|
||||
msgstr "Nach 7 Tagen"
|
||||
|
||||
#: src/options/options.js:321
|
||||
#: src/options/options.js:326
|
||||
msgid "After one month"
|
||||
msgstr "Nach einem Monat"
|
||||
|
||||
#: src/options/options.js:323
|
||||
#: src/options/options.js:328
|
||||
msgid "After one year"
|
||||
msgstr "Nach einem Jahr"
|
||||
|
||||
|
@ -145,11 +145,11 @@ msgstr ""
|
|||
"Ausgewählte Bilder können über das Kontextmenü einem Album hinzugefügt "
|
||||
"werden."
|
||||
|
||||
#: src/options/options.js:322
|
||||
#: src/options/options.js:327
|
||||
msgid "After two months"
|
||||
msgstr "Nach zwei Monaten"
|
||||
|
||||
#: src/options/options.js:320
|
||||
#: src/options/options.js:325
|
||||
msgid "After two weeks"
|
||||
msgstr "Nach zwei Wochen"
|
||||
|
||||
|
@ -162,7 +162,7 @@ msgid "Album Name"
|
|||
msgstr "Album Name"
|
||||
|
||||
#: src/component/navigation.vue:130 src/component/navigation.vue:140
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:545
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:544
|
||||
#: src/routes.js:134 src/routes.js:141 src/share/albums.vue:4
|
||||
msgid "Albums"
|
||||
msgstr "Alben"
|
||||
|
@ -309,7 +309,7 @@ msgstr "Ersteller"
|
|||
msgid "Aspect Ratio"
|
||||
msgstr "Seitenverhältnis"
|
||||
|
||||
#: src/pages/settings/account.vue:82
|
||||
#: src/pages/settings/account.vue:81
|
||||
msgid "At least 6 characters."
|
||||
msgstr "Mindestens 6 Zeichen."
|
||||
|
||||
|
@ -325,7 +325,7 @@ msgstr ""
|
|||
msgid "Automatically creates albums of special moments, trips, and places."
|
||||
msgstr "Erstellt automatisch Alben mit besonderen Momenten, Reisen und Orten."
|
||||
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:26
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:23
|
||||
msgid "Become a sponsor"
|
||||
msgstr "Sponsor werden"
|
||||
|
||||
|
@ -333,15 +333,15 @@ msgstr "Sponsor werden"
|
|||
msgid "Bio"
|
||||
msgstr "Biographie"
|
||||
|
||||
#: src/options/options.js:342
|
||||
#: src/options/options.js:347
|
||||
msgid "Black"
|
||||
msgstr "Schwarz"
|
||||
|
||||
#: src/options/options.js:355
|
||||
#: src/options/options.js:360
|
||||
msgid "Blackman: Lanczos Modification, Less Ringing Artifacts"
|
||||
msgstr "Blackman: Weniger Überschwingungsartefakte als Lanczos"
|
||||
|
||||
#: src/options/options.js:338
|
||||
#: src/options/options.js:343
|
||||
msgid "Blue"
|
||||
msgstr "Blau"
|
||||
|
||||
|
@ -349,7 +349,7 @@ msgstr "Blau"
|
|||
msgid "Brazilian Portuguese"
|
||||
msgstr "Brasilianisches Portugiesisch"
|
||||
|
||||
#: src/options/options.js:339
|
||||
#: src/options/options.js:344
|
||||
msgid "Brown"
|
||||
msgstr "Braun"
|
||||
|
||||
|
@ -361,7 +361,7 @@ msgstr "Automatische Bild-Kategorisierung sehen und bearbeiten."
|
|||
msgid "Browse indexed files and folders in Library."
|
||||
msgstr "Durchsuche Ordner hierarchisch nach indexierten Original-Dateien."
|
||||
|
||||
#: src/options/options.js:349
|
||||
#: src/options/options.js:354
|
||||
msgid "Bug Report"
|
||||
msgstr "Fehlerbericht"
|
||||
|
||||
|
@ -369,7 +369,7 @@ msgstr "Fehlerbericht"
|
|||
msgid "Busy, please wait…"
|
||||
msgstr "Bitte warten…"
|
||||
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:835
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:834
|
||||
#: src/routes.js:147 src/routes.js:154
|
||||
msgid "Calendar"
|
||||
msgstr "Kalender"
|
||||
|
@ -529,23 +529,23 @@ msgstr "Hinzugefügt"
|
|||
msgid "Creating thumbnails for"
|
||||
msgstr "Erstelle Thumbnails für"
|
||||
|
||||
#: src/options/options.js:357
|
||||
#: src/options/options.js:362
|
||||
msgid "Cubic: Moderate Quality, Good Performance"
|
||||
msgstr "Kubisch: Mittlere Qualität, gute Performance"
|
||||
|
||||
#: src/pages/settings/account.vue:56
|
||||
#: src/pages/settings/account.vue:55
|
||||
msgid "Current Password"
|
||||
msgstr "Aktuelles Passwort"
|
||||
|
||||
#: src/options/options.js:346
|
||||
#: src/options/options.js:351
|
||||
msgid "Customer Support"
|
||||
msgstr "Support-Anfrage"
|
||||
|
||||
#: src/options/options.js:337
|
||||
#: src/options/options.js:342
|
||||
msgid "Cyan"
|
||||
msgstr "Cyan"
|
||||
|
||||
#: src/options/options.js:204
|
||||
#: src/options/options.js:219
|
||||
msgid "Cyano"
|
||||
msgstr "Cyano"
|
||||
|
||||
|
@ -553,7 +553,7 @@ msgstr "Cyano"
|
|||
msgid "Czech"
|
||||
msgstr "Tschechisch"
|
||||
|
||||
#: src/options/options.js:310
|
||||
#: src/options/options.js:315
|
||||
msgid "Daily"
|
||||
msgstr "Täglich"
|
||||
|
||||
|
@ -688,7 +688,7 @@ msgstr "RawTherapee nicht zum Konvertieren von Bildern verwenden."
|
|||
msgid "Don't use TensorFlow for image classification."
|
||||
msgstr "TensorFlow nicht zur automatischen Bild-Kategorisierung verwenden."
|
||||
|
||||
#: src/options/options.js:350
|
||||
#: src/options/options.js:355
|
||||
msgid "Donations"
|
||||
msgstr "Spenden"
|
||||
|
||||
|
@ -814,7 +814,7 @@ msgstr "Den ungefähren Standort von Bildern ohne Koordinaten schätzen."
|
|||
msgid "Estimates"
|
||||
msgstr "Schätzungen"
|
||||
|
||||
#: src/options/options.js:311
|
||||
#: src/options/options.js:316
|
||||
msgid "Every two days"
|
||||
msgstr "Jeden zweiten Tag"
|
||||
|
||||
|
@ -830,7 +830,7 @@ msgstr ""
|
|||
msgid "Exclude hidden"
|
||||
msgstr "Verborgene ausblenden"
|
||||
|
||||
#: src/component/navigation.vue:252
|
||||
#: src/component/navigation.vue:251
|
||||
msgid "Expand"
|
||||
msgstr "Ausklappen"
|
||||
|
||||
|
@ -878,7 +878,7 @@ msgstr "Der Link konnte nicht gespeichert werden"
|
|||
msgid "Failure while importing uploaded files"
|
||||
msgstr "Fehler beim Importieren der hochgeladenen Dateien"
|
||||
|
||||
#: src/options/options.js:250
|
||||
#: src/options/options.js:255
|
||||
msgid "Fast"
|
||||
msgstr "Schnell"
|
||||
|
||||
|
@ -886,12 +886,12 @@ msgstr "Schnell"
|
|||
msgid "Favorite"
|
||||
msgstr "Favorit"
|
||||
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:747
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:746
|
||||
#: src/routes.js:180
|
||||
msgid "Favorites"
|
||||
msgstr "Favoriten"
|
||||
|
||||
#: src/options/options.js:348
|
||||
#: src/options/options.js:353
|
||||
msgid "Feature Request"
|
||||
msgstr "Feature Request"
|
||||
|
||||
|
@ -938,7 +938,7 @@ msgstr "Ordner enthält %{n} Dateien"
|
|||
msgid "Folder is empty"
|
||||
msgstr "Ordner ist leer"
|
||||
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1043
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1042
|
||||
#: src/routes.js:160 src/routes.js:167
|
||||
msgid "Folders"
|
||||
msgstr "Ordner"
|
||||
|
@ -959,7 +959,7 @@ msgstr "Allgemein"
|
|||
msgid "German"
|
||||
msgstr "Deutsch"
|
||||
|
||||
#: src/options/options.js:332
|
||||
#: src/options/options.js:337
|
||||
msgid "Gold"
|
||||
msgstr "Gold"
|
||||
|
||||
|
@ -967,11 +967,11 @@ msgstr "Gold"
|
|||
msgid "Grayscale"
|
||||
msgstr "Grayscale"
|
||||
|
||||
#: src/options/options.js:335
|
||||
#: src/options/options.js:340
|
||||
msgid "Green"
|
||||
msgstr "Grün"
|
||||
|
||||
#: src/options/options.js:341
|
||||
#: src/options/options.js:346
|
||||
msgid "Grey"
|
||||
msgstr "Grau"
|
||||
|
||||
|
@ -1016,7 +1016,7 @@ msgstr "Hindi"
|
|||
msgid "How can we help?"
|
||||
msgstr "Wie können wir helfen?"
|
||||
|
||||
#: src/options/options.js:273
|
||||
#: src/options/options.js:278
|
||||
msgid "Hybrid"
|
||||
msgstr "Hybrid"
|
||||
|
||||
|
@ -1024,19 +1024,11 @@ msgstr "Hybrid"
|
|||
msgid "I'm a sponsor"
|
||||
msgstr "Ich bin Sponsor"
|
||||
|
||||
#: src/pages/about/about.vue:22
|
||||
msgid ""
|
||||
"If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
"GitHub Sponsors."
|
||||
msgstr ""
|
||||
"Unterstütze uns auf Patreon oder GitHub Sponsors, falls dir PhotoPrism "
|
||||
"gefällt."
|
||||
|
||||
#: src/dialog/photo/labels.vue:34
|
||||
msgid "image"
|
||||
msgstr "Bild"
|
||||
|
||||
#: src/options/options.js:288
|
||||
#: src/options/options.js:293
|
||||
msgid "Image"
|
||||
msgstr "Bild"
|
||||
|
||||
|
@ -1159,7 +1151,7 @@ msgstr "Kurdisch"
|
|||
msgid "Label"
|
||||
msgstr "Kategorie"
|
||||
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:998
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:997
|
||||
#: src/dialog/photo/edit.vue:39 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:216 src/pages/settings/general.vue:382
|
||||
#: src/routes.js:259
|
||||
|
@ -1170,7 +1162,7 @@ msgstr "Kategorien"
|
|||
msgid "Labels deleted"
|
||||
msgstr "Kategorien gelöscht"
|
||||
|
||||
#: src/options/options.js:356
|
||||
#: src/options/options.js:361
|
||||
msgid "Lanczos: Detail Preservation, Minimal Artifacts"
|
||||
msgstr "Lanczos: Sehr gute Detailerhaltung, minimale Artefakte"
|
||||
|
||||
|
@ -1186,7 +1178,7 @@ msgstr "Letztes Backup"
|
|||
msgid "Latitude"
|
||||
msgstr "Breitengrad"
|
||||
|
||||
#: src/options/options.js:209
|
||||
#: src/options/options.js:224
|
||||
msgid "Lavender"
|
||||
msgstr "Lavendel"
|
||||
|
||||
|
@ -1194,12 +1186,8 @@ msgstr "Lavendel"
|
|||
msgid "Lens"
|
||||
msgstr "Objektiv"
|
||||
|
||||
#: src/pages/about/about.vue:37
|
||||
msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
msgstr "Ein kurzer Hinweis genügt, sollten wir etwas falsch eingeordnet haben."
|
||||
|
||||
#: src/component/navigation.vue:301 src/component/navigation.vue:311
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1135
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1134
|
||||
#: src/pages/settings.vue:41 src/pages/settings/general.vue:404
|
||||
#: src/routes.js:291 src/routes.js:298 src/routes.js:305
|
||||
msgid "Library"
|
||||
|
@ -1214,7 +1202,7 @@ msgstr "Lizenz"
|
|||
msgid "Like"
|
||||
msgstr "Favorit"
|
||||
|
||||
#: src/options/options.js:334
|
||||
#: src/options/options.js:339
|
||||
msgid "Lime"
|
||||
msgstr "Hellgrün"
|
||||
|
||||
|
@ -1222,7 +1210,7 @@ msgstr "Hellgrün"
|
|||
msgid "Limit reached, showing first %{n} files"
|
||||
msgstr "Limit erreicht, zeige erste %{n} Dateien"
|
||||
|
||||
#: src/options/options.js:358
|
||||
#: src/options/options.js:363
|
||||
msgid "Linear: Very Smooth, Best Performance"
|
||||
msgstr "Linear: Weicher Bildeindruck, sehr gute Performance"
|
||||
|
||||
|
@ -1234,9 +1222,9 @@ msgstr "Link"
|
|||
msgid "List"
|
||||
msgstr "Liste"
|
||||
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:188
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:296
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:167
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:186
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:301
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:165
|
||||
#: src/share/photo/mosaic.vue:171
|
||||
msgid "Live"
|
||||
msgstr "Live"
|
||||
|
@ -1263,12 +1251,12 @@ msgstr ""
|
|||
"Warnungen und Fehler erscheinen hier, sobald PhotoPrism beschädigte Dateien "
|
||||
"findet oder andere Probleme aufgetreten sind."
|
||||
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1471
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1470
|
||||
msgid "Login"
|
||||
msgstr "Anmelden"
|
||||
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1581
|
||||
#: src/component/navigation.vue:1612
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1580
|
||||
#: src/component/navigation.vue:1611
|
||||
msgid "Logout"
|
||||
msgstr "Abmelden"
|
||||
|
||||
|
@ -1280,7 +1268,7 @@ msgstr "Logs"
|
|||
msgid "Longitude"
|
||||
msgstr "Längengrad"
|
||||
|
||||
#: src/options/options.js:328
|
||||
#: src/options/options.js:333
|
||||
msgid "Magenta"
|
||||
msgstr "Magenta"
|
||||
|
||||
|
@ -1300,7 +1288,7 @@ msgstr "Manueller Upload"
|
|||
msgid "Marker"
|
||||
msgstr "Bildbereich"
|
||||
|
||||
#: src/options/options.js:254
|
||||
#: src/options/options.js:259
|
||||
msgid "Medium"
|
||||
msgstr "Mittel"
|
||||
|
||||
|
@ -1312,7 +1300,7 @@ msgstr "%{a} und %{b} zusammenfassen?"
|
|||
msgid "Message sent"
|
||||
msgstr "Nachricht versendet"
|
||||
|
||||
#: src/component/navigation.vue:205
|
||||
#: src/component/navigation.vue:204
|
||||
msgid "Minimize"
|
||||
msgstr "Minimieren"
|
||||
|
||||
|
@ -1320,7 +1308,7 @@ msgstr "Minimieren"
|
|||
msgid "Missing"
|
||||
msgstr "Fehlend"
|
||||
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:790
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:789
|
||||
#: src/pages/settings/general.vue:360 src/routes.js:121 src/routes.js:128
|
||||
msgid "Moments"
|
||||
msgstr "Erlebnisse"
|
||||
|
@ -1333,7 +1321,7 @@ msgstr "Monochrom"
|
|||
msgid "Month"
|
||||
msgstr "Monat"
|
||||
|
||||
#: src/options/options.js:214
|
||||
#: src/options/options.js:209
|
||||
msgid "Moonlight"
|
||||
msgstr "Moonlight"
|
||||
|
||||
|
@ -1368,7 +1356,7 @@ msgid "Move Files"
|
|||
msgstr "Dateien verschieben"
|
||||
|
||||
#: src/component/photo/cards.vue:30 src/component/photo/list.vue:38
|
||||
#: src/component/photo/list.vue:237 src/dialog/account/edit.vue:397
|
||||
#: src/component/photo/list.vue:235 src/dialog/account/edit.vue:397
|
||||
#: src/dialog/album/edit.vue:106 src/dialog/photo/files.vue:71
|
||||
#: src/dialog/photo/files.vue:68 src/dialog/photo/files.vue:30
|
||||
#: src/dialog/photo/info.vue:31 src/dialog/photo/labels.vue:48
|
||||
|
@ -1377,7 +1365,7 @@ msgstr "Dateien verschieben"
|
|||
#: src/pages/login.vue:73 src/pages/people/faces.vue:48
|
||||
#: src/pages/people/faces.vue:307 src/pages/people/subjects.vue:393
|
||||
#: src/share/photo/cards.vue:30 src/share/photo/list.vue:34
|
||||
#: src/share/photo/list.vue:216
|
||||
#: src/share/photo/list.vue:214
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
|
@ -1388,7 +1376,7 @@ msgstr "Name"
|
|||
msgid "Name too long"
|
||||
msgstr "Name zu lang"
|
||||
|
||||
#: src/options/options.js:306 src/options/options.js:316
|
||||
#: src/options/options.js:311 src/options/options.js:321
|
||||
#: src/pages/settings/sync.vue:50
|
||||
msgid "Never"
|
||||
msgstr "Nie"
|
||||
|
@ -1397,7 +1385,7 @@ msgstr "Nie"
|
|||
msgid "New"
|
||||
msgstr "Neu"
|
||||
|
||||
#: src/pages/settings/account.vue:78
|
||||
#: src/pages/settings/account.vue:77
|
||||
msgid "New Password"
|
||||
msgstr "Neues Passwort"
|
||||
|
||||
|
@ -1472,7 +1460,7 @@ msgstr ""
|
|||
"Nicht-fotografische Inhalte oder Bilder mit geringer Qualität werden erst "
|
||||
"nach einer Bestätigung in der Suche angezeigt."
|
||||
|
||||
#: src/options/options.js:246
|
||||
#: src/options/options.js:251
|
||||
msgid "None"
|
||||
msgstr "Keine"
|
||||
|
||||
|
@ -1519,8 +1507,8 @@ msgstr "Notizen"
|
|||
msgid "Nothing to see here yet. Be patient."
|
||||
msgstr "Noch nichts zu sehen. Gedulde dich noch ein bisschen."
|
||||
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1516
|
||||
#: src/options/options.js:265
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1515
|
||||
#: src/options/options.js:270
|
||||
msgid "Offline"
|
||||
msgstr "Offline"
|
||||
|
||||
|
@ -1529,7 +1517,7 @@ msgstr "Offline"
|
|||
msgid "Oldest first"
|
||||
msgstr "Älteste zuerst"
|
||||
|
||||
#: src/options/options.js:312
|
||||
#: src/options/options.js:317
|
||||
msgid "Once a week"
|
||||
msgstr "Einmal die Woche"
|
||||
|
||||
|
@ -1559,7 +1547,7 @@ msgstr "Eine Person gefunden"
|
|||
msgid "One picture found"
|
||||
msgstr "Eine Bild gefunden"
|
||||
|
||||
#: src/options/options.js:219
|
||||
#: src/options/options.js:214
|
||||
msgid "Onyx"
|
||||
msgstr "Onyx"
|
||||
|
||||
|
@ -1567,7 +1555,7 @@ msgstr "Onyx"
|
|||
msgid "Options"
|
||||
msgstr "Optionen"
|
||||
|
||||
#: src/options/options.js:331
|
||||
#: src/options/options.js:336
|
||||
msgid "Orange"
|
||||
msgstr "Orange"
|
||||
|
||||
|
@ -1593,7 +1581,7 @@ msgstr "Originalname"
|
|||
msgid "Originals"
|
||||
msgstr "Originale"
|
||||
|
||||
#: src/options/options.js:351
|
||||
#: src/options/options.js:356
|
||||
msgid "Other"
|
||||
msgstr "Sonstiges"
|
||||
|
||||
|
@ -1602,10 +1590,10 @@ msgid ""
|
|||
"Our vision is to provide the most user-friendly solution for browsing, "
|
||||
"organizing, and sharing your photo collection."
|
||||
msgstr ""
|
||||
"Unsere Vision ist es, die benutzerfreundlichste Lösung zum Durchstöbern, "
|
||||
"Organisieren und Teilen von Bildersammlungen anbieten zu können."
|
||||
"Unsere Vision ist es, die benutzerfreundlichste Lösung zum Durchsuchen, "
|
||||
"Organisieren und Teilen deiner Fotosammlung anzubieten."
|
||||
|
||||
#: src/options/options.js:281
|
||||
#: src/options/options.js:286
|
||||
msgid "Outdoor"
|
||||
msgstr "Outdoor"
|
||||
|
||||
|
@ -1626,7 +1614,7 @@ msgstr "Passwort"
|
|||
msgid "Password changed"
|
||||
msgstr "Passwort geändert"
|
||||
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:702
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:701
|
||||
#: src/dialog/photo/edit.vue:52 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:267 src/pages/settings/general.vue:338
|
||||
#: src/routes.js:265 src/routes.js:285
|
||||
|
@ -1653,7 +1641,7 @@ msgstr "Bild"
|
|||
msgid "PhotoPrism has been updated…"
|
||||
msgstr "PhotoPrism wurde aktualisiert…"
|
||||
|
||||
#: src/pages/about/about.vue:46
|
||||
#: src/pages/about/about.vue:38
|
||||
msgid "PhotoPrism® is a registered trademark of Michael Mayer."
|
||||
msgstr "PhotoPrism® ist ein eingetragenes Markenzeichen von Michael Mayer."
|
||||
|
||||
|
@ -1661,7 +1649,7 @@ msgstr "PhotoPrism® ist ein eingetragenes Markenzeichen von Michael Mayer."
|
|||
msgid "Photos"
|
||||
msgstr "Bilder"
|
||||
|
||||
#: src/options/options.js:329
|
||||
#: src/options/options.js:334
|
||||
msgid "Pink"
|
||||
msgstr "Pink"
|
||||
|
||||
|
@ -1674,7 +1662,7 @@ msgid "Place & Time"
|
|||
msgstr "Gleicher Ort & Zeit"
|
||||
|
||||
#: src/component/navigation.vue:228 src/component/navigation.vue:238
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:880
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:879
|
||||
#: src/pages/settings/general.vue:108 src/pages/settings/general.vue:450
|
||||
#: src/routes.js:215 src/routes.js:221 src/routes.js:227 src/routes.js:234
|
||||
msgid "Places"
|
||||
|
@ -1685,7 +1673,7 @@ msgstr "Karten"
|
|||
msgid "Play"
|
||||
msgstr "Abspielen"
|
||||
|
||||
#: src/pages/settings/account.vue:105
|
||||
#: src/pages/settings/account.vue:104
|
||||
msgid "Please confirm your new password."
|
||||
msgstr "Neues Passwort bitte bestätigen."
|
||||
|
||||
|
@ -1738,13 +1726,13 @@ msgstr "Voransicht"
|
|||
msgid "Primary"
|
||||
msgstr "Primärdatei"
|
||||
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1088
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1087
|
||||
#: src/dialog/photo/info.vue:102 src/pages/settings/general.vue:272
|
||||
#: src/routes.js:201
|
||||
msgid "Private"
|
||||
msgstr "Privat"
|
||||
|
||||
#: src/options/options.js:347
|
||||
#: src/options/options.js:352
|
||||
msgid "Product Feedback"
|
||||
msgstr "Allgemeines Feedback"
|
||||
|
||||
|
@ -1752,7 +1740,7 @@ msgstr "Allgemeines Feedback"
|
|||
msgid "Projection"
|
||||
msgstr "Projektion"
|
||||
|
||||
#: src/options/options.js:327
|
||||
#: src/options/options.js:332
|
||||
msgid "Purple"
|
||||
msgstr "Purpur"
|
||||
|
||||
|
@ -1768,11 +1756,11 @@ msgstr "Qualität"
|
|||
msgid "Random"
|
||||
msgstr "Zufällig"
|
||||
|
||||
#: src/options/options.js:224
|
||||
#: src/options/options.js:229
|
||||
msgid "Raspberry"
|
||||
msgstr "Raspberry"
|
||||
|
||||
#: src/options/options.js:292
|
||||
#: src/options/options.js:297
|
||||
msgid "Raw"
|
||||
msgstr "RAW"
|
||||
|
||||
|
@ -1816,7 +1804,7 @@ msgstr "Erkannt"
|
|||
msgid "Recognizes faces so that specific people can be found."
|
||||
msgstr "Erkennt Gesichter, so dass bestimmte Personen gefunden werden können."
|
||||
|
||||
#: src/options/options.js:330
|
||||
#: src/options/options.js:335
|
||||
msgid "Red"
|
||||
msgstr "Rot"
|
||||
|
||||
|
@ -1864,7 +1852,7 @@ msgstr "Fehler melden"
|
|||
msgid "Request failed - invalid response"
|
||||
msgstr "Anfrage fehlgeschlagen - ungültige Antwort"
|
||||
|
||||
#: src/pages/about/about.vue:36
|
||||
#: src/pages/about/about.vue:30
|
||||
msgid ""
|
||||
"Requests endorsed by silver and gold sponsors receive a golden label and "
|
||||
"will be prioritized."
|
||||
|
@ -1885,7 +1873,7 @@ msgstr "Auflösung"
|
|||
msgid "Restore"
|
||||
msgstr "Wiederherstellen"
|
||||
|
||||
#: src/pages/settings/account.vue:101
|
||||
#: src/pages/settings/account.vue:100
|
||||
msgid "Retype Password"
|
||||
msgstr "Passwort wiederholen"
|
||||
|
||||
|
@ -1911,7 +1899,7 @@ msgid "Scans"
|
|||
msgstr "Scans"
|
||||
|
||||
#: src/component/navigation.vue:56 src/component/navigation.vue:66
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:284
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:283
|
||||
#: src/component/photo/toolbar.vue:48 src/pages/albums.vue:109
|
||||
#: src/pages/labels.vue:81 src/pages/library/errors.vue:60
|
||||
#: src/pages/people/subjects.vue:86 src/pages/places.vue:30 src/routes.js:107
|
||||
|
@ -1926,7 +1914,7 @@ msgstr "Bilder und Videos auf verschiedenen Weltkarten anzeigen und filtern."
|
|||
msgid "Season"
|
||||
msgstr "Jahreszeit"
|
||||
|
||||
#: src/options/options.js:229
|
||||
#: src/options/options.js:234
|
||||
msgid "Seaweed"
|
||||
msgstr "Seegras"
|
||||
|
||||
|
@ -1973,7 +1961,7 @@ msgstr "Service URL"
|
|||
|
||||
#: src/component/navigation.vue:352 src/component/navigation.vue:362
|
||||
#: src/component/navigation.vue:8 src/component/navigation.vue:18
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1309
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1308
|
||||
#: src/routes.js:313 src/routes.js:325 src/routes.js:337 src/routes.js:349
|
||||
#: src/routes.js:361
|
||||
msgid "Settings"
|
||||
|
@ -1988,7 +1976,7 @@ msgstr "Einstellungen gespeichert"
|
|||
msgid "Setup"
|
||||
msgstr "Einrichtung"
|
||||
|
||||
#: src/options/options.js:234
|
||||
#: src/options/options.js:239
|
||||
msgid "Shadow"
|
||||
msgstr "Shadow"
|
||||
|
||||
|
@ -2064,7 +2052,7 @@ msgstr "Größe"
|
|||
msgid "Slovak"
|
||||
msgstr "Slowakisch"
|
||||
|
||||
#: src/options/options.js:258
|
||||
#: src/options/options.js:263
|
||||
msgid "Slow"
|
||||
msgstr "Langsam"
|
||||
|
||||
|
@ -2140,7 +2128,7 @@ msgstr "Status"
|
|||
msgid "Storage Folder"
|
||||
msgstr "Ablageverzeichnis"
|
||||
|
||||
#: src/options/options.js:269
|
||||
#: src/options/options.js:274
|
||||
msgid "Streets"
|
||||
msgstr "Straßen"
|
||||
|
||||
|
@ -2171,7 +2159,7 @@ msgstr "RAWs und Videos kopieren"
|
|||
msgid "Taken"
|
||||
msgstr "Aufgenommen"
|
||||
|
||||
#: src/options/options.js:336
|
||||
#: src/options/options.js:341
|
||||
msgid "Teal"
|
||||
msgstr "Blaugrün"
|
||||
|
||||
|
@ -2179,7 +2167,7 @@ msgstr "Blaugrün"
|
|||
msgid "Text too long"
|
||||
msgstr "Text ist zu lang"
|
||||
|
||||
#: src/pages/about/about.vue:40
|
||||
#: src/pages/about/about.vue:31
|
||||
msgid "Thank you very much!"
|
||||
msgstr "Vielen Dank!"
|
||||
|
||||
|
@ -2193,7 +2181,7 @@ msgid ""
|
|||
"feature requests are going to be implemented next."
|
||||
msgstr ""
|
||||
"Die Roadmap zeigt, welche Funktionen aktuell entwickelt werden, was getestet "
|
||||
"werden kann und welche Ideen als nächstes implementiert werden."
|
||||
"werden kann und welche Ideen als nächstes umgesetzt werden."
|
||||
|
||||
#: src/pages/library/index.vue:37
|
||||
msgid ""
|
||||
|
@ -2225,10 +2213,6 @@ msgstr ""
|
|||
"Smartphone eingebunden, so dass sie lokal geöffnet, bearbeitet und gelöscht "
|
||||
"werden können."
|
||||
|
||||
#: src/pages/about/about.vue:21
|
||||
msgid "This open-source project is made possible thanks to our sponsors."
|
||||
msgstr "Dieses Open-Source-Projekt wird durch unsere Sponsoren ermöglicht."
|
||||
|
||||
#: src/pages/settings/advanced.vue:253
|
||||
msgid "Thumbnail Generation"
|
||||
msgstr "Erzeugung von Vorschaubildern"
|
||||
|
@ -2264,11 +2248,11 @@ msgstr "View wechseln"
|
|||
msgid "Token"
|
||||
msgstr "Code"
|
||||
|
||||
#: src/options/options.js:277
|
||||
#: src/options/options.js:282
|
||||
msgid "Topographic"
|
||||
msgstr "Topographisch"
|
||||
|
||||
#: src/pages/about/about.vue:43
|
||||
#: src/pages/about/about.vue:35
|
||||
msgid "Trademarks"
|
||||
msgstr "Markenrechte"
|
||||
|
||||
|
@ -2338,7 +2322,7 @@ msgstr "Aktualisiere Vorschaubilder"
|
|||
msgid "Updating stacks"
|
||||
msgstr "Aktualisiere Bildstapel"
|
||||
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:130
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:129
|
||||
#: src/component/photo/toolbar.vue:125 src/dialog/share/upload.vue:35
|
||||
#: src/dialog/upload.vue:8 src/dialog/upload.vue:54 src/pages/albums.vue:152
|
||||
#: src/pages/library/import.vue:38 src/pages/settings/general.vue:140
|
||||
|
@ -2399,16 +2383,20 @@ msgstr "Benutzeroberfläche"
|
|||
msgid "Username"
|
||||
msgstr "Nutzername"
|
||||
|
||||
#: src/options/options.js:204
|
||||
msgid "Vanta"
|
||||
msgstr "Vanta"
|
||||
|
||||
#: src/component/photo/cards.vue:29 src/component/photo/cards.vue:225
|
||||
#: src/component/photo/list.vue:198 src/component/photo/mosaic.vue:200
|
||||
#: src/component/photo/list.vue:196 src/component/photo/mosaic.vue:200
|
||||
#: src/model/file.js:183 src/model/photo.js:618 src/model/photo.js:632
|
||||
#: src/options/options.js:300 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:177
|
||||
#: src/options/options.js:305 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:175
|
||||
#: src/share/photo/mosaic.vue:181
|
||||
msgid "Video"
|
||||
msgstr "Video"
|
||||
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:658
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:657
|
||||
#: src/routes.js:187
|
||||
msgid "Videos"
|
||||
msgstr "Videos"
|
||||
|
@ -2444,7 +2432,7 @@ msgstr ""
|
|||
msgid "WebDAV Upload"
|
||||
msgstr "WebDAV Upload"
|
||||
|
||||
#: src/options/options.js:340
|
||||
#: src/options/options.js:345
|
||||
msgid "White"
|
||||
msgstr "Weiß"
|
||||
|
||||
|
@ -2452,11 +2440,11 @@ msgstr "Weiß"
|
|||
msgid "Year"
|
||||
msgstr "Jahr"
|
||||
|
||||
#: src/options/options.js:333
|
||||
#: src/options/options.js:338
|
||||
msgid "Yellow"
|
||||
msgstr "Gelb"
|
||||
|
||||
#: src/options/options.js:239
|
||||
#: src/options/options.js:244
|
||||
msgid "Yellowstone"
|
||||
msgstr "Yellowstone"
|
||||
|
||||
|
@ -2488,7 +2476,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/pages/about/about.vue:47
|
||||
#: src/pages/about/about.vue:39
|
||||
msgid ""
|
||||
"You may use it as required to describe our software, run your own server, "
|
||||
"for educational purposes, but not for offering commercial goods, products, "
|
||||
|
@ -2499,12 +2487,12 @@ msgstr ""
|
|||
"Das Bewerben kommerzieller Produkte, Waren oder Dienstleistungen ist nur "
|
||||
"nach vorheriger, schriftlicher Genehmigung erlaubt."
|
||||
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:32
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:29
|
||||
msgid ""
|
||||
"Your continued support helps us fund operating costs, provide services like "
|
||||
"satellite maps, and develop new features."
|
||||
"Your continued support helps us provide services like satellite maps and "
|
||||
"develop new features."
|
||||
msgstr ""
|
||||
"Regelmäßige Einkünfte helfen uns, Betriebskosten zu finanzieren, Dienste wie "
|
||||
"Deine kontinuierliche Unterstützung ermöglicht es uns, Dienste wie "
|
||||
"Satellitenkarten anzubieten und neue Funktionen zu entwickeln."
|
||||
|
||||
#: src/pages/albums.vue:43 src/pages/albums.vue:1
|
||||
|
@ -2523,6 +2511,20 @@ msgstr "Deine Nachricht wurde gesendet"
|
|||
msgid "Zoom in/out"
|
||||
msgstr "Zoom in/out"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
#~ "GitHub Sponsors."
|
||||
#~ msgstr ""
|
||||
#~ "Unterstütze uns auf Patreon oder GitHub Sponsors, falls dir PhotoPrism "
|
||||
#~ "gefällt."
|
||||
|
||||
#~ msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
#~ msgstr ""
|
||||
#~ "Ein kurzer Hinweis genügt, sollten wir etwas falsch eingeordnet haben."
|
||||
|
||||
#~ msgid "This open-source project is made possible thanks to our sponsors."
|
||||
#~ msgstr "Dieses Open-Source-Projekt wird durch unsere Sponsoren ermöglicht."
|
||||
|
||||
#~ msgid "developing new features and keeping them free for everyone"
|
||||
#~ msgstr "neue Funktionen zu entwickeln und sie für alle frei zu halten"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -44,15 +44,15 @@ msgstr "%{n} personnes trouvées"
|
|||
msgid "%{n} pictures found"
|
||||
msgstr "%{n} images trouvées"
|
||||
|
||||
#: src/options/options.js:307
|
||||
#: src/options/options.js:312
|
||||
msgid "1 hour"
|
||||
msgstr "1 heure"
|
||||
|
||||
#: src/options/options.js:309
|
||||
#: src/options/options.js:314
|
||||
msgid "12 hours"
|
||||
msgstr "12 heures"
|
||||
|
||||
#: src/options/options.js:308
|
||||
#: src/options/options.js:313
|
||||
msgid "4 hours"
|
||||
msgstr "4 heures"
|
||||
|
||||
|
@ -61,13 +61,13 @@ msgid "A click will copy it to your clipboard."
|
|||
msgstr "Cliquez pour copier vers le presse-papier."
|
||||
|
||||
#: src/component/navigation.vue:371 src/component/navigation.vue:27
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:88
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:81
|
||||
#: src/pages/help.vue:45
|
||||
msgid "About"
|
||||
msgstr "A propos"
|
||||
|
||||
#: src/dialog/share/upload.vue:113 src/model/account.js:96
|
||||
#: src/pages/settings.vue:74
|
||||
#: src/component/navigation.vue:44 src/dialog/share/upload.vue:113
|
||||
#: src/model/account.js:96 src/pages/settings.vue:74
|
||||
msgid "Account"
|
||||
msgstr "Compte"
|
||||
|
||||
|
@ -118,23 +118,23 @@ msgstr "Ajouté"
|
|||
msgid "Advanced"
|
||||
msgstr "Avancé"
|
||||
|
||||
#: src/options/options.js:317
|
||||
#: src/options/options.js:322
|
||||
msgid "After 1 day"
|
||||
msgstr "Après 1 jour"
|
||||
|
||||
#: src/options/options.js:318
|
||||
#: src/options/options.js:323
|
||||
msgid "After 3 days"
|
||||
msgstr "Après 3 jours"
|
||||
|
||||
#: src/options/options.js:319
|
||||
#: src/options/options.js:324
|
||||
msgid "After 7 days"
|
||||
msgstr "Après 7 jours"
|
||||
|
||||
#: src/options/options.js:321
|
||||
#: src/options/options.js:326
|
||||
msgid "After one month"
|
||||
msgstr "Après un mois"
|
||||
|
||||
#: src/options/options.js:323
|
||||
#: src/options/options.js:328
|
||||
msgid "After one year"
|
||||
msgstr "Après un an"
|
||||
|
||||
|
@ -146,11 +146,11 @@ msgstr ""
|
|||
"Après avoir sélectionné des images dans les résultats de recherche, vous "
|
||||
"pouvez les ajouter à un album à l'aide du menu contextuel."
|
||||
|
||||
#: src/options/options.js:322
|
||||
#: src/options/options.js:327
|
||||
msgid "After two months"
|
||||
msgstr "Après 2 mois"
|
||||
|
||||
#: src/options/options.js:320
|
||||
#: src/options/options.js:325
|
||||
msgid "After two weeks"
|
||||
msgstr "Après 2 semaines"
|
||||
|
||||
|
@ -163,7 +163,7 @@ msgid "Album Name"
|
|||
msgstr "Titre de l'Album"
|
||||
|
||||
#: src/component/navigation.vue:130 src/component/navigation.vue:140
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:545
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:544
|
||||
#: src/routes.js:134 src/routes.js:141 src/share/albums.vue:4
|
||||
msgid "Albums"
|
||||
msgstr "Albums"
|
||||
|
@ -326,7 +326,7 @@ msgstr ""
|
|||
"Création automatique d'albums regroupant des moments, des voyages et des "
|
||||
"lieux spéciaux."
|
||||
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:26
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:23
|
||||
msgid "Become a sponsor"
|
||||
msgstr "Devenir un sponsor"
|
||||
|
||||
|
@ -334,15 +334,15 @@ msgstr "Devenir un sponsor"
|
|||
msgid "Bio"
|
||||
msgstr "Biographie"
|
||||
|
||||
#: src/options/options.js:342
|
||||
#: src/options/options.js:347
|
||||
msgid "Black"
|
||||
msgstr "Noir"
|
||||
|
||||
#: src/options/options.js:355
|
||||
#: src/options/options.js:360
|
||||
msgid "Blackman: Lanczos Modification, Less Ringing Artifacts"
|
||||
msgstr "Blackman : modification de Lanczos, moins d'artefacts de sonnerie"
|
||||
|
||||
#: src/options/options.js:338
|
||||
#: src/options/options.js:343
|
||||
msgid "Blue"
|
||||
msgstr "Bleu"
|
||||
|
||||
|
@ -350,7 +350,7 @@ msgstr "Bleu"
|
|||
msgid "Brazilian Portuguese"
|
||||
msgstr "Portugais brésilien"
|
||||
|
||||
#: src/options/options.js:339
|
||||
#: src/options/options.js:344
|
||||
msgid "Brown"
|
||||
msgstr "Marron"
|
||||
|
||||
|
@ -362,7 +362,7 @@ msgstr "Parcourir et modifier les étiquettes de classification d'images."
|
|||
msgid "Browse indexed files and folders in Library."
|
||||
msgstr "Parcourir les dossiers et fichiers indexés dans la bibliothèque."
|
||||
|
||||
#: src/options/options.js:349
|
||||
#: src/options/options.js:354
|
||||
msgid "Bug Report"
|
||||
msgstr "Signaler une erreur"
|
||||
|
||||
|
@ -370,7 +370,7 @@ msgstr "Signaler une erreur"
|
|||
msgid "Busy, please wait…"
|
||||
msgstr "Veuillez patienter…"
|
||||
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:835
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:834
|
||||
#: src/routes.js:147 src/routes.js:154
|
||||
msgid "Calendar"
|
||||
msgstr "Calendrier"
|
||||
|
@ -530,7 +530,7 @@ msgstr "Créé"
|
|||
msgid "Creating thumbnails for"
|
||||
msgstr "Création des vignettes pour"
|
||||
|
||||
#: src/options/options.js:357
|
||||
#: src/options/options.js:362
|
||||
msgid "Cubic: Moderate Quality, Good Performance"
|
||||
msgstr "Cubique : Qualité modérée, bonne performance"
|
||||
|
||||
|
@ -538,15 +538,15 @@ msgstr "Cubique : Qualité modérée, bonne performance"
|
|||
msgid "Current Password"
|
||||
msgstr "Mot de passe actuel"
|
||||
|
||||
#: src/options/options.js:346
|
||||
#: src/options/options.js:351
|
||||
msgid "Customer Support"
|
||||
msgstr "Support Client"
|
||||
|
||||
#: src/options/options.js:337
|
||||
#: src/options/options.js:342
|
||||
msgid "Cyan"
|
||||
msgstr "Cyan"
|
||||
|
||||
#: src/options/options.js:204
|
||||
#: src/options/options.js:219
|
||||
msgid "Cyano"
|
||||
msgstr "Cyano"
|
||||
|
||||
|
@ -554,7 +554,7 @@ msgstr "Cyano"
|
|||
msgid "Czech"
|
||||
msgstr "Tchèque"
|
||||
|
||||
#: src/options/options.js:310
|
||||
#: src/options/options.js:315
|
||||
msgid "Daily"
|
||||
msgstr "Quotidien"
|
||||
|
||||
|
@ -689,7 +689,7 @@ msgstr "Ne pas utiliser RawTherapee pour convertir les fichiers RAW."
|
|||
msgid "Don't use TensorFlow for image classification."
|
||||
msgstr "Parcourir et modifier les étiquettes de classification d'images."
|
||||
|
||||
#: src/options/options.js:350
|
||||
#: src/options/options.js:355
|
||||
msgid "Donations"
|
||||
msgstr "Dons"
|
||||
|
||||
|
@ -815,7 +815,7 @@ msgstr ""
|
|||
msgid "Estimates"
|
||||
msgstr "Estimations"
|
||||
|
||||
#: src/options/options.js:311
|
||||
#: src/options/options.js:316
|
||||
msgid "Every two days"
|
||||
msgstr "Tous les deux jours"
|
||||
|
||||
|
@ -831,7 +831,7 @@ msgstr ""
|
|||
msgid "Exclude hidden"
|
||||
msgstr "Exclure les éléments cachés"
|
||||
|
||||
#: src/component/navigation.vue:252
|
||||
#: src/component/navigation.vue:251
|
||||
msgid "Expand"
|
||||
msgstr "Développer"
|
||||
|
||||
|
@ -879,7 +879,7 @@ msgstr "Échec de la mise à jour du lien"
|
|||
msgid "Failure while importing uploaded files"
|
||||
msgstr "Échec de l'importation des fichiers chargés"
|
||||
|
||||
#: src/options/options.js:250
|
||||
#: src/options/options.js:255
|
||||
msgid "Fast"
|
||||
msgstr "Rapide"
|
||||
|
||||
|
@ -887,12 +887,12 @@ msgstr "Rapide"
|
|||
msgid "Favorite"
|
||||
msgstr "Favori"
|
||||
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:747
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:746
|
||||
#: src/routes.js:180
|
||||
msgid "Favorites"
|
||||
msgstr "Favoris"
|
||||
|
||||
#: src/options/options.js:348
|
||||
#: src/options/options.js:353
|
||||
msgid "Feature Request"
|
||||
msgstr "Demander une fonctionnalité"
|
||||
|
||||
|
@ -939,7 +939,7 @@ msgstr "Dossier contenant %{n} fichiers"
|
|||
msgid "Folder is empty"
|
||||
msgstr "Le dossier est vide"
|
||||
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1043
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1042
|
||||
#: src/routes.js:160 src/routes.js:167
|
||||
msgid "Folders"
|
||||
msgstr "Dossiers"
|
||||
|
@ -960,7 +960,7 @@ msgstr "Général"
|
|||
msgid "German"
|
||||
msgstr "Allemand"
|
||||
|
||||
#: src/options/options.js:332
|
||||
#: src/options/options.js:337
|
||||
msgid "Gold"
|
||||
msgstr "Or"
|
||||
|
||||
|
@ -968,11 +968,11 @@ msgstr "Or"
|
|||
msgid "Grayscale"
|
||||
msgstr "Gamme de gris"
|
||||
|
||||
#: src/options/options.js:335
|
||||
#: src/options/options.js:340
|
||||
msgid "Green"
|
||||
msgstr "Vert"
|
||||
|
||||
#: src/options/options.js:341
|
||||
#: src/options/options.js:346
|
||||
msgid "Grey"
|
||||
msgstr "Gris"
|
||||
|
||||
|
@ -1017,7 +1017,7 @@ msgstr "Hindi"
|
|||
msgid "How can we help?"
|
||||
msgstr "Comment pouvons nous vous aider ?"
|
||||
|
||||
#: src/options/options.js:273
|
||||
#: src/options/options.js:278
|
||||
msgid "Hybrid"
|
||||
msgstr "Hybride"
|
||||
|
||||
|
@ -1025,19 +1025,11 @@ msgstr "Hybride"
|
|||
msgid "I'm a sponsor"
|
||||
msgstr "Je contribue"
|
||||
|
||||
#: src/pages/about/about.vue:22
|
||||
msgid ""
|
||||
"If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
"GitHub Sponsors."
|
||||
msgstr ""
|
||||
"Si vous aimez utiliser PhotoPrism, veuillez envisager de nous soutenir sur "
|
||||
"Patreon ou GitHub Sponsors."
|
||||
|
||||
#: src/dialog/photo/labels.vue:34
|
||||
msgid "image"
|
||||
msgstr "image"
|
||||
|
||||
#: src/options/options.js:288
|
||||
#: src/options/options.js:293
|
||||
msgid "Image"
|
||||
msgstr "Image"
|
||||
|
||||
|
@ -1159,7 +1151,7 @@ msgstr "Kurde"
|
|||
msgid "Label"
|
||||
msgstr "Etiquette"
|
||||
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:998
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:997
|
||||
#: src/dialog/photo/edit.vue:39 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:216 src/pages/settings/general.vue:382
|
||||
#: src/routes.js:259
|
||||
|
@ -1170,7 +1162,7 @@ msgstr "Étiquettes"
|
|||
msgid "Labels deleted"
|
||||
msgstr "Étiquettes supprimées"
|
||||
|
||||
#: src/options/options.js:356
|
||||
#: src/options/options.js:361
|
||||
msgid "Lanczos: Detail Preservation, Minimal Artifacts"
|
||||
msgstr "Lanczos : Préservation des détails, artefacts minimaux"
|
||||
|
||||
|
@ -1186,7 +1178,7 @@ msgstr "Dernière sauvegarde"
|
|||
msgid "Latitude"
|
||||
msgstr "Latitude"
|
||||
|
||||
#: src/options/options.js:209
|
||||
#: src/options/options.js:224
|
||||
msgid "Lavender"
|
||||
msgstr "Lavande"
|
||||
|
||||
|
@ -1194,14 +1186,8 @@ msgstr "Lavande"
|
|||
msgid "Lens"
|
||||
msgstr "Objectif"
|
||||
|
||||
#: src/pages/about/about.vue:37
|
||||
msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
msgstr ""
|
||||
"Faites-nous savoir si nous avons par erreur qualifié une idée de non "
|
||||
"financée."
|
||||
|
||||
#: src/component/navigation.vue:301 src/component/navigation.vue:311
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1135
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1134
|
||||
#: src/pages/settings.vue:41 src/pages/settings/general.vue:404
|
||||
#: src/routes.js:291 src/routes.js:298 src/routes.js:305
|
||||
msgid "Library"
|
||||
|
@ -1216,7 +1202,7 @@ msgstr "Licence"
|
|||
msgid "Like"
|
||||
msgstr "Préféré"
|
||||
|
||||
#: src/options/options.js:334
|
||||
#: src/options/options.js:339
|
||||
msgid "Lime"
|
||||
msgstr "Citron"
|
||||
|
||||
|
@ -1224,7 +1210,7 @@ msgstr "Citron"
|
|||
msgid "Limit reached, showing first %{n} files"
|
||||
msgstr "Limite atteinte, affichage des %{n} premiers fichiers"
|
||||
|
||||
#: src/options/options.js:358
|
||||
#: src/options/options.js:363
|
||||
msgid "Linear: Very Smooth, Best Performance"
|
||||
msgstr "Linéaire : Très lisse, meilleure performance"
|
||||
|
||||
|
@ -1236,9 +1222,9 @@ msgstr "Lien"
|
|||
msgid "List"
|
||||
msgstr "Liste"
|
||||
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:188
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:296
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:167
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:186
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:301
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:165
|
||||
#: src/share/photo/mosaic.vue:171
|
||||
msgid "Live"
|
||||
msgstr "Live"
|
||||
|
@ -1265,12 +1251,12 @@ 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:401 src/component/navigation.vue:1471
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1470
|
||||
msgid "Login"
|
||||
msgstr "Connexion"
|
||||
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1581
|
||||
#: src/component/navigation.vue:1612
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1580
|
||||
#: src/component/navigation.vue:1611
|
||||
msgid "Logout"
|
||||
msgstr "Déconnexion"
|
||||
|
||||
|
@ -1282,7 +1268,7 @@ msgstr "Journaux"
|
|||
msgid "Longitude"
|
||||
msgstr "Longitude"
|
||||
|
||||
#: src/options/options.js:328
|
||||
#: src/options/options.js:333
|
||||
msgid "Magenta"
|
||||
msgstr "Magenta"
|
||||
|
||||
|
@ -1302,7 +1288,7 @@ msgstr "Chargement manuel"
|
|||
msgid "Marker"
|
||||
msgstr "Marqueur"
|
||||
|
||||
#: src/options/options.js:254
|
||||
#: src/options/options.js:259
|
||||
msgid "Medium"
|
||||
msgstr "Moyen"
|
||||
|
||||
|
@ -1314,7 +1300,7 @@ msgstr "Fusionner %{a} avec %{b}?"
|
|||
msgid "Message sent"
|
||||
msgstr "Message envoyé"
|
||||
|
||||
#: src/component/navigation.vue:205
|
||||
#: src/component/navigation.vue:204
|
||||
msgid "Minimize"
|
||||
msgstr "Minimiser"
|
||||
|
||||
|
@ -1322,7 +1308,7 @@ msgstr "Minimiser"
|
|||
msgid "Missing"
|
||||
msgstr "Manquant"
|
||||
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:790
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:789
|
||||
#: src/pages/settings/general.vue:360 src/routes.js:121 src/routes.js:128
|
||||
msgid "Moments"
|
||||
msgstr "Moments"
|
||||
|
@ -1335,7 +1321,7 @@ msgstr "Monochrome"
|
|||
msgid "Month"
|
||||
msgstr "Mois"
|
||||
|
||||
#: src/options/options.js:214
|
||||
#: src/options/options.js:209
|
||||
msgid "Moonlight"
|
||||
msgstr "Clair de lune"
|
||||
|
||||
|
@ -1370,7 +1356,7 @@ msgid "Move Files"
|
|||
msgstr "Déplacer les fichiers"
|
||||
|
||||
#: src/component/photo/cards.vue:30 src/component/photo/list.vue:38
|
||||
#: src/component/photo/list.vue:237 src/dialog/account/edit.vue:397
|
||||
#: src/component/photo/list.vue:235 src/dialog/account/edit.vue:397
|
||||
#: src/dialog/album/edit.vue:106 src/dialog/photo/files.vue:71
|
||||
#: src/dialog/photo/files.vue:68 src/dialog/photo/files.vue:30
|
||||
#: src/dialog/photo/info.vue:31 src/dialog/photo/labels.vue:48
|
||||
|
@ -1379,7 +1365,7 @@ msgstr "Déplacer les fichiers"
|
|||
#: src/pages/login.vue:73 src/pages/people/faces.vue:48
|
||||
#: src/pages/people/faces.vue:307 src/pages/people/subjects.vue:393
|
||||
#: src/share/photo/cards.vue:30 src/share/photo/list.vue:34
|
||||
#: src/share/photo/list.vue:216
|
||||
#: src/share/photo/list.vue:214
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
|
@ -1390,7 +1376,7 @@ msgstr "Nom"
|
|||
msgid "Name too long"
|
||||
msgstr "Nom trop long"
|
||||
|
||||
#: src/options/options.js:306 src/options/options.js:316
|
||||
#: src/options/options.js:311 src/options/options.js:321
|
||||
#: src/pages/settings/sync.vue:50
|
||||
msgid "Never"
|
||||
msgstr "Jamais"
|
||||
|
@ -1474,7 +1460,7 @@ 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/options.js:246
|
||||
#: src/options/options.js:251
|
||||
msgid "None"
|
||||
msgstr "Aucun"
|
||||
|
||||
|
@ -1522,8 +1508,8 @@ msgstr "Remarques"
|
|||
msgid "Nothing to see here yet. Be patient."
|
||||
msgstr "Il n'y a rien à voir ici pour le moment. Soyez patient."
|
||||
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1516
|
||||
#: src/options/options.js:265
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1515
|
||||
#: src/options/options.js:270
|
||||
msgid "Offline"
|
||||
msgstr "Hors-ligne"
|
||||
|
||||
|
@ -1532,7 +1518,7 @@ msgstr "Hors-ligne"
|
|||
msgid "Oldest first"
|
||||
msgstr "Plus ancien en premier"
|
||||
|
||||
#: src/options/options.js:312
|
||||
#: src/options/options.js:317
|
||||
msgid "Once a week"
|
||||
msgstr "Une fois par semaine"
|
||||
|
||||
|
@ -1562,7 +1548,7 @@ msgstr "Une personne trouvée"
|
|||
msgid "One picture found"
|
||||
msgstr "Une photo trouvée"
|
||||
|
||||
#: src/options/options.js:219
|
||||
#: src/options/options.js:214
|
||||
msgid "Onyx"
|
||||
msgstr "Onyx"
|
||||
|
||||
|
@ -1570,7 +1556,7 @@ msgstr "Onyx"
|
|||
msgid "Options"
|
||||
msgstr "Options"
|
||||
|
||||
#: src/options/options.js:331
|
||||
#: src/options/options.js:336
|
||||
msgid "Orange"
|
||||
msgstr "Orange"
|
||||
|
||||
|
@ -1596,7 +1582,7 @@ msgstr "Nom original"
|
|||
msgid "Originals"
|
||||
msgstr "Originaux"
|
||||
|
||||
#: src/options/options.js:351
|
||||
#: src/options/options.js:356
|
||||
msgid "Other"
|
||||
msgstr "Autre"
|
||||
|
||||
|
@ -1608,7 +1594,7 @@ msgstr ""
|
|||
"Notre ambition est de vous fournir la solution la plus conviviale pour la "
|
||||
"navigation, l’organisation et le partage de vos photos."
|
||||
|
||||
#: src/options/options.js:281
|
||||
#: src/options/options.js:286
|
||||
msgid "Outdoor"
|
||||
msgstr "Extérieur"
|
||||
|
||||
|
@ -1629,7 +1615,7 @@ msgstr "Mot de passe"
|
|||
msgid "Password changed"
|
||||
msgstr "Mot de passe modifié"
|
||||
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:702
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:701
|
||||
#: src/dialog/photo/edit.vue:52 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:267 src/pages/settings/general.vue:338
|
||||
#: src/routes.js:265 src/routes.js:285
|
||||
|
@ -1659,7 +1645,7 @@ msgstr "Photo"
|
|||
msgid "PhotoPrism has been updated…"
|
||||
msgstr "PhotoPrism a été mis à jour…"
|
||||
|
||||
#: src/pages/about/about.vue:46
|
||||
#: src/pages/about/about.vue:38
|
||||
msgid "PhotoPrism® is a registered trademark of Michael Mayer."
|
||||
msgstr "PhotoPrism® is une marque déposée par Michael Mayer."
|
||||
|
||||
|
@ -1667,7 +1653,7 @@ msgstr "PhotoPrism® is une marque déposée par Michael Mayer."
|
|||
msgid "Photos"
|
||||
msgstr "Photos"
|
||||
|
||||
#: src/options/options.js:329
|
||||
#: src/options/options.js:334
|
||||
msgid "Pink"
|
||||
msgstr "Rose"
|
||||
|
||||
|
@ -1680,7 +1666,7 @@ msgid "Place & Time"
|
|||
msgstr "Unité de lieu et de temps"
|
||||
|
||||
#: src/component/navigation.vue:228 src/component/navigation.vue:238
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:880
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:879
|
||||
#: src/pages/settings/general.vue:108 src/pages/settings/general.vue:450
|
||||
#: src/routes.js:215 src/routes.js:221 src/routes.js:227 src/routes.js:234
|
||||
msgid "Places"
|
||||
|
@ -1744,13 +1730,13 @@ msgstr "Prévisualisation"
|
|||
msgid "Primary"
|
||||
msgstr "Primaire"
|
||||
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1088
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1087
|
||||
#: src/dialog/photo/info.vue:102 src/pages/settings/general.vue:272
|
||||
#: src/routes.js:201
|
||||
msgid "Private"
|
||||
msgstr "Privée"
|
||||
|
||||
#: src/options/options.js:347
|
||||
#: src/options/options.js:352
|
||||
msgid "Product Feedback"
|
||||
msgstr "Commentaires sur le produit"
|
||||
|
||||
|
@ -1758,7 +1744,7 @@ msgstr "Commentaires sur le produit"
|
|||
msgid "Projection"
|
||||
msgstr "Projection"
|
||||
|
||||
#: src/options/options.js:327
|
||||
#: src/options/options.js:332
|
||||
msgid "Purple"
|
||||
msgstr "Violet"
|
||||
|
||||
|
@ -1774,11 +1760,11 @@ msgstr "Score de qualité"
|
|||
msgid "Random"
|
||||
msgstr "Aléatoire"
|
||||
|
||||
#: src/options/options.js:224
|
||||
#: src/options/options.js:229
|
||||
msgid "Raspberry"
|
||||
msgstr "Framboise"
|
||||
|
||||
#: src/options/options.js:292
|
||||
#: src/options/options.js:297
|
||||
msgid "Raw"
|
||||
msgstr "Raw"
|
||||
|
||||
|
@ -1824,7 +1810,7 @@ msgstr "Reconnues"
|
|||
msgid "Recognizes faces so that specific people can be found."
|
||||
msgstr "Recherche les visages pour permettre de trouver des personnes données."
|
||||
|
||||
#: src/options/options.js:330
|
||||
#: src/options/options.js:335
|
||||
msgid "Red"
|
||||
msgstr "Rouge"
|
||||
|
||||
|
@ -1873,7 +1859,7 @@ msgstr "Rapportez une erreur"
|
|||
msgid "Request failed - invalid response"
|
||||
msgstr "Échec de la requête - réponse incorrecte"
|
||||
|
||||
#: src/pages/about/about.vue:36
|
||||
#: src/pages/about/about.vue:30
|
||||
msgid ""
|
||||
"Requests endorsed by silver and gold sponsors receive a golden label and "
|
||||
"will be prioritized."
|
||||
|
@ -1920,7 +1906,7 @@ msgid "Scans"
|
|||
msgstr "Numérisées"
|
||||
|
||||
#: src/component/navigation.vue:56 src/component/navigation.vue:66
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:284
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:283
|
||||
#: src/component/photo/toolbar.vue:48 src/pages/albums.vue:109
|
||||
#: src/pages/labels.vue:81 src/pages/library/errors.vue:60
|
||||
#: src/pages/people/subjects.vue:86 src/pages/places.vue:30 src/routes.js:107
|
||||
|
@ -1935,7 +1921,7 @@ msgstr "Rechercher et afficher des photos sur une carte."
|
|||
msgid "Season"
|
||||
msgstr "Saison"
|
||||
|
||||
#: src/options/options.js:229
|
||||
#: src/options/options.js:234
|
||||
msgid "Seaweed"
|
||||
msgstr "Algues"
|
||||
|
||||
|
@ -1982,7 +1968,7 @@ msgstr "URL du service"
|
|||
|
||||
#: src/component/navigation.vue:352 src/component/navigation.vue:362
|
||||
#: src/component/navigation.vue:8 src/component/navigation.vue:18
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1309
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1308
|
||||
#: src/routes.js:313 src/routes.js:325 src/routes.js:337 src/routes.js:349
|
||||
#: src/routes.js:361
|
||||
msgid "Settings"
|
||||
|
@ -1997,7 +1983,7 @@ msgstr "Paramètres sauvegardés"
|
|||
msgid "Setup"
|
||||
msgstr "Réglage"
|
||||
|
||||
#: src/options/options.js:234
|
||||
#: src/options/options.js:239
|
||||
msgid "Shadow"
|
||||
msgstr "Ombre"
|
||||
|
||||
|
@ -2023,7 +2009,6 @@ msgid "Show all new faces"
|
|||
msgstr "Montrer tous les nouveaux visages"
|
||||
|
||||
#: src/pages/people/faces.vue:83 src/pages/people/subjects.vue:121
|
||||
#| msgid "Show less"
|
||||
msgid "Show hidden"
|
||||
msgstr "Afficher les éléments masqués"
|
||||
|
||||
|
@ -2072,7 +2057,7 @@ msgstr "Taille"
|
|||
msgid "Slovak"
|
||||
msgstr "Slovaque"
|
||||
|
||||
#: src/options/options.js:258
|
||||
#: src/options/options.js:263
|
||||
msgid "Slow"
|
||||
msgstr "Lent"
|
||||
|
||||
|
@ -2150,7 +2135,7 @@ msgstr "Statut"
|
|||
msgid "Storage Folder"
|
||||
msgstr "Dossier"
|
||||
|
||||
#: src/options/options.js:269
|
||||
#: src/options/options.js:274
|
||||
msgid "Streets"
|
||||
msgstr "Rues"
|
||||
|
||||
|
@ -2183,7 +2168,7 @@ msgstr "Synchroniser les fichiers raw et les vidéos"
|
|||
msgid "Taken"
|
||||
msgstr "Prise"
|
||||
|
||||
#: src/options/options.js:336
|
||||
#: src/options/options.js:341
|
||||
msgid "Teal"
|
||||
msgstr "Sarcelle"
|
||||
|
||||
|
@ -2191,7 +2176,7 @@ msgstr "Sarcelle"
|
|||
msgid "Text too long"
|
||||
msgstr "Texte trop long"
|
||||
|
||||
#: src/pages/about/about.vue:40
|
||||
#: src/pages/about/about.vue:31
|
||||
msgid "Thank you very much!"
|
||||
msgstr "En vous remerciant très sincèrement !"
|
||||
|
||||
|
@ -2237,10 +2222,6 @@ msgstr ""
|
|||
"permet d'ouvrir, modifier et supprimer des fichiers de votre ordinateur ou "
|
||||
"smartphone comme s'ils étaient locaux."
|
||||
|
||||
#: src/pages/about/about.vue:21
|
||||
msgid "This open-source project is made possible thanks to our sponsors."
|
||||
msgstr "Ce projet open-source est rendu possible grâce à nos sponsors."
|
||||
|
||||
#: src/pages/settings/advanced.vue:253
|
||||
msgid "Thumbnail Generation"
|
||||
msgstr "Génération de vignettes"
|
||||
|
@ -2276,11 +2257,11 @@ msgstr "Basculer la vue"
|
|||
msgid "Token"
|
||||
msgstr "Jeton"
|
||||
|
||||
#: src/options/options.js:277
|
||||
#: src/options/options.js:282
|
||||
msgid "Topographic"
|
||||
msgstr "Topograpique"
|
||||
|
||||
#: src/pages/about/about.vue:43
|
||||
#: src/pages/about/about.vue:35
|
||||
msgid "Trademarks"
|
||||
msgstr "Marques déposées"
|
||||
|
||||
|
@ -2350,7 +2331,7 @@ msgstr "Mise à jour des aperçus"
|
|||
msgid "Updating stacks"
|
||||
msgstr "Mise à jour des groupes"
|
||||
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:130
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:129
|
||||
#: src/component/photo/toolbar.vue:125 src/dialog/share/upload.vue:35
|
||||
#: src/dialog/upload.vue:8 src/dialog/upload.vue:54 src/pages/albums.vue:152
|
||||
#: src/pages/library/import.vue:38 src/pages/settings/general.vue:140
|
||||
|
@ -2413,16 +2394,20 @@ msgstr "Interface utilisateur"
|
|||
msgid "Username"
|
||||
msgstr "Identifiant"
|
||||
|
||||
#: src/options/options.js:204
|
||||
msgid "Vanta"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:29 src/component/photo/cards.vue:225
|
||||
#: src/component/photo/list.vue:198 src/component/photo/mosaic.vue:200
|
||||
#: src/component/photo/list.vue:196 src/component/photo/mosaic.vue:200
|
||||
#: src/model/file.js:183 src/model/photo.js:618 src/model/photo.js:632
|
||||
#: src/options/options.js:300 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:177
|
||||
#: src/options/options.js:305 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:175
|
||||
#: src/share/photo/mosaic.vue:181
|
||||
msgid "Video"
|
||||
msgstr "Vidéo"
|
||||
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:658
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:657
|
||||
#: src/routes.js:187
|
||||
msgid "Videos"
|
||||
msgstr "Vidéos"
|
||||
|
@ -2459,7 +2444,7 @@ msgstr ""
|
|||
msgid "WebDAV Upload"
|
||||
msgstr "Chargement via le protocole WebDAV"
|
||||
|
||||
#: src/options/options.js:340
|
||||
#: src/options/options.js:345
|
||||
msgid "White"
|
||||
msgstr "Blanc"
|
||||
|
||||
|
@ -2467,11 +2452,11 @@ msgstr "Blanc"
|
|||
msgid "Year"
|
||||
msgstr "Année"
|
||||
|
||||
#: src/options/options.js:333
|
||||
#: src/options/options.js:338
|
||||
msgid "Yellow"
|
||||
msgstr "Jaune"
|
||||
|
||||
#: src/options/options.js:239
|
||||
#: src/options/options.js:244
|
||||
msgid "Yellowstone"
|
||||
msgstr "Yellowstone"
|
||||
|
||||
|
@ -2504,7 +2489,7 @@ msgid "You may rescan your library to find additional faces."
|
|||
msgstr ""
|
||||
"Vous pouvez réanalyser votre bibliothèque pour trouver plus de visages."
|
||||
|
||||
#: src/pages/about/about.vue:47
|
||||
#: src/pages/about/about.vue:39
|
||||
msgid ""
|
||||
"You may use it as required to describe our software, run your own server, "
|
||||
"for educational purposes, but not for offering commercial goods, products, "
|
||||
|
@ -2515,14 +2500,13 @@ msgstr ""
|
|||
"offrir des biens, produits ou services commerciaux sans autorisation écrite "
|
||||
"préalable. En d'autres termes, veuillez demander."
|
||||
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:32
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:29
|
||||
msgid ""
|
||||
"Your continued support helps us fund operating costs, provide services like "
|
||||
"satellite maps, and develop new features."
|
||||
"Your continued support helps us provide services like satellite maps and "
|
||||
"develop new features."
|
||||
msgstr ""
|
||||
"Votre soutien continu nous permet de financer les coûts de fonctionnement, "
|
||||
"de fournir des services tels que les cartes satellites et de développer de "
|
||||
"nouvelles fonctionnalités."
|
||||
"Votre soutien continu nous permet de fournir des services tels que les "
|
||||
"cartes satellites et de développer de nouvelles fonctionnalités."
|
||||
|
||||
#: src/pages/albums.vue:43 src/pages/albums.vue:1
|
||||
msgid ""
|
||||
|
@ -2540,6 +2524,21 @@ msgstr "Votre message a été envoyé"
|
|||
msgid "Zoom in/out"
|
||||
msgstr "Agrandir/Dézoomer"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
#~ "GitHub Sponsors."
|
||||
#~ msgstr ""
|
||||
#~ "Si vous aimez utiliser PhotoPrism, veuillez envisager de nous soutenir "
|
||||
#~ "sur Patreon ou GitHub Sponsors."
|
||||
|
||||
#~ msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
#~ msgstr ""
|
||||
#~ "Faites-nous savoir si nous avons par erreur qualifié une idée de non "
|
||||
#~ "financée."
|
||||
|
||||
#~ msgid "This open-source project is made possible thanks to our sponsors."
|
||||
#~ msgstr "Ce projet open-source est rendu possible grâce à nos sponsors."
|
||||
|
||||
#~ msgid "%{n} results"
|
||||
#~ msgstr "%{n} résultats"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -45,15 +45,15 @@ msgstr "%{n} אנשים מצאו"
|
|||
msgid "%{n} pictures found"
|
||||
msgstr "נמצאו %{n} תמונות"
|
||||
|
||||
#: src/options/options.js:307
|
||||
#: src/options/options.js:312
|
||||
msgid "1 hour"
|
||||
msgstr "שעה"
|
||||
|
||||
#: src/options/options.js:309
|
||||
#: src/options/options.js:314
|
||||
msgid "12 hours"
|
||||
msgstr "12 שעות"
|
||||
|
||||
#: src/options/options.js:308
|
||||
#: src/options/options.js:313
|
||||
msgid "4 hours"
|
||||
msgstr "4 שעות"
|
||||
|
||||
|
@ -62,13 +62,13 @@ msgid "A click will copy it to your clipboard."
|
|||
msgstr "לחיצה תעתיק את זה ללוח."
|
||||
|
||||
#: src/component/navigation.vue:371 src/component/navigation.vue:27
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:88
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:81
|
||||
#: src/pages/help.vue:45
|
||||
msgid "About"
|
||||
msgstr "אודות"
|
||||
|
||||
#: src/dialog/share/upload.vue:113 src/model/account.js:96
|
||||
#: src/pages/settings.vue:74
|
||||
#: src/component/navigation.vue:44 src/dialog/share/upload.vue:113
|
||||
#: src/model/account.js:96 src/pages/settings.vue:74
|
||||
msgid "Account"
|
||||
msgstr "חשבון"
|
||||
|
||||
|
@ -118,23 +118,23 @@ msgstr "נוסף"
|
|||
msgid "Advanced"
|
||||
msgstr "מתקדם"
|
||||
|
||||
#: src/options/options.js:317
|
||||
#: src/options/options.js:322
|
||||
msgid "After 1 day"
|
||||
msgstr "אחרי יום"
|
||||
|
||||
#: src/options/options.js:318
|
||||
#: src/options/options.js:323
|
||||
msgid "After 3 days"
|
||||
msgstr "אחרי 3 ימים"
|
||||
|
||||
#: src/options/options.js:319
|
||||
#: src/options/options.js:324
|
||||
msgid "After 7 days"
|
||||
msgstr "אחרי 7 ימים"
|
||||
|
||||
#: src/options/options.js:321
|
||||
#: src/options/options.js:326
|
||||
msgid "After one month"
|
||||
msgstr "אחרי חודש"
|
||||
|
||||
#: src/options/options.js:323
|
||||
#: src/options/options.js:328
|
||||
msgid "After one year"
|
||||
msgstr "אחרי שנה"
|
||||
|
||||
|
@ -146,11 +146,11 @@ msgstr ""
|
|||
"לאחר בחירת תמונות מתוצאות החיפוש, תוכל להוסיף אותן לאלבום באמצעות תפריט "
|
||||
"ההקשר."
|
||||
|
||||
#: src/options/options.js:322
|
||||
#: src/options/options.js:327
|
||||
msgid "After two months"
|
||||
msgstr "אחרי חודשיים"
|
||||
|
||||
#: src/options/options.js:320
|
||||
#: src/options/options.js:325
|
||||
msgid "After two weeks"
|
||||
msgstr "אחרי שבועיים"
|
||||
|
||||
|
@ -163,7 +163,7 @@ msgid "Album Name"
|
|||
msgstr "שם אלבום"
|
||||
|
||||
#: src/component/navigation.vue:130 src/component/navigation.vue:140
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:545
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:544
|
||||
#: src/routes.js:134 src/routes.js:141 src/share/albums.vue:4
|
||||
msgid "Albums"
|
||||
msgstr "אלבומים"
|
||||
|
@ -320,7 +320,7 @@ msgstr "המר מסוגי קבצים אחרים, כך שניתן יהיה להצ
|
|||
msgid "Automatically creates albums of special moments, trips, and places."
|
||||
msgstr "יוצר אוטומטית אלבומים של רגעים מיוחדים, טיולים ומקומות."
|
||||
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:26
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:23
|
||||
msgid "Become a sponsor"
|
||||
msgstr "להיות ספונסר"
|
||||
|
||||
|
@ -328,15 +328,15 @@ msgstr "להיות ספונסר"
|
|||
msgid "Bio"
|
||||
msgstr "אודותיך"
|
||||
|
||||
#: src/options/options.js:342
|
||||
#: src/options/options.js:347
|
||||
msgid "Black"
|
||||
msgstr "שחור"
|
||||
|
||||
#: src/options/options.js:355
|
||||
#: src/options/options.js:360
|
||||
msgid "Blackman: Lanczos Modification, Less Ringing Artifacts"
|
||||
msgstr "Blackman: Lanczos Modification, Less Ringing Artifacts"
|
||||
|
||||
#: src/options/options.js:338
|
||||
#: src/options/options.js:343
|
||||
msgid "Blue"
|
||||
msgstr "כחול"
|
||||
|
||||
|
@ -344,7 +344,7 @@ msgstr "כחול"
|
|||
msgid "Brazilian Portuguese"
|
||||
msgstr "פורטוגזית ברזילאית"
|
||||
|
||||
#: src/options/options.js:339
|
||||
#: src/options/options.js:344
|
||||
msgid "Brown"
|
||||
msgstr "חום"
|
||||
|
||||
|
@ -356,7 +356,7 @@ msgstr "צפה וערוך תוויות סיווג תמונות."
|
|||
msgid "Browse indexed files and folders in Library."
|
||||
msgstr "צפה בקבצים ותיקיות שנוספו לאינדקס בספרייה."
|
||||
|
||||
#: src/options/options.js:349
|
||||
#: src/options/options.js:354
|
||||
msgid "Bug Report"
|
||||
msgstr "דיווח באג"
|
||||
|
||||
|
@ -364,7 +364,7 @@ msgstr "דיווח באג"
|
|||
msgid "Busy, please wait…"
|
||||
msgstr "עסוק, בבקשה המתן…"
|
||||
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:835
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:834
|
||||
#: src/routes.js:147 src/routes.js:154
|
||||
msgid "Calendar"
|
||||
msgstr "לוח שנה"
|
||||
|
@ -524,7 +524,7 @@ msgstr "נוצר"
|
|||
msgid "Creating thumbnails for"
|
||||
msgstr "יותר תמונות מקדימות עבור"
|
||||
|
||||
#: src/options/options.js:357
|
||||
#: src/options/options.js:362
|
||||
msgid "Cubic: Moderate Quality, Good Performance"
|
||||
msgstr "Cubic: Moderate Quality, Good Performance"
|
||||
|
||||
|
@ -532,15 +532,15 @@ msgstr "Cubic: Moderate Quality, Good Performance"
|
|||
msgid "Current Password"
|
||||
msgstr "צור סיסמה"
|
||||
|
||||
#: src/options/options.js:346
|
||||
#: src/options/options.js:351
|
||||
msgid "Customer Support"
|
||||
msgstr "שירות לקוחות"
|
||||
|
||||
#: src/options/options.js:337
|
||||
#: src/options/options.js:342
|
||||
msgid "Cyan"
|
||||
msgstr "טורקיז"
|
||||
|
||||
#: src/options/options.js:204
|
||||
#: src/options/options.js:219
|
||||
msgid "Cyano"
|
||||
msgstr "ירקרק"
|
||||
|
||||
|
@ -548,7 +548,7 @@ msgstr "ירקרק"
|
|||
msgid "Czech"
|
||||
msgstr "צ'כית"
|
||||
|
||||
#: src/options/options.js:310
|
||||
#: src/options/options.js:315
|
||||
msgid "Daily"
|
||||
msgstr "יומי"
|
||||
|
||||
|
@ -676,7 +676,7 @@ msgstr "אל תשתמש ב- RawTherapee להמרת קבצי RAW."
|
|||
msgid "Don't use TensorFlow for image classification."
|
||||
msgstr "אל תשתמש ב- TensorFlow לסיווג תמונות."
|
||||
|
||||
#: src/options/options.js:350
|
||||
#: src/options/options.js:355
|
||||
msgid "Donations"
|
||||
msgstr "תרומות"
|
||||
|
||||
|
@ -799,7 +799,7 @@ msgstr "אמוד את המיקום המשוער של תמונות ללא קוא
|
|||
msgid "Estimates"
|
||||
msgstr "אומדנים"
|
||||
|
||||
#: src/options/options.js:311
|
||||
#: src/options/options.js:316
|
||||
msgid "Every two days"
|
||||
msgstr "כל יומיים"
|
||||
|
||||
|
@ -814,7 +814,7 @@ msgstr ""
|
|||
msgid "Exclude hidden"
|
||||
msgstr "אל תכלול מוסתר"
|
||||
|
||||
#: src/component/navigation.vue:252
|
||||
#: src/component/navigation.vue:251
|
||||
msgid "Expand"
|
||||
msgstr "הרחב"
|
||||
|
||||
|
@ -840,10 +840,9 @@ msgstr "ערך ה-F (יחס אורך מוקד העדשה)"
|
|||
|
||||
#: src/model/face.js:159
|
||||
msgid "Face"
|
||||
msgstr "פָּנִים"
|
||||
msgstr "פָּנִים"
|
||||
|
||||
#: src/dialog/photo/info.vue:73
|
||||
#| msgid "Places"
|
||||
msgid "Faces"
|
||||
msgstr "פנים"
|
||||
|
||||
|
@ -863,7 +862,7 @@ msgstr "העלאת הקישור נכשלה"
|
|||
msgid "Failure while importing uploaded files"
|
||||
msgstr "כשל בייבוא קבצים שהועלו"
|
||||
|
||||
#: src/options/options.js:250
|
||||
#: src/options/options.js:255
|
||||
msgid "Fast"
|
||||
msgstr "מהיר"
|
||||
|
||||
|
@ -871,12 +870,12 @@ msgstr "מהיר"
|
|||
msgid "Favorite"
|
||||
msgstr "מועדף"
|
||||
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:747
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:746
|
||||
#: src/routes.js:180
|
||||
msgid "Favorites"
|
||||
msgstr "מועדפים"
|
||||
|
||||
#: src/options/options.js:348
|
||||
#: src/options/options.js:353
|
||||
msgid "Feature Request"
|
||||
msgstr "בקשת תכונה"
|
||||
|
||||
|
@ -922,7 +921,7 @@ msgstr "התיקייה מכילה %{n} קבצים"
|
|||
msgid "Folder is empty"
|
||||
msgstr "התיקייה ריקה"
|
||||
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1043
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1042
|
||||
#: src/routes.js:160 src/routes.js:167
|
||||
msgid "Folders"
|
||||
msgstr "תיקייות"
|
||||
|
@ -943,7 +942,7 @@ msgstr "כללי"
|
|||
msgid "German"
|
||||
msgstr "גרמנית"
|
||||
|
||||
#: src/options/options.js:332
|
||||
#: src/options/options.js:337
|
||||
msgid "Gold"
|
||||
msgstr "זהב"
|
||||
|
||||
|
@ -951,11 +950,11 @@ msgstr "זהב"
|
|||
msgid "Grayscale"
|
||||
msgstr "גווני אפור"
|
||||
|
||||
#: src/options/options.js:335
|
||||
#: src/options/options.js:340
|
||||
msgid "Green"
|
||||
msgstr "ירוק"
|
||||
|
||||
#: src/options/options.js:341
|
||||
#: src/options/options.js:346
|
||||
msgid "Grey"
|
||||
msgstr "אפור"
|
||||
|
||||
|
@ -1000,7 +999,7 @@ msgstr "הינדית"
|
|||
msgid "How can we help?"
|
||||
msgstr "איך אפשר לעזור?"
|
||||
|
||||
#: src/options/options.js:273
|
||||
#: src/options/options.js:278
|
||||
msgid "Hybrid"
|
||||
msgstr "משולב"
|
||||
|
||||
|
@ -1008,18 +1007,11 @@ msgstr "משולב"
|
|||
msgid "I'm a sponsor"
|
||||
msgstr "אני ספונסר"
|
||||
|
||||
#: src/pages/about/about.vue:22
|
||||
msgid ""
|
||||
"If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
"GitHub Sponsors."
|
||||
msgstr ""
|
||||
"אם אתה נהנה להשתמש ב- PhotoPrism, שקול לגבות אותנו בחסות Patreon או GitHub."
|
||||
|
||||
#: src/dialog/photo/labels.vue:34
|
||||
msgid "image"
|
||||
msgstr "תמונה"
|
||||
|
||||
#: src/options/options.js:288
|
||||
#: src/options/options.js:293
|
||||
msgid "Image"
|
||||
msgstr "תמונה"
|
||||
|
||||
|
@ -1136,7 +1128,7 @@ msgstr "כורדית"
|
|||
msgid "Label"
|
||||
msgstr "תווית"
|
||||
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:998
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:997
|
||||
#: src/dialog/photo/edit.vue:39 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:216 src/pages/settings/general.vue:382
|
||||
#: src/routes.js:259
|
||||
|
@ -1147,7 +1139,7 @@ msgstr "תוויות"
|
|||
msgid "Labels deleted"
|
||||
msgstr "תווית נמחקה"
|
||||
|
||||
#: src/options/options.js:356
|
||||
#: src/options/options.js:361
|
||||
msgid "Lanczos: Detail Preservation, Minimal Artifacts"
|
||||
msgstr "Lanczos: Detail Preservation, Minimal Artifacts"
|
||||
|
||||
|
@ -1163,7 +1155,7 @@ msgstr "גיבוי אחרון"
|
|||
msgid "Latitude"
|
||||
msgstr "קו רוחב"
|
||||
|
||||
#: src/options/options.js:209
|
||||
#: src/options/options.js:224
|
||||
msgid "Lavender"
|
||||
msgstr "לבנדר"
|
||||
|
||||
|
@ -1171,12 +1163,8 @@ msgstr "לבנדר"
|
|||
msgid "Lens"
|
||||
msgstr "עדשה"
|
||||
|
||||
#: src/pages/about/about.vue:37
|
||||
msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
msgstr "יידע אותנו כאשר אנו מסמנים בטעות רעיון כבלתי ממומן."
|
||||
|
||||
#: src/component/navigation.vue:301 src/component/navigation.vue:311
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1135
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1134
|
||||
#: src/pages/settings.vue:41 src/pages/settings/general.vue:404
|
||||
#: src/routes.js:291 src/routes.js:298 src/routes.js:305
|
||||
msgid "Library"
|
||||
|
@ -1191,7 +1179,7 @@ msgstr "רשיון"
|
|||
msgid "Like"
|
||||
msgstr "אהבתי"
|
||||
|
||||
#: src/options/options.js:334
|
||||
#: src/options/options.js:339
|
||||
msgid "Lime"
|
||||
msgstr "ליים"
|
||||
|
||||
|
@ -1199,7 +1187,7 @@ msgstr "ליים"
|
|||
msgid "Limit reached, showing first %{n} files"
|
||||
msgstr "לא ניתן להציג יותר, מציג את ה-%{n} קבצים הראשונים"
|
||||
|
||||
#: src/options/options.js:358
|
||||
#: src/options/options.js:363
|
||||
msgid "Linear: Very Smooth, Best Performance"
|
||||
msgstr "Linear: Very Smooth, Best Performance"
|
||||
|
||||
|
@ -1211,9 +1199,9 @@ msgstr "קישור"
|
|||
msgid "List"
|
||||
msgstr "רשימה"
|
||||
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:188
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:296
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:167
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:186
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:301
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:165
|
||||
#: src/share/photo/mosaic.vue:171
|
||||
msgid "Live"
|
||||
msgstr "חי"
|
||||
|
@ -1240,12 +1228,12 @@ msgstr ""
|
|||
"הודעות יומן מופיעות כאן בכל פעם ש- PhotoPrism נתקל בקבצים שבורים, או שיש "
|
||||
"בעיות פוטנציאליות אחרות."
|
||||
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1471
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1470
|
||||
msgid "Login"
|
||||
msgstr "התחברות"
|
||||
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1581
|
||||
#: src/component/navigation.vue:1612
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1580
|
||||
#: src/component/navigation.vue:1611
|
||||
msgid "Logout"
|
||||
msgstr "התנתקות"
|
||||
|
||||
|
@ -1257,7 +1245,7 @@ msgstr "יומן"
|
|||
msgid "Longitude"
|
||||
msgstr "קו אורך"
|
||||
|
||||
#: src/options/options.js:328
|
||||
#: src/options/options.js:333
|
||||
msgid "Magenta"
|
||||
msgstr "ארגמן"
|
||||
|
||||
|
@ -1277,7 +1265,7 @@ msgstr "העלאה ידנית"
|
|||
msgid "Marker"
|
||||
msgstr "סמן"
|
||||
|
||||
#: src/options/options.js:254
|
||||
#: src/options/options.js:259
|
||||
msgid "Medium"
|
||||
msgstr "בינוני"
|
||||
|
||||
|
@ -1289,7 +1277,7 @@ msgstr "למזג %{a} עם %{b}?"
|
|||
msgid "Message sent"
|
||||
msgstr "ההודעה נשלחה"
|
||||
|
||||
#: src/component/navigation.vue:205
|
||||
#: src/component/navigation.vue:204
|
||||
msgid "Minimize"
|
||||
msgstr "הקטנה"
|
||||
|
||||
|
@ -1297,7 +1285,7 @@ msgstr "הקטנה"
|
|||
msgid "Missing"
|
||||
msgstr "חסר"
|
||||
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:790
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:789
|
||||
#: src/pages/settings/general.vue:360 src/routes.js:121 src/routes.js:128
|
||||
msgid "Moments"
|
||||
msgstr "רגעים"
|
||||
|
@ -1310,7 +1298,7 @@ msgstr "שקפים"
|
|||
msgid "Month"
|
||||
msgstr "חודש"
|
||||
|
||||
#: src/options/options.js:214
|
||||
#: src/options/options.js:209
|
||||
msgid "Moonlight"
|
||||
msgstr "אור ירח"
|
||||
|
||||
|
@ -1345,7 +1333,7 @@ msgid "Move Files"
|
|||
msgstr "העבר קבצים"
|
||||
|
||||
#: src/component/photo/cards.vue:30 src/component/photo/list.vue:38
|
||||
#: src/component/photo/list.vue:237 src/dialog/account/edit.vue:397
|
||||
#: src/component/photo/list.vue:235 src/dialog/account/edit.vue:397
|
||||
#: src/dialog/album/edit.vue:106 src/dialog/photo/files.vue:71
|
||||
#: src/dialog/photo/files.vue:68 src/dialog/photo/files.vue:30
|
||||
#: src/dialog/photo/info.vue:31 src/dialog/photo/labels.vue:48
|
||||
|
@ -1354,7 +1342,7 @@ msgstr "העבר קבצים"
|
|||
#: src/pages/login.vue:73 src/pages/people/faces.vue:48
|
||||
#: src/pages/people/faces.vue:307 src/pages/people/subjects.vue:393
|
||||
#: src/share/photo/cards.vue:30 src/share/photo/list.vue:34
|
||||
#: src/share/photo/list.vue:216
|
||||
#: src/share/photo/list.vue:214
|
||||
msgid "Name"
|
||||
msgstr "שם"
|
||||
|
||||
|
@ -1365,7 +1353,7 @@ msgstr "שם"
|
|||
msgid "Name too long"
|
||||
msgstr "שם ארוך מדי"
|
||||
|
||||
#: src/options/options.js:306 src/options/options.js:316
|
||||
#: src/options/options.js:311 src/options/options.js:321
|
||||
#: src/pages/settings/sync.vue:50
|
||||
msgid "Never"
|
||||
msgstr "לעולם לא"
|
||||
|
@ -1447,7 +1435,7 @@ msgstr ""
|
|||
"תמונות שאינן נראות צילום או באיכות נמוכה דורשות בדיקה לפני שהן מופיעות "
|
||||
"בתוצאות החיפוש."
|
||||
|
||||
#: src/options/options.js:246
|
||||
#: src/options/options.js:251
|
||||
msgid "None"
|
||||
msgstr "ללא"
|
||||
|
||||
|
@ -1490,8 +1478,8 @@ msgstr "הערות"
|
|||
msgid "Nothing to see here yet. Be patient."
|
||||
msgstr "אין מה לראות כאן עדיין. התאזר בסבלנות."
|
||||
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1516
|
||||
#: src/options/options.js:265
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1515
|
||||
#: src/options/options.js:270
|
||||
msgid "Offline"
|
||||
msgstr "לא מקוון"
|
||||
|
||||
|
@ -1500,7 +1488,7 @@ msgstr "לא מקוון"
|
|||
msgid "Oldest first"
|
||||
msgstr "ישנים בהתחלה"
|
||||
|
||||
#: src/options/options.js:312
|
||||
#: src/options/options.js:317
|
||||
msgid "Once a week"
|
||||
msgstr "פעם בשבוע"
|
||||
|
||||
|
@ -1530,7 +1518,7 @@ msgstr "אדם אחד נמצא"
|
|||
msgid "One picture found"
|
||||
msgstr "תמונה אחת נמצאה"
|
||||
|
||||
#: src/options/options.js:219
|
||||
#: src/options/options.js:214
|
||||
msgid "Onyx"
|
||||
msgstr "שוהם"
|
||||
|
||||
|
@ -1538,12 +1526,11 @@ msgstr "שוהם"
|
|||
msgid "Options"
|
||||
msgstr "אפשרויות"
|
||||
|
||||
#: src/options/options.js:331
|
||||
#: src/options/options.js:336
|
||||
msgid "Orange"
|
||||
msgstr "כתום"
|
||||
|
||||
#: src/dialog/photo/files.vue:129 src/dialog/photo/files.vue:126
|
||||
#| msgid "Animation"
|
||||
msgid "Orientation"
|
||||
msgstr "אוריינטציה"
|
||||
|
||||
|
@ -1565,7 +1552,7 @@ msgstr "השם המקורי"
|
|||
msgid "Originals"
|
||||
msgstr "קבצי מקור"
|
||||
|
||||
#: src/options/options.js:351
|
||||
#: src/options/options.js:356
|
||||
msgid "Other"
|
||||
msgstr "אחר"
|
||||
|
||||
|
@ -1577,7 +1564,7 @@ msgstr ""
|
|||
"החזון שלנו הוא לספק את הפתרון הכי ידידותי-למשתמש לגלישה, ארגון ושיתוף של "
|
||||
"אוסף התמונות שלך."
|
||||
|
||||
#: src/options/options.js:281
|
||||
#: src/options/options.js:286
|
||||
msgid "Outdoor"
|
||||
msgstr "באוויר הפתוח"
|
||||
|
||||
|
@ -1598,7 +1585,7 @@ msgstr "סיסמה"
|
|||
msgid "Password changed"
|
||||
msgstr "הסיסמה שונתה"
|
||||
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:702
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:701
|
||||
#: src/dialog/photo/edit.vue:52 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:267 src/pages/settings/general.vue:338
|
||||
#: src/routes.js:265 src/routes.js:285
|
||||
|
@ -1625,7 +1612,7 @@ msgstr "תמונה"
|
|||
msgid "PhotoPrism has been updated…"
|
||||
msgstr "PhotoPrism עודכן…"
|
||||
|
||||
#: src/pages/about/about.vue:46
|
||||
#: src/pages/about/about.vue:38
|
||||
msgid "PhotoPrism® is a registered trademark of Michael Mayer."
|
||||
msgstr "PhotoPrism® הוא סימן מסחרי רשום של מייקל מאייר."
|
||||
|
||||
|
@ -1633,7 +1620,7 @@ msgstr "PhotoPrism® הוא סימן מסחרי רשום של מייקל מאי
|
|||
msgid "Photos"
|
||||
msgstr "תמונות"
|
||||
|
||||
#: src/options/options.js:329
|
||||
#: src/options/options.js:334
|
||||
msgid "Pink"
|
||||
msgstr "ורוד"
|
||||
|
||||
|
@ -1646,7 +1633,7 @@ msgid "Place & Time"
|
|||
msgstr "מקום וזמן"
|
||||
|
||||
#: src/component/navigation.vue:228 src/component/navigation.vue:238
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:880
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:879
|
||||
#: src/pages/settings/general.vue:108 src/pages/settings/general.vue:450
|
||||
#: src/routes.js:215 src/routes.js:221 src/routes.js:227 src/routes.js:234
|
||||
msgid "Places"
|
||||
|
@ -1710,13 +1697,13 @@ msgstr "תצוגה מקדימה"
|
|||
msgid "Primary"
|
||||
msgstr "ראשי"
|
||||
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1088
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1087
|
||||
#: src/dialog/photo/info.vue:102 src/pages/settings/general.vue:272
|
||||
#: src/routes.js:201
|
||||
msgid "Private"
|
||||
msgstr "פרטי"
|
||||
|
||||
#: src/options/options.js:347
|
||||
#: src/options/options.js:352
|
||||
msgid "Product Feedback"
|
||||
msgstr "משוב על המוצר"
|
||||
|
||||
|
@ -1724,7 +1711,7 @@ msgstr "משוב על המוצר"
|
|||
msgid "Projection"
|
||||
msgstr "הקרנה"
|
||||
|
||||
#: src/options/options.js:327
|
||||
#: src/options/options.js:332
|
||||
msgid "Purple"
|
||||
msgstr "סגול"
|
||||
|
||||
|
@ -1740,11 +1727,11 @@ msgstr "ציון איכות"
|
|||
msgid "Random"
|
||||
msgstr "אקראי"
|
||||
|
||||
#: src/options/options.js:224
|
||||
#: src/options/options.js:229
|
||||
msgid "Raspberry"
|
||||
msgstr "פטל"
|
||||
|
||||
#: src/options/options.js:292
|
||||
#: src/options/options.js:297
|
||||
msgid "Raw"
|
||||
msgstr "גלמי"
|
||||
|
||||
|
@ -1783,13 +1770,13 @@ msgstr "ההכרה מתחילה לאחר השלמת האינדקס."
|
|||
|
||||
#: src/pages/people.vue:17
|
||||
msgid "Recognized"
|
||||
msgstr "מוּכָּר"
|
||||
msgstr "מוּכָּר"
|
||||
|
||||
#: src/pages/settings/general.vue:339
|
||||
msgid "Recognizes faces so that specific people can be found."
|
||||
msgstr "מזהה פרצופים כך שאפשר למצוא אנשים ספציפיים."
|
||||
|
||||
#: src/options/options.js:330
|
||||
#: src/options/options.js:335
|
||||
msgid "Red"
|
||||
msgstr "אדום"
|
||||
|
||||
|
@ -1837,7 +1824,7 @@ msgstr "דיווח באג"
|
|||
msgid "Request failed - invalid response"
|
||||
msgstr "הבקשה נכשלה - תגובה לא חוקית"
|
||||
|
||||
#: src/pages/about/about.vue:36
|
||||
#: src/pages/about/about.vue:30
|
||||
msgid ""
|
||||
"Requests endorsed by silver and gold sponsors receive a golden label and "
|
||||
"will be prioritized."
|
||||
|
@ -1883,7 +1870,7 @@ msgid "Scans"
|
|||
msgstr "סריקות"
|
||||
|
||||
#: src/component/navigation.vue:56 src/component/navigation.vue:66
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:284
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:283
|
||||
#: src/component/photo/toolbar.vue:48 src/pages/albums.vue:109
|
||||
#: src/pages/labels.vue:81 src/pages/library/errors.vue:60
|
||||
#: src/pages/people/subjects.vue:86 src/pages/places.vue:30 src/routes.js:107
|
||||
|
@ -1898,7 +1885,7 @@ msgstr "חפש והצג תמונות על המפה."
|
|||
msgid "Season"
|
||||
msgstr "עונה"
|
||||
|
||||
#: src/options/options.js:229
|
||||
#: src/options/options.js:234
|
||||
msgid "Seaweed"
|
||||
msgstr "אצה"
|
||||
|
||||
|
@ -1945,7 +1932,7 @@ msgstr "נתיב השרות"
|
|||
|
||||
#: src/component/navigation.vue:352 src/component/navigation.vue:362
|
||||
#: src/component/navigation.vue:8 src/component/navigation.vue:18
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1309
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1308
|
||||
#: src/routes.js:313 src/routes.js:325 src/routes.js:337 src/routes.js:349
|
||||
#: src/routes.js:361
|
||||
msgid "Settings"
|
||||
|
@ -1960,7 +1947,7 @@ msgstr "הגדרות נשמרו"
|
|||
msgid "Setup"
|
||||
msgstr "הגדר"
|
||||
|
||||
#: src/options/options.js:234
|
||||
#: src/options/options.js:239
|
||||
msgid "Shadow"
|
||||
msgstr "צל"
|
||||
|
||||
|
@ -1978,7 +1965,6 @@ msgid "Shared with you."
|
|||
msgstr "שותף איתך."
|
||||
|
||||
#: src/pages/people/faces.vue:227 src/pages/people/subjects.vue:285
|
||||
#| msgid "Show less"
|
||||
msgid "Show"
|
||||
msgstr "הצג"
|
||||
|
||||
|
@ -2035,7 +2021,7 @@ msgstr "גודל"
|
|||
msgid "Slovak"
|
||||
msgstr "סלובקית"
|
||||
|
||||
#: src/options/options.js:258
|
||||
#: src/options/options.js:263
|
||||
msgid "Slow"
|
||||
msgstr "איטי"
|
||||
|
||||
|
@ -2112,7 +2098,7 @@ msgstr "סטטוס"
|
|||
msgid "Storage Folder"
|
||||
msgstr "תיקיית אחסון"
|
||||
|
||||
#: src/options/options.js:269
|
||||
#: src/options/options.js:274
|
||||
msgid "Streets"
|
||||
msgstr "רחובות"
|
||||
|
||||
|
@ -2143,7 +2129,7 @@ msgstr "סנכרן קבצי תמונה גולמיים וסרטונים"
|
|||
msgid "Taken"
|
||||
msgstr "נלקח"
|
||||
|
||||
#: src/options/options.js:336
|
||||
#: src/options/options.js:341
|
||||
msgid "Teal"
|
||||
msgstr "ירוק כחלחל"
|
||||
|
||||
|
@ -2151,7 +2137,7 @@ msgstr "ירוק כחלחל"
|
|||
msgid "Text too long"
|
||||
msgstr "טקסט ארוך מדי"
|
||||
|
||||
#: src/pages/about/about.vue:40
|
||||
#: src/pages/about/about.vue:31
|
||||
msgid "Thank you very much!"
|
||||
msgstr "תודה רבה על פנייתך!"
|
||||
|
||||
|
@ -2192,10 +2178,6 @@ msgstr ""
|
|||
"זה מגדיר את תיקיית המקור ככונן רשת ומאפשר לך לפתוח, לערוך ולמחוק קבצים "
|
||||
"מהמחשב או מהסמארטפון כל עוד מחוברים לרשת המקומית."
|
||||
|
||||
#: src/pages/about/about.vue:21
|
||||
msgid "This open-source project is made possible thanks to our sponsors."
|
||||
msgstr "פרויקט קוד פתוח זה מתאפשר בזכות נותני החסות שלנו."
|
||||
|
||||
#: src/pages/settings/advanced.vue:253
|
||||
msgid "Thumbnail Generation"
|
||||
msgstr "יצירת תמונות מקדימות ממוזערות"
|
||||
|
@ -2231,11 +2213,11 @@ msgstr "החלף תצוגה"
|
|||
msgid "Token"
|
||||
msgstr "טוקן"
|
||||
|
||||
#: src/options/options.js:277
|
||||
#: src/options/options.js:282
|
||||
msgid "Topographic"
|
||||
msgstr "טופוגרפית"
|
||||
|
||||
#: src/pages/about/about.vue:43
|
||||
#: src/pages/about/about.vue:35
|
||||
msgid "Trademarks"
|
||||
msgstr "סימן מסחרי"
|
||||
|
||||
|
@ -2305,7 +2287,7 @@ msgstr "מעדכן תצוגות מקדימות"
|
|||
msgid "Updating stacks"
|
||||
msgstr "מעדכן קיבוצים"
|
||||
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:130
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:129
|
||||
#: src/component/photo/toolbar.vue:125 src/dialog/share/upload.vue:35
|
||||
#: src/dialog/upload.vue:8 src/dialog/upload.vue:54 src/pages/albums.vue:152
|
||||
#: src/pages/library/import.vue:38 src/pages/settings/general.vue:140
|
||||
|
@ -2366,16 +2348,20 @@ msgstr "ממשק משתמש"
|
|||
msgid "Username"
|
||||
msgstr "שם משתמש"
|
||||
|
||||
#: src/options/options.js:204
|
||||
msgid "Vanta"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:29 src/component/photo/cards.vue:225
|
||||
#: src/component/photo/list.vue:198 src/component/photo/mosaic.vue:200
|
||||
#: src/component/photo/list.vue:196 src/component/photo/mosaic.vue:200
|
||||
#: src/model/file.js:183 src/model/photo.js:618 src/model/photo.js:632
|
||||
#: src/options/options.js:300 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:177
|
||||
#: src/options/options.js:305 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:175
|
||||
#: src/share/photo/mosaic.vue:181
|
||||
msgid "Video"
|
||||
msgstr "סרטון"
|
||||
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:658
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:657
|
||||
#: src/routes.js:187
|
||||
msgid "Videos"
|
||||
msgstr "סרטונים"
|
||||
|
@ -2408,7 +2394,7 @@ msgstr ""
|
|||
msgid "WebDAV Upload"
|
||||
msgstr "העלאת WebDAV"
|
||||
|
||||
#: src/options/options.js:340
|
||||
#: src/options/options.js:345
|
||||
msgid "White"
|
||||
msgstr "לבן"
|
||||
|
||||
|
@ -2416,11 +2402,11 @@ msgstr "לבן"
|
|||
msgid "Year"
|
||||
msgstr "שנה"
|
||||
|
||||
#: src/options/options.js:333
|
||||
#: src/options/options.js:338
|
||||
msgid "Yellow"
|
||||
msgstr "צהוב"
|
||||
|
||||
#: src/options/options.js:239
|
||||
#: src/options/options.js:244
|
||||
msgid "Yellowstone"
|
||||
msgstr "ילוסטון"
|
||||
|
||||
|
@ -2452,7 +2438,7 @@ msgstr "ניתן לבחור רק פריט אחד"
|
|||
msgid "You may rescan your library to find additional faces."
|
||||
msgstr "תוכל לסרוק מחדש את הספרייה שלך כדי למצוא פנים נוספות."
|
||||
|
||||
#: src/pages/about/about.vue:47
|
||||
#: src/pages/about/about.vue:39
|
||||
msgid ""
|
||||
"You may use it as required to describe our software, run your own server, "
|
||||
"for educational purposes, but not for offering commercial goods, products, "
|
||||
|
@ -2462,10 +2448,10 @@ msgstr ""
|
|||
"לצורך הצעת טובין מוצרים או שירותים מסחריים כל שהם ללא אישור בכתב מראש. "
|
||||
"במילים אחרות, אנא שאלו מראש."
|
||||
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:32
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:29
|
||||
msgid ""
|
||||
"Your continued support helps us fund operating costs, provide services like "
|
||||
"satellite maps, and develop new features."
|
||||
"Your continued support helps us provide services like satellite maps and "
|
||||
"develop new features."
|
||||
msgstr ""
|
||||
"התמיכה המתמשכת שלך עוזרת לנו לממן עלויות תפעול, לספק שירותים כמו מפות לוויין "
|
||||
"ולפתח תכונות חדשות."
|
||||
|
@ -2486,6 +2472,19 @@ msgstr "הודעתך נשלחה"
|
|||
msgid "Zoom in/out"
|
||||
msgstr "זום פנימה\\החוצה"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
#~ "GitHub Sponsors."
|
||||
#~ msgstr ""
|
||||
#~ "אם אתה נהנה להשתמש ב- PhotoPrism, שקול לגבות אותנו בחסות Patreon או "
|
||||
#~ "GitHub."
|
||||
|
||||
#~ msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
#~ msgstr "יידע אותנו כאשר אנו מסמנים בטעות רעיון כבלתי ממומן."
|
||||
|
||||
#~ msgid "This open-source project is made possible thanks to our sponsors."
|
||||
#~ msgstr "פרויקט קוד פתוח זה מתאפשר בזכות נותני החסות שלנו."
|
||||
|
||||
#~ msgid "%{n} results"
|
||||
#~ msgstr "%{n} תוצאות"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -44,15 +44,15 @@ msgstr "%{n}人が見つかりました。"
|
|||
msgid "%{n} pictures found"
|
||||
msgstr "%{n}の写真が見つかりました。"
|
||||
|
||||
#: src/options/options.js:307
|
||||
#: src/options/options.js:312
|
||||
msgid "1 hour"
|
||||
msgstr "1時間"
|
||||
|
||||
#: src/options/options.js:309
|
||||
#: src/options/options.js:314
|
||||
msgid "12 hours"
|
||||
msgstr "12時間"
|
||||
|
||||
#: src/options/options.js:308
|
||||
#: src/options/options.js:313
|
||||
msgid "4 hours"
|
||||
msgstr "4時間"
|
||||
|
||||
|
@ -61,13 +61,13 @@ msgid "A click will copy it to your clipboard."
|
|||
msgstr "クリックすると、クリップボードにコピーされます。"
|
||||
|
||||
#: src/component/navigation.vue:371 src/component/navigation.vue:27
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:88
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:81
|
||||
#: src/pages/help.vue:45
|
||||
msgid "About"
|
||||
msgstr "概要"
|
||||
|
||||
#: src/dialog/share/upload.vue:113 src/model/account.js:96
|
||||
#: src/pages/settings.vue:74
|
||||
#: src/component/navigation.vue:44 src/dialog/share/upload.vue:113
|
||||
#: src/model/account.js:96 src/pages/settings.vue:74
|
||||
msgid "Account"
|
||||
msgstr "アカウント"
|
||||
|
||||
|
@ -117,23 +117,23 @@ msgstr "追加済み"
|
|||
msgid "Advanced"
|
||||
msgstr "高度"
|
||||
|
||||
#: src/options/options.js:317
|
||||
#: src/options/options.js:322
|
||||
msgid "After 1 day"
|
||||
msgstr "1日後"
|
||||
|
||||
#: src/options/options.js:318
|
||||
#: src/options/options.js:323
|
||||
msgid "After 3 days"
|
||||
msgstr "3日後"
|
||||
|
||||
#: src/options/options.js:319
|
||||
#: src/options/options.js:324
|
||||
msgid "After 7 days"
|
||||
msgstr "1週間後"
|
||||
|
||||
#: src/options/options.js:321
|
||||
#: src/options/options.js:326
|
||||
msgid "After one month"
|
||||
msgstr "1ヶ月後"
|
||||
|
||||
#: src/options/options.js:323
|
||||
#: src/options/options.js:328
|
||||
msgid "After one year"
|
||||
msgstr "1年後"
|
||||
|
||||
|
@ -145,11 +145,11 @@ msgstr ""
|
|||
"検索結果から写真を選んだ後、コンテキストメニューでアルバムに追加することがで"
|
||||
"きます。"
|
||||
|
||||
#: src/options/options.js:322
|
||||
#: src/options/options.js:327
|
||||
msgid "After two months"
|
||||
msgstr "2ヶ月後"
|
||||
|
||||
#: src/options/options.js:320
|
||||
#: src/options/options.js:325
|
||||
msgid "After two weeks"
|
||||
msgstr "2週間後"
|
||||
|
||||
|
@ -162,7 +162,7 @@ msgid "Album Name"
|
|||
msgstr "アルバム名"
|
||||
|
||||
#: src/component/navigation.vue:130 src/component/navigation.vue:140
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:545
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:544
|
||||
#: src/routes.js:134 src/routes.js:141 src/share/albums.vue:4
|
||||
msgid "Albums"
|
||||
msgstr "アルバム"
|
||||
|
@ -325,7 +325,7 @@ msgstr ""
|
|||
msgid "Automatically creates albums of special moments, trips, and places."
|
||||
msgstr "特別な瞬間、旅、場所を記録したアルバムを自動的に作成します。"
|
||||
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:26
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:23
|
||||
msgid "Become a sponsor"
|
||||
msgstr "スポンサーになる"
|
||||
|
||||
|
@ -333,15 +333,15 @@ msgstr "スポンサーになる"
|
|||
msgid "Bio"
|
||||
msgstr "自己紹介"
|
||||
|
||||
#: src/options/options.js:342
|
||||
#: src/options/options.js:347
|
||||
msgid "Black"
|
||||
msgstr "黒"
|
||||
|
||||
#: src/options/options.js:355
|
||||
#: src/options/options.js:360
|
||||
msgid "Blackman: Lanczos Modification, Less Ringing Artifacts"
|
||||
msgstr "黒人: ランチョス法修正、少ないリンギングアーティファクト"
|
||||
|
||||
#: src/options/options.js:338
|
||||
#: src/options/options.js:343
|
||||
msgid "Blue"
|
||||
msgstr "青"
|
||||
|
||||
|
@ -349,7 +349,7 @@ msgstr "青"
|
|||
msgid "Brazilian Portuguese"
|
||||
msgstr "ブラジルポルトガル語"
|
||||
|
||||
#: src/options/options.js:339
|
||||
#: src/options/options.js:344
|
||||
msgid "Brown"
|
||||
msgstr "茶"
|
||||
|
||||
|
@ -361,7 +361,7 @@ msgstr "画像を分類するラベルを参照および編集します。"
|
|||
msgid "Browse indexed files and folders in Library."
|
||||
msgstr "ライブラリ内にあるインデックスされたファイルやフォルダを参照します。"
|
||||
|
||||
#: src/options/options.js:349
|
||||
#: src/options/options.js:354
|
||||
msgid "Bug Report"
|
||||
msgstr "バグ報告"
|
||||
|
||||
|
@ -369,7 +369,7 @@ msgstr "バグ報告"
|
|||
msgid "Busy, please wait…"
|
||||
msgstr "処理中です、しばらくお待ちください..."
|
||||
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:835
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:834
|
||||
#: src/routes.js:147 src/routes.js:154
|
||||
msgid "Calendar"
|
||||
msgstr "カレンダー"
|
||||
|
@ -529,7 +529,7 @@ msgstr "作成日時"
|
|||
msgid "Creating thumbnails for"
|
||||
msgstr "次の項目のサムネイルを作成しています"
|
||||
|
||||
#: src/options/options.js:357
|
||||
#: src/options/options.js:362
|
||||
msgid "Cubic: Moderate Quality, Good Performance"
|
||||
msgstr "立方体: 適度な品質、良いパフォーマンス"
|
||||
|
||||
|
@ -537,15 +537,15 @@ msgstr "立方体: 適度な品質、良いパフォーマンス"
|
|||
msgid "Current Password"
|
||||
msgstr "現在のパスワード"
|
||||
|
||||
#: src/options/options.js:346
|
||||
#: src/options/options.js:351
|
||||
msgid "Customer Support"
|
||||
msgstr "顧客向けサポート"
|
||||
|
||||
#: src/options/options.js:337
|
||||
#: src/options/options.js:342
|
||||
msgid "Cyan"
|
||||
msgstr "シアン"
|
||||
|
||||
#: src/options/options.js:204
|
||||
#: src/options/options.js:219
|
||||
msgid "Cyano"
|
||||
msgstr "暗い青"
|
||||
|
||||
|
@ -553,12 +553,11 @@ msgstr "暗い青"
|
|||
msgid "Czech"
|
||||
msgstr "チェコ語"
|
||||
|
||||
#: src/options/options.js:310
|
||||
#: src/options/options.js:315
|
||||
msgid "Daily"
|
||||
msgstr "毎日"
|
||||
|
||||
#: src/options/options.js:95
|
||||
#| msgid "Spanish"
|
||||
msgid "Danish"
|
||||
msgstr "デンマーク語"
|
||||
|
||||
|
@ -687,7 +686,7 @@ msgstr "RAWファイルの変換にRawTherapeeを使ってはいけません。"
|
|||
msgid "Don't use TensorFlow for image classification."
|
||||
msgstr "写真の分類に TensorFlow を使用しないようにします。"
|
||||
|
||||
#: src/options/options.js:350
|
||||
#: src/options/options.js:355
|
||||
msgid "Donations"
|
||||
msgstr "寄付"
|
||||
|
||||
|
@ -808,11 +807,10 @@ msgid "Estimate the approximate location of pictures without coordinates."
|
|||
msgstr "座標がなくても、写真のおおよその位置を推定することができます。"
|
||||
|
||||
#: src/pages/settings/library.vue:71
|
||||
#| msgid "States"
|
||||
msgid "Estimates"
|
||||
msgstr "見積もり"
|
||||
|
||||
#: src/options/options.js:311
|
||||
#: src/options/options.js:316
|
||||
msgid "Every two days"
|
||||
msgstr "2日毎"
|
||||
|
||||
|
@ -828,8 +826,7 @@ msgstr ""
|
|||
msgid "Exclude hidden"
|
||||
msgstr "非表示を除く"
|
||||
|
||||
#: src/component/navigation.vue:252
|
||||
#| msgid "Expand Search"
|
||||
#: src/component/navigation.vue:251
|
||||
msgid "Expand"
|
||||
msgstr "拡張"
|
||||
|
||||
|
@ -858,7 +855,6 @@ msgid "Face"
|
|||
msgstr "Face"
|
||||
|
||||
#: src/dialog/photo/info.vue:73
|
||||
#| msgid "Places"
|
||||
msgid "Faces"
|
||||
msgstr "顔"
|
||||
|
||||
|
@ -878,7 +874,7 @@ msgstr "リンクを更新できませんでした"
|
|||
msgid "Failure while importing uploaded files"
|
||||
msgstr "アップロードされたファイルをインポートしている時に問題が発生しました"
|
||||
|
||||
#: src/options/options.js:250
|
||||
#: src/options/options.js:255
|
||||
msgid "Fast"
|
||||
msgstr "早い"
|
||||
|
||||
|
@ -886,12 +882,12 @@ msgstr "早い"
|
|||
msgid "Favorite"
|
||||
msgstr "お気に入り"
|
||||
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:747
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:746
|
||||
#: src/routes.js:180
|
||||
msgid "Favorites"
|
||||
msgstr "お気に入り"
|
||||
|
||||
#: src/options/options.js:348
|
||||
#: src/options/options.js:353
|
||||
msgid "Feature Request"
|
||||
msgstr "機能のリクエスト"
|
||||
|
||||
|
@ -938,7 +934,7 @@ msgstr "フォルダには %{n} 個のファイルがあります"
|
|||
msgid "Folder is empty"
|
||||
msgstr "フォルダは空です"
|
||||
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1043
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1042
|
||||
#: src/routes.js:160 src/routes.js:167
|
||||
msgid "Folders"
|
||||
msgstr "フォルダ"
|
||||
|
@ -959,7 +955,7 @@ msgstr "一般"
|
|||
msgid "German"
|
||||
msgstr "ドイツ語"
|
||||
|
||||
#: src/options/options.js:332
|
||||
#: src/options/options.js:337
|
||||
msgid "Gold"
|
||||
msgstr "金"
|
||||
|
||||
|
@ -967,11 +963,11 @@ msgstr "金"
|
|||
msgid "Grayscale"
|
||||
msgstr "グレースケール"
|
||||
|
||||
#: src/options/options.js:335
|
||||
#: src/options/options.js:340
|
||||
msgid "Green"
|
||||
msgstr "緑"
|
||||
|
||||
#: src/options/options.js:341
|
||||
#: src/options/options.js:346
|
||||
msgid "Grey"
|
||||
msgstr "灰"
|
||||
|
||||
|
@ -1016,7 +1012,7 @@ msgstr "ヒンディー語"
|
|||
msgid "How can we help?"
|
||||
msgstr "どのように我々は助けることができますか?"
|
||||
|
||||
#: src/options/options.js:273
|
||||
#: src/options/options.js:278
|
||||
msgid "Hybrid"
|
||||
msgstr "ハイブリッド"
|
||||
|
||||
|
@ -1024,19 +1020,11 @@ msgstr "ハイブリッド"
|
|||
msgid "I'm a sponsor"
|
||||
msgstr "私はスポンサーです。"
|
||||
|
||||
#: src/pages/about/about.vue:22
|
||||
msgid ""
|
||||
"If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
"GitHub Sponsors."
|
||||
msgstr ""
|
||||
"PhotoPrismをご愛用いただいている皆様には、PatreonやGitHub Sponsorsでのご支援"
|
||||
"をお願いいたします。"
|
||||
|
||||
#: src/dialog/photo/labels.vue:34
|
||||
msgid "image"
|
||||
msgstr "写真"
|
||||
|
||||
#: src/options/options.js:288
|
||||
#: src/options/options.js:293
|
||||
msgid "Image"
|
||||
msgstr "写真"
|
||||
|
||||
|
@ -1157,7 +1145,7 @@ msgstr "クルド語"
|
|||
msgid "Label"
|
||||
msgstr "ラベル"
|
||||
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:998
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:997
|
||||
#: src/dialog/photo/edit.vue:39 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:216 src/pages/settings/general.vue:382
|
||||
#: src/routes.js:259
|
||||
|
@ -1168,7 +1156,7 @@ msgstr "ラベル"
|
|||
msgid "Labels deleted"
|
||||
msgstr "ラベルが削除されました"
|
||||
|
||||
#: src/options/options.js:356
|
||||
#: src/options/options.js:361
|
||||
msgid "Lanczos: Detail Preservation, Minimal Artifacts"
|
||||
msgstr "ランチョス法: 詳細な保全、最小限の骨董品"
|
||||
|
||||
|
@ -1184,7 +1172,7 @@ msgstr "最終バックアップ"
|
|||
msgid "Latitude"
|
||||
msgstr "緯度"
|
||||
|
||||
#: src/options/options.js:209
|
||||
#: src/options/options.js:224
|
||||
msgid "Lavender"
|
||||
msgstr "ラベンダー"
|
||||
|
||||
|
@ -1192,13 +1180,8 @@ msgstr "ラベンダー"
|
|||
msgid "Lens"
|
||||
msgstr "レンズ"
|
||||
|
||||
#: src/pages/about/about.vue:37
|
||||
msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
msgstr ""
|
||||
"私たちが間違って「資金不足」と表示したアイデアがあれば、教えてください。"
|
||||
|
||||
#: src/component/navigation.vue:301 src/component/navigation.vue:311
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1135
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1134
|
||||
#: src/pages/settings.vue:41 src/pages/settings/general.vue:404
|
||||
#: src/routes.js:291 src/routes.js:298 src/routes.js:305
|
||||
msgid "Library"
|
||||
|
@ -1213,7 +1196,7 @@ msgstr "ライセンス"
|
|||
msgid "Like"
|
||||
msgstr "お気に入り"
|
||||
|
||||
#: src/options/options.js:334
|
||||
#: src/options/options.js:339
|
||||
msgid "Lime"
|
||||
msgstr "黄緑"
|
||||
|
||||
|
@ -1221,7 +1204,7 @@ msgstr "黄緑"
|
|||
msgid "Limit reached, showing first %{n} files"
|
||||
msgstr "制限に達しました、最初の %{n} 個のファイルを表示しています"
|
||||
|
||||
#: src/options/options.js:358
|
||||
#: src/options/options.js:363
|
||||
msgid "Linear: Very Smooth, Best Performance"
|
||||
msgstr "線形: とても滑らか、最高のパフォーマンス"
|
||||
|
||||
|
@ -1233,9 +1216,9 @@ msgstr "リンク"
|
|||
msgid "List"
|
||||
msgstr "リスト"
|
||||
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:188
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:296
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:167
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:186
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:301
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:165
|
||||
#: src/share/photo/mosaic.vue:171
|
||||
msgid "Live"
|
||||
msgstr "ライブ"
|
||||
|
@ -1262,12 +1245,12 @@ msgstr ""
|
|||
"PhotoPrism が壊れたファイルを見つけたり、潜在的な問題を発見したときはいつでも"
|
||||
"ここにログメッセージが表示されます。"
|
||||
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1471
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1470
|
||||
msgid "Login"
|
||||
msgstr "ログイン"
|
||||
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1581
|
||||
#: src/component/navigation.vue:1612
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1580
|
||||
#: src/component/navigation.vue:1611
|
||||
msgid "Logout"
|
||||
msgstr "ログアウト"
|
||||
|
||||
|
@ -1279,7 +1262,7 @@ msgstr "ログ"
|
|||
msgid "Longitude"
|
||||
msgstr "経度"
|
||||
|
||||
#: src/options/options.js:328
|
||||
#: src/options/options.js:333
|
||||
msgid "Magenta"
|
||||
msgstr "マゼンタ"
|
||||
|
||||
|
@ -1299,7 +1282,7 @@ msgstr "手動アップロード"
|
|||
msgid "Marker"
|
||||
msgstr "マーカー"
|
||||
|
||||
#: src/options/options.js:254
|
||||
#: src/options/options.js:259
|
||||
msgid "Medium"
|
||||
msgstr "中"
|
||||
|
||||
|
@ -1311,7 +1294,7 @@ msgstr "0}を%{b}と統合する?"
|
|||
msgid "Message sent"
|
||||
msgstr "メッセージを送信しました"
|
||||
|
||||
#: src/component/navigation.vue:205
|
||||
#: src/component/navigation.vue:204
|
||||
msgid "Minimize"
|
||||
msgstr "最小化する"
|
||||
|
||||
|
@ -1319,7 +1302,7 @@ msgstr "最小化する"
|
|||
msgid "Missing"
|
||||
msgstr "見つからない"
|
||||
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:790
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:789
|
||||
#: src/pages/settings/general.vue:360 src/routes.js:121 src/routes.js:128
|
||||
msgid "Moments"
|
||||
msgstr "モーメント"
|
||||
|
@ -1332,7 +1315,7 @@ msgstr "モノクロ"
|
|||
msgid "Month"
|
||||
msgstr "月"
|
||||
|
||||
#: src/options/options.js:214
|
||||
#: src/options/options.js:209
|
||||
msgid "Moonlight"
|
||||
msgstr "月光"
|
||||
|
||||
|
@ -1367,7 +1350,7 @@ msgid "Move Files"
|
|||
msgstr "ファイルを移動"
|
||||
|
||||
#: src/component/photo/cards.vue:30 src/component/photo/list.vue:38
|
||||
#: src/component/photo/list.vue:237 src/dialog/account/edit.vue:397
|
||||
#: src/component/photo/list.vue:235 src/dialog/account/edit.vue:397
|
||||
#: src/dialog/album/edit.vue:106 src/dialog/photo/files.vue:71
|
||||
#: src/dialog/photo/files.vue:68 src/dialog/photo/files.vue:30
|
||||
#: src/dialog/photo/info.vue:31 src/dialog/photo/labels.vue:48
|
||||
|
@ -1376,7 +1359,7 @@ msgstr "ファイルを移動"
|
|||
#: src/pages/login.vue:73 src/pages/people/faces.vue:48
|
||||
#: src/pages/people/faces.vue:307 src/pages/people/subjects.vue:393
|
||||
#: src/share/photo/cards.vue:30 src/share/photo/list.vue:34
|
||||
#: src/share/photo/list.vue:216
|
||||
#: src/share/photo/list.vue:214
|
||||
msgid "Name"
|
||||
msgstr "名前"
|
||||
|
||||
|
@ -1387,7 +1370,7 @@ msgstr "名前"
|
|||
msgid "Name too long"
|
||||
msgstr "名前が長すぎます"
|
||||
|
||||
#: src/options/options.js:306 src/options/options.js:316
|
||||
#: src/options/options.js:311 src/options/options.js:321
|
||||
#: src/pages/settings/sync.vue:50
|
||||
msgid "Never"
|
||||
msgstr "なし"
|
||||
|
@ -1425,7 +1408,6 @@ msgstr "どのラベルも見つかりませんでした"
|
|||
#: src/dialog/photo/people.vue:5 src/pages/people/faces.vue:30
|
||||
#: src/pages/people/faces.vue:278 src/pages/people/faces.vue:364
|
||||
#: src/pages/people/subjects.vue:33 src/pages/people/subjects.vue:428
|
||||
#| msgid "No photos found"
|
||||
msgid "No people found"
|
||||
msgstr "ユーザーが見つかりません"
|
||||
|
||||
|
@ -1471,7 +1453,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"写真ではないものや、低品質な画像は検索結果に現れる前にレビューが必要です。"
|
||||
|
||||
#: src/options/options.js:246
|
||||
#: src/options/options.js:251
|
||||
msgid "None"
|
||||
msgstr "なし"
|
||||
|
||||
|
@ -1517,8 +1499,8 @@ msgstr "メモ"
|
|||
msgid "Nothing to see here yet. Be patient."
|
||||
msgstr "まだここには何もありません。我慢してください。"
|
||||
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1516
|
||||
#: src/options/options.js:265
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1515
|
||||
#: src/options/options.js:270
|
||||
msgid "Offline"
|
||||
msgstr "オフライン"
|
||||
|
||||
|
@ -1527,7 +1509,7 @@ msgstr "オフライン"
|
|||
msgid "Oldest first"
|
||||
msgstr "古い方から"
|
||||
|
||||
#: src/options/options.js:312
|
||||
#: src/options/options.js:317
|
||||
msgid "Once a week"
|
||||
msgstr "1週間に1度"
|
||||
|
||||
|
@ -1557,7 +1539,7 @@ msgstr "一人が見つけた"
|
|||
msgid "One picture found"
|
||||
msgstr "1枚の写真を発見"
|
||||
|
||||
#: src/options/options.js:219
|
||||
#: src/options/options.js:214
|
||||
msgid "Onyx"
|
||||
msgstr "Onyx"
|
||||
|
||||
|
@ -1565,12 +1547,11 @@ msgstr "Onyx"
|
|||
msgid "Options"
|
||||
msgstr "オプション"
|
||||
|
||||
#: src/options/options.js:331
|
||||
#: src/options/options.js:336
|
||||
msgid "Orange"
|
||||
msgstr "オレンジ"
|
||||
|
||||
#: src/dialog/photo/files.vue:129 src/dialog/photo/files.vue:126
|
||||
#| msgid "Animation"
|
||||
msgid "Orientation"
|
||||
msgstr "方向"
|
||||
|
||||
|
@ -1592,7 +1573,7 @@ msgstr "オリジナルの名前"
|
|||
msgid "Originals"
|
||||
msgstr "オリジナル"
|
||||
|
||||
#: src/options/options.js:351
|
||||
#: src/options/options.js:356
|
||||
msgid "Other"
|
||||
msgstr "他"
|
||||
|
||||
|
@ -1604,7 +1585,7 @@ msgstr ""
|
|||
"私たちのビジョンは、あなたの写真コレクションを閲覧、整理、共有するための最も"
|
||||
"ユーザーフレンドリーなソリューションを提供することです。"
|
||||
|
||||
#: src/options/options.js:281
|
||||
#: src/options/options.js:286
|
||||
msgid "Outdoor"
|
||||
msgstr "アウトドア"
|
||||
|
||||
|
@ -1625,7 +1606,7 @@ msgstr "パスワード"
|
|||
msgid "Password changed"
|
||||
msgstr "パスワードを変更しました"
|
||||
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:702
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:701
|
||||
#: src/dialog/photo/edit.vue:52 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:267 src/pages/settings/general.vue:338
|
||||
#: src/routes.js:265 src/routes.js:285
|
||||
|
@ -1652,7 +1633,7 @@ msgstr "写真"
|
|||
msgid "PhotoPrism has been updated…"
|
||||
msgstr "PhotoPrism はアップデートされています ..."
|
||||
|
||||
#: src/pages/about/about.vue:46
|
||||
#: src/pages/about/about.vue:38
|
||||
msgid "PhotoPrism® is a registered trademark of Michael Mayer."
|
||||
msgstr "PhotoPrism®は Michael Mayer による登録商標です。"
|
||||
|
||||
|
@ -1660,7 +1641,7 @@ msgstr "PhotoPrism®は Michael Mayer による登録商標です。"
|
|||
msgid "Photos"
|
||||
msgstr "写真"
|
||||
|
||||
#: src/options/options.js:329
|
||||
#: src/options/options.js:334
|
||||
msgid "Pink"
|
||||
msgstr "ピンク"
|
||||
|
||||
|
@ -1673,7 +1654,7 @@ msgid "Place & Time"
|
|||
msgstr "場所と時間"
|
||||
|
||||
#: src/component/navigation.vue:228 src/component/navigation.vue:238
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:880
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:879
|
||||
#: src/pages/settings/general.vue:108 src/pages/settings/general.vue:450
|
||||
#: src/routes.js:215 src/routes.js:221 src/routes.js:227 src/routes.js:234
|
||||
msgid "Places"
|
||||
|
@ -1737,13 +1718,13 @@ msgstr "プレビュー"
|
|||
msgid "Primary"
|
||||
msgstr "プライマリ"
|
||||
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1088
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1087
|
||||
#: src/dialog/photo/info.vue:102 src/pages/settings/general.vue:272
|
||||
#: src/routes.js:201
|
||||
msgid "Private"
|
||||
msgstr "プライベート"
|
||||
|
||||
#: src/options/options.js:347
|
||||
#: src/options/options.js:352
|
||||
msgid "Product Feedback"
|
||||
msgstr "製品のフィードバック"
|
||||
|
||||
|
@ -1751,7 +1732,7 @@ msgstr "製品のフィードバック"
|
|||
msgid "Projection"
|
||||
msgstr "投影"
|
||||
|
||||
#: src/options/options.js:327
|
||||
#: src/options/options.js:332
|
||||
msgid "Purple"
|
||||
msgstr "紫"
|
||||
|
||||
|
@ -1767,11 +1748,11 @@ msgstr "品質スコア"
|
|||
msgid "Random"
|
||||
msgstr "ランダム"
|
||||
|
||||
#: src/options/options.js:224
|
||||
#: src/options/options.js:229
|
||||
msgid "Raspberry"
|
||||
msgstr "ラズベリー"
|
||||
|
||||
#: src/options/options.js:292
|
||||
#: src/options/options.js:297
|
||||
msgid "Raw"
|
||||
msgstr "Raw"
|
||||
|
||||
|
@ -1817,7 +1798,7 @@ msgstr "レコグニッション"
|
|||
msgid "Recognizes faces so that specific people can be found."
|
||||
msgstr "顔を認識することで、特定の人を探すことができます。"
|
||||
|
||||
#: src/options/options.js:330
|
||||
#: src/options/options.js:335
|
||||
msgid "Red"
|
||||
msgstr "赤"
|
||||
|
||||
|
@ -1865,7 +1846,7 @@ msgstr "バグを報告"
|
|||
msgid "Request failed - invalid response"
|
||||
msgstr "リクエストに失敗しました - 不正なレスポンスです"
|
||||
|
||||
#: src/pages/about/about.vue:36
|
||||
#: src/pages/about/about.vue:30
|
||||
msgid ""
|
||||
"Requests endorsed by silver and gold sponsors receive a golden label and "
|
||||
"will be prioritized."
|
||||
|
@ -1912,7 +1893,7 @@ msgid "Scans"
|
|||
msgstr "スキャン"
|
||||
|
||||
#: src/component/navigation.vue:56 src/component/navigation.vue:66
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:284
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:283
|
||||
#: src/component/photo/toolbar.vue:48 src/pages/albums.vue:109
|
||||
#: src/pages/labels.vue:81 src/pages/library/errors.vue:60
|
||||
#: src/pages/people/subjects.vue:86 src/pages/places.vue:30 src/routes.js:107
|
||||
|
@ -1927,7 +1908,7 @@ msgstr "検索して、地図に写真を表示します。"
|
|||
msgid "Season"
|
||||
msgstr "季節"
|
||||
|
||||
#: src/options/options.js:229
|
||||
#: src/options/options.js:234
|
||||
msgid "Seaweed"
|
||||
msgstr "海藻"
|
||||
|
||||
|
@ -1974,7 +1955,7 @@ msgstr "サービス URL"
|
|||
|
||||
#: src/component/navigation.vue:352 src/component/navigation.vue:362
|
||||
#: src/component/navigation.vue:8 src/component/navigation.vue:18
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1309
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1308
|
||||
#: src/routes.js:313 src/routes.js:325 src/routes.js:337 src/routes.js:349
|
||||
#: src/routes.js:361
|
||||
msgid "Settings"
|
||||
|
@ -1989,7 +1970,7 @@ msgstr "設定が保存されました"
|
|||
msgid "Setup"
|
||||
msgstr "セットアップ"
|
||||
|
||||
#: src/options/options.js:234
|
||||
#: src/options/options.js:239
|
||||
msgid "Shadow"
|
||||
msgstr "影"
|
||||
|
||||
|
@ -2007,7 +1988,6 @@ msgid "Shared with you."
|
|||
msgstr "あなたと共有されました。"
|
||||
|
||||
#: src/pages/people/faces.vue:227 src/pages/people/subjects.vue:285
|
||||
#| msgid "Show less"
|
||||
msgid "Show"
|
||||
msgstr "表示"
|
||||
|
||||
|
@ -2016,7 +1996,6 @@ msgid "Show all new faces"
|
|||
msgstr "すべてのニューフェイスを表示"
|
||||
|
||||
#: src/pages/people/faces.vue:83 src/pages/people/subjects.vue:121
|
||||
#| msgid "Show less"
|
||||
msgid "Show hidden"
|
||||
msgstr "非表示分を表示"
|
||||
|
||||
|
@ -2049,7 +2028,6 @@ msgid "Sign in"
|
|||
msgstr "サインイン"
|
||||
|
||||
#: src/dialog/sponsor.vue:39
|
||||
#| msgid "Sign in"
|
||||
msgid "Sign Up"
|
||||
msgstr "サインアップ"
|
||||
|
||||
|
@ -2066,7 +2044,7 @@ msgstr "サイズ"
|
|||
msgid "Slovak"
|
||||
msgstr "スロバキア語"
|
||||
|
||||
#: src/options/options.js:258
|
||||
#: src/options/options.js:263
|
||||
msgid "Slow"
|
||||
msgstr "遅い"
|
||||
|
||||
|
@ -2089,7 +2067,6 @@ msgstr "スペイン語"
|
|||
|
||||
#: src/component/photo/cards.vue:235 src/component/photo/mosaic.vue:210
|
||||
#: src/share/photo/cards.vue:208 src/share/photo/mosaic.vue:191
|
||||
#| msgid "Stacks"
|
||||
msgid "Stack"
|
||||
msgstr "スタック"
|
||||
|
||||
|
@ -2144,7 +2121,7 @@ msgstr "状態"
|
|||
msgid "Storage Folder"
|
||||
msgstr "ストレージフォルダ"
|
||||
|
||||
#: src/options/options.js:269
|
||||
#: src/options/options.js:274
|
||||
msgid "Streets"
|
||||
msgstr "市街"
|
||||
|
||||
|
@ -2177,7 +2154,7 @@ msgstr "Raw ファイルや動画ファイルを同期"
|
|||
msgid "Taken"
|
||||
msgstr "撮影済み"
|
||||
|
||||
#: src/options/options.js:336
|
||||
#: src/options/options.js:341
|
||||
msgid "Teal"
|
||||
msgstr "青緑"
|
||||
|
||||
|
@ -2185,7 +2162,7 @@ msgstr "青緑"
|
|||
msgid "Text too long"
|
||||
msgstr "文章が長すぎます"
|
||||
|
||||
#: src/pages/about/about.vue:40
|
||||
#: src/pages/about/about.vue:31
|
||||
msgid "Thank you very much!"
|
||||
msgstr "どうもありがとうございました。"
|
||||
|
||||
|
@ -2230,12 +2207,6 @@ msgstr ""
|
|||
"ローカルにあるかのようにファイルを開いたり、編集したり、あなたのコンピュータ"
|
||||
"またはスマートフォンから削除したりすることができるようにします。"
|
||||
|
||||
#: src/pages/about/about.vue:21
|
||||
msgid "This open-source project is made possible thanks to our sponsors."
|
||||
msgstr ""
|
||||
"このオープンソースプロジェクトは、スポンサーの皆様のおかげで成り立っていま"
|
||||
"す。"
|
||||
|
||||
#: src/pages/settings/advanced.vue:253
|
||||
msgid "Thumbnail Generation"
|
||||
msgstr "サムネイル生成"
|
||||
|
@ -2271,11 +2242,11 @@ msgstr "表示を切り替え"
|
|||
msgid "Token"
|
||||
msgstr "トークン"
|
||||
|
||||
#: src/options/options.js:277
|
||||
#: src/options/options.js:282
|
||||
msgid "Topographic"
|
||||
msgstr "地形"
|
||||
|
||||
#: src/pages/about/about.vue:43
|
||||
#: src/pages/about/about.vue:35
|
||||
msgid "Trademarks"
|
||||
msgstr "商標"
|
||||
|
||||
|
@ -2345,7 +2316,7 @@ msgstr "プレビューの更新"
|
|||
msgid "Updating stacks"
|
||||
msgstr "スタックを更新しています"
|
||||
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:130
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:129
|
||||
#: src/component/photo/toolbar.vue:125 src/dialog/share/upload.vue:35
|
||||
#: src/dialog/upload.vue:8 src/dialog/upload.vue:54 src/pages/albums.vue:152
|
||||
#: src/pages/library/import.vue:38 src/pages/settings/general.vue:140
|
||||
|
@ -2406,16 +2377,20 @@ msgstr "ユーザインタフェース"
|
|||
msgid "Username"
|
||||
msgstr "ユーザ名"
|
||||
|
||||
#: src/options/options.js:204
|
||||
msgid "Vanta"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:29 src/component/photo/cards.vue:225
|
||||
#: src/component/photo/list.vue:198 src/component/photo/mosaic.vue:200
|
||||
#: src/component/photo/list.vue:196 src/component/photo/mosaic.vue:200
|
||||
#: src/model/file.js:183 src/model/photo.js:618 src/model/photo.js:632
|
||||
#: src/options/options.js:300 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:177
|
||||
#: src/options/options.js:305 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:175
|
||||
#: src/share/photo/mosaic.vue:181
|
||||
msgid "Video"
|
||||
msgstr "動画"
|
||||
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:658
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:657
|
||||
#: src/routes.js:187
|
||||
msgid "Videos"
|
||||
msgstr "動画"
|
||||
|
@ -2450,7 +2425,7 @@ msgstr ""
|
|||
msgid "WebDAV Upload"
|
||||
msgstr "WebDAV アップロード"
|
||||
|
||||
#: src/options/options.js:340
|
||||
#: src/options/options.js:345
|
||||
msgid "White"
|
||||
msgstr "白"
|
||||
|
||||
|
@ -2458,11 +2433,11 @@ msgstr "白"
|
|||
msgid "Year"
|
||||
msgstr "年"
|
||||
|
||||
#: src/options/options.js:333
|
||||
#: src/options/options.js:338
|
||||
msgid "Yellow"
|
||||
msgstr "黄"
|
||||
|
||||
#: src/options/options.js:239
|
||||
#: src/options/options.js:244
|
||||
msgid "Yellowstone"
|
||||
msgstr "イエローストーン"
|
||||
|
||||
|
@ -2494,7 +2469,7 @@ msgstr "1 件だけ選択してください"
|
|||
msgid "You may rescan your library to find additional faces."
|
||||
msgstr "追加の顔を見つけるために、ライブラリを再スキャンすることができます。"
|
||||
|
||||
#: src/pages/about/about.vue:47
|
||||
#: src/pages/about/about.vue:39
|
||||
msgid ""
|
||||
"You may use it as required to describe our software, run your own server, "
|
||||
"for educational purposes, but not for offering commercial goods, products, "
|
||||
|
@ -2505,13 +2480,13 @@ msgstr ""
|
|||
"グッズ、商品、サービスのために使うことはできません。つまり、お問い合わせくだ"
|
||||
"さい。"
|
||||
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:32
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:29
|
||||
msgid ""
|
||||
"Your continued support helps us fund operating costs, provide services like "
|
||||
"satellite maps, and develop new features."
|
||||
"Your continued support helps us provide services like satellite maps and "
|
||||
"develop new features."
|
||||
msgstr ""
|
||||
"皆様からの継続的なご支援は、運営費、衛星地図などのサービス提供、新機能の開発"
|
||||
"などに役立てられています。"
|
||||
"皆様の継続的なご支援により、衛星地図などのサービスの提供や新機能の開発が可能"
|
||||
"になります。"
|
||||
|
||||
#: src/pages/albums.vue:43 src/pages/albums.vue:1
|
||||
msgid ""
|
||||
|
@ -2529,6 +2504,22 @@ msgstr "あなたのメッセージは送信されました"
|
|||
msgid "Zoom in/out"
|
||||
msgstr "ズーム イン/アウト"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
#~ "GitHub Sponsors."
|
||||
#~ msgstr ""
|
||||
#~ "PhotoPrismをご愛用いただいている皆様には、PatreonやGitHub Sponsorsでのご支"
|
||||
#~ "援をお願いいたします。"
|
||||
|
||||
#~ msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
#~ msgstr ""
|
||||
#~ "私たちが間違って「資金不足」と表示したアイデアがあれば、教えてください。"
|
||||
|
||||
#~ msgid "This open-source project is made possible thanks to our sponsors."
|
||||
#~ msgstr ""
|
||||
#~ "このオープンソースプロジェクトは、スポンサーの皆様のおかげで成り立っていま"
|
||||
#~ "す。"
|
||||
|
||||
#~ msgid "%{n} results"
|
||||
#~ msgstr "%{n} 件の結果"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -44,15 +44,15 @@ msgstr "%{n}명을 찾았습니다."
|
|||
msgid "%{n} pictures found"
|
||||
msgstr "사진 %{n}장을 찾았습니다."
|
||||
|
||||
#: src/options/options.js:307
|
||||
#: src/options/options.js:312
|
||||
msgid "1 hour"
|
||||
msgstr "1시간"
|
||||
|
||||
#: src/options/options.js:309
|
||||
#: src/options/options.js:314
|
||||
msgid "12 hours"
|
||||
msgstr "12시간"
|
||||
|
||||
#: src/options/options.js:308
|
||||
#: src/options/options.js:313
|
||||
msgid "4 hours"
|
||||
msgstr "4시간"
|
||||
|
||||
|
@ -61,13 +61,13 @@ msgid "A click will copy it to your clipboard."
|
|||
msgstr "클릭하면 클립보드에 복사됩니다."
|
||||
|
||||
#: src/component/navigation.vue:371 src/component/navigation.vue:27
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:88
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:81
|
||||
#: src/pages/help.vue:45
|
||||
msgid "About"
|
||||
msgstr "관하여"
|
||||
|
||||
#: src/dialog/share/upload.vue:113 src/model/account.js:96
|
||||
#: src/pages/settings.vue:74
|
||||
#: src/component/navigation.vue:44 src/dialog/share/upload.vue:113
|
||||
#: src/model/account.js:96 src/pages/settings.vue:74
|
||||
msgid "Account"
|
||||
msgstr "계정"
|
||||
|
||||
|
@ -117,23 +117,23 @@ msgstr "추가됨"
|
|||
msgid "Advanced"
|
||||
msgstr "고급"
|
||||
|
||||
#: src/options/options.js:317
|
||||
#: src/options/options.js:322
|
||||
msgid "After 1 day"
|
||||
msgstr "1일 후"
|
||||
|
||||
#: src/options/options.js:318
|
||||
#: src/options/options.js:323
|
||||
msgid "After 3 days"
|
||||
msgstr "3일 후"
|
||||
|
||||
#: src/options/options.js:319
|
||||
#: src/options/options.js:324
|
||||
msgid "After 7 days"
|
||||
msgstr "7일 후"
|
||||
|
||||
#: src/options/options.js:321
|
||||
#: src/options/options.js:326
|
||||
msgid "After one month"
|
||||
msgstr "1달 후"
|
||||
|
||||
#: src/options/options.js:323
|
||||
#: src/options/options.js:328
|
||||
msgid "After one year"
|
||||
msgstr "1년 후"
|
||||
|
||||
|
@ -145,11 +145,11 @@ msgstr ""
|
|||
"검색 결과에서 사진을 선택한 후 컨텍스트 메뉴를 사용하여 사진을 앨범에 추가할 "
|
||||
"수 있습니다."
|
||||
|
||||
#: src/options/options.js:322
|
||||
#: src/options/options.js:327
|
||||
msgid "After two months"
|
||||
msgstr "2개월 후"
|
||||
|
||||
#: src/options/options.js:320
|
||||
#: src/options/options.js:325
|
||||
msgid "After two weeks"
|
||||
msgstr "2주 후"
|
||||
|
||||
|
@ -162,7 +162,7 @@ msgid "Album Name"
|
|||
msgstr "앨범 이름"
|
||||
|
||||
#: src/component/navigation.vue:130 src/component/navigation.vue:140
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:545
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:544
|
||||
#: src/routes.js:134 src/routes.js:141 src/share/albums.vue:4
|
||||
msgid "Albums"
|
||||
msgstr "앨범"
|
||||
|
@ -320,7 +320,7 @@ msgstr ""
|
|||
msgid "Automatically creates albums of special moments, trips, and places."
|
||||
msgstr "특별한 순간, 여행 및 장소의 앨범을 자동으로 생성합니다."
|
||||
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:26
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:23
|
||||
msgid "Become a sponsor"
|
||||
msgstr "후원자가 되십시오"
|
||||
|
||||
|
@ -328,15 +328,15 @@ msgstr "후원자가 되십시오"
|
|||
msgid "Bio"
|
||||
msgstr "바이오"
|
||||
|
||||
#: src/options/options.js:342
|
||||
#: src/options/options.js:347
|
||||
msgid "Black"
|
||||
msgstr "검은색"
|
||||
|
||||
#: src/options/options.js:355
|
||||
#: src/options/options.js:360
|
||||
msgid "Blackman: Lanczos Modification, Less Ringing Artifacts"
|
||||
msgstr "Blackman: Lanczos 수정, 덜 울리는 아티팩트"
|
||||
|
||||
#: src/options/options.js:338
|
||||
#: src/options/options.js:343
|
||||
msgid "Blue"
|
||||
msgstr "파란색"
|
||||
|
||||
|
@ -344,7 +344,7 @@ msgstr "파란색"
|
|||
msgid "Brazilian Portuguese"
|
||||
msgstr "브라질 포르투갈어"
|
||||
|
||||
#: src/options/options.js:339
|
||||
#: src/options/options.js:344
|
||||
msgid "Brown"
|
||||
msgstr "갈색"
|
||||
|
||||
|
@ -356,7 +356,7 @@ msgstr "검색하고 이미지 분류 라벨 편집하기."
|
|||
msgid "Browse indexed files and folders in Library."
|
||||
msgstr "라이브러리에서 인덱싱된 파일 및 폴더를 검색합니다."
|
||||
|
||||
#: src/options/options.js:349
|
||||
#: src/options/options.js:354
|
||||
msgid "Bug Report"
|
||||
msgstr "버그 신고"
|
||||
|
||||
|
@ -364,7 +364,7 @@ msgstr "버그 신고"
|
|||
msgid "Busy, please wait…"
|
||||
msgstr "처리중, 잠시만 기다려주세요…"
|
||||
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:835
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:834
|
||||
#: src/routes.js:147 src/routes.js:154
|
||||
msgid "Calendar"
|
||||
msgstr "달력"
|
||||
|
@ -524,7 +524,7 @@ msgstr "만듦"
|
|||
msgid "Creating thumbnails for"
|
||||
msgstr "축소판 만들기"
|
||||
|
||||
#: src/options/options.js:357
|
||||
#: src/options/options.js:362
|
||||
msgid "Cubic: Moderate Quality, Good Performance"
|
||||
msgstr "큐빅: 보통 품질, 우수한 성능"
|
||||
|
||||
|
@ -532,15 +532,15 @@ msgstr "큐빅: 보통 품질, 우수한 성능"
|
|||
msgid "Current Password"
|
||||
msgstr "현재 비밀번호"
|
||||
|
||||
#: src/options/options.js:346
|
||||
#: src/options/options.js:351
|
||||
msgid "Customer Support"
|
||||
msgstr "고객 지원"
|
||||
|
||||
#: src/options/options.js:337
|
||||
#: src/options/options.js:342
|
||||
msgid "Cyan"
|
||||
msgstr "청록색"
|
||||
|
||||
#: src/options/options.js:204
|
||||
#: src/options/options.js:219
|
||||
msgid "Cyano"
|
||||
msgstr "시아노"
|
||||
|
||||
|
@ -548,12 +548,11 @@ msgstr "시아노"
|
|||
msgid "Czech"
|
||||
msgstr "체코어"
|
||||
|
||||
#: src/options/options.js:310
|
||||
#: src/options/options.js:315
|
||||
msgid "Daily"
|
||||
msgstr "매일"
|
||||
|
||||
#: src/options/options.js:95
|
||||
#| msgid "Spanish"
|
||||
msgid "Danish"
|
||||
msgstr "덴마크어"
|
||||
|
||||
|
@ -677,7 +676,7 @@ msgstr "RawTherapee를 사용하여 RAW 파일을 변환하지 마십시오."
|
|||
msgid "Don't use TensorFlow for image classification."
|
||||
msgstr "TensorFlow로 이미지 분류하지 않기."
|
||||
|
||||
#: src/options/options.js:350
|
||||
#: src/options/options.js:355
|
||||
msgid "Donations"
|
||||
msgstr "기부"
|
||||
|
||||
|
@ -799,7 +798,7 @@ msgstr "좌표 없이 사진의 대략적인 위치를 추정합니다."
|
|||
msgid "Estimates"
|
||||
msgstr "견적"
|
||||
|
||||
#: src/options/options.js:311
|
||||
#: src/options/options.js:316
|
||||
msgid "Every two days"
|
||||
msgstr "2일마다"
|
||||
|
||||
|
@ -814,8 +813,7 @@ msgstr ""
|
|||
msgid "Exclude hidden"
|
||||
msgstr "숨김 제외"
|
||||
|
||||
#: src/component/navigation.vue:252
|
||||
#| msgid "Expand Search"
|
||||
#: src/component/navigation.vue:251
|
||||
msgid "Expand"
|
||||
msgstr "확장"
|
||||
|
||||
|
@ -844,7 +842,6 @@ msgid "Face"
|
|||
msgstr "얼굴"
|
||||
|
||||
#: src/dialog/photo/info.vue:73
|
||||
#| msgid "Places"
|
||||
msgid "Faces"
|
||||
msgstr "얼굴"
|
||||
|
||||
|
@ -864,7 +861,7 @@ msgstr "링크를 업데이트하지 못했습니다"
|
|||
msgid "Failure while importing uploaded files"
|
||||
msgstr "업로드된 파일을 가져오는 중 실패"
|
||||
|
||||
#: src/options/options.js:250
|
||||
#: src/options/options.js:255
|
||||
msgid "Fast"
|
||||
msgstr "빠른"
|
||||
|
||||
|
@ -872,12 +869,12 @@ msgstr "빠른"
|
|||
msgid "Favorite"
|
||||
msgstr "즐겨 찾기"
|
||||
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:747
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:746
|
||||
#: src/routes.js:180
|
||||
msgid "Favorites"
|
||||
msgstr "즐겨 찾기"
|
||||
|
||||
#: src/options/options.js:348
|
||||
#: src/options/options.js:353
|
||||
msgid "Feature Request"
|
||||
msgstr "기능 요청"
|
||||
|
||||
|
@ -924,7 +921,7 @@ msgstr "폴더에 %{n} 파일을 포함됨"
|
|||
msgid "Folder is empty"
|
||||
msgstr "폴더가 비어 있습니다"
|
||||
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1043
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1042
|
||||
#: src/routes.js:160 src/routes.js:167
|
||||
msgid "Folders"
|
||||
msgstr "폴더"
|
||||
|
@ -945,7 +942,7 @@ msgstr "일반"
|
|||
msgid "German"
|
||||
msgstr "독일어"
|
||||
|
||||
#: src/options/options.js:332
|
||||
#: src/options/options.js:337
|
||||
msgid "Gold"
|
||||
msgstr "금색"
|
||||
|
||||
|
@ -953,11 +950,11 @@ msgstr "금색"
|
|||
msgid "Grayscale"
|
||||
msgstr "회색"
|
||||
|
||||
#: src/options/options.js:335
|
||||
#: src/options/options.js:340
|
||||
msgid "Green"
|
||||
msgstr "녹색"
|
||||
|
||||
#: src/options/options.js:341
|
||||
#: src/options/options.js:346
|
||||
msgid "Grey"
|
||||
msgstr "회색"
|
||||
|
||||
|
@ -1002,7 +999,7 @@ msgstr "힌디어"
|
|||
msgid "How can we help?"
|
||||
msgstr "어떻게 도와 드릴까요?"
|
||||
|
||||
#: src/options/options.js:273
|
||||
#: src/options/options.js:278
|
||||
msgid "Hybrid"
|
||||
msgstr "하이브리드"
|
||||
|
||||
|
@ -1010,19 +1007,11 @@ msgstr "하이브리드"
|
|||
msgid "I'm a sponsor"
|
||||
msgstr "나는 후원자다"
|
||||
|
||||
#: src/pages/about/about.vue:22
|
||||
msgid ""
|
||||
"If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
"GitHub Sponsors."
|
||||
msgstr ""
|
||||
"PhotoPrism 사용이 마음에 드시면 Patreon 또는 GitHub 스폰서에서 저희를 후원해 "
|
||||
"주세요."
|
||||
|
||||
#: src/dialog/photo/labels.vue:34
|
||||
msgid "image"
|
||||
msgstr "이미지"
|
||||
|
||||
#: src/options/options.js:288
|
||||
#: src/options/options.js:293
|
||||
msgid "Image"
|
||||
msgstr "이미지"
|
||||
|
||||
|
@ -1142,7 +1131,7 @@ msgstr "쿠르드어"
|
|||
msgid "Label"
|
||||
msgstr "라벨"
|
||||
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:998
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:997
|
||||
#: src/dialog/photo/edit.vue:39 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:216 src/pages/settings/general.vue:382
|
||||
#: src/routes.js:259
|
||||
|
@ -1153,7 +1142,7 @@ msgstr "라벨"
|
|||
msgid "Labels deleted"
|
||||
msgstr "라벨 삭제됨"
|
||||
|
||||
#: src/options/options.js:356
|
||||
#: src/options/options.js:361
|
||||
msgid "Lanczos: Detail Preservation, Minimal Artifacts"
|
||||
msgstr "Lanczos: 디테일 보존, 최소한의 인공물"
|
||||
|
||||
|
@ -1169,7 +1158,7 @@ msgstr "마지막 백업"
|
|||
msgid "Latitude"
|
||||
msgstr "위도"
|
||||
|
||||
#: src/options/options.js:209
|
||||
#: src/options/options.js:224
|
||||
msgid "Lavender"
|
||||
msgstr "라벤더색"
|
||||
|
||||
|
@ -1177,13 +1166,8 @@ msgstr "라벤더색"
|
|||
msgid "Lens"
|
||||
msgstr "렌즈"
|
||||
|
||||
#: src/pages/about/about.vue:37
|
||||
msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
msgstr ""
|
||||
"아이디어에 자금이 지원되지 않는 것으로 잘못 레이블이 지정되면 알려주십시오."
|
||||
|
||||
#: src/component/navigation.vue:301 src/component/navigation.vue:311
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1135
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1134
|
||||
#: src/pages/settings.vue:41 src/pages/settings/general.vue:404
|
||||
#: src/routes.js:291 src/routes.js:298 src/routes.js:305
|
||||
msgid "Library"
|
||||
|
@ -1198,7 +1182,7 @@ msgstr "라이센스"
|
|||
msgid "Like"
|
||||
msgstr "좋아요"
|
||||
|
||||
#: src/options/options.js:334
|
||||
#: src/options/options.js:339
|
||||
msgid "Lime"
|
||||
msgstr "라임색"
|
||||
|
||||
|
@ -1206,7 +1190,7 @@ msgstr "라임색"
|
|||
msgid "Limit reached, showing first %{n} files"
|
||||
msgstr "한도에 도달하여 처음 %{n} 파일을 표시합니다"
|
||||
|
||||
#: src/options/options.js:358
|
||||
#: src/options/options.js:363
|
||||
msgid "Linear: Very Smooth, Best Performance"
|
||||
msgstr "Linear: 매우 부드럽고 최고의 성능"
|
||||
|
||||
|
@ -1218,9 +1202,9 @@ msgstr "링크"
|
|||
msgid "List"
|
||||
msgstr "리스트"
|
||||
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:188
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:296
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:167
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:186
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:301
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:165
|
||||
#: src/share/photo/mosaic.vue:171
|
||||
msgid "Live"
|
||||
msgstr "라이브"
|
||||
|
@ -1247,12 +1231,12 @@ msgstr ""
|
|||
"PhotoPrism이 깨진 파일을 발견하거나 다른 잠재적인 문제가 있을 때마다 로그 메"
|
||||
"시지가 여기에 나타납니다."
|
||||
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1471
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1470
|
||||
msgid "Login"
|
||||
msgstr "로그인"
|
||||
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1581
|
||||
#: src/component/navigation.vue:1612
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1580
|
||||
#: src/component/navigation.vue:1611
|
||||
msgid "Logout"
|
||||
msgstr "로그아웃"
|
||||
|
||||
|
@ -1264,7 +1248,7 @@ msgstr "로그"
|
|||
msgid "Longitude"
|
||||
msgstr "경도"
|
||||
|
||||
#: src/options/options.js:328
|
||||
#: src/options/options.js:333
|
||||
msgid "Magenta"
|
||||
msgstr "마젠타색"
|
||||
|
||||
|
@ -1284,7 +1268,7 @@ msgstr "수동 업로드"
|
|||
msgid "Marker"
|
||||
msgstr "마커"
|
||||
|
||||
#: src/options/options.js:254
|
||||
#: src/options/options.js:259
|
||||
msgid "Medium"
|
||||
msgstr "중간"
|
||||
|
||||
|
@ -1296,7 +1280,7 @@ msgstr "%{a}을 %{b}과(를) 병합하시겠습니까?"
|
|||
msgid "Message sent"
|
||||
msgstr "매시지 보냄"
|
||||
|
||||
#: src/component/navigation.vue:205
|
||||
#: src/component/navigation.vue:204
|
||||
msgid "Minimize"
|
||||
msgstr "최소화"
|
||||
|
||||
|
@ -1304,7 +1288,7 @@ msgstr "최소화"
|
|||
msgid "Missing"
|
||||
msgstr "누락됨"
|
||||
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:790
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:789
|
||||
#: src/pages/settings/general.vue:360 src/routes.js:121 src/routes.js:128
|
||||
msgid "Moments"
|
||||
msgstr "나의 순간"
|
||||
|
@ -1317,7 +1301,7 @@ msgstr "단색"
|
|||
msgid "Month"
|
||||
msgstr "달"
|
||||
|
||||
#: src/options/options.js:214
|
||||
#: src/options/options.js:209
|
||||
msgid "Moonlight"
|
||||
msgstr "월광"
|
||||
|
||||
|
@ -1352,7 +1336,7 @@ msgid "Move Files"
|
|||
msgstr "파일 이동하기"
|
||||
|
||||
#: src/component/photo/cards.vue:30 src/component/photo/list.vue:38
|
||||
#: src/component/photo/list.vue:237 src/dialog/account/edit.vue:397
|
||||
#: src/component/photo/list.vue:235 src/dialog/account/edit.vue:397
|
||||
#: src/dialog/album/edit.vue:106 src/dialog/photo/files.vue:71
|
||||
#: src/dialog/photo/files.vue:68 src/dialog/photo/files.vue:30
|
||||
#: src/dialog/photo/info.vue:31 src/dialog/photo/labels.vue:48
|
||||
|
@ -1361,7 +1345,7 @@ msgstr "파일 이동하기"
|
|||
#: src/pages/login.vue:73 src/pages/people/faces.vue:48
|
||||
#: src/pages/people/faces.vue:307 src/pages/people/subjects.vue:393
|
||||
#: src/share/photo/cards.vue:30 src/share/photo/list.vue:34
|
||||
#: src/share/photo/list.vue:216
|
||||
#: src/share/photo/list.vue:214
|
||||
msgid "Name"
|
||||
msgstr "이름"
|
||||
|
||||
|
@ -1372,7 +1356,7 @@ msgstr "이름"
|
|||
msgid "Name too long"
|
||||
msgstr "이름이 너무 깁니다"
|
||||
|
||||
#: src/options/options.js:306 src/options/options.js:316
|
||||
#: src/options/options.js:311 src/options/options.js:321
|
||||
#: src/pages/settings/sync.vue:50
|
||||
msgid "Never"
|
||||
msgstr "안함"
|
||||
|
@ -1454,7 +1438,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"사진이 아닌 저품질 이미지는 검색 결과에 표시되기 전에 검토가 필요합니다."
|
||||
|
||||
#: src/options/options.js:246
|
||||
#: src/options/options.js:251
|
||||
msgid "None"
|
||||
msgstr "없음"
|
||||
|
||||
|
@ -1499,8 +1483,8 @@ msgstr "노트"
|
|||
msgid "Nothing to see here yet. Be patient."
|
||||
msgstr "아직 볼 것이 없습니다. 인내심을 가지세요."
|
||||
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1516
|
||||
#: src/options/options.js:265
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1515
|
||||
#: src/options/options.js:270
|
||||
msgid "Offline"
|
||||
msgstr "오프라인"
|
||||
|
||||
|
@ -1509,7 +1493,7 @@ msgstr "오프라인"
|
|||
msgid "Oldest first"
|
||||
msgstr "날짜 내림차 순"
|
||||
|
||||
#: src/options/options.js:312
|
||||
#: src/options/options.js:317
|
||||
msgid "Once a week"
|
||||
msgstr "일주일에 한 번"
|
||||
|
||||
|
@ -1539,7 +1523,7 @@ msgstr "한 사람이 발견됨"
|
|||
msgid "One picture found"
|
||||
msgstr "사진 1장 발견"
|
||||
|
||||
#: src/options/options.js:219
|
||||
#: src/options/options.js:214
|
||||
msgid "Onyx"
|
||||
msgstr "오닉스색"
|
||||
|
||||
|
@ -1547,12 +1531,11 @@ msgstr "오닉스색"
|
|||
msgid "Options"
|
||||
msgstr "옵션"
|
||||
|
||||
#: src/options/options.js:331
|
||||
#: src/options/options.js:336
|
||||
msgid "Orange"
|
||||
msgstr "주황색"
|
||||
|
||||
#: src/dialog/photo/files.vue:129 src/dialog/photo/files.vue:126
|
||||
#| msgid "Animation"
|
||||
msgid "Orientation"
|
||||
msgstr "방향"
|
||||
|
||||
|
@ -1574,7 +1557,7 @@ msgstr "원본 이름"
|
|||
msgid "Originals"
|
||||
msgstr "오리지널"
|
||||
|
||||
#: src/options/options.js:351
|
||||
#: src/options/options.js:356
|
||||
msgid "Other"
|
||||
msgstr "다른"
|
||||
|
||||
|
@ -1586,7 +1569,7 @@ msgstr ""
|
|||
"우리의 비전은 사진 컬렉션을 탐색, 구성 및 공유하기 위한 가장 사용자 친화적인 "
|
||||
"솔루션을 제공하는 것입니다."
|
||||
|
||||
#: src/options/options.js:281
|
||||
#: src/options/options.js:286
|
||||
msgid "Outdoor"
|
||||
msgstr "아웃도어"
|
||||
|
||||
|
@ -1607,7 +1590,7 @@ msgstr "비밀번호"
|
|||
msgid "Password changed"
|
||||
msgstr "비밀번호 변경됨"
|
||||
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:702
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:701
|
||||
#: src/dialog/photo/edit.vue:52 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:267 src/pages/settings/general.vue:338
|
||||
#: src/routes.js:265 src/routes.js:285
|
||||
|
@ -1634,7 +1617,7 @@ msgstr "사진"
|
|||
msgid "PhotoPrism has been updated…"
|
||||
msgstr "PhotoPrism 업데이트되었습니다…"
|
||||
|
||||
#: src/pages/about/about.vue:46
|
||||
#: src/pages/about/about.vue:38
|
||||
msgid "PhotoPrism® is a registered trademark of Michael Mayer."
|
||||
msgstr "PhotoPrism® 은 Michael Mayer의 등록 상표입니다."
|
||||
|
||||
|
@ -1642,7 +1625,7 @@ msgstr "PhotoPrism® 은 Michael Mayer의 등록 상표입니다."
|
|||
msgid "Photos"
|
||||
msgstr "사진"
|
||||
|
||||
#: src/options/options.js:329
|
||||
#: src/options/options.js:334
|
||||
msgid "Pink"
|
||||
msgstr "분홍색"
|
||||
|
||||
|
@ -1655,7 +1638,7 @@ msgid "Place & Time"
|
|||
msgstr "장소 & 시간"
|
||||
|
||||
#: src/component/navigation.vue:228 src/component/navigation.vue:238
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:880
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:879
|
||||
#: src/pages/settings/general.vue:108 src/pages/settings/general.vue:450
|
||||
#: src/routes.js:215 src/routes.js:221 src/routes.js:227 src/routes.js:234
|
||||
msgid "Places"
|
||||
|
@ -1717,13 +1700,13 @@ msgstr "미리보기"
|
|||
msgid "Primary"
|
||||
msgstr "주요"
|
||||
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1088
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1087
|
||||
#: src/dialog/photo/info.vue:102 src/pages/settings/general.vue:272
|
||||
#: src/routes.js:201
|
||||
msgid "Private"
|
||||
msgstr "비공개"
|
||||
|
||||
#: src/options/options.js:347
|
||||
#: src/options/options.js:352
|
||||
msgid "Product Feedback"
|
||||
msgstr "제품 피드백"
|
||||
|
||||
|
@ -1731,7 +1714,7 @@ msgstr "제품 피드백"
|
|||
msgid "Projection"
|
||||
msgstr "투사"
|
||||
|
||||
#: src/options/options.js:327
|
||||
#: src/options/options.js:332
|
||||
msgid "Purple"
|
||||
msgstr "보라색"
|
||||
|
||||
|
@ -1747,11 +1730,11 @@ msgstr "품질 점수"
|
|||
msgid "Random"
|
||||
msgstr "랜덤"
|
||||
|
||||
#: src/options/options.js:224
|
||||
#: src/options/options.js:229
|
||||
msgid "Raspberry"
|
||||
msgstr "라즈베리색"
|
||||
|
||||
#: src/options/options.js:292
|
||||
#: src/options/options.js:297
|
||||
msgid "Raw"
|
||||
msgstr "원시"
|
||||
|
||||
|
@ -1796,7 +1779,7 @@ msgstr "인정"
|
|||
msgid "Recognizes faces so that specific people can be found."
|
||||
msgstr "특정 사람을 찾을 수 있도록 얼굴을 인식합니다."
|
||||
|
||||
#: src/options/options.js:330
|
||||
#: src/options/options.js:335
|
||||
msgid "Red"
|
||||
msgstr "빨간색"
|
||||
|
||||
|
@ -1844,7 +1827,7 @@ msgstr "버그 신고하기"
|
|||
msgid "Request failed - invalid response"
|
||||
msgstr "요청 실패 - 잘못된 응답"
|
||||
|
||||
#: src/pages/about/about.vue:36
|
||||
#: src/pages/about/about.vue:30
|
||||
msgid ""
|
||||
"Requests endorsed by silver and gold sponsors receive a golden label and "
|
||||
"will be prioritized."
|
||||
|
@ -1890,7 +1873,7 @@ msgid "Scans"
|
|||
msgstr "스켄"
|
||||
|
||||
#: src/component/navigation.vue:56 src/component/navigation.vue:66
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:284
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:283
|
||||
#: src/component/photo/toolbar.vue:48 src/pages/albums.vue:109
|
||||
#: src/pages/labels.vue:81 src/pages/library/errors.vue:60
|
||||
#: src/pages/people/subjects.vue:86 src/pages/places.vue:30 src/routes.js:107
|
||||
|
@ -1905,7 +1888,7 @@ msgstr "검색하고 지도에서 시진을 표시합니다."
|
|||
msgid "Season"
|
||||
msgstr "계절"
|
||||
|
||||
#: src/options/options.js:229
|
||||
#: src/options/options.js:234
|
||||
msgid "Seaweed"
|
||||
msgstr "해초"
|
||||
|
||||
|
@ -1952,7 +1935,7 @@ msgstr "서비스 URL"
|
|||
|
||||
#: src/component/navigation.vue:352 src/component/navigation.vue:362
|
||||
#: src/component/navigation.vue:8 src/component/navigation.vue:18
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1309
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1308
|
||||
#: src/routes.js:313 src/routes.js:325 src/routes.js:337 src/routes.js:349
|
||||
#: src/routes.js:361
|
||||
msgid "Settings"
|
||||
|
@ -1967,7 +1950,7 @@ msgstr "설정 저장됨"
|
|||
msgid "Setup"
|
||||
msgstr "설치"
|
||||
|
||||
#: src/options/options.js:234
|
||||
#: src/options/options.js:239
|
||||
msgid "Shadow"
|
||||
msgstr "그림자"
|
||||
|
||||
|
@ -1985,7 +1968,6 @@ msgid "Shared with you."
|
|||
msgstr "나와 공유됨."
|
||||
|
||||
#: src/pages/people/faces.vue:227 src/pages/people/subjects.vue:285
|
||||
#| msgid "Show less"
|
||||
msgid "Show"
|
||||
msgstr "보이기"
|
||||
|
||||
|
@ -2026,7 +2008,6 @@ msgid "Sign in"
|
|||
msgstr "등록"
|
||||
|
||||
#: src/dialog/sponsor.vue:39
|
||||
#| msgid "Sign in"
|
||||
msgid "Sign Up"
|
||||
msgstr "회원가입"
|
||||
|
||||
|
@ -2043,7 +2024,7 @@ msgstr "크기"
|
|||
msgid "Slovak"
|
||||
msgstr "슬로바키아어"
|
||||
|
||||
#: src/options/options.js:258
|
||||
#: src/options/options.js:263
|
||||
msgid "Slow"
|
||||
msgstr "느림"
|
||||
|
||||
|
@ -2066,7 +2047,6 @@ msgstr "스페인어"
|
|||
|
||||
#: src/component/photo/cards.vue:235 src/component/photo/mosaic.vue:210
|
||||
#: src/share/photo/cards.vue:208 src/share/photo/mosaic.vue:191
|
||||
#| msgid "Stacks"
|
||||
msgid "Stack"
|
||||
msgstr "스택"
|
||||
|
||||
|
@ -2121,7 +2101,7 @@ msgstr "상태"
|
|||
msgid "Storage Folder"
|
||||
msgstr "저장 폴더"
|
||||
|
||||
#: src/options/options.js:269
|
||||
#: src/options/options.js:274
|
||||
msgid "Streets"
|
||||
msgstr "거리"
|
||||
|
||||
|
@ -2154,7 +2134,7 @@ msgstr "원시 사진과 동영상 파일을 동기화하기"
|
|||
msgid "Taken"
|
||||
msgstr "찍음"
|
||||
|
||||
#: src/options/options.js:336
|
||||
#: src/options/options.js:341
|
||||
msgid "Teal"
|
||||
msgstr "암녹색"
|
||||
|
||||
|
@ -2162,7 +2142,7 @@ msgstr "암녹색"
|
|||
msgid "Text too long"
|
||||
msgstr "텍스트는 너무 긴다"
|
||||
|
||||
#: src/pages/about/about.vue:40
|
||||
#: src/pages/about/about.vue:31
|
||||
msgid "Thank you very much!"
|
||||
msgstr "매우 감사합니다!"
|
||||
|
||||
|
@ -2206,10 +2186,6 @@ msgstr ""
|
|||
"이렇게 하면 원본 폴더가 네트워크 드라이브로 마운트되고 컴퓨터나 스마트폰에서 "
|
||||
"파일을 로컬에 있는 것처럼 열고 편집하고 삭제할 수 있습니다."
|
||||
|
||||
#: src/pages/about/about.vue:21
|
||||
msgid "This open-source project is made possible thanks to our sponsors."
|
||||
msgstr "이 오픈 소스 프로젝트는 후원자 덕분에 가능했습니다."
|
||||
|
||||
#: src/pages/settings/advanced.vue:253
|
||||
msgid "Thumbnail Generation"
|
||||
msgstr "썸내일 생성"
|
||||
|
@ -2245,11 +2221,11 @@ msgstr "보기형식 변경"
|
|||
msgid "Token"
|
||||
msgstr "토큰"
|
||||
|
||||
#: src/options/options.js:277
|
||||
#: src/options/options.js:282
|
||||
msgid "Topographic"
|
||||
msgstr "지형"
|
||||
|
||||
#: src/pages/about/about.vue:43
|
||||
#: src/pages/about/about.vue:35
|
||||
msgid "Trademarks"
|
||||
msgstr "상표"
|
||||
|
||||
|
@ -2319,7 +2295,7 @@ msgstr "미리보기 업데이트"
|
|||
msgid "Updating stacks"
|
||||
msgstr "스택을 업데이트 중"
|
||||
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:130
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:129
|
||||
#: src/component/photo/toolbar.vue:125 src/dialog/share/upload.vue:35
|
||||
#: src/dialog/upload.vue:8 src/dialog/upload.vue:54 src/pages/albums.vue:152
|
||||
#: src/pages/library/import.vue:38 src/pages/settings/general.vue:140
|
||||
|
@ -2380,16 +2356,20 @@ msgstr "사용자 인터페이스"
|
|||
msgid "Username"
|
||||
msgstr "사용자 이름"
|
||||
|
||||
#: src/options/options.js:204
|
||||
msgid "Vanta"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:29 src/component/photo/cards.vue:225
|
||||
#: src/component/photo/list.vue:198 src/component/photo/mosaic.vue:200
|
||||
#: src/component/photo/list.vue:196 src/component/photo/mosaic.vue:200
|
||||
#: src/model/file.js:183 src/model/photo.js:618 src/model/photo.js:632
|
||||
#: src/options/options.js:300 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:177
|
||||
#: src/options/options.js:305 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:175
|
||||
#: src/share/photo/mosaic.vue:181
|
||||
msgid "Video"
|
||||
msgstr "동영상"
|
||||
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:658
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:657
|
||||
#: src/routes.js:187
|
||||
msgid "Videos"
|
||||
msgstr "동영상"
|
||||
|
@ -2424,7 +2404,7 @@ msgstr ""
|
|||
msgid "WebDAV Upload"
|
||||
msgstr "WebDAV 업로드"
|
||||
|
||||
#: src/options/options.js:340
|
||||
#: src/options/options.js:345
|
||||
msgid "White"
|
||||
msgstr "백색"
|
||||
|
||||
|
@ -2432,11 +2412,11 @@ msgstr "백색"
|
|||
msgid "Year"
|
||||
msgstr "년"
|
||||
|
||||
#: src/options/options.js:333
|
||||
#: src/options/options.js:338
|
||||
msgid "Yellow"
|
||||
msgstr "황색"
|
||||
|
||||
#: src/options/options.js:239
|
||||
#: src/options/options.js:244
|
||||
msgid "Yellowstone"
|
||||
msgstr "옐로스톤"
|
||||
|
||||
|
@ -2468,7 +2448,7 @@ msgstr "하나의 아이템 선택할 수 있습니다"
|
|||
msgid "You may rescan your library to find additional faces."
|
||||
msgstr "추가 얼굴을 찾기 위해 라이브러리를 다시 검색할 수 있습니다."
|
||||
|
||||
#: src/pages/about/about.vue:47
|
||||
#: src/pages/about/about.vue:39
|
||||
msgid ""
|
||||
"You may use it as required to describe our software, run your own server, "
|
||||
"for educational purposes, but not for offering commercial goods, products, "
|
||||
|
@ -2478,13 +2458,13 @@ msgstr ""
|
|||
"한 대로 사용할 수 있지만 사전 서면 허가 없이 상업 상품, 제품 또는 서비스를 제"
|
||||
"공할 수 없습니다. 즉, 물어보십시오."
|
||||
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:32
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:29
|
||||
msgid ""
|
||||
"Your continued support helps us fund operating costs, provide services like "
|
||||
"satellite maps, and develop new features."
|
||||
"Your continued support helps us provide services like satellite maps and "
|
||||
"develop new features."
|
||||
msgstr ""
|
||||
"귀하의 지속적인 지원은 운영 비용을 지원하고 위성 지도와 같은 서비스를 제공하"
|
||||
"며 새로운 기능을 개발하는 데 도움이 됩니다."
|
||||
"귀하의 지속적인 지원은 위성 지도와 같은 서비스를 제공하고 새로운 기능을 개발"
|
||||
"하는 데 도움이 됩니다."
|
||||
|
||||
#: src/pages/albums.vue:43 src/pages/albums.vue:1
|
||||
msgid ""
|
||||
|
@ -2502,6 +2482,21 @@ msgstr "당신의 메시지가 전송되었습니다"
|
|||
msgid "Zoom in/out"
|
||||
msgstr "확대/축소"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
#~ "GitHub Sponsors."
|
||||
#~ msgstr ""
|
||||
#~ "PhotoPrism 사용이 마음에 드시면 Patreon 또는 GitHub 스폰서에서 저희를 후원"
|
||||
#~ "해 주세요."
|
||||
|
||||
#~ msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
#~ msgstr ""
|
||||
#~ "아이디어에 자금이 지원되지 않는 것으로 잘못 레이블이 지정되면 알려주십시"
|
||||
#~ "오."
|
||||
|
||||
#~ msgid "This open-source project is made possible thanks to our sponsors."
|
||||
#~ msgstr "이 오픈 소스 프로젝트는 후원자 덕분에 가능했습니다."
|
||||
|
||||
#~ msgid "%{n} results"
|
||||
#~ msgstr "%{n}개 결과"
|
||||
|
||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
@ -65,7 +65,7 @@ msgstr ""
|
|||
#: src/component/navigation.vue:371
|
||||
#: src/component/navigation.vue:27
|
||||
#: src/pages/about/about.vue:4
|
||||
#: src/pages/about/about.vue:88
|
||||
#: src/pages/about/about.vue:81
|
||||
#: src/pages/help.vue:45
|
||||
msgid "About"
|
||||
msgstr ""
|
||||
|
@ -330,7 +330,7 @@ msgstr ""
|
|||
msgid "Aspect Ratio"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings/account.vue:82
|
||||
#: src/pages/settings/account.vue:81
|
||||
msgid "At least 6 characters."
|
||||
msgstr ""
|
||||
|
||||
|
@ -343,7 +343,7 @@ msgid "Automatically creates albums of special moments, trips, and places."
|
|||
msgstr ""
|
||||
|
||||
#: src/dialog/sponsor.vue:7
|
||||
#: src/pages/about/about.vue:26
|
||||
#: src/pages/about/about.vue:23
|
||||
msgid "Become a sponsor"
|
||||
msgstr ""
|
||||
|
||||
|
@ -584,7 +584,7 @@ msgstr ""
|
|||
msgid "Cubic: Moderate Quality, Good Performance"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings/account.vue:56
|
||||
#: src/pages/settings/account.vue:55
|
||||
msgid "Current Password"
|
||||
msgstr ""
|
||||
|
||||
|
@ -596,7 +596,7 @@ msgstr ""
|
|||
msgid "Cyan"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:214
|
||||
#: src/options/options.js:219
|
||||
msgid "Cyano"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1100,10 +1100,6 @@ msgstr ""
|
|||
msgid "I'm a sponsor"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/about/about.vue:22
|
||||
msgid "If you enjoy using PhotoPrism, please consider backing us on Patreon or GitHub Sponsors."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/photo/labels.vue:34
|
||||
msgid "image"
|
||||
msgstr ""
|
||||
|
@ -1260,7 +1256,7 @@ msgstr ""
|
|||
msgid "Latitude"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:219
|
||||
#: src/options/options.js:224
|
||||
msgid "Lavender"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1268,10 +1264,6 @@ msgstr ""
|
|||
msgid "Lens"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/about/about.vue:37
|
||||
msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
msgstr ""
|
||||
|
||||
#: src/component/navigation.vue:301
|
||||
#: src/component/navigation.vue:311
|
||||
#: src/component/navigation.vue:4
|
||||
|
@ -1402,10 +1394,6 @@ msgstr ""
|
|||
msgid "Message sent"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:234
|
||||
msgid "Midnight"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/navigation.vue:204
|
||||
msgid "Minimize"
|
||||
msgstr ""
|
||||
|
@ -1432,7 +1420,7 @@ msgstr ""
|
|||
msgid "Month"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:204
|
||||
#: src/options/options.js:209
|
||||
msgid "Moonlight"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1515,7 +1503,7 @@ msgstr ""
|
|||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings/account.vue:78
|
||||
#: src/pages/settings/account.vue:77
|
||||
msgid "New Password"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1687,7 +1675,7 @@ msgstr ""
|
|||
msgid "One picture found"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:209
|
||||
#: src/options/options.js:214
|
||||
msgid "Onyx"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1786,7 +1774,7 @@ msgstr ""
|
|||
msgid "PhotoPrism has been updated…"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/about/about.vue:46
|
||||
#: src/pages/about/about.vue:38
|
||||
msgid "PhotoPrism® is a registered trademark of Michael Mayer."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1826,7 +1814,7 @@ msgstr ""
|
|||
msgid "Play"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings/account.vue:105
|
||||
#: src/pages/settings/account.vue:104
|
||||
msgid "Please confirm your new password."
|
||||
msgstr ""
|
||||
|
||||
|
@ -1914,7 +1902,7 @@ msgstr ""
|
|||
msgid "Random"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:224
|
||||
#: src/options/options.js:229
|
||||
msgid "Raspberry"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2017,7 +2005,7 @@ msgstr ""
|
|||
msgid "Request failed - invalid response"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/about/about.vue:36
|
||||
#: src/pages/about/about.vue:30
|
||||
msgid "Requests endorsed by silver and gold sponsors receive a golden label and will be prioritized."
|
||||
msgstr ""
|
||||
|
||||
|
@ -2035,7 +2023,7 @@ msgstr ""
|
|||
msgid "Restore"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings/account.vue:101
|
||||
#: src/pages/settings/account.vue:100
|
||||
msgid "Retype Password"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2084,7 +2072,7 @@ msgstr ""
|
|||
msgid "Season"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:229
|
||||
#: src/options/options.js:234
|
||||
msgid "Seaweed"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2353,7 +2341,7 @@ msgstr ""
|
|||
msgid "Text too long"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/about/about.vue:40
|
||||
#: src/pages/about/about.vue:31
|
||||
msgid "Thank you very much!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2382,10 +2370,6 @@ msgstr ""
|
|||
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/pages/about/about.vue:21
|
||||
msgid "This open-source project is made possible thanks to our sponsors."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/settings/advanced.vue:253
|
||||
msgid "Thumbnail Generation"
|
||||
msgstr ""
|
||||
|
@ -2432,7 +2416,7 @@ msgstr ""
|
|||
msgid "Topographic"
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/about/about.vue:43
|
||||
#: src/pages/about/about.vue:35
|
||||
msgid "Trademarks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2592,6 +2576,10 @@ msgstr ""
|
|||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:204
|
||||
msgid "Vanta"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:29
|
||||
#: src/component/photo/cards.vue:225
|
||||
#: src/component/photo/list.vue:196
|
||||
|
@ -2692,13 +2680,13 @@ msgstr ""
|
|||
msgid "You may rescan your library to find additional faces."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/about/about.vue:47
|
||||
#: src/pages/about/about.vue:39
|
||||
msgid "You may use it as required to describe our software, run your own server, for educational purposes, but not for offering commercial goods, products, or services without prior written permission. In other words, please ask."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/sponsor.vue:21
|
||||
#: src/pages/about/about.vue:32
|
||||
msgid "Your continued support helps us fund operating costs, provide services like satellite maps, and develop new features."
|
||||
#: src/pages/about/about.vue:29
|
||||
msgid "Your continued support helps us provide services like satellite maps and develop new features."
|
||||
msgstr ""
|
||||
|
||||
#: src/pages/albums.vue:43
|
||||
|
|
Binary file not shown.
|
@ -44,15 +44,15 @@ msgstr "发现%{n}人"
|
|||
msgid "%{n} pictures found"
|
||||
msgstr "发现%{n}张图片"
|
||||
|
||||
#: src/options/options.js:307
|
||||
#: src/options/options.js:312
|
||||
msgid "1 hour"
|
||||
msgstr "1 小时"
|
||||
|
||||
#: src/options/options.js:309
|
||||
#: src/options/options.js:314
|
||||
msgid "12 hours"
|
||||
msgstr "12 小时"
|
||||
|
||||
#: src/options/options.js:308
|
||||
#: src/options/options.js:313
|
||||
msgid "4 hours"
|
||||
msgstr "4 小时"
|
||||
|
||||
|
@ -61,13 +61,13 @@ msgid "A click will copy it to your clipboard."
|
|||
msgstr "点击复制到剪贴板。"
|
||||
|
||||
#: src/component/navigation.vue:371 src/component/navigation.vue:27
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:88
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:81
|
||||
#: src/pages/help.vue:45
|
||||
msgid "About"
|
||||
msgstr "关于"
|
||||
|
||||
#: src/dialog/share/upload.vue:113 src/model/account.js:96
|
||||
#: src/pages/settings.vue:74
|
||||
#: src/component/navigation.vue:44 src/dialog/share/upload.vue:113
|
||||
#: src/model/account.js:96 src/pages/settings.vue:74
|
||||
msgid "Account"
|
||||
msgstr "账号"
|
||||
|
||||
|
@ -117,23 +117,23 @@ msgstr "新增了"
|
|||
msgid "Advanced"
|
||||
msgstr "高级"
|
||||
|
||||
#: src/options/options.js:317
|
||||
#: src/options/options.js:322
|
||||
msgid "After 1 day"
|
||||
msgstr "1 天后"
|
||||
|
||||
#: src/options/options.js:318
|
||||
#: src/options/options.js:323
|
||||
msgid "After 3 days"
|
||||
msgstr "3 天后"
|
||||
|
||||
#: src/options/options.js:319
|
||||
#: src/options/options.js:324
|
||||
msgid "After 7 days"
|
||||
msgstr "7 天后"
|
||||
|
||||
#: src/options/options.js:321
|
||||
#: src/options/options.js:326
|
||||
msgid "After one month"
|
||||
msgstr "1 个月后"
|
||||
|
||||
#: src/options/options.js:323
|
||||
#: src/options/options.js:328
|
||||
msgid "After one year"
|
||||
msgstr "1 年后"
|
||||
|
||||
|
@ -143,11 +143,11 @@ msgid ""
|
|||
"using the context menu."
|
||||
msgstr "从搜索结果中选择图片后,你可以使用上下文菜单将它们添加到相册中。"
|
||||
|
||||
#: src/options/options.js:322
|
||||
#: src/options/options.js:327
|
||||
msgid "After two months"
|
||||
msgstr "2 个月后"
|
||||
|
||||
#: src/options/options.js:320
|
||||
#: src/options/options.js:325
|
||||
msgid "After two weeks"
|
||||
msgstr "2 星期后"
|
||||
|
||||
|
@ -160,7 +160,7 @@ msgid "Album Name"
|
|||
msgstr "相册名称"
|
||||
|
||||
#: src/component/navigation.vue:130 src/component/navigation.vue:140
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:545
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:544
|
||||
#: src/routes.js:134 src/routes.js:141 src/share/albums.vue:4
|
||||
msgid "Albums"
|
||||
msgstr "相册"
|
||||
|
@ -317,7 +317,7 @@ msgstr "自动为其他文件类型创建 JPEG,以便它们可以显示在浏
|
|||
msgid "Automatically creates albums of special moments, trips, and places."
|
||||
msgstr "自动创建特殊时刻、旅行和地点的相册。"
|
||||
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:26
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:23
|
||||
msgid "Become a sponsor"
|
||||
msgstr "成为赞助商"
|
||||
|
||||
|
@ -325,15 +325,15 @@ msgstr "成为赞助商"
|
|||
msgid "Bio"
|
||||
msgstr "简介"
|
||||
|
||||
#: src/options/options.js:342
|
||||
#: src/options/options.js:347
|
||||
msgid "Black"
|
||||
msgstr "黑色"
|
||||
|
||||
#: src/options/options.js:355
|
||||
#: src/options/options.js:360
|
||||
msgid "Blackman: Lanczos Modification, Less Ringing Artifacts"
|
||||
msgstr "Blackman:改进的Lanczos,更少的边缘震荡"
|
||||
|
||||
#: src/options/options.js:338
|
||||
#: src/options/options.js:343
|
||||
msgid "Blue"
|
||||
msgstr "蓝色"
|
||||
|
||||
|
@ -341,7 +341,7 @@ msgstr "蓝色"
|
|||
msgid "Brazilian Portuguese"
|
||||
msgstr "巴西葡萄牙语"
|
||||
|
||||
#: src/options/options.js:339
|
||||
#: src/options/options.js:344
|
||||
msgid "Brown"
|
||||
msgstr "棕色"
|
||||
|
||||
|
@ -353,7 +353,7 @@ msgstr "浏览和编辑图像分类标签。"
|
|||
msgid "Browse indexed files and folders in Library."
|
||||
msgstr "浏览库中的索引文件和文件夹。"
|
||||
|
||||
#: src/options/options.js:349
|
||||
#: src/options/options.js:354
|
||||
msgid "Bug Report"
|
||||
msgstr "错误报告"
|
||||
|
||||
|
@ -361,7 +361,7 @@ msgstr "错误报告"
|
|||
msgid "Busy, please wait…"
|
||||
msgstr "忙,请稍候…"
|
||||
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:835
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:834
|
||||
#: src/routes.js:147 src/routes.js:154
|
||||
msgid "Calendar"
|
||||
msgstr "日历"
|
||||
|
@ -521,7 +521,7 @@ msgstr "已新增"
|
|||
msgid "Creating thumbnails for"
|
||||
msgstr "创建缩略图"
|
||||
|
||||
#: src/options/options.js:357
|
||||
#: src/options/options.js:362
|
||||
msgid "Cubic: Moderate Quality, Good Performance"
|
||||
msgstr "Cubic: 质量适中,性能良好"
|
||||
|
||||
|
@ -529,15 +529,15 @@ msgstr "Cubic: 质量适中,性能良好"
|
|||
msgid "Current Password"
|
||||
msgstr "当前密码"
|
||||
|
||||
#: src/options/options.js:346
|
||||
#: src/options/options.js:351
|
||||
msgid "Customer Support"
|
||||
msgstr "客户支持"
|
||||
|
||||
#: src/options/options.js:337
|
||||
#: src/options/options.js:342
|
||||
msgid "Cyan"
|
||||
msgstr "青色"
|
||||
|
||||
#: src/options/options.js:204
|
||||
#: src/options/options.js:219
|
||||
msgid "Cyano"
|
||||
msgstr "氰基"
|
||||
|
||||
|
@ -545,12 +545,11 @@ msgstr "氰基"
|
|||
msgid "Czech"
|
||||
msgstr "捷克语"
|
||||
|
||||
#: src/options/options.js:310
|
||||
#: src/options/options.js:315
|
||||
msgid "Daily"
|
||||
msgstr "每天的"
|
||||
|
||||
#: src/options/options.js:95
|
||||
#| msgid "Spanish"
|
||||
msgid "Danish"
|
||||
msgstr "丹麦语"
|
||||
|
||||
|
@ -674,7 +673,7 @@ msgstr "不要使用RawTherapee来转换RAW文件。"
|
|||
msgid "Don't use TensorFlow for image classification."
|
||||
msgstr "不要使用TensorFlow进行图像分类。"
|
||||
|
||||
#: src/options/options.js:350
|
||||
#: src/options/options.js:355
|
||||
msgid "Donations"
|
||||
msgstr "捐赠"
|
||||
|
||||
|
@ -792,11 +791,10 @@ msgid "Estimate the approximate location of pictures without coordinates."
|
|||
msgstr "在没有坐标的情况下估计图片的大致位置。"
|
||||
|
||||
#: src/pages/settings/library.vue:71
|
||||
#| msgid "States"
|
||||
msgid "Estimates"
|
||||
msgstr "估算"
|
||||
|
||||
#: src/options/options.js:311
|
||||
#: src/options/options.js:316
|
||||
msgid "Every two days"
|
||||
msgstr "每两天"
|
||||
|
||||
|
@ -810,7 +808,7 @@ msgstr "除了搜尋結果中標記為私人的內容、共享相簿、標籤和
|
|||
msgid "Exclude hidden"
|
||||
msgstr "不包括隐藏的"
|
||||
|
||||
#: src/component/navigation.vue:252
|
||||
#: src/component/navigation.vue:251
|
||||
msgid "Expand"
|
||||
msgstr "展开搜寻"
|
||||
|
||||
|
@ -839,7 +837,6 @@ msgid "Face"
|
|||
msgstr "脸部"
|
||||
|
||||
#: src/dialog/photo/info.vue:73
|
||||
#| msgid "Places"
|
||||
msgid "Faces"
|
||||
msgstr "面向"
|
||||
|
||||
|
@ -859,7 +856,7 @@ msgstr "更新链接失败"
|
|||
msgid "Failure while importing uploaded files"
|
||||
msgstr "导入上传的文件时失败"
|
||||
|
||||
#: src/options/options.js:250
|
||||
#: src/options/options.js:255
|
||||
msgid "Fast"
|
||||
msgstr "快"
|
||||
|
||||
|
@ -867,12 +864,12 @@ msgstr "快"
|
|||
msgid "Favorite"
|
||||
msgstr "我的最爱"
|
||||
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:747
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:746
|
||||
#: src/routes.js:180
|
||||
msgid "Favorites"
|
||||
msgstr "我的最爱"
|
||||
|
||||
#: src/options/options.js:348
|
||||
#: src/options/options.js:353
|
||||
msgid "Feature Request"
|
||||
msgstr "功能要求"
|
||||
|
||||
|
@ -917,7 +914,7 @@ msgstr "文件夹中有 %{n} 个文件"
|
|||
msgid "Folder is empty"
|
||||
msgstr "文件夹是空的"
|
||||
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1043
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1042
|
||||
#: src/routes.js:160 src/routes.js:167
|
||||
msgid "Folders"
|
||||
msgstr "文件夹"
|
||||
|
@ -938,7 +935,7 @@ msgstr "一般"
|
|||
msgid "German"
|
||||
msgstr "德文"
|
||||
|
||||
#: src/options/options.js:332
|
||||
#: src/options/options.js:337
|
||||
msgid "Gold"
|
||||
msgstr "金色"
|
||||
|
||||
|
@ -946,11 +943,11 @@ msgstr "金色"
|
|||
msgid "Grayscale"
|
||||
msgstr "灰度"
|
||||
|
||||
#: src/options/options.js:335
|
||||
#: src/options/options.js:340
|
||||
msgid "Green"
|
||||
msgstr "绿色"
|
||||
|
||||
#: src/options/options.js:341
|
||||
#: src/options/options.js:346
|
||||
msgid "Grey"
|
||||
msgstr "灰色"
|
||||
|
||||
|
@ -995,7 +992,7 @@ msgstr "印地语"
|
|||
msgid "How can we help?"
|
||||
msgstr "我们可以帮您吗?"
|
||||
|
||||
#: src/options/options.js:273
|
||||
#: src/options/options.js:278
|
||||
msgid "Hybrid"
|
||||
msgstr "混合"
|
||||
|
||||
|
@ -1003,17 +1000,11 @@ msgstr "混合"
|
|||
msgid "I'm a sponsor"
|
||||
msgstr "我是一个赞助商"
|
||||
|
||||
#: src/pages/about/about.vue:22
|
||||
msgid ""
|
||||
"If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
"GitHub Sponsors."
|
||||
msgstr "如果你喜欢使用PhotoPrism,请考虑在Patreon或GitHub上支持我们的赞助商。"
|
||||
|
||||
#: src/dialog/photo/labels.vue:34
|
||||
msgid "image"
|
||||
msgstr "图片"
|
||||
|
||||
#: src/options/options.js:288
|
||||
#: src/options/options.js:293
|
||||
msgid "Image"
|
||||
msgstr "图片"
|
||||
|
||||
|
@ -1129,7 +1120,7 @@ msgstr "库尔德语"
|
|||
msgid "Label"
|
||||
msgstr "标签"
|
||||
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:998
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:997
|
||||
#: src/dialog/photo/edit.vue:39 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:216 src/pages/settings/general.vue:382
|
||||
#: src/routes.js:259
|
||||
|
@ -1140,7 +1131,7 @@ msgstr "标签"
|
|||
msgid "Labels deleted"
|
||||
msgstr "标签已删除"
|
||||
|
||||
#: src/options/options.js:356
|
||||
#: src/options/options.js:361
|
||||
msgid "Lanczos: Detail Preservation, Minimal Artifacts"
|
||||
msgstr "Lanczos:细节保存,最小化虚影"
|
||||
|
||||
|
@ -1156,7 +1147,7 @@ msgstr "上次备份"
|
|||
msgid "Latitude"
|
||||
msgstr "纬度"
|
||||
|
||||
#: src/options/options.js:209
|
||||
#: src/options/options.js:224
|
||||
msgid "Lavender"
|
||||
msgstr "薰衣草"
|
||||
|
||||
|
@ -1164,12 +1155,8 @@ msgstr "薰衣草"
|
|||
msgid "Lens"
|
||||
msgstr "镜头"
|
||||
|
||||
#: src/pages/about/about.vue:37
|
||||
msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
msgstr "当我们错误地将一个想法标为无资金支持时,请告诉我们。"
|
||||
|
||||
#: src/component/navigation.vue:301 src/component/navigation.vue:311
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1135
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1134
|
||||
#: src/pages/settings.vue:41 src/pages/settings/general.vue:404
|
||||
#: src/routes.js:291 src/routes.js:298 src/routes.js:305
|
||||
msgid "Library"
|
||||
|
@ -1184,7 +1171,7 @@ msgstr "许可证"
|
|||
msgid "Like"
|
||||
msgstr "喜欢"
|
||||
|
||||
#: src/options/options.js:334
|
||||
#: src/options/options.js:339
|
||||
msgid "Lime"
|
||||
msgstr "淡绿色"
|
||||
|
||||
|
@ -1192,7 +1179,7 @@ msgstr "淡绿色"
|
|||
msgid "Limit reached, showing first %{n} files"
|
||||
msgstr "已达到限制,显示前 %{n} 文件"
|
||||
|
||||
#: src/options/options.js:358
|
||||
#: src/options/options.js:363
|
||||
msgid "Linear: Very Smooth, Best Performance"
|
||||
msgstr "Linear: 非常平滑,性能最佳"
|
||||
|
||||
|
@ -1204,9 +1191,9 @@ msgstr "连接"
|
|||
msgid "List"
|
||||
msgstr "列表"
|
||||
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:188
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:296
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:167
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:186
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:301
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:165
|
||||
#: src/share/photo/mosaic.vue:171
|
||||
msgid "Live"
|
||||
msgstr "生活"
|
||||
|
@ -1231,12 +1218,12 @@ msgid ""
|
|||
"there are other potential issues."
|
||||
msgstr "每当PhotoPrism遇到损坏的文件或其他潜在问题时,日志消息就会出现在这里。"
|
||||
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1471
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1470
|
||||
msgid "Login"
|
||||
msgstr "登录"
|
||||
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1581
|
||||
#: src/component/navigation.vue:1612
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1580
|
||||
#: src/component/navigation.vue:1611
|
||||
msgid "Logout"
|
||||
msgstr "退出"
|
||||
|
||||
|
@ -1248,7 +1235,7 @@ msgstr "日志"
|
|||
msgid "Longitude"
|
||||
msgstr "经度"
|
||||
|
||||
#: src/options/options.js:328
|
||||
#: src/options/options.js:333
|
||||
msgid "Magenta"
|
||||
msgstr "洋红"
|
||||
|
||||
|
@ -1268,7 +1255,7 @@ msgstr "手动上传"
|
|||
msgid "Marker"
|
||||
msgstr "标记"
|
||||
|
||||
#: src/options/options.js:254
|
||||
#: src/options/options.js:259
|
||||
msgid "Medium"
|
||||
msgstr "中"
|
||||
|
||||
|
@ -1280,7 +1267,7 @@ msgstr "将%{a}与%{b}合并?"
|
|||
msgid "Message sent"
|
||||
msgstr "消息已发送"
|
||||
|
||||
#: src/component/navigation.vue:205
|
||||
#: src/component/navigation.vue:204
|
||||
msgid "Minimize"
|
||||
msgstr "最小化"
|
||||
|
||||
|
@ -1288,7 +1275,7 @@ msgstr "最小化"
|
|||
msgid "Missing"
|
||||
msgstr "缺失"
|
||||
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:790
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:789
|
||||
#: src/pages/settings/general.vue:360 src/routes.js:121 src/routes.js:128
|
||||
msgid "Moments"
|
||||
msgstr "瞬间"
|
||||
|
@ -1301,7 +1288,7 @@ msgstr "黑白"
|
|||
msgid "Month"
|
||||
msgstr "月"
|
||||
|
||||
#: src/options/options.js:214
|
||||
#: src/options/options.js:209
|
||||
msgid "Moonlight"
|
||||
msgstr "月光"
|
||||
|
||||
|
@ -1336,7 +1323,7 @@ msgid "Move Files"
|
|||
msgstr "移动文件"
|
||||
|
||||
#: src/component/photo/cards.vue:30 src/component/photo/list.vue:38
|
||||
#: src/component/photo/list.vue:237 src/dialog/account/edit.vue:397
|
||||
#: src/component/photo/list.vue:235 src/dialog/account/edit.vue:397
|
||||
#: src/dialog/album/edit.vue:106 src/dialog/photo/files.vue:71
|
||||
#: src/dialog/photo/files.vue:68 src/dialog/photo/files.vue:30
|
||||
#: src/dialog/photo/info.vue:31 src/dialog/photo/labels.vue:48
|
||||
|
@ -1345,7 +1332,7 @@ msgstr "移动文件"
|
|||
#: src/pages/login.vue:73 src/pages/people/faces.vue:48
|
||||
#: src/pages/people/faces.vue:307 src/pages/people/subjects.vue:393
|
||||
#: src/share/photo/cards.vue:30 src/share/photo/list.vue:34
|
||||
#: src/share/photo/list.vue:216
|
||||
#: src/share/photo/list.vue:214
|
||||
msgid "Name"
|
||||
msgstr "名称"
|
||||
|
||||
|
@ -1356,7 +1343,7 @@ msgstr "名称"
|
|||
msgid "Name too long"
|
||||
msgstr "名称太长"
|
||||
|
||||
#: src/options/options.js:306 src/options/options.js:316
|
||||
#: src/options/options.js:311 src/options/options.js:321
|
||||
#: src/pages/settings/sync.vue:50
|
||||
msgid "Never"
|
||||
msgstr "永不"
|
||||
|
@ -1436,7 +1423,7 @@ msgid ""
|
|||
"in search results."
|
||||
msgstr "非照片和低质量图像需要进行检查,然后才能出现在搜索结果中。"
|
||||
|
||||
#: src/options/options.js:246
|
||||
#: src/options/options.js:251
|
||||
msgid "None"
|
||||
msgstr "无"
|
||||
|
||||
|
@ -1479,8 +1466,8 @@ msgstr "注意"
|
|||
msgid "Nothing to see here yet. Be patient."
|
||||
msgstr "这里什么也看不到。耐心一点。"
|
||||
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1516
|
||||
#: src/options/options.js:265
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1515
|
||||
#: src/options/options.js:270
|
||||
msgid "Offline"
|
||||
msgstr "离线"
|
||||
|
||||
|
@ -1489,7 +1476,7 @@ msgstr "离线"
|
|||
msgid "Oldest first"
|
||||
msgstr "最旧的优先"
|
||||
|
||||
#: src/options/options.js:312
|
||||
#: src/options/options.js:317
|
||||
msgid "Once a week"
|
||||
msgstr "一个星期一次"
|
||||
|
||||
|
@ -1519,7 +1506,7 @@ msgstr "一个人发现"
|
|||
msgid "One picture found"
|
||||
msgstr "发现一张图片"
|
||||
|
||||
#: src/options/options.js:219
|
||||
#: src/options/options.js:214
|
||||
msgid "Onyx"
|
||||
msgstr "玛瑙"
|
||||
|
||||
|
@ -1527,12 +1514,11 @@ msgstr "玛瑙"
|
|||
msgid "Options"
|
||||
msgstr "选项"
|
||||
|
||||
#: src/options/options.js:331
|
||||
#: src/options/options.js:336
|
||||
msgid "Orange"
|
||||
msgstr "橘色"
|
||||
|
||||
#: src/dialog/photo/files.vue:129 src/dialog/photo/files.vue:126
|
||||
#| msgid "Animation"
|
||||
msgid "Orientation"
|
||||
msgstr "方向"
|
||||
|
||||
|
@ -1560,7 +1546,7 @@ msgstr "原始文件名"
|
|||
msgid "Originals"
|
||||
msgstr "來源"
|
||||
|
||||
#: src/options/options.js:351
|
||||
#: src/options/options.js:356
|
||||
msgid "Other"
|
||||
msgstr "其他"
|
||||
|
||||
|
@ -1570,7 +1556,7 @@ msgid ""
|
|||
"organizing, and sharing your photo collection."
|
||||
msgstr "我们的愿景是为浏览、组织和分享你的照片集提供最方便的解决方案。"
|
||||
|
||||
#: src/options/options.js:281
|
||||
#: src/options/options.js:286
|
||||
msgid "Outdoor"
|
||||
msgstr "户外"
|
||||
|
||||
|
@ -1591,7 +1577,7 @@ msgstr "密码"
|
|||
msgid "Password changed"
|
||||
msgstr "密码已更新"
|
||||
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:702
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:701
|
||||
#: src/dialog/photo/edit.vue:52 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:267 src/pages/settings/general.vue:338
|
||||
#: src/routes.js:265 src/routes.js:285
|
||||
|
@ -1618,7 +1604,7 @@ msgstr "相片"
|
|||
msgid "PhotoPrism has been updated…"
|
||||
msgstr "PhotoPrism 更新啦…"
|
||||
|
||||
#: src/pages/about/about.vue:46
|
||||
#: src/pages/about/about.vue:38
|
||||
msgid "PhotoPrism® is a registered trademark of Michael Mayer."
|
||||
msgstr "PhotoPrism® 是 Michael Mayer 的注册商标。"
|
||||
|
||||
|
@ -1626,7 +1612,7 @@ msgstr "PhotoPrism® 是 Michael Mayer 的注册商标。"
|
|||
msgid "Photos"
|
||||
msgstr "照片"
|
||||
|
||||
#: src/options/options.js:329
|
||||
#: src/options/options.js:334
|
||||
msgid "Pink"
|
||||
msgstr "粉红色"
|
||||
|
||||
|
@ -1639,7 +1625,7 @@ msgid "Place & Time"
|
|||
msgstr "时间和地点"
|
||||
|
||||
#: src/component/navigation.vue:228 src/component/navigation.vue:238
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:880
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:879
|
||||
#: src/pages/settings/general.vue:108 src/pages/settings/general.vue:450
|
||||
#: src/routes.js:215 src/routes.js:221 src/routes.js:227 src/routes.js:234
|
||||
msgid "Places"
|
||||
|
@ -1701,13 +1687,13 @@ msgstr "预览"
|
|||
msgid "Primary"
|
||||
msgstr "主要的"
|
||||
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1088
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1087
|
||||
#: src/dialog/photo/info.vue:102 src/pages/settings/general.vue:272
|
||||
#: src/routes.js:201
|
||||
msgid "Private"
|
||||
msgstr "私人的"
|
||||
|
||||
#: src/options/options.js:347
|
||||
#: src/options/options.js:352
|
||||
msgid "Product Feedback"
|
||||
msgstr "产品反馈"
|
||||
|
||||
|
@ -1715,7 +1701,7 @@ msgstr "产品反馈"
|
|||
msgid "Projection"
|
||||
msgstr "投影"
|
||||
|
||||
#: src/options/options.js:327
|
||||
#: src/options/options.js:332
|
||||
msgid "Purple"
|
||||
msgstr "紫色"
|
||||
|
||||
|
@ -1731,11 +1717,11 @@ msgstr "质量得分"
|
|||
msgid "Random"
|
||||
msgstr "随机"
|
||||
|
||||
#: src/options/options.js:224
|
||||
#: src/options/options.js:229
|
||||
msgid "Raspberry"
|
||||
msgstr "树莓"
|
||||
|
||||
#: src/options/options.js:292
|
||||
#: src/options/options.js:297
|
||||
msgid "Raw"
|
||||
msgstr "Raw"
|
||||
|
||||
|
@ -1780,7 +1766,7 @@ msgstr "认可的"
|
|||
msgid "Recognizes faces so that specific people can be found."
|
||||
msgstr "识别人脸,以便能够找到特定的人。"
|
||||
|
||||
#: src/options/options.js:330
|
||||
#: src/options/options.js:335
|
||||
msgid "Red"
|
||||
msgstr "红色"
|
||||
|
||||
|
@ -1828,7 +1814,7 @@ msgstr "反馈 Bug"
|
|||
msgid "Request failed - invalid response"
|
||||
msgstr "请求失败-无效的响应"
|
||||
|
||||
#: src/pages/about/about.vue:36
|
||||
#: src/pages/about/about.vue:30
|
||||
msgid ""
|
||||
"Requests endorsed by silver and gold sponsors receive a golden label and "
|
||||
"will be prioritized."
|
||||
|
@ -1873,7 +1859,7 @@ msgid "Scans"
|
|||
msgstr "扫描"
|
||||
|
||||
#: src/component/navigation.vue:56 src/component/navigation.vue:66
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:284
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:283
|
||||
#: src/component/photo/toolbar.vue:48 src/pages/albums.vue:109
|
||||
#: src/pages/labels.vue:81 src/pages/library/errors.vue:60
|
||||
#: src/pages/people/subjects.vue:86 src/pages/places.vue:30 src/routes.js:107
|
||||
|
@ -1888,7 +1874,7 @@ msgstr "在地图上搜索并显示照片。"
|
|||
msgid "Season"
|
||||
msgstr "季节"
|
||||
|
||||
#: src/options/options.js:229
|
||||
#: src/options/options.js:234
|
||||
msgid "Seaweed"
|
||||
msgstr "海藻"
|
||||
|
||||
|
@ -1935,7 +1921,7 @@ msgstr "服务器 URL"
|
|||
|
||||
#: src/component/navigation.vue:352 src/component/navigation.vue:362
|
||||
#: src/component/navigation.vue:8 src/component/navigation.vue:18
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1309
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1308
|
||||
#: src/routes.js:313 src/routes.js:325 src/routes.js:337 src/routes.js:349
|
||||
#: src/routes.js:361
|
||||
msgid "Settings"
|
||||
|
@ -1950,7 +1936,7 @@ msgstr "设置已保存"
|
|||
msgid "Setup"
|
||||
msgstr "设置"
|
||||
|
||||
#: src/options/options.js:234
|
||||
#: src/options/options.js:239
|
||||
msgid "Shadow"
|
||||
msgstr "阴影"
|
||||
|
||||
|
@ -1976,7 +1962,6 @@ msgid "Show all new faces"
|
|||
msgstr "显示所有的新面孔"
|
||||
|
||||
#: src/pages/people/faces.vue:83 src/pages/people/subjects.vue:121
|
||||
#| msgid "Show less"
|
||||
msgid "Show hidden"
|
||||
msgstr "显示隐藏"
|
||||
|
||||
|
@ -2009,7 +1994,6 @@ msgid "Sign in"
|
|||
msgstr "登录"
|
||||
|
||||
#: src/dialog/sponsor.vue:39
|
||||
#| msgid "Sign in"
|
||||
msgid "Sign Up"
|
||||
msgstr "注册"
|
||||
|
||||
|
@ -2026,7 +2010,7 @@ msgstr "尺寸"
|
|||
msgid "Slovak"
|
||||
msgstr "Slovenská"
|
||||
|
||||
#: src/options/options.js:258
|
||||
#: src/options/options.js:263
|
||||
msgid "Slow"
|
||||
msgstr "慢"
|
||||
|
||||
|
@ -2100,7 +2084,7 @@ msgstr "状态"
|
|||
msgid "Storage Folder"
|
||||
msgstr "储存文件夹"
|
||||
|
||||
#: src/options/options.js:269
|
||||
#: src/options/options.js:274
|
||||
msgid "Streets"
|
||||
msgstr "街"
|
||||
|
||||
|
@ -2131,7 +2115,7 @@ msgstr "同步 Raw 文件和视频文件"
|
|||
msgid "Taken"
|
||||
msgstr "已采取"
|
||||
|
||||
#: src/options/options.js:336
|
||||
#: src/options/options.js:341
|
||||
msgid "Teal"
|
||||
msgstr "蓝绿色"
|
||||
|
||||
|
@ -2139,7 +2123,7 @@ msgstr "蓝绿色"
|
|||
msgid "Text too long"
|
||||
msgstr "文字太长"
|
||||
|
||||
#: src/pages/about/about.vue:40
|
||||
#: src/pages/about/about.vue:31
|
||||
msgid "Thank you very much!"
|
||||
msgstr "谢谢!"
|
||||
|
||||
|
@ -2180,10 +2164,6 @@ msgstr ""
|
|||
"这会将原始文件夹安装为网络驱动器,并允许您从计算机或智能手机中打开,编辑和删"
|
||||
"除文件,就像它们是本地文件一样。"
|
||||
|
||||
#: src/pages/about/about.vue:21
|
||||
msgid "This open-source project is made possible thanks to our sponsors."
|
||||
msgstr "这个开源项目的实现要感谢我们的赞助商。"
|
||||
|
||||
#: src/pages/settings/advanced.vue:253
|
||||
msgid "Thumbnail Generation"
|
||||
msgstr "生成缩略图"
|
||||
|
@ -2219,11 +2199,11 @@ msgstr "切换视图"
|
|||
msgid "Token"
|
||||
msgstr "令牌"
|
||||
|
||||
#: src/options/options.js:277
|
||||
#: src/options/options.js:282
|
||||
msgid "Topographic"
|
||||
msgstr "地形图"
|
||||
|
||||
#: src/pages/about/about.vue:43
|
||||
#: src/pages/about/about.vue:35
|
||||
msgid "Trademarks"
|
||||
msgstr "商标"
|
||||
|
||||
|
@ -2293,7 +2273,7 @@ msgstr "更新预览"
|
|||
msgid "Updating stacks"
|
||||
msgstr "更新堆栈"
|
||||
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:130
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:129
|
||||
#: src/component/photo/toolbar.vue:125 src/dialog/share/upload.vue:35
|
||||
#: src/dialog/upload.vue:8 src/dialog/upload.vue:54 src/pages/albums.vue:152
|
||||
#: src/pages/library/import.vue:38 src/pages/settings/general.vue:140
|
||||
|
@ -2354,16 +2334,20 @@ msgstr "用户界面"
|
|||
msgid "Username"
|
||||
msgstr "用户名"
|
||||
|
||||
#: src/options/options.js:204
|
||||
msgid "Vanta"
|
||||
msgstr "万达"
|
||||
|
||||
#: src/component/photo/cards.vue:29 src/component/photo/cards.vue:225
|
||||
#: src/component/photo/list.vue:198 src/component/photo/mosaic.vue:200
|
||||
#: src/component/photo/list.vue:196 src/component/photo/mosaic.vue:200
|
||||
#: src/model/file.js:183 src/model/photo.js:618 src/model/photo.js:632
|
||||
#: src/options/options.js:300 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:177
|
||||
#: src/options/options.js:305 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:175
|
||||
#: src/share/photo/mosaic.vue:181
|
||||
msgid "Video"
|
||||
msgstr "影片"
|
||||
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:658
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:657
|
||||
#: src/routes.js:187
|
||||
msgid "Videos"
|
||||
msgstr "影片"
|
||||
|
@ -2396,7 +2380,7 @@ msgstr ""
|
|||
msgid "WebDAV Upload"
|
||||
msgstr "WebDAV上传"
|
||||
|
||||
#: src/options/options.js:340
|
||||
#: src/options/options.js:345
|
||||
msgid "White"
|
||||
msgstr "白色"
|
||||
|
||||
|
@ -2404,11 +2388,11 @@ msgstr "白色"
|
|||
msgid "Year"
|
||||
msgstr "年"
|
||||
|
||||
#: src/options/options.js:333
|
||||
#: src/options/options.js:338
|
||||
msgid "Yellow"
|
||||
msgstr "黄色"
|
||||
|
||||
#: src/options/options.js:239
|
||||
#: src/options/options.js:244
|
||||
msgid "Yellowstone"
|
||||
msgstr "黄石公园"
|
||||
|
||||
|
@ -2440,7 +2424,7 @@ msgstr "您只能选择一项"
|
|||
msgid "You may rescan your library to find additional faces."
|
||||
msgstr "你可以重新扫描你的图书馆以找到更多的面孔。"
|
||||
|
||||
#: src/pages/about/about.vue:47
|
||||
#: src/pages/about/about.vue:39
|
||||
msgid ""
|
||||
"You may use it as required to describe our software, run your own server, "
|
||||
"for educational purposes, but not for offering commercial goods, products, "
|
||||
|
@ -2449,11 +2433,11 @@ msgstr ""
|
|||
"出于教育目的,您可以根据需要使用它来描述我们的软件,运行您自己的服务器,但未"
|
||||
"经事先书面许可,不得用于提供商业产品,产品或服务。换句话说,请询问。"
|
||||
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:32
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:29
|
||||
msgid ""
|
||||
"Your continued support helps us fund operating costs, provide services like "
|
||||
"satellite maps, and develop new features."
|
||||
msgstr "您的持续支持帮助我们资助运营成本,提供卫星地图等服务,并开发新的功能。"
|
||||
"Your continued support helps us provide services like satellite maps and "
|
||||
"develop new features."
|
||||
msgstr "您的持续支持有助于我们提供卫星地图等服务,并开发新的功能。"
|
||||
|
||||
#: src/pages/albums.vue:43 src/pages/albums.vue:1
|
||||
msgid ""
|
||||
|
@ -2469,6 +2453,18 @@ msgstr "您的留言已发送"
|
|||
msgid "Zoom in/out"
|
||||
msgstr "缩放"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
#~ "GitHub Sponsors."
|
||||
#~ msgstr ""
|
||||
#~ "如果你喜欢使用PhotoPrism,请考虑在Patreon或GitHub上支持我们的赞助商。"
|
||||
|
||||
#~ msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
#~ msgstr "当我们错误地将一个想法标为无资金支持时,请告诉我们。"
|
||||
|
||||
#~ msgid "This open-source project is made possible thanks to our sponsors."
|
||||
#~ msgstr "这个开源项目的实现要感谢我们的赞助商。"
|
||||
|
||||
#~ msgid "%{n} results"
|
||||
#~ msgstr "%{n} 个结果"
|
||||
|
||||
|
|
Binary file not shown.
|
@ -44,15 +44,15 @@ msgstr "找到 %{n} 人"
|
|||
msgid "%{n} pictures found"
|
||||
msgstr "找到 %{n} 張圖片"
|
||||
|
||||
#: src/options/options.js:307
|
||||
#: src/options/options.js:312
|
||||
msgid "1 hour"
|
||||
msgstr "1 小時"
|
||||
|
||||
#: src/options/options.js:309
|
||||
#: src/options/options.js:314
|
||||
msgid "12 hours"
|
||||
msgstr "12 小時"
|
||||
|
||||
#: src/options/options.js:308
|
||||
#: src/options/options.js:313
|
||||
msgid "4 hours"
|
||||
msgstr "4 小時"
|
||||
|
||||
|
@ -61,13 +61,13 @@ msgid "A click will copy it to your clipboard."
|
|||
msgstr "點擊以複製到剪貼簿。"
|
||||
|
||||
#: src/component/navigation.vue:371 src/component/navigation.vue:27
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:88
|
||||
#: src/pages/about/about.vue:4 src/pages/about/about.vue:81
|
||||
#: src/pages/help.vue:45
|
||||
msgid "About"
|
||||
msgstr "關於"
|
||||
|
||||
#: src/dialog/share/upload.vue:113 src/model/account.js:96
|
||||
#: src/pages/settings.vue:74
|
||||
#: src/component/navigation.vue:44 src/dialog/share/upload.vue:113
|
||||
#: src/model/account.js:96 src/pages/settings.vue:74
|
||||
msgid "Account"
|
||||
msgstr "帳號"
|
||||
|
||||
|
@ -117,23 +117,23 @@ msgstr "新增了"
|
|||
msgid "Advanced"
|
||||
msgstr "進階"
|
||||
|
||||
#: src/options/options.js:317
|
||||
#: src/options/options.js:322
|
||||
msgid "After 1 day"
|
||||
msgstr "1 天過後"
|
||||
|
||||
#: src/options/options.js:318
|
||||
#: src/options/options.js:323
|
||||
msgid "After 3 days"
|
||||
msgstr "3 天過後"
|
||||
|
||||
#: src/options/options.js:319
|
||||
#: src/options/options.js:324
|
||||
msgid "After 7 days"
|
||||
msgstr "7 天過後"
|
||||
|
||||
#: src/options/options.js:321
|
||||
#: src/options/options.js:326
|
||||
msgid "After one month"
|
||||
msgstr "1 個月過後"
|
||||
|
||||
#: src/options/options.js:323
|
||||
#: src/options/options.js:328
|
||||
msgid "After one year"
|
||||
msgstr "1 年過後"
|
||||
|
||||
|
@ -143,11 +143,11 @@ msgid ""
|
|||
"using the context menu."
|
||||
msgstr "從搜索結果中選擇圖片後,您可以使用上下文菜單將它們添加到相冊。"
|
||||
|
||||
#: src/options/options.js:322
|
||||
#: src/options/options.js:327
|
||||
msgid "After two months"
|
||||
msgstr "2 個月過後"
|
||||
|
||||
#: src/options/options.js:320
|
||||
#: src/options/options.js:325
|
||||
msgid "After two weeks"
|
||||
msgstr "2 星期過後"
|
||||
|
||||
|
@ -160,7 +160,7 @@ msgid "Album Name"
|
|||
msgstr "相簿名稱"
|
||||
|
||||
#: src/component/navigation.vue:130 src/component/navigation.vue:140
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:545
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:544
|
||||
#: src/routes.js:134 src/routes.js:141 src/share/albums.vue:4
|
||||
msgid "Albums"
|
||||
msgstr "相簿"
|
||||
|
@ -317,7 +317,7 @@ msgstr "自動新增 JPEGs 檔案以顯示在瀏覽器中。"
|
|||
msgid "Automatically creates albums of special moments, trips, and places."
|
||||
msgstr "自動創建特殊時刻、旅行和地點的相冊。"
|
||||
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:26
|
||||
#: src/dialog/sponsor.vue:7 src/pages/about/about.vue:23
|
||||
msgid "Become a sponsor"
|
||||
msgstr "成為贊助商"
|
||||
|
||||
|
@ -325,15 +325,15 @@ msgstr "成為贊助商"
|
|||
msgid "Bio"
|
||||
msgstr "個人簡歷"
|
||||
|
||||
#: src/options/options.js:342
|
||||
#: src/options/options.js:347
|
||||
msgid "Black"
|
||||
msgstr "黑色"
|
||||
|
||||
#: src/options/options.js:355
|
||||
#: src/options/options.js:360
|
||||
msgid "Blackman: Lanczos Modification, Less Ringing Artifacts"
|
||||
msgstr "布萊克曼:Lanczos修改,少振鈴文物"
|
||||
|
||||
#: src/options/options.js:338
|
||||
#: src/options/options.js:343
|
||||
msgid "Blue"
|
||||
msgstr "藍色"
|
||||
|
||||
|
@ -341,7 +341,7 @@ msgstr "藍色"
|
|||
msgid "Brazilian Portuguese"
|
||||
msgstr "巴西葡萄牙語"
|
||||
|
||||
#: src/options/options.js:339
|
||||
#: src/options/options.js:344
|
||||
msgid "Brown"
|
||||
msgstr "棕色"
|
||||
|
||||
|
@ -353,7 +353,7 @@ msgstr "瀏覽以及編輯分類標籤。"
|
|||
msgid "Browse indexed files and folders in Library."
|
||||
msgstr "在收藏庫中瀏覽索引好的檔案和資料夾。"
|
||||
|
||||
#: src/options/options.js:349
|
||||
#: src/options/options.js:354
|
||||
msgid "Bug Report"
|
||||
msgstr "回報問題"
|
||||
|
||||
|
@ -361,7 +361,7 @@ msgstr "回報問題"
|
|||
msgid "Busy, please wait…"
|
||||
msgstr "忙碌中,請稍後…"
|
||||
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:835
|
||||
#: src/component/navigation.vue:215 src/component/navigation.vue:834
|
||||
#: src/routes.js:147 src/routes.js:154
|
||||
msgid "Calendar"
|
||||
msgstr "日曆"
|
||||
|
@ -521,7 +521,7 @@ msgstr "已新增"
|
|||
msgid "Creating thumbnails for"
|
||||
msgstr "新增縮圖"
|
||||
|
||||
#: src/options/options.js:357
|
||||
#: src/options/options.js:362
|
||||
msgid "Cubic: Moderate Quality, Good Performance"
|
||||
msgstr "立方:中等質量,良好性能"
|
||||
|
||||
|
@ -529,15 +529,15 @@ msgstr "立方:中等質量,良好性能"
|
|||
msgid "Current Password"
|
||||
msgstr "當前密碼"
|
||||
|
||||
#: src/options/options.js:346
|
||||
#: src/options/options.js:351
|
||||
msgid "Customer Support"
|
||||
msgstr "客戶支援"
|
||||
|
||||
#: src/options/options.js:337
|
||||
#: src/options/options.js:342
|
||||
msgid "Cyan"
|
||||
msgstr "青色"
|
||||
|
||||
#: src/options/options.js:204
|
||||
#: src/options/options.js:219
|
||||
msgid "Cyano"
|
||||
msgstr "藍諾"
|
||||
|
||||
|
@ -545,12 +545,11 @@ msgstr "藍諾"
|
|||
msgid "Czech"
|
||||
msgstr "捷克語"
|
||||
|
||||
#: src/options/options.js:310
|
||||
#: src/options/options.js:315
|
||||
msgid "Daily"
|
||||
msgstr "每天的"
|
||||
|
||||
#: src/options/options.js:95
|
||||
#| msgid "Spanish"
|
||||
msgid "Danish"
|
||||
msgstr "丹麥語"
|
||||
|
||||
|
@ -674,7 +673,7 @@ msgstr "不要使用 RawTherapee 來轉換 RAW 文件。"
|
|||
msgid "Don't use TensorFlow for image classification."
|
||||
msgstr "瀏覽以及編輯分類標籤。"
|
||||
|
||||
#: src/options/options.js:350
|
||||
#: src/options/options.js:355
|
||||
msgid "Donations"
|
||||
msgstr "贊助"
|
||||
|
||||
|
@ -795,7 +794,7 @@ msgstr "估計沒有坐標的圖片的大概位置。"
|
|||
msgid "Estimates"
|
||||
msgstr "估計"
|
||||
|
||||
#: src/options/options.js:311
|
||||
#: src/options/options.js:316
|
||||
msgid "Every two days"
|
||||
msgstr "每兩天"
|
||||
|
||||
|
@ -809,8 +808,7 @@ msgstr "从搜索结果,共享相册,标签和地点中排除标记为私人
|
|||
msgid "Exclude hidden"
|
||||
msgstr "排除隱藏"
|
||||
|
||||
#: src/component/navigation.vue:252
|
||||
#| msgid "Expand Search"
|
||||
#: src/component/navigation.vue:251
|
||||
msgid "Expand"
|
||||
msgstr "展开搜寻"
|
||||
|
||||
|
@ -839,7 +837,6 @@ msgid "Face"
|
|||
msgstr "臉"
|
||||
|
||||
#: src/dialog/photo/info.vue:73
|
||||
#| msgid "Places"
|
||||
msgid "Faces"
|
||||
msgstr "面"
|
||||
|
||||
|
@ -859,7 +856,7 @@ msgstr "更新連結失敗"
|
|||
msgid "Failure while importing uploaded files"
|
||||
msgstr "引入照片失敗"
|
||||
|
||||
#: src/options/options.js:250
|
||||
#: src/options/options.js:255
|
||||
msgid "Fast"
|
||||
msgstr "快"
|
||||
|
||||
|
@ -867,12 +864,12 @@ msgstr "快"
|
|||
msgid "Favorite"
|
||||
msgstr "我的最愛"
|
||||
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:747
|
||||
#: src/component/navigation.vue:189 src/component/navigation.vue:746
|
||||
#: src/routes.js:180
|
||||
msgid "Favorites"
|
||||
msgstr "我的最愛"
|
||||
|
||||
#: src/options/options.js:348
|
||||
#: src/options/options.js:353
|
||||
msgid "Feature Request"
|
||||
msgstr "功能要求"
|
||||
|
||||
|
@ -917,7 +914,7 @@ msgstr "資料夾中有 %{n} 個檔案"
|
|||
msgid "Folder is empty"
|
||||
msgstr "資料夾是空的"
|
||||
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1043
|
||||
#: src/component/navigation.vue:275 src/component/navigation.vue:1042
|
||||
#: src/routes.js:160 src/routes.js:167
|
||||
msgid "Folders"
|
||||
msgstr "資料夾"
|
||||
|
@ -938,7 +935,7 @@ msgstr "一般"
|
|||
msgid "German"
|
||||
msgstr "德文"
|
||||
|
||||
#: src/options/options.js:332
|
||||
#: src/options/options.js:337
|
||||
msgid "Gold"
|
||||
msgstr "金色"
|
||||
|
||||
|
@ -946,11 +943,11 @@ msgstr "金色"
|
|||
msgid "Grayscale"
|
||||
msgstr "灰階"
|
||||
|
||||
#: src/options/options.js:335
|
||||
#: src/options/options.js:340
|
||||
msgid "Green"
|
||||
msgstr "綠色"
|
||||
|
||||
#: src/options/options.js:341
|
||||
#: src/options/options.js:346
|
||||
msgid "Grey"
|
||||
msgstr "灰色"
|
||||
|
||||
|
@ -995,7 +992,7 @@ msgstr "印地語"
|
|||
msgid "How can we help?"
|
||||
msgstr "我們可以幫你什麼?"
|
||||
|
||||
#: src/options/options.js:273
|
||||
#: src/options/options.js:278
|
||||
msgid "Hybrid"
|
||||
msgstr "雜種"
|
||||
|
||||
|
@ -1003,18 +1000,11 @@ msgstr "雜種"
|
|||
msgid "I'm a sponsor"
|
||||
msgstr "我是讚助商"
|
||||
|
||||
#: src/pages/about/about.vue:22
|
||||
msgid ""
|
||||
"If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
"GitHub Sponsors."
|
||||
msgstr ""
|
||||
"如果您喜歡使用 PhotoPrism,請考慮在 Patreon 或 GitHub 贊助商上支持我們。"
|
||||
|
||||
#: src/dialog/photo/labels.vue:34
|
||||
msgid "image"
|
||||
msgstr "圖片"
|
||||
|
||||
#: src/options/options.js:288
|
||||
#: src/options/options.js:293
|
||||
msgid "Image"
|
||||
msgstr "圖片"
|
||||
|
||||
|
@ -1130,7 +1120,7 @@ msgstr "庫德語"
|
|||
msgid "Label"
|
||||
msgstr "標籤"
|
||||
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:998
|
||||
#: src/component/navigation.vue:262 src/component/navigation.vue:997
|
||||
#: src/dialog/photo/edit.vue:39 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:216 src/pages/settings/general.vue:382
|
||||
#: src/routes.js:259
|
||||
|
@ -1141,7 +1131,7 @@ msgstr "標籤"
|
|||
msgid "Labels deleted"
|
||||
msgstr "標籤已刪除"
|
||||
|
||||
#: src/options/options.js:356
|
||||
#: src/options/options.js:361
|
||||
msgid "Lanczos: Detail Preservation, Minimal Artifacts"
|
||||
msgstr "Lanczos:保留細節,減少偽像"
|
||||
|
||||
|
@ -1157,7 +1147,7 @@ msgstr "上次備份"
|
|||
msgid "Latitude"
|
||||
msgstr "緯度"
|
||||
|
||||
#: src/options/options.js:209
|
||||
#: src/options/options.js:224
|
||||
msgid "Lavender"
|
||||
msgstr "薰衣草"
|
||||
|
||||
|
@ -1165,12 +1155,8 @@ msgstr "薰衣草"
|
|||
msgid "Lens"
|
||||
msgstr "鏡頭"
|
||||
|
||||
#: src/pages/about/about.vue:37
|
||||
msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
msgstr "當我們錯誤地將一個想法標記為沒有資金時,請告訴我們。"
|
||||
|
||||
#: src/component/navigation.vue:301 src/component/navigation.vue:311
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1135
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1134
|
||||
#: src/pages/settings.vue:41 src/pages/settings/general.vue:404
|
||||
#: src/routes.js:291 src/routes.js:298 src/routes.js:305
|
||||
msgid "Library"
|
||||
|
@ -1185,7 +1171,7 @@ msgstr "授權"
|
|||
msgid "Like"
|
||||
msgstr "喜歡"
|
||||
|
||||
#: src/options/options.js:334
|
||||
#: src/options/options.js:339
|
||||
msgid "Lime"
|
||||
msgstr "萊姆色"
|
||||
|
||||
|
@ -1193,7 +1179,7 @@ msgstr "萊姆色"
|
|||
msgid "Limit reached, showing first %{n} files"
|
||||
msgstr "顯示前 %{n} 個檔案"
|
||||
|
||||
#: src/options/options.js:358
|
||||
#: src/options/options.js:363
|
||||
msgid "Linear: Very Smooth, Best Performance"
|
||||
msgstr "線性:非常平滑,最佳性能"
|
||||
|
||||
|
@ -1205,9 +1191,9 @@ msgstr "連結"
|
|||
msgid "List"
|
||||
msgstr "清單"
|
||||
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:188
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:296
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:167
|
||||
#: src/component/photo/cards.vue:215 src/component/photo/list.vue:186
|
||||
#: src/component/photo/mosaic.vue:190 src/options/options.js:301
|
||||
#: src/share/photo/cards.vue:188 src/share/photo/list.vue:165
|
||||
#: src/share/photo/mosaic.vue:171
|
||||
msgid "Live"
|
||||
msgstr "即時"
|
||||
|
@ -1232,12 +1218,12 @@ msgid ""
|
|||
"there are other potential issues."
|
||||
msgstr "日誌訊息會在檔案損毀時,或是其他問題出現時出現。"
|
||||
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1471
|
||||
#: src/component/navigation.vue:401 src/component/navigation.vue:1470
|
||||
msgid "Login"
|
||||
msgstr "登入"
|
||||
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1581
|
||||
#: src/component/navigation.vue:1612
|
||||
#: src/component/navigation.vue:448 src/component/navigation.vue:1580
|
||||
#: src/component/navigation.vue:1611
|
||||
msgid "Logout"
|
||||
msgstr "登出"
|
||||
|
||||
|
@ -1249,7 +1235,7 @@ msgstr "日誌"
|
|||
msgid "Longitude"
|
||||
msgstr "經度"
|
||||
|
||||
#: src/options/options.js:328
|
||||
#: src/options/options.js:333
|
||||
msgid "Magenta"
|
||||
msgstr "品紅"
|
||||
|
||||
|
@ -1269,7 +1255,7 @@ msgstr "手動上傳"
|
|||
msgid "Marker"
|
||||
msgstr "標記"
|
||||
|
||||
#: src/options/options.js:254
|
||||
#: src/options/options.js:259
|
||||
msgid "Medium"
|
||||
msgstr "中"
|
||||
|
||||
|
@ -1281,7 +1267,7 @@ msgstr "將 %{a} 與 %{b} 合併?"
|
|||
msgid "Message sent"
|
||||
msgstr "訊息已傳送"
|
||||
|
||||
#: src/component/navigation.vue:205
|
||||
#: src/component/navigation.vue:204
|
||||
msgid "Minimize"
|
||||
msgstr "最小化"
|
||||
|
||||
|
@ -1289,7 +1275,7 @@ msgstr "最小化"
|
|||
msgid "Missing"
|
||||
msgstr "缺少"
|
||||
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:790
|
||||
#: src/component/navigation.vue:202 src/component/navigation.vue:789
|
||||
#: src/pages/settings/general.vue:360 src/routes.js:121 src/routes.js:128
|
||||
msgid "Moments"
|
||||
msgstr "回憶時刻"
|
||||
|
@ -1302,7 +1288,7 @@ msgstr "黑白"
|
|||
msgid "Month"
|
||||
msgstr "月"
|
||||
|
||||
#: src/options/options.js:214
|
||||
#: src/options/options.js:209
|
||||
msgid "Moonlight"
|
||||
msgstr "月光"
|
||||
|
||||
|
@ -1337,7 +1323,7 @@ msgid "Move Files"
|
|||
msgstr "移動檔案"
|
||||
|
||||
#: src/component/photo/cards.vue:30 src/component/photo/list.vue:38
|
||||
#: src/component/photo/list.vue:237 src/dialog/account/edit.vue:397
|
||||
#: src/component/photo/list.vue:235 src/dialog/account/edit.vue:397
|
||||
#: src/dialog/album/edit.vue:106 src/dialog/photo/files.vue:71
|
||||
#: src/dialog/photo/files.vue:68 src/dialog/photo/files.vue:30
|
||||
#: src/dialog/photo/info.vue:31 src/dialog/photo/labels.vue:48
|
||||
|
@ -1346,7 +1332,7 @@ msgstr "移動檔案"
|
|||
#: src/pages/login.vue:73 src/pages/people/faces.vue:48
|
||||
#: src/pages/people/faces.vue:307 src/pages/people/subjects.vue:393
|
||||
#: src/share/photo/cards.vue:30 src/share/photo/list.vue:34
|
||||
#: src/share/photo/list.vue:216
|
||||
#: src/share/photo/list.vue:214
|
||||
msgid "Name"
|
||||
msgstr "名稱"
|
||||
|
||||
|
@ -1357,7 +1343,7 @@ msgstr "名稱"
|
|||
msgid "Name too long"
|
||||
msgstr "名稱太長了"
|
||||
|
||||
#: src/options/options.js:306 src/options/options.js:316
|
||||
#: src/options/options.js:311 src/options/options.js:321
|
||||
#: src/pages/settings/sync.vue:50
|
||||
msgid "Never"
|
||||
msgstr "永不"
|
||||
|
@ -1437,7 +1423,7 @@ msgid ""
|
|||
"in search results."
|
||||
msgstr "非照相和低質量圖像需要進行手動確認,才會出現在搜索結果中。"
|
||||
|
||||
#: src/options/options.js:246
|
||||
#: src/options/options.js:251
|
||||
msgid "None"
|
||||
msgstr "無"
|
||||
|
||||
|
@ -1480,8 +1466,8 @@ msgstr "備註"
|
|||
msgid "Nothing to see here yet. Be patient."
|
||||
msgstr "這裡什麼也看不到。耐心一點。"
|
||||
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1516
|
||||
#: src/options/options.js:265
|
||||
#: src/component/navigation.vue:417 src/component/navigation.vue:1515
|
||||
#: src/options/options.js:270
|
||||
msgid "Offline"
|
||||
msgstr "離線"
|
||||
|
||||
|
@ -1490,7 +1476,7 @@ msgstr "離線"
|
|||
msgid "Oldest first"
|
||||
msgstr "最舊排前"
|
||||
|
||||
#: src/options/options.js:312
|
||||
#: src/options/options.js:317
|
||||
msgid "Once a week"
|
||||
msgstr "一個星期一次"
|
||||
|
||||
|
@ -1520,7 +1506,7 @@ msgstr "發現了一個人"
|
|||
msgid "One picture found"
|
||||
msgstr "找到一張圖片"
|
||||
|
||||
#: src/options/options.js:219
|
||||
#: src/options/options.js:214
|
||||
msgid "Onyx"
|
||||
msgstr "y瑪瑙"
|
||||
|
||||
|
@ -1528,12 +1514,11 @@ msgstr "y瑪瑙"
|
|||
msgid "Options"
|
||||
msgstr "選項"
|
||||
|
||||
#: src/options/options.js:331
|
||||
#: src/options/options.js:336
|
||||
msgid "Orange"
|
||||
msgstr "橘色"
|
||||
|
||||
#: src/dialog/photo/files.vue:129 src/dialog/photo/files.vue:126
|
||||
#| msgid "Animation"
|
||||
msgid "Orientation"
|
||||
msgstr "方向"
|
||||
|
||||
|
@ -1555,7 +1540,7 @@ msgstr "來源名稱"
|
|||
msgid "Originals"
|
||||
msgstr "來源"
|
||||
|
||||
#: src/options/options.js:351
|
||||
#: src/options/options.js:356
|
||||
msgid "Other"
|
||||
msgstr "其他"
|
||||
|
||||
|
@ -1565,7 +1550,7 @@ msgid ""
|
|||
"organizing, and sharing your photo collection."
|
||||
msgstr "我們的願景是為瀏覽、組織和共享您的照片集提供最人性化的解決方案。"
|
||||
|
||||
#: src/options/options.js:281
|
||||
#: src/options/options.js:286
|
||||
msgid "Outdoor"
|
||||
msgstr "對外"
|
||||
|
||||
|
@ -1586,7 +1571,7 @@ msgstr "密碼"
|
|||
msgid "Password changed"
|
||||
msgstr "密碼已更換"
|
||||
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:702
|
||||
#: src/component/navigation.vue:176 src/component/navigation.vue:701
|
||||
#: src/dialog/photo/edit.vue:52 src/dialog/photo/edit.vue:6
|
||||
#: src/dialog/photo/edit.vue:267 src/pages/settings/general.vue:338
|
||||
#: src/routes.js:265 src/routes.js:285
|
||||
|
@ -1613,7 +1598,7 @@ msgstr "相片"
|
|||
msgid "PhotoPrism has been updated…"
|
||||
msgstr "PhotoPrism更新啦…"
|
||||
|
||||
#: src/pages/about/about.vue:46
|
||||
#: src/pages/about/about.vue:38
|
||||
msgid "PhotoPrism® is a registered trademark of Michael Mayer."
|
||||
msgstr "PhotoPrism®是 Michael Mayer 的註冊商標。"
|
||||
|
||||
|
@ -1621,7 +1606,7 @@ msgstr "PhotoPrism®是 Michael Mayer 的註冊商標。"
|
|||
msgid "Photos"
|
||||
msgstr "照片"
|
||||
|
||||
#: src/options/options.js:329
|
||||
#: src/options/options.js:334
|
||||
msgid "Pink"
|
||||
msgstr "粉紅色"
|
||||
|
||||
|
@ -1634,7 +1619,7 @@ msgid "Place & Time"
|
|||
msgstr "地點與時間"
|
||||
|
||||
#: src/component/navigation.vue:228 src/component/navigation.vue:238
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:880
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:879
|
||||
#: src/pages/settings/general.vue:108 src/pages/settings/general.vue:450
|
||||
#: src/routes.js:215 src/routes.js:221 src/routes.js:227 src/routes.js:234
|
||||
msgid "Places"
|
||||
|
@ -1696,13 +1681,13 @@ msgstr "預覽"
|
|||
msgid "Primary"
|
||||
msgstr "主要的"
|
||||
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1088
|
||||
#: src/component/navigation.vue:288 src/component/navigation.vue:1087
|
||||
#: src/dialog/photo/info.vue:102 src/pages/settings/general.vue:272
|
||||
#: src/routes.js:201
|
||||
msgid "Private"
|
||||
msgstr "私人的"
|
||||
|
||||
#: src/options/options.js:347
|
||||
#: src/options/options.js:352
|
||||
msgid "Product Feedback"
|
||||
msgstr "回饋"
|
||||
|
||||
|
@ -1710,7 +1695,7 @@ msgstr "回饋"
|
|||
msgid "Projection"
|
||||
msgstr "投影"
|
||||
|
||||
#: src/options/options.js:327
|
||||
#: src/options/options.js:332
|
||||
msgid "Purple"
|
||||
msgstr "紫色"
|
||||
|
||||
|
@ -1726,11 +1711,11 @@ msgstr "品質"
|
|||
msgid "Random"
|
||||
msgstr "隨機"
|
||||
|
||||
#: src/options/options.js:224
|
||||
#: src/options/options.js:229
|
||||
msgid "Raspberry"
|
||||
msgstr "樹梅"
|
||||
|
||||
#: src/options/options.js:292
|
||||
#: src/options/options.js:297
|
||||
msgid "Raw"
|
||||
msgstr "原始"
|
||||
|
||||
|
@ -1774,7 +1759,7 @@ msgstr "認可"
|
|||
msgid "Recognizes faces so that specific people can be found."
|
||||
msgstr "識別面孔,以便可以找到特定的人。"
|
||||
|
||||
#: src/options/options.js:330
|
||||
#: src/options/options.js:335
|
||||
msgid "Red"
|
||||
msgstr "紅色"
|
||||
|
||||
|
@ -1822,7 +1807,7 @@ msgstr "回報問題"
|
|||
msgid "Request failed - invalid response"
|
||||
msgstr "要求失敗 - 非法的回應"
|
||||
|
||||
#: src/pages/about/about.vue:36
|
||||
#: src/pages/about/about.vue:30
|
||||
msgid ""
|
||||
"Requests endorsed by silver and gold sponsors receive a golden label and "
|
||||
"will be prioritized."
|
||||
|
@ -1867,7 +1852,7 @@ msgid "Scans"
|
|||
msgstr "掃描"
|
||||
|
||||
#: src/component/navigation.vue:56 src/component/navigation.vue:66
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:284
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:283
|
||||
#: src/component/photo/toolbar.vue:48 src/pages/albums.vue:109
|
||||
#: src/pages/labels.vue:81 src/pages/library/errors.vue:60
|
||||
#: src/pages/people/subjects.vue:86 src/pages/places.vue:30 src/routes.js:107
|
||||
|
@ -1882,7 +1867,7 @@ msgstr "搜尋及顯示在地圖上。"
|
|||
msgid "Season"
|
||||
msgstr "季節"
|
||||
|
||||
#: src/options/options.js:229
|
||||
#: src/options/options.js:234
|
||||
msgid "Seaweed"
|
||||
msgstr "海藻"
|
||||
|
||||
|
@ -1929,7 +1914,7 @@ msgstr "服務 URL"
|
|||
|
||||
#: src/component/navigation.vue:352 src/component/navigation.vue:362
|
||||
#: src/component/navigation.vue:8 src/component/navigation.vue:18
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1309
|
||||
#: src/component/navigation.vue:4 src/component/navigation.vue:1308
|
||||
#: src/routes.js:313 src/routes.js:325 src/routes.js:337 src/routes.js:349
|
||||
#: src/routes.js:361
|
||||
msgid "Settings"
|
||||
|
@ -1944,7 +1929,7 @@ msgstr "設定已儲存"
|
|||
msgid "Setup"
|
||||
msgstr "設定"
|
||||
|
||||
#: src/options/options.js:234
|
||||
#: src/options/options.js:239
|
||||
msgid "Shadow"
|
||||
msgstr "陰影"
|
||||
|
||||
|
@ -2002,7 +1987,6 @@ msgid "Sign in"
|
|||
msgstr "登入"
|
||||
|
||||
#: src/dialog/sponsor.vue:39
|
||||
#| msgid "Sign in"
|
||||
msgid "Sign Up"
|
||||
msgstr "註冊"
|
||||
|
||||
|
@ -2019,7 +2003,7 @@ msgstr "尺寸"
|
|||
msgid "Slovak"
|
||||
msgstr "斯洛伐克文"
|
||||
|
||||
#: src/options/options.js:258
|
||||
#: src/options/options.js:263
|
||||
msgid "Slow"
|
||||
msgstr "慢"
|
||||
|
||||
|
@ -2056,7 +2040,6 @@ msgid ""
|
|||
msgstr "根據元數據,將在相同時間和位置拍攝的照片堆疊在一起。"
|
||||
|
||||
#: src/dialog/photo/info.vue:86
|
||||
#| msgid "Stacks"
|
||||
msgid "Stackable"
|
||||
msgstr "堆疊"
|
||||
|
||||
|
@ -2094,7 +2077,7 @@ msgstr "狀態"
|
|||
msgid "Storage Folder"
|
||||
msgstr "儲存資料夾"
|
||||
|
||||
#: src/options/options.js:269
|
||||
#: src/options/options.js:274
|
||||
msgid "Streets"
|
||||
msgstr "街"
|
||||
|
||||
|
@ -2125,7 +2108,7 @@ msgstr "同步 RAW 照片"
|
|||
msgid "Taken"
|
||||
msgstr "已採取"
|
||||
|
||||
#: src/options/options.js:336
|
||||
#: src/options/options.js:341
|
||||
msgid "Teal"
|
||||
msgstr "藍綠"
|
||||
|
||||
|
@ -2133,7 +2116,7 @@ msgstr "藍綠"
|
|||
msgid "Text too long"
|
||||
msgstr "文字太長了"
|
||||
|
||||
#: src/pages/about/about.vue:40
|
||||
#: src/pages/about/about.vue:31
|
||||
msgid "Thank you very much!"
|
||||
msgstr "非常感謝!"
|
||||
|
||||
|
@ -2172,10 +2155,6 @@ msgstr ""
|
|||
"這會將原始文件夾安裝為網絡驅動器,並允許您從計算機或智能手機中打開,編輯和刪"
|
||||
"除文件,就像它們是本地文件一樣。"
|
||||
|
||||
#: src/pages/about/about.vue:21
|
||||
msgid "This open-source project is made possible thanks to our sponsors."
|
||||
msgstr "多虧了我們的讚助商,這個開源項目才得以實現。"
|
||||
|
||||
#: src/pages/settings/advanced.vue:253
|
||||
msgid "Thumbnail Generation"
|
||||
msgstr "縮圖產生"
|
||||
|
@ -2211,11 +2190,11 @@ msgstr "切換檢視"
|
|||
msgid "Token"
|
||||
msgstr "令牌"
|
||||
|
||||
#: src/options/options.js:277
|
||||
#: src/options/options.js:282
|
||||
msgid "Topographic"
|
||||
msgstr "地形圖"
|
||||
|
||||
#: src/pages/about/about.vue:43
|
||||
#: src/pages/about/about.vue:35
|
||||
msgid "Trademarks"
|
||||
msgstr "商標"
|
||||
|
||||
|
@ -2285,7 +2264,7 @@ msgstr "更新預覽"
|
|||
msgid "Updating stacks"
|
||||
msgstr "更新堆棧"
|
||||
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:130
|
||||
#: src/component/album/toolbar.vue:176 src/component/navigation.vue:129
|
||||
#: src/component/photo/toolbar.vue:125 src/dialog/share/upload.vue:35
|
||||
#: src/dialog/upload.vue:8 src/dialog/upload.vue:54 src/pages/albums.vue:152
|
||||
#: src/pages/library/import.vue:38 src/pages/settings/general.vue:140
|
||||
|
@ -2346,16 +2325,20 @@ msgstr "使用者介面"
|
|||
msgid "Username"
|
||||
msgstr "使用者名稱"
|
||||
|
||||
#: src/options/options.js:204
|
||||
msgid "Vanta"
|
||||
msgstr "萬塔"
|
||||
|
||||
#: src/component/photo/cards.vue:29 src/component/photo/cards.vue:225
|
||||
#: src/component/photo/list.vue:198 src/component/photo/mosaic.vue:200
|
||||
#: src/component/photo/list.vue:196 src/component/photo/mosaic.vue:200
|
||||
#: src/model/file.js:183 src/model/photo.js:618 src/model/photo.js:632
|
||||
#: src/options/options.js:300 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:177
|
||||
#: src/options/options.js:305 src/share/photo/cards.vue:29
|
||||
#: src/share/photo/cards.vue:198 src/share/photo/list.vue:175
|
||||
#: src/share/photo/mosaic.vue:181
|
||||
msgid "Video"
|
||||
msgstr "影片"
|
||||
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:658
|
||||
#: src/component/navigation.vue:163 src/component/navigation.vue:657
|
||||
#: src/routes.js:187
|
||||
msgid "Videos"
|
||||
msgstr "影片"
|
||||
|
@ -2388,7 +2371,7 @@ msgstr ""
|
|||
msgid "WebDAV Upload"
|
||||
msgstr "WebDAV上傳"
|
||||
|
||||
#: src/options/options.js:340
|
||||
#: src/options/options.js:345
|
||||
msgid "White"
|
||||
msgstr "白色"
|
||||
|
||||
|
@ -2396,11 +2379,11 @@ msgstr "白色"
|
|||
msgid "Year"
|
||||
msgstr "年"
|
||||
|
||||
#: src/options/options.js:333
|
||||
#: src/options/options.js:338
|
||||
msgid "Yellow"
|
||||
msgstr "黃色"
|
||||
|
||||
#: src/options/options.js:239
|
||||
#: src/options/options.js:244
|
||||
msgid "Yellowstone"
|
||||
msgstr "黃石"
|
||||
|
||||
|
@ -2432,7 +2415,7 @@ msgstr "你只能選取一個項目"
|
|||
msgid "You may rescan your library to find additional faces."
|
||||
msgstr "您可以重新掃描您的圖書館以查找其他面孔。"
|
||||
|
||||
#: src/pages/about/about.vue:47
|
||||
#: src/pages/about/about.vue:39
|
||||
msgid ""
|
||||
"You may use it as required to describe our software, run your own server, "
|
||||
"for educational purposes, but not for offering commercial goods, products, "
|
||||
|
@ -2441,11 +2424,11 @@ msgstr ""
|
|||
"出於教育目的,您可以根據需要使用它來描述我們的軟件,運行您自己的服務器,但未"
|
||||
"經事先書面許可,不得用於提供商業產品,產品或服務。換句話說,請詢問。"
|
||||
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:32
|
||||
#: src/dialog/sponsor.vue:21 src/pages/about/about.vue:29
|
||||
msgid ""
|
||||
"Your continued support helps us fund operating costs, provide services like "
|
||||
"satellite maps, and develop new features."
|
||||
msgstr "您的持續支持有助於我們資助運營成本、提供衛星地圖等服務並開發新功能。"
|
||||
"Your continued support helps us provide services like satellite maps and "
|
||||
"develop new features."
|
||||
msgstr "您的持續支持有助於我們提供衛星地圖等服務並開發新功能。"
|
||||
|
||||
#: src/pages/albums.vue:43 src/pages/albums.vue:1
|
||||
msgid ""
|
||||
|
@ -2461,6 +2444,18 @@ msgstr "你的訊息已傳送"
|
|||
msgid "Zoom in/out"
|
||||
msgstr "縮放"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If you enjoy using PhotoPrism, please consider backing us on Patreon or "
|
||||
#~ "GitHub Sponsors."
|
||||
#~ msgstr ""
|
||||
#~ "如果您喜歡使用 PhotoPrism,請考慮在 Patreon 或 GitHub 贊助商上支持我們。"
|
||||
|
||||
#~ msgid "Let us know when we mistakenly label an idea as unfunded."
|
||||
#~ msgstr "當我們錯誤地將一個想法標記為沒有資金時,請告訴我們。"
|
||||
|
||||
#~ msgid "This open-source project is made possible thanks to our sponsors."
|
||||
#~ msgstr "多虧了我們的讚助商,這個開源項目才得以實現。"
|
||||
|
||||
#~ msgid "%{n} results"
|
||||
#~ msgstr "找到了 %{n} 個結果"
|
||||
|
||||
|
|
|
@ -200,6 +200,11 @@ export const Themes = () => [
|
|||
value: "grayscale",
|
||||
disabled: false,
|
||||
},
|
||||
{
|
||||
text: $gettext("Vanta"),
|
||||
value: "vanta",
|
||||
disabled: false,
|
||||
},
|
||||
{
|
||||
text: $gettext("Moonlight"),
|
||||
value: "moonlight",
|
||||
|
@ -230,11 +235,6 @@ export const Themes = () => [
|
|||
value: "seaweed",
|
||||
disabled: false,
|
||||
},
|
||||
{
|
||||
text: $gettext("Midnight"),
|
||||
value: "midnight",
|
||||
disabled: false,
|
||||
},
|
||||
{
|
||||
text: $gettext("Shadow"),
|
||||
value: "shadow",
|
||||
|
|
|
@ -289,7 +289,7 @@
|
|||
"navigation-home": "#000000"
|
||||
}
|
||||
},
|
||||
"midnight": {
|
||||
"vanta": {
|
||||
"dark": true,
|
||||
"sponsor": true,
|
||||
"colors": {
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<v-spacer></v-spacer>
|
||||
|
||||
<v-btn icon href="https://photoprism.app/" target="_blank" class="action-info" :title="$gettext('About')">
|
||||
<v-icon size="26">info</v-icon>
|
||||
<v-icon size="26">info_outline</v-icon>
|
||||
</v-btn>
|
||||
</v-toolbar>
|
||||
<v-container fluid class="pa-4">
|
||||
|
@ -19,10 +19,7 @@
|
|||
</a>
|
||||
</p>
|
||||
|
||||
<p class="body-1 mt-4"><translate>This open-source project is made possible thanks to our sponsors.</translate>
|
||||
<translate>If you enjoy using PhotoPrism, please consider backing us on Patreon or GitHub Sponsors.</translate></p>
|
||||
|
||||
<p class="text-xs-center">
|
||||
<p class="text-xs-center my-4">
|
||||
<v-btn
|
||||
href="https://www.patreon.com/photoprism"
|
||||
target="_blank"
|
||||
|
@ -31,21 +28,16 @@
|
|||
round depressed small
|
||||
>
|
||||
<translate>Become a sponsor</translate>
|
||||
<v-icon :left="rtl" :right="!rtl" size="16" class="ml-2" dark>volunteer_activism</v-icon>
|
||||
<v-icon :left="rtl" :right="!rtl" size="16" class="ml-2" dark>star</v-icon>
|
||||
</v-btn>
|
||||
</p>
|
||||
|
||||
<p class="body-1 mt-4">
|
||||
<translate>Your continued support helps us fund operating costs, provide services like satellite maps, and develop new features.</translate>
|
||||
</p>
|
||||
|
||||
<p class="body-1">
|
||||
<translate>Your continued support helps us provide services like satellite maps and develop new features.</translate>
|
||||
<translate>Requests endorsed by silver and gold sponsors receive a golden label and will be prioritized.</translate>
|
||||
<translate>Let us know when we mistakenly label an idea as unfunded.</translate>
|
||||
<translate>Thank you very much!</translate>
|
||||
</p>
|
||||
|
||||
<p class="body-1"><translate>Thank you very much!</translate> 💜</p>
|
||||
|
||||
<h2 class="mt-4 mb-2 subheading">
|
||||
<translate>Trademarks</translate>
|
||||
</h2>
|
||||
|
|
|
@ -32,145 +32,22 @@ import Thumb from "model/thumb";
|
|||
export default {
|
||||
name: 'PPagePlaces',
|
||||
data() {
|
||||
const s = this.$config.values.settings.maps;
|
||||
const filter = {
|
||||
q: this.query(),
|
||||
};
|
||||
|
||||
let mapKey = "";
|
||||
|
||||
if (this.$config.has("mapKey")) {
|
||||
mapKey = this.$config.get("mapKey");
|
||||
}
|
||||
|
||||
const settings = this.$config.settings();
|
||||
|
||||
if (settings && settings.features.private) {
|
||||
filter.public = true;
|
||||
}
|
||||
|
||||
if (settings && settings.features.review && (!this.staticFilter || !("quality" in this.staticFilter))) {
|
||||
filter.quality = 3;
|
||||
}
|
||||
|
||||
let mapFont = ['Roboto', 'sans-serif'];
|
||||
let mapOptions = {
|
||||
container: "map",
|
||||
style: "https://api.maptiler.com/maps/" + s.style + "/style.json?key=" + mapKey,
|
||||
attributionControl: true,
|
||||
customAttribution: this.attribution,
|
||||
zoom: 0,
|
||||
};
|
||||
|
||||
if (!mapKey || s.style === "offline") {
|
||||
mapFont = ["Open Sans Semibold"];
|
||||
mapOptions = {
|
||||
container: "map",
|
||||
style: {
|
||||
"version": 8,
|
||||
"sources": {
|
||||
"world": {
|
||||
"type": "geojson",
|
||||
"data": `${this.$config.staticUri}/geo/world.json`,
|
||||
"maxzoom": 6
|
||||
}
|
||||
},
|
||||
"glyphs": `${this.$config.staticUri}/font/{fontstack}/{range}.pbf`,
|
||||
"layers": [
|
||||
{
|
||||
"id": "background",
|
||||
"type": "background",
|
||||
"paint": {
|
||||
"background-color": "#aadafe"
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "land",
|
||||
type: "fill",
|
||||
source: "world",
|
||||
// "source-layer": "land",
|
||||
paint: {
|
||||
"fill-color": "#cbe5ca",
|
||||
},
|
||||
},
|
||||
{
|
||||
"id": "country-abbrev",
|
||||
"type": "symbol",
|
||||
"source": "world",
|
||||
"maxzoom": 3,
|
||||
"layout": {
|
||||
"text-field": "{abbrev}",
|
||||
"text-font": ["Open Sans Semibold"],
|
||||
"text-transform": "uppercase",
|
||||
"text-max-width": 20,
|
||||
"text-size": {
|
||||
"stops": [[3, 10], [4, 11], [5, 12], [6, 16]]
|
||||
},
|
||||
"text-letter-spacing": {
|
||||
"stops": [[4, 0], [5, 1], [6, 2]]
|
||||
},
|
||||
"text-line-height": {
|
||||
"stops": [[5, 1.2], [6, 2]]
|
||||
}
|
||||
},
|
||||
"paint": {
|
||||
"text-halo-color": "#fff",
|
||||
"text-halo-width": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"id": "country-border",
|
||||
"type": "line",
|
||||
"source": "world",
|
||||
"paint": {
|
||||
"line-color": "#226688",
|
||||
"line-opacity": 0.25,
|
||||
"line-dasharray": [6, 2, 2, 2],
|
||||
"line-width": 1.2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "country-name",
|
||||
"type": "symbol",
|
||||
"minzoom": 3,
|
||||
"source": "world",
|
||||
"layout": {
|
||||
"text-field": "{name}",
|
||||
"text-font": ["Open Sans Semibold"],
|
||||
"text-max-width": 20,
|
||||
"text-size": {
|
||||
"stops": [[3, 10], [4, 11], [5, 12], [6, 16]]
|
||||
}
|
||||
},
|
||||
"paint": {
|
||||
"text-halo-color": "#fff",
|
||||
"text-halo-width": 1
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
attributionControl: true,
|
||||
customAttribution: this.attribution,
|
||||
zoom: 0,
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
initialized: false,
|
||||
map: null,
|
||||
markers: {},
|
||||
markersOnScreen: {},
|
||||
loading: false,
|
||||
url: 'https://api.maptiler.com/maps/' + s.style + '/{z}/{x}/{y}.png?key=' + mapKey,
|
||||
url: "",
|
||||
attribution: '<a href="https://www.maptiler.com/copyright/" target="_blank">© MapTiler</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>',
|
||||
options: mapOptions,
|
||||
mapFont: mapFont,
|
||||
options: {},
|
||||
mapFont: [],
|
||||
photos: [],
|
||||
result: {},
|
||||
filter: filter,
|
||||
filter: {q: this.query()},
|
||||
lastFilter: {},
|
||||
config: this.$config.values,
|
||||
settings: s,
|
||||
settings: this.$config.values.settings.maps,
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
|
@ -182,12 +59,144 @@ export default {
|
|||
},
|
||||
mounted() {
|
||||
this.$scrollbar.hide();
|
||||
this.renderMap();
|
||||
this.configureMap().then(() => this.renderMap());
|
||||
},
|
||||
destroyed() {
|
||||
this.$scrollbar.show();
|
||||
},
|
||||
methods: {
|
||||
configureMap() {
|
||||
return this.$config.load().finally(() => {
|
||||
const s = this.$config.values.settings.maps;
|
||||
const filter = {
|
||||
q: this.query(),
|
||||
};
|
||||
|
||||
let mapKey = "";
|
||||
|
||||
if (this.$config.has("mapKey")) {
|
||||
mapKey = this.$config.get("mapKey");
|
||||
}
|
||||
|
||||
const settings = this.$config.settings();
|
||||
|
||||
if (settings && settings.features.private) {
|
||||
filter.public = true;
|
||||
}
|
||||
|
||||
if (settings && settings.features.review && (!this.staticFilter || !("quality" in this.staticFilter))) {
|
||||
filter.quality = 3;
|
||||
}
|
||||
|
||||
let mapFont = ['Roboto', 'sans-serif'];
|
||||
|
||||
let mapOptions = {
|
||||
container: "map",
|
||||
style: "https://api.maptiler.com/maps/" + s.style + "/style.json?key=" + mapKey,
|
||||
attributionControl: true,
|
||||
customAttribution: this.attribution,
|
||||
zoom: 0,
|
||||
};
|
||||
|
||||
if (!mapKey || s.style === "offline") {
|
||||
mapFont = ["Open Sans Semibold"];
|
||||
mapOptions = {
|
||||
container: "map",
|
||||
style: {
|
||||
"version": 8,
|
||||
"sources": {
|
||||
"world": {
|
||||
"type": "geojson",
|
||||
"data": `${this.$config.staticUri}/geo/world.json`,
|
||||
"maxzoom": 6
|
||||
}
|
||||
},
|
||||
"glyphs": `${this.$config.staticUri}/font/{fontstack}/{range}.pbf`,
|
||||
"layers": [
|
||||
{
|
||||
"id": "background",
|
||||
"type": "background",
|
||||
"paint": {
|
||||
"background-color": "#aadafe"
|
||||
}
|
||||
},
|
||||
{
|
||||
id: "land",
|
||||
type: "fill",
|
||||
source: "world",
|
||||
// "source-layer": "land",
|
||||
paint: {
|
||||
"fill-color": "#cbe5ca",
|
||||
},
|
||||
},
|
||||
{
|
||||
"id": "country-abbrev",
|
||||
"type": "symbol",
|
||||
"source": "world",
|
||||
"maxzoom": 3,
|
||||
"layout": {
|
||||
"text-field": "{abbrev}",
|
||||
"text-font": ["Open Sans Semibold"],
|
||||
"text-transform": "uppercase",
|
||||
"text-max-width": 20,
|
||||
"text-size": {
|
||||
"stops": [[3, 10], [4, 11], [5, 12], [6, 16]]
|
||||
},
|
||||
"text-letter-spacing": {
|
||||
"stops": [[4, 0], [5, 1], [6, 2]]
|
||||
},
|
||||
"text-line-height": {
|
||||
"stops": [[5, 1.2], [6, 2]]
|
||||
}
|
||||
},
|
||||
"paint": {
|
||||
"text-halo-color": "#fff",
|
||||
"text-halo-width": 1
|
||||
},
|
||||
},
|
||||
{
|
||||
"id": "country-border",
|
||||
"type": "line",
|
||||
"source": "world",
|
||||
"paint": {
|
||||
"line-color": "#226688",
|
||||
"line-opacity": 0.25,
|
||||
"line-dasharray": [6, 2, 2, 2],
|
||||
"line-width": 1.2
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "country-name",
|
||||
"type": "symbol",
|
||||
"minzoom": 3,
|
||||
"source": "world",
|
||||
"layout": {
|
||||
"text-field": "{name}",
|
||||
"text-font": ["Open Sans Semibold"],
|
||||
"text-max-width": 20,
|
||||
"text-size": {
|
||||
"stops": [[3, 10], [4, 11], [5, 12], [6, 16]]
|
||||
}
|
||||
},
|
||||
"paint": {
|
||||
"text-halo-color": "#fff",
|
||||
"text-halo-width": 1
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
attributionControl: true,
|
||||
customAttribution: this.attribution,
|
||||
zoom: 0,
|
||||
};
|
||||
}
|
||||
|
||||
this.filter = filter;
|
||||
this.url = 'https://api.maptiler.com/maps/' + s.style + '/{z}/{x}/{y}.png?key=' + mapKey;
|
||||
this.options = mapOptions;
|
||||
this.mapFont = mapFont;
|
||||
});
|
||||
},
|
||||
query: function () {
|
||||
return this.$route.params.q ? this.$route.params.q : "";
|
||||
},
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<v-flex xs12 class="pa-2">
|
||||
<v-text-field
|
||||
v-model="oldPassword"
|
||||
hide-details required autofocus
|
||||
hide-details required
|
||||
type="password"
|
||||
:disabled="busy"
|
||||
browser-autocomplete="off"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
|
||||
Package workers contains auto indexing & importing workers.
|
||||
Package auto contains index & import background workers.
|
||||
|
||||
Copyright (c) 2018 - 2021 Michael Mayer <hello@photoprism.org>
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ func ShouldIndex() {
|
|||
autoIndex = time.Now()
|
||||
}
|
||||
|
||||
// mustIndex tests if auto indexing must be started.
|
||||
// mustIndex tests if the index must be updated.
|
||||
func mustIndex(delay time.Duration) bool {
|
||||
if delay.Seconds() <= 0 {
|
||||
return false
|
||||
|
|
|
@ -14,7 +14,7 @@ import (
|
|||
var StopCommand = cli.Command{
|
||||
Name: "stop",
|
||||
Aliases: []string{"down"},
|
||||
Usage: "Stops the web server when running in daemon mode",
|
||||
Usage: "Stops the web server in daemon mode",
|
||||
Action: stopAction,
|
||||
}
|
||||
|
||||
|
|
|
@ -71,8 +71,9 @@ type Config struct {
|
|||
func init() {
|
||||
TotalMem = memory.TotalMemory()
|
||||
|
||||
// Disable features with high memory requirements unless PHOTOPRISM_UNSAFE is set.
|
||||
// Check available memory if not running in unsafe mode.
|
||||
if os.Getenv("PHOTOPRISM_UNSAFE") == "" {
|
||||
// Disable features with high memory requirements?
|
||||
LowMem = TotalMem < MinMem
|
||||
}
|
||||
|
||||
|
@ -475,31 +476,35 @@ func (c *Config) Workers() int {
|
|||
return 1
|
||||
}
|
||||
|
||||
// WakeupInterval returns the background worker wakeup interval duration.
|
||||
// WakeupInterval returns the metadata, share & sync background worker wakeup interval duration (1 - 604800 seconds).
|
||||
func (c *Config) WakeupInterval() time.Duration {
|
||||
if c.options.WakeupInterval <= 0 || c.options.WakeupInterval > 86400 {
|
||||
if c.options.Unsafe && c.options.WakeupInterval < 0 {
|
||||
// Background worker can be disabled in unsafe mode.
|
||||
return time.Duration(0)
|
||||
} else if c.options.WakeupInterval <= 0 || c.options.WakeupInterval > 604800 {
|
||||
// Default if out of range.
|
||||
return time.Duration(DefaultWakeupInterval) * time.Second
|
||||
}
|
||||
|
||||
return time.Duration(c.options.WakeupInterval) * time.Second
|
||||
}
|
||||
|
||||
// AutoIndex returns the auto indexing delay duration.
|
||||
// AutoIndex returns the auto index delay duration.
|
||||
func (c *Config) AutoIndex() time.Duration {
|
||||
if c.options.AutoIndex < 0 {
|
||||
return time.Duration(0)
|
||||
} else if c.options.AutoIndex == 0 || c.options.AutoIndex > 86400 {
|
||||
} else if c.options.AutoIndex == 0 || c.options.AutoIndex > 604800 {
|
||||
return time.Duration(DefaultAutoIndexDelay) * time.Second
|
||||
}
|
||||
|
||||
return time.Duration(c.options.AutoIndex) * time.Second
|
||||
}
|
||||
|
||||
// AutoImport returns the auto importing delay duration.
|
||||
// AutoImport returns the auto import delay duration.
|
||||
func (c *Config) AutoImport() time.Duration {
|
||||
if c.options.AutoImport < 0 || c.ReadOnly() {
|
||||
return time.Duration(0)
|
||||
} else if c.options.AutoImport == 0 || c.options.AutoImport > 86400 {
|
||||
} else if c.options.AutoImport == 0 || c.options.AutoImport > 604800 {
|
||||
return time.Duration(DefaultAutoImportDelay) * time.Second
|
||||
}
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ var GlobalFlags = []cli.Flag{
|
|||
},
|
||||
cli.StringFlag{
|
||||
Name: "pid-filename",
|
||||
Usage: "process id `FILENAME` when running in daemon mode",
|
||||
Usage: "daemon mode process id `FILENAME`",
|
||||
EnvVar: "PHOTOPRISM_PID_FILENAME",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
|
@ -36,6 +36,12 @@ var GlobalFlags = []cli.Flag{
|
|||
Hidden: true,
|
||||
Usage: "enable test mode",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
Name: "unsafe",
|
||||
Hidden: true,
|
||||
Usage: "enable unsafe mode",
|
||||
EnvVar: "PHOTOPRISM_UNSAFE",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
Name: "demo",
|
||||
Hidden: true,
|
||||
|
@ -55,7 +61,7 @@ var GlobalFlags = []cli.Flag{
|
|||
},
|
||||
cli.StringFlag{
|
||||
Name: "admin-password",
|
||||
Usage: "initial admin user `PASSWORD`, minimum 4 characters",
|
||||
Usage: "initial admin `PASSWORD`, minimum 4 characters",
|
||||
EnvVar: "PHOTOPRISM_ADMIN_PASSWORD",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
|
@ -132,13 +138,13 @@ var GlobalFlags = []cli.Flag{
|
|||
},
|
||||
cli.IntFlag{
|
||||
Name: "wakeup-interval",
|
||||
Usage: "background worker wakeup interval in `SECONDS`",
|
||||
Usage: "metadata, share & sync background worker wakeup interval in `SECONDS` (1-604800)",
|
||||
Value: DefaultWakeupInterval,
|
||||
EnvVar: "PHOTOPRISM_WAKEUP_INTERVAL",
|
||||
},
|
||||
cli.IntFlag{
|
||||
Name: "auto-index",
|
||||
Usage: "WebDAV auto indexing safety delay in `SECONDS`, disable with -1",
|
||||
Usage: "WebDAV auto index safety delay in `SECONDS`, disable with -1",
|
||||
Value: DefaultAutoIndexDelay,
|
||||
EnvVar: "PHOTOPRISM_AUTO_INDEX",
|
||||
},
|
||||
|
@ -175,7 +181,7 @@ var GlobalFlags = []cli.Flag{
|
|||
},
|
||||
cli.BoolFlag{
|
||||
Name: "disable-ffmpeg",
|
||||
Usage: "disable video transcoding and still image extraction with FFmpeg",
|
||||
Usage: "disable video transcoding and thumbnail extraction with FFmpeg",
|
||||
EnvVar: "PHOTOPRISM_DISABLE_FFMPEG",
|
||||
},
|
||||
cli.BoolFlag{
|
||||
|
@ -338,7 +344,7 @@ var GlobalFlags = []cli.Flag{
|
|||
},
|
||||
cli.StringFlag{
|
||||
Name: "darktable-blacklist",
|
||||
Usage: "file `EXTENSIONS` not to be converted with Darktable",
|
||||
Usage: "RAW file `EXTENSIONS` incompatible with Darktable",
|
||||
Value: "raf,cr3,dng",
|
||||
EnvVar: "PHOTOPRISM_DARKTABLE_BLACKLIST",
|
||||
},
|
||||
|
@ -350,7 +356,7 @@ var GlobalFlags = []cli.Flag{
|
|||
},
|
||||
cli.StringFlag{
|
||||
Name: "rawtherapee-blacklist",
|
||||
Usage: "file `EXTENSIONS` not to be converted with RawTherapee",
|
||||
Usage: "RAW file `EXTENSIONS` incompatible with RawTherapee",
|
||||
Value: "",
|
||||
EnvVar: "PHOTOPRISM_RAWTHERAPEE_BLACKLIST",
|
||||
},
|
||||
|
@ -368,7 +374,7 @@ var GlobalFlags = []cli.Flag{
|
|||
},
|
||||
cli.StringFlag{
|
||||
Name: "ffmpeg-bin",
|
||||
Usage: "FFmpeg `COMMAND` for video transcoding and still image extraction",
|
||||
Usage: "FFmpeg `COMMAND` for video transcoding and thumbnail extraction",
|
||||
Value: "ffmpeg",
|
||||
EnvVar: "PHOTOPRISM_FFMPEG_BIN",
|
||||
},
|
||||
|
|
|
@ -37,6 +37,7 @@ type Options struct {
|
|||
LogLevel string `yaml:"LogLevel" json:"-" flag:"log-level"`
|
||||
LogFilename string `yaml:"LogFilename" json:"-" flag:"log-filename"`
|
||||
Test bool `yaml:"-" json:"Test,omitempty" flag:"test"`
|
||||
Unsafe bool `yaml:"-" json:"-" flag:"unsafe"`
|
||||
Demo bool `yaml:"Demo" json:"-" flag:"demo"`
|
||||
Sponsor bool `yaml:"-" json:"-" flag:"sponsor"`
|
||||
Public bool `yaml:"Public" json:"-" flag:"public"`
|
||||
|
|
180
internal/server/security.go
Normal file
180
internal/server/security.go
Normal file
|
@ -0,0 +1,180 @@
|
|||
package server
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
|
||||
"github.com/photoprism/photoprism/pkg/txt"
|
||||
)
|
||||
|
||||
const (
|
||||
stsHeader = "Strict-Transport-Security"
|
||||
stsSubdomainString = "; includeSubdomains"
|
||||
frameOptionsHeader = "X-Frame-Options"
|
||||
frameOptionsValue = "DENY"
|
||||
contentTypeHeader = "X-Content-Type-Options"
|
||||
contentTypeValue = "nosniff"
|
||||
xssProtectionHeader = "X-XSS-Protection"
|
||||
xssProtectionValue = "1; mode=block"
|
||||
cspHeader = "Content-Security-Policy"
|
||||
)
|
||||
|
||||
func defaultBadHostHandler(w http.ResponseWriter, r *http.Request) {
|
||||
http.Error(w, "Bad Host", http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
// SecurityOptions is a struct for specifying configuration options for the HTTP security middleware.
|
||||
type SecurityOptions struct {
|
||||
// AllowedHosts is a list of fully qualified domain names that are allowed. Default is empty list, which allows any and all host names.
|
||||
AllowedHosts []string
|
||||
// If SSLRedirect is set to true, then only allow https requests. Default is false.
|
||||
SSLRedirect bool
|
||||
// If SSLTemporaryRedirect is true, a 302 will be used while redirecting. Default is false (301).
|
||||
SSLTemporaryRedirect bool
|
||||
// SSLHost is the host name that is used to redirect http requests to https. Default is "", which indicates to use the same host.
|
||||
SSLHost string
|
||||
// SSLProxyHeaders is set of header keys with associated values that would indicate a valid https request. Useful when using Nginx: `map[string]string{"X-Forwarded-Proto": "https"}`. Default is blank map.
|
||||
SSLProxyHeaders map[string]string
|
||||
// STSSeconds is the max-age of the Strict-Transport-Security header. Default is 0, which would NOT include the header.
|
||||
STSSeconds int64
|
||||
// If STSIncludeSubdomains is set to true, the `includeSubdomains` will be appended to the Strict-Transport-Security header. Default is false.
|
||||
STSIncludeSubdomains bool
|
||||
// If FrameDeny is set to true, adds the X-Frame-Options header with the value of `DENY`. Default is false.
|
||||
FrameDeny bool
|
||||
// CustomFrameOptionsValue allows the X-Frame-Options header value to be set with a custom value. This overrides the FrameDeny option.
|
||||
CustomFrameOptionsValue string
|
||||
// If ContentTypeNosniff is true, adds the X-Content-Type-Options header with the value `nosniff`. Default is false.
|
||||
ContentTypeNosniff bool
|
||||
// If BrowserXssFilter is true, adds the X-XSS-Protection header with the value `1; mode=block`. Default is false.
|
||||
BrowserXssFilter bool
|
||||
// ContentSecurityPolicy allows the Content-Security-Policy header value to be set with a custom value. Default is "".
|
||||
ContentSecurityPolicy string
|
||||
// When developing, the AllowedHosts, SSL, and STS options can cause some unwanted effects. Usually testing happens on http, not https, and on localhost, not your production domain... so set this to true for dev environment.
|
||||
// If you would like your development environment to mimic production with complete Host blocking, SSL redirects, and STS headers, leave this as false. Default if false.
|
||||
IsDevelopment bool
|
||||
|
||||
// Handlers for when an error occurs (ie bad host).
|
||||
BadHostHandler http.Handler
|
||||
}
|
||||
|
||||
// security is an HTTP middleware that enables basic security features. A single SecurityOptions struct can be
|
||||
// provided to configure which features should be enabled, and the ability to override a few of the default values.
|
||||
// Code is based on https://github.com/gin-gonic/contrib/tree/master/secure released under the MIT license:
|
||||
// https://github.com/gin-gonic/contrib/blob/master/LICENSE
|
||||
type security struct {
|
||||
// Customize with an SecurityOptions struct.
|
||||
opt SecurityOptions
|
||||
}
|
||||
|
||||
// process handles an HTTP request.
|
||||
func (s *security) process(w http.ResponseWriter, r *http.Request) error {
|
||||
// Allowed hosts check.
|
||||
if len(s.opt.AllowedHosts) > 0 && !s.opt.IsDevelopment {
|
||||
isGoodHost := false
|
||||
for _, allowedHost := range s.opt.AllowedHosts {
|
||||
if strings.EqualFold(allowedHost, r.Host) {
|
||||
isGoodHost = true
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if !isGoodHost {
|
||||
s.opt.BadHostHandler.ServeHTTP(w, r)
|
||||
return fmt.Errorf("http: bad host %s", txt.Quote(r.Host))
|
||||
}
|
||||
}
|
||||
|
||||
// SSL check.
|
||||
if s.opt.SSLRedirect && s.opt.IsDevelopment == false {
|
||||
isSSL := false
|
||||
if strings.EqualFold(r.URL.Scheme, "https") || r.TLS != nil {
|
||||
isSSL = true
|
||||
} else {
|
||||
for k, v := range s.opt.SSLProxyHeaders {
|
||||
if r.Header.Get(k) == v {
|
||||
isSSL = true
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if isSSL == false {
|
||||
url := r.URL
|
||||
url.Scheme = "https"
|
||||
url.Host = r.Host
|
||||
|
||||
if len(s.opt.SSLHost) > 0 {
|
||||
url.Host = s.opt.SSLHost
|
||||
}
|
||||
|
||||
status := http.StatusMovedPermanently
|
||||
if s.opt.SSLTemporaryRedirect {
|
||||
status = http.StatusTemporaryRedirect
|
||||
}
|
||||
|
||||
http.Redirect(w, r, url.String(), status)
|
||||
return fmt.Errorf("http: https redirect")
|
||||
}
|
||||
}
|
||||
|
||||
// Strict Transport Security header.
|
||||
if s.opt.STSSeconds != 0 && !s.opt.IsDevelopment {
|
||||
stsSub := ""
|
||||
if s.opt.STSIncludeSubdomains {
|
||||
stsSub = stsSubdomainString
|
||||
}
|
||||
|
||||
w.Header().Add(stsHeader, fmt.Sprintf("max-age=%d%s", s.opt.STSSeconds, stsSub))
|
||||
}
|
||||
|
||||
// Frame Options header.
|
||||
if len(s.opt.CustomFrameOptionsValue) > 0 {
|
||||
w.Header().Add(frameOptionsHeader, s.opt.CustomFrameOptionsValue)
|
||||
} else if s.opt.FrameDeny {
|
||||
w.Header().Add(frameOptionsHeader, frameOptionsValue)
|
||||
}
|
||||
|
||||
// Content Type Options header.
|
||||
if s.opt.ContentTypeNosniff {
|
||||
w.Header().Add(contentTypeHeader, contentTypeValue)
|
||||
}
|
||||
|
||||
// XSS Protection header.
|
||||
if s.opt.BrowserXssFilter {
|
||||
w.Header().Add(xssProtectionHeader, xssProtectionValue)
|
||||
}
|
||||
|
||||
// Content Security Policy header.
|
||||
if len(s.opt.ContentSecurityPolicy) > 0 {
|
||||
w.Header().Add(cspHeader, s.opt.ContentSecurityPolicy)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
||||
}
|
||||
|
||||
// Security registers the HTTP security middleware.
|
||||
func Security(options SecurityOptions) gin.HandlerFunc {
|
||||
if options.BadHostHandler == nil {
|
||||
options.BadHostHandler = http.HandlerFunc(defaultBadHostHandler)
|
||||
}
|
||||
|
||||
s := &security{
|
||||
opt: options,
|
||||
}
|
||||
|
||||
return func(c *gin.Context) {
|
||||
err := s.process(c.Writer, c.Request)
|
||||
if err != nil {
|
||||
if c.Writer.Written() {
|
||||
c.AbortWithStatus(c.Writer.Status())
|
||||
} else {
|
||||
_ = c.AbortWithError(http.StatusInternalServerError, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -21,18 +21,35 @@ func Start(ctx context.Context, conf *config.Config) {
|
|||
}
|
||||
}()
|
||||
|
||||
// Set http server mode.
|
||||
// Set HTTP server mode.
|
||||
if conf.HttpMode() != "" {
|
||||
gin.SetMode(conf.HttpMode())
|
||||
} else if conf.Debug() == false {
|
||||
gin.SetMode(gin.ReleaseMode)
|
||||
}
|
||||
|
||||
// Create router and add routing middleware.
|
||||
// Create new HTTP router engine without standard middleware.
|
||||
router := gin.New()
|
||||
|
||||
// Register logger middleware.
|
||||
router.Use(Logger(), Recovery())
|
||||
|
||||
// Enable http compression (if any).
|
||||
// Register security middleware.
|
||||
router.Use(Security(SecurityOptions{
|
||||
IsDevelopment: gin.Mode() != gin.ReleaseMode || conf.Test(),
|
||||
AllowedHosts: []string{},
|
||||
SSLRedirect: false,
|
||||
SSLHost: "",
|
||||
SSLProxyHeaders: map[string]string{"X-Forwarded-Proto": "https"},
|
||||
STSSeconds: 0,
|
||||
STSIncludeSubdomains: false,
|
||||
FrameDeny: true,
|
||||
ContentTypeNosniff: false,
|
||||
BrowserXssFilter: false,
|
||||
ContentSecurityPolicy: "frame-ancestors 'none';",
|
||||
}))
|
||||
|
||||
// Enable HTTP compression?
|
||||
switch conf.HttpCompression() {
|
||||
case "gzip":
|
||||
log.Infof("http: enabling gzip compression")
|
||||
|
@ -50,13 +67,16 @@ func Start(ctx context.Context, conf *config.Config) {
|
|||
// Set template directory
|
||||
router.LoadHTMLGlob(conf.TemplatesPath() + "/*")
|
||||
|
||||
// Register HTTP route handlers.
|
||||
registerRoutes(router, conf)
|
||||
|
||||
// Create new HTTP server instance.
|
||||
server := &http.Server{
|
||||
Addr: fmt.Sprintf("%s:%d", conf.HttpHost(), conf.HttpPort()),
|
||||
Handler: router,
|
||||
}
|
||||
|
||||
// Start HTTP server.
|
||||
go func() {
|
||||
log.Infof("http: starting web server at %s", server.Addr)
|
||||
|
||||
|
@ -69,6 +89,7 @@ func Start(ctx context.Context, conf *config.Config) {
|
|||
}
|
||||
}()
|
||||
|
||||
// Graceful HTTP server shutdown.
|
||||
<-ctx.Done()
|
||||
log.Info("http: shutting down web server")
|
||||
err := server.Close()
|
||||
|
|
|
@ -42,9 +42,17 @@ import (
|
|||
var log = event.Log
|
||||
var stop = make(chan bool, 1)
|
||||
|
||||
// Start runs PhotoPrism background workers every wakeup interval.
|
||||
// Start runs the metadata, share & sync background workers at regular intervals.
|
||||
func Start(conf *config.Config) {
|
||||
ticker := time.NewTicker(conf.WakeupInterval())
|
||||
interval := conf.WakeupInterval()
|
||||
|
||||
// Disabled in safe mode?
|
||||
if interval.Seconds() <= 0 {
|
||||
log.Warnf("config: disabled metadata, share & sync background workers")
|
||||
return
|
||||
}
|
||||
|
||||
ticker := time.NewTicker(interval)
|
||||
|
||||
go func() {
|
||||
for {
|
||||
|
|
Loading…
Add table
Reference in a new issue