Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
parent
5475c43d49
commit
97c9962053
158 changed files with 10406 additions and 19548 deletions
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: ci@photoprism.app\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2023-02-09 12:51+0000\n"
|
||||
"PO-Revision-Date: 2023-02-09 13:13+0000\n"
|
||||
"Last-Translator: Anonymous <noreply@weblate.org>\n"
|
||||
|
|
38
frontend/package-lock.json
generated
38
frontend/package-lock.json
generated
|
@ -2498,9 +2498,9 @@
|
|||
"integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ=="
|
||||
},
|
||||
"node_modules/@vvo/tzdb": {
|
||||
"version": "6.94.0",
|
||||
"resolved": "https://registry.npmjs.org/@vvo/tzdb/-/tzdb-6.94.0.tgz",
|
||||
"integrity": "sha512-HgDlapSOeUxSjyOWpo6TyllR8XHxDEoO25G46zjaQHtGCjEpXkIdkwEygwe9x2f62FDBFiN3ahQRHfr42yhsnA=="
|
||||
"version": "6.96.0",
|
||||
"resolved": "https://registry.npmjs.org/@vvo/tzdb/-/tzdb-6.96.0.tgz",
|
||||
"integrity": "sha512-qZQLMwDIYG7OxSi71H52fhYOfZVjXrKATACoQVv2knjUy2d9t1/yqqu4o1f6lF+p0dakVLETdDONGsbvWM+r7A=="
|
||||
},
|
||||
"node_modules/@webassemblyjs/ast": {
|
||||
"version": "1.11.1",
|
||||
|
@ -4408,9 +4408,9 @@
|
|||
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
|
||||
},
|
||||
"node_modules/define-properties": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz",
|
||||
"integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==",
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
|
||||
"integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
|
||||
"dependencies": {
|
||||
"has-property-descriptors": "^1.0.0",
|
||||
"object-keys": "^1.1.1"
|
||||
|
@ -4626,9 +4626,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.4.292",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.292.tgz",
|
||||
"integrity": "sha512-ESWOSyJy5odDlE8wvh5NNAMORv4r6assPwIPGHEMWrWD0SONXcG/xT+9aD9CQyeRwyYDPo6dJT4Bbeg5uevVQQ=="
|
||||
"version": "1.4.295",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.295.tgz",
|
||||
"integrity": "sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw=="
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
|
@ -4833,9 +4833,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "8.33.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz",
|
||||
"integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==",
|
||||
"version": "8.34.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz",
|
||||
"integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==",
|
||||
"dependencies": {
|
||||
"@eslint/eslintrc": "^1.4.1",
|
||||
"@humanwhocodes/config-array": "^0.11.8",
|
||||
|
@ -7047,11 +7047,11 @@
|
|||
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
|
||||
},
|
||||
"node_modules/internal-slot": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz",
|
||||
"integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==",
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
|
||||
"integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
|
||||
"dependencies": {
|
||||
"get-intrinsic": "^1.1.3",
|
||||
"get-intrinsic": "^1.2.0",
|
||||
"has": "^1.0.3",
|
||||
"side-channel": "^1.0.4"
|
||||
},
|
||||
|
@ -8371,9 +8371,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/minimist": {
|
||||
"version": "1.2.7",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
|
||||
"integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
|
||||
"version": "1.2.8",
|
||||
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
||||
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
|
|
|
@ -105,8 +105,9 @@
|
|||
@click.stop.prevent="onOpen($event, index, !isSharedView, photo.Type === 'live')">
|
||||
<i v-if="photo.Type === 'raw'" class="action-raw" :title="$gettext('RAW')">photo_camera</i>
|
||||
<i v-if="photo.Type === 'live'" class="action-live" :title="$gettext('Live')"><icon-live-photo/></i>
|
||||
<i v-if="photo.Type === 'animated'" class="action-animated" :title="$gettext('Animated')">gif</i>
|
||||
<i v-if="photo.Type === 'video'" class="action-play" :title="$gettext('Video')">play_arrow</i>
|
||||
<i v-if="photo.Type === 'animated'" class="action-animated" :title="$gettext('Animated')">gif</i>
|
||||
<i v-if="photo.Type === 'vector'" class="action-vector" :title="$gettext('Vector')">draw</i>
|
||||
<i v-if="photo.Type === 'image'" class="action-stack" :title="$gettext('Stack')">burst_mode</i>
|
||||
</button>
|
||||
|
||||
|
@ -207,6 +208,11 @@
|
|||
<i>gif_box</i>
|
||||
{{ photo.getVideoInfo() }}
|
||||
</button>
|
||||
<button v-else-if="photo.Type === 'vector'" :title="$gettext('Vector')"
|
||||
@click.exact="openPhoto(index)">
|
||||
<i>draw</i>
|
||||
{{ photo.getVectorInfo() }}
|
||||
</button>
|
||||
<button v-else :title="$gettext('Camera')" class="action-camera-edit"
|
||||
:data-uid="photo.UID" @click.exact="editPhoto(index)">
|
||||
<i>photo_camera</i>
|
||||
|
|
|
@ -75,6 +75,7 @@
|
|||
@click.stop.prevent="openPhoto(index, false, photo.Type === 'live')">
|
||||
<i v-if="photo.Type === 'live'" class="action-live" :title="$gettext('Live')"><icon-live-photo/></i>
|
||||
<i v-if="photo.Type === 'animated'" class="action-animated" :title="$gettext('Animated')">gif</i>
|
||||
<i v-if="photo.Type === 'vector'" class="action-vector" :title="$gettext('Vector')">draw</i>
|
||||
<i v-if="photo.Type === 'video'" class="action-play" :title="$gettext('Video')">play_arrow</i>
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
@ -71,11 +71,12 @@
|
|||
@touchend.stop.prevent="onOpen($event, index, !isSharedView, photo.Type === 'live')"
|
||||
@touchmove.stop.prevent
|
||||
@click.stop.prevent="onOpen($event, index, !isSharedView, photo.Type === 'live')">
|
||||
<i v-if="photo.Type === 'raw'" color="white" class="action-raw" :title="$gettext('RAW')">photo_camera</i>
|
||||
<i v-if="photo.Type === 'live'" color="white" class="action-live" :title="$gettext('Live')"><icon-live-photo/></i>
|
||||
<i v-if="photo.Type === 'animated'" color="white" class="action-animated" :title="$gettext('Animated')">gif</i>
|
||||
<i v-if="photo.Type === 'video'" color="white" class="action-play" :title="$gettext('Video')">play_arrow</i>
|
||||
<i v-if="photo.Type === 'image'" color="white" class="action-stack" :title="$gettext('Stack')">burst_mode</i>
|
||||
<i v-if="photo.Type === 'raw'" class="action-raw" :title="$gettext('RAW')">photo_camera</i>
|
||||
<i v-if="photo.Type === 'live'" class="action-live" :title="$gettext('Live')"><icon-live-photo/></i>
|
||||
<i v-if="photo.Type === 'video'" class="action-play" :title="$gettext('Video')">play_arrow</i>
|
||||
<i v-if="photo.Type === 'animated'" class="action-animated" :title="$gettext('Animated')">gif</i>
|
||||
<i v-if="photo.Type === 'vector'" class="action-vector" :title="$gettext('Vector')">draw</i>
|
||||
<i v-if="photo.Type === 'image'" class="action-stack" :title="$gettext('Stack')">burst_mode</i>
|
||||
</button>
|
||||
|
||||
<button v-if="photo.Type === 'image' && selectMode"
|
||||
|
|
|
@ -249,7 +249,7 @@ body.chrome #photoprism .search-results .result {
|
|||
#photoprism .mosaic-view .result.image i,
|
||||
#photoprism .list-view .result .image i,
|
||||
#photoprism .cards-view .result .image i {
|
||||
color: white;
|
||||
color: #c0c0c0f5;
|
||||
font-size: 24px;
|
||||
text-rendering: optimizeLegibility;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
@click.stop.prevent="downloadFile(file)">
|
||||
<translate>Download</translate>
|
||||
</v-btn>
|
||||
<v-btn v-if="features.edit && file.FileType === 'jpg' && !file.Error && !file.Primary" small depressed dark
|
||||
<v-btn v-if="features.edit && (file.FileType === 'jpg' || file.FileType === 'png') && !file.Error && !file.Primary" small depressed dark
|
||||
color="primary-button"
|
||||
class="btn-action action-primary"
|
||||
@click.stop.prevent="primaryFile(file)">
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -39,15 +39,15 @@ msgstr ""
|
|||
msgid "%{n} pictures found"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:372
|
||||
#: src/options/options.js:383
|
||||
msgid "1 hour"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:374
|
||||
#: src/options/options.js:385
|
||||
msgid "12 hours"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:373
|
||||
#: src/options/options.js:384
|
||||
msgid "4 hours"
|
||||
msgstr ""
|
||||
|
||||
|
@ -126,37 +126,35 @@ msgstr ""
|
|||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:382
|
||||
#: src/options/options.js:393
|
||||
msgid "After 1 day"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:383
|
||||
#: src/options/options.js:394
|
||||
msgid "After 3 days"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:384
|
||||
#: src/options/options.js:395
|
||||
msgid "After 7 days"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:386
|
||||
#: src/options/options.js:397
|
||||
msgid "After one month"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:388
|
||||
#: src/options/options.js:399
|
||||
msgid "After one year"
|
||||
msgstr ""
|
||||
|
||||
#: src/page/albums.vue:59 src/page/albums.vue:1
|
||||
msgid ""
|
||||
"After selecting pictures from search results, you can add them to an album "
|
||||
"using the context menu."
|
||||
msgid "After selecting pictures from search results, you can add them to an album using the context menu."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:387
|
||||
#: src/options/options.js:398
|
||||
msgid "After two months"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:385
|
||||
#: src/options/options.js:396
|
||||
msgid "After two weeks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -233,9 +231,7 @@ msgid "All Years"
|
|||
msgstr ""
|
||||
|
||||
#: src/dialog/share.vue:75
|
||||
msgid ""
|
||||
"Alternatively, you can upload files directly to WebDAV servers like "
|
||||
"Nextcloud."
|
||||
msgid "Alternatively, you can upload files directly to WebDAV servers like Nextcloud."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/photo/edit/info.vue:151
|
||||
|
@ -250,10 +246,10 @@ msgstr ""
|
|||
msgid "An error occurred - are you offline?"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/navigation.vue:97 src/component/photo/cards.vue:299
|
||||
#: src/component/photo/cards.vue:478 src/component/photo/list.vue:191
|
||||
#: src/component/photo/mosaic.vue:224 src/model/file.js:210
|
||||
#: src/options/options.js:307
|
||||
#: src/component/navigation.vue:97 src/component/photo/cards.vue:309
|
||||
#: src/component/photo/cards.vue:488 src/component/photo/list.vue:192
|
||||
#: src/component/photo/mosaic.vue:229 src/model/file.js:210
|
||||
#: src/options/options.js:318
|
||||
msgid "Animated"
|
||||
msgstr ""
|
||||
|
||||
|
@ -273,13 +269,13 @@ msgstr ""
|
|||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:408 src/component/photo/clipboard.vue:88
|
||||
#: src/component/photo/cards.vue:418 src/component/photo/clipboard.vue:88
|
||||
#: src/dialog/photo/edit/details.vue:116
|
||||
msgid "Approve"
|
||||
msgstr ""
|
||||
|
||||
#: src/app/routes.js:243 src/component/navigation.vue:130
|
||||
#: src/component/photo/cards.vue:379 src/component/photo/clipboard.vue:204
|
||||
#: src/component/photo/cards.vue:389 src/component/photo/clipboard.vue:204
|
||||
#: src/page/settings/general.vue:340
|
||||
msgid "Archive"
|
||||
msgstr ""
|
||||
|
@ -321,9 +317,7 @@ msgid "Artist"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/connect.vue:110
|
||||
msgid ""
|
||||
"As this helps us provide more features to the public, we encourage all users "
|
||||
"to support our mission."
|
||||
msgid "As this helps us provide more features to the public, we encourage all users to support our mission."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/photo/edit/files.vue:149 src/dialog/photo/edit/files.vue:146
|
||||
|
@ -331,9 +325,7 @@ msgid "Aspect Ratio"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/settings/library.vue:112
|
||||
msgid ""
|
||||
"Automatically create JPEGs for other file types so that they can be "
|
||||
"displayed in a browser."
|
||||
msgid "Automatically create JPEGs for other file types so that they can be displayed in a browser."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/general.vue:165
|
||||
|
@ -341,16 +333,11 @@ msgid "Automatically creates albums of special moments, trips, and places."
|
|||
msgstr ""
|
||||
|
||||
#: src/page/about/about.vue:59
|
||||
msgid ""
|
||||
"Before submitting a support request, please use our Troubleshooting "
|
||||
"Checklists to determine the cause of your problem."
|
||||
msgid "Before submitting a support request, please use our Troubleshooting Checklists to determine the cause of your problem."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/sponsor.vue:22 src/page/about/about.vue:22
|
||||
msgid ""
|
||||
"Being 100% self-funded and independent, we can promise you that we will "
|
||||
"never sell your data and that we will always be transparent about our "
|
||||
"software and services."
|
||||
msgid "Being 100% self-funded and independent, we can promise you that we will never sell your data and that we will always be transparent about our software and services."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/account.vue:282 src/page/people/recognized.vue:434
|
||||
|
@ -362,19 +349,19 @@ msgstr ""
|
|||
msgid "Birth Date"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:407
|
||||
#: src/options/options.js:418
|
||||
msgid "Black"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:420
|
||||
#: src/options/options.js:431
|
||||
msgid "Blackman: Lanczos Modification, Less Ringing Artifacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:403
|
||||
#: src/options/options.js:414
|
||||
msgid "Blue"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:404
|
||||
#: src/options/options.js:415
|
||||
msgid "Brown"
|
||||
msgstr ""
|
||||
|
||||
|
@ -387,12 +374,10 @@ msgid "Browse indexed files and folders in Library."
|
|||
msgstr ""
|
||||
|
||||
#: src/page/about/about.vue:51
|
||||
msgid ""
|
||||
"Browse the Knowledge Base for detailed information on specific product "
|
||||
"features, services, and related resources."
|
||||
msgid "Browse the Knowledge Base for detailed information on specific product features, services, and related resources."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/about/feedback.vue:8 src/options/options.js:414
|
||||
#: src/page/about/feedback.vue:8 src/options/options.js:425
|
||||
msgid "Bug Report"
|
||||
msgstr ""
|
||||
|
||||
|
@ -401,9 +386,7 @@ msgid "Busy, please wait…"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/connect.vue:83 src/page/connect.vue:90
|
||||
msgid ""
|
||||
"By using the software and services we provide, you agree to our terms of "
|
||||
"service, privacy policy, and code of conduct."
|
||||
msgid "By using the software and services we provide, you agree to our terms of service, privacy policy, and code of conduct."
|
||||
msgstr ""
|
||||
|
||||
#: src/app/routes.js:175 src/component/navigation.vue:249
|
||||
|
@ -411,7 +394,7 @@ msgstr ""
|
|||
msgid "Calendar"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:486 src/component/photo/list.vue:137
|
||||
#: src/component/photo/cards.vue:505 src/component/photo/list.vue:138
|
||||
#: src/component/photo/toolbar.vue:204 src/dialog/photo/edit/details.vue:357
|
||||
msgid "Camera"
|
||||
msgstr ""
|
||||
|
@ -514,9 +497,7 @@ msgid "Colors"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/about/about.vue:46
|
||||
msgid ""
|
||||
"Common issues can be quickly diagnosed and solved using the troubleshooting "
|
||||
"checklists we provide."
|
||||
msgid "Common issues can be quickly diagnosed and solved using the troubleshooting checklists we provide."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/connect.vue:65 src/page/connect.vue:72
|
||||
|
@ -604,7 +585,7 @@ msgstr ""
|
|||
msgid "Creating thumbnails for"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:422
|
||||
#: src/options/options.js:433
|
||||
msgid "Cubic: Moderate Quality, Good Performance"
|
||||
msgstr ""
|
||||
|
||||
|
@ -612,11 +593,11 @@ msgstr ""
|
|||
msgid "Current Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/page/about/feedback.vue:5 src/options/options.js:411
|
||||
#: src/page/about/feedback.vue:5 src/options/options.js:422
|
||||
msgid "Customer Support"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:402
|
||||
#: src/options/options.js:413
|
||||
msgid "Cyan"
|
||||
msgstr ""
|
||||
|
||||
|
@ -624,7 +605,7 @@ msgstr ""
|
|||
msgid "Cyano"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:375
|
||||
#: src/options/options.js:386
|
||||
msgid "Daily"
|
||||
msgstr ""
|
||||
|
||||
|
@ -637,7 +618,7 @@ msgstr ""
|
|||
msgid "Debug Logs"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:272 src/options/options.js:326
|
||||
#: src/options/options.js:279 src/options/options.js:337
|
||||
#: src/options/themes.js:448
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
@ -656,7 +637,7 @@ msgstr ""
|
|||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:447 src/dialog/album/edit.vue:147
|
||||
#: src/component/photo/cards.vue:457 src/dialog/album/edit.vue:147
|
||||
#: src/dialog/photo/edit/details.vue:608 src/page/albums.vue:523
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
@ -740,18 +721,18 @@ msgid "Don't transcode videos with FFmpeg."
|
|||
msgstr ""
|
||||
|
||||
#: src/page/settings/advanced.vue:482
|
||||
msgid "Don't use Darktable to convert RAW files."
|
||||
msgid "Don't use Darktable to convert RAW images."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/advanced.vue:503
|
||||
msgid "Don't use RawTherapee to convert RAW files."
|
||||
msgid "Don't use RawTherapee to convert RAW images."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/advanced.vue:229
|
||||
msgid "Don't use TensorFlow for image classification."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:415
|
||||
#: src/options/options.js:426
|
||||
msgid "Donations"
|
||||
msgstr ""
|
||||
|
||||
|
@ -794,9 +775,7 @@ msgid "Downscaling Filter"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/about/feedback.vue:16
|
||||
msgid ""
|
||||
"Due to the high volume of emails we receive, our team may be unable to get "
|
||||
"back to you immediately."
|
||||
msgid "Due to the high volume of emails we receive, our team may be unable to get back to you immediately."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/library/browse.vue:37
|
||||
|
@ -812,9 +791,7 @@ msgid "Dynamic Previews"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/settings/advanced.vue:303
|
||||
msgid ""
|
||||
"Dynamic rendering requires a powerful server. It is not recommended for NAS "
|
||||
"devices."
|
||||
msgid "Dynamic rendering requires a powerful server. It is not recommended for NAS devices."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/advanced.vue:345
|
||||
|
@ -872,14 +849,12 @@ msgstr ""
|
|||
msgid "Estimates"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:376
|
||||
#: src/options/options.js:387
|
||||
msgid "Every two days"
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/general.vue:209
|
||||
msgid ""
|
||||
"Exclude content marked as private from search results, shared albums, "
|
||||
"labels, and places."
|
||||
msgid "Exclude content marked as private from search results, shared albums, labels, and places."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/people/new.vue:92 src/page/people/recognized.vue:134
|
||||
|
@ -934,7 +909,7 @@ msgstr ""
|
|||
msgid "Family Name"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:257
|
||||
#: src/options/options.js:264
|
||||
msgid "Fast"
|
||||
msgstr ""
|
||||
|
||||
|
@ -947,7 +922,7 @@ msgstr ""
|
|||
msgid "Favorites"
|
||||
msgstr ""
|
||||
|
||||
#: src/page/about/feedback.vue:7 src/options/options.js:413
|
||||
#: src/page/about/feedback.vue:7 src/options/options.js:424
|
||||
msgid "Feature Request"
|
||||
msgstr ""
|
||||
|
||||
|
@ -960,11 +935,10 @@ msgid "Feedback"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/connect.vue:82 src/dialog/sponsor.vue:25 src/page/connect.vue:89
|
||||
msgid ""
|
||||
"Feel free to contact us at hello@photoprism.app if you have any questions."
|
||||
msgid "Feel free to contact us at hello@photoprism.app if you have any questions."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:428
|
||||
#: src/options/options.js:439
|
||||
msgid "Female"
|
||||
msgstr ""
|
||||
|
||||
|
@ -996,9 +970,7 @@ msgid "Files"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/settings/library.vue:214
|
||||
msgid ""
|
||||
"Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to "
|
||||
"the same picture."
|
||||
msgid "Files with sequential names like 'IMG_1234 (2)' and 'IMG_1234 (3)' belong to the same picture."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/photo/edit/details.vue:486
|
||||
|
@ -1064,7 +1036,7 @@ msgstr ""
|
|||
msgid "Given Name"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:397
|
||||
#: src/options/options.js:408
|
||||
msgid "Gold"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1072,11 +1044,11 @@ msgstr ""
|
|||
msgid "Grayscale"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:400
|
||||
#: src/options/options.js:411
|
||||
msgid "Green"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:406
|
||||
#: src/options/options.js:417
|
||||
msgid "Grey"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1108,7 +1080,7 @@ msgstr ""
|
|||
msgid "Hide photos that have been moved to archive."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:330
|
||||
#: src/options/options.js:341
|
||||
msgid "High"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1128,7 +1100,7 @@ msgstr ""
|
|||
msgid "image"
|
||||
msgstr ""
|
||||
|
||||
#: src/model/file.js:216 src/options/options.js:303
|
||||
#: src/model/file.js:216 src/options/options.js:310
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1146,9 +1118,7 @@ msgid "Import failed"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/library/import.vue:25
|
||||
msgid ""
|
||||
"Imported files will be sorted by date and given a unique name to avoid "
|
||||
"duplicates."
|
||||
msgid "Imported files will be sorted by date and given a unique name to avoid duplicates."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/general.vue:275
|
||||
|
@ -1177,9 +1147,7 @@ msgstr ""
|
|||
#: src/component/photo/list.vue:1 src/component/photo/mosaic.vue:13
|
||||
#: src/component/photo/mosaic.vue:11 src/component/photo/mosaic.vue:1
|
||||
#: src/page/labels.vue:35 src/page/library/browse.vue:38
|
||||
msgid ""
|
||||
"In case pictures you expect are missing, please rescan your library and wait "
|
||||
"until indexing has been completed."
|
||||
msgid "In case pictures you expect are missing, please rescan your library and wait until indexing has been completed."
|
||||
msgstr ""
|
||||
|
||||
#: src/component/navigation.vue:564 src/page/library.vue:35
|
||||
|
@ -1241,14 +1209,11 @@ msgid "Invalid photo selected"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/connect.vue:103
|
||||
msgid ""
|
||||
"It is your decision whether you want to sign up to enjoy additional benefits."
|
||||
msgid "It is your decision whether you want to sign up to enjoy additional benefits."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/about/about.vue:16
|
||||
msgid ""
|
||||
"It makes use of the latest technologies to tag and find pictures "
|
||||
"automatically without getting in your way."
|
||||
msgid "It makes use of the latest technologies to tag and find pictures automatically without getting in your way."
|
||||
msgstr ""
|
||||
|
||||
#: src/model/rest.js:167
|
||||
|
@ -1290,7 +1255,7 @@ msgstr ""
|
|||
msgid "Labels deleted"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:421
|
||||
#: src/options/options.js:432
|
||||
msgid "Lanczos: Detail Preservation, Minimal Artifacts"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1342,7 +1307,7 @@ msgstr ""
|
|||
msgid "Like"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:399
|
||||
#: src/options/options.js:410
|
||||
msgid "Lime"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1350,7 +1315,7 @@ msgstr ""
|
|||
msgid "Limit reached, showing first %{n} files"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:423
|
||||
#: src/options/options.js:434
|
||||
msgid "Linear: Very Smooth, Best Performance"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1362,9 +1327,9 @@ msgstr ""
|
|||
msgid "List"
|
||||
msgstr ""
|
||||
|
||||
#: src/app/routes.js:215 src/component/photo/cards.vue:290
|
||||
#: src/component/photo/list.vue:182 src/component/photo/mosaic.vue:214
|
||||
#: src/options/options.js:315
|
||||
#: src/app/routes.js:215 src/component/photo/cards.vue:293
|
||||
#: src/component/photo/list.vue:183 src/component/photo/mosaic.vue:213
|
||||
#: src/options/options.js:322
|
||||
msgid "Live"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1372,7 +1337,7 @@ msgstr ""
|
|||
msgid "Live Photos"
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/photo/edit/details.vue:194 src/options/options.js:10
|
||||
#: src/dialog/photo/edit/details.vue:194 src/options/options.js:17
|
||||
msgid "Local Time"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1380,16 +1345,14 @@ msgstr ""
|
|||
msgid "location"
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/account.vue:708 src/component/photo/cards.vue:510
|
||||
#: src/component/photo/list.vue:138 src/dialog/album/edit.vue:125
|
||||
#: src/page/settings/account.vue:708 src/component/photo/cards.vue:529
|
||||
#: src/component/photo/list.vue:139 src/dialog/album/edit.vue:125
|
||||
#: src/page/albums.vue:86 src/page/settings/account.vue:561
|
||||
msgid "Location"
|
||||
msgstr ""
|
||||
|
||||
#: src/page/library/errors.vue:37 src/page/library/errors.vue:1
|
||||
msgid ""
|
||||
"Log messages appear here whenever PhotoPrism comes across broken files, or "
|
||||
"there are other potential issues."
|
||||
msgid "Log messages appear here whenever PhotoPrism comes across broken files, or there are other potential issues."
|
||||
msgstr ""
|
||||
|
||||
#: src/component/navigation.vue:458 src/component/navigation.vue:1713
|
||||
|
@ -1411,15 +1374,15 @@ msgstr ""
|
|||
msgid "Longitude"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:334
|
||||
#: src/options/options.js:345
|
||||
msgid "Low"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:276
|
||||
#: src/options/options.js:283
|
||||
msgid "Low Resolution"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:393
|
||||
#: src/options/options.js:404
|
||||
msgid "Magenta"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1427,7 +1390,7 @@ msgstr ""
|
|||
msgid "Main Color"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:427
|
||||
#: src/options/options.js:438
|
||||
msgid "Male"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1451,7 +1414,7 @@ msgstr ""
|
|||
msgid "Marker"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:261
|
||||
#: src/options/options.js:268
|
||||
msgid "Medium"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1518,8 +1481,8 @@ msgstr ""
|
|||
msgid "Must have at least %{n} characters."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/about/feedback.vue:172 src/component/photo/cards.vue:498
|
||||
#: src/component/photo/list.vue:138 src/component/photo/list.vue:227
|
||||
#: src/page/about/feedback.vue:172 src/component/photo/cards.vue:517
|
||||
#: src/component/photo/list.vue:139 src/component/photo/list.vue:235
|
||||
#: src/dialog/album/edit.vue:104 src/dialog/photo/edit/files.vue:34
|
||||
#: src/dialog/photo/edit/info.vue:31 src/dialog/photo/edit/labels.vue:43
|
||||
#: src/dialog/photo/edit/labels.vue:159 src/dialog/photo/edit/people.vue:21
|
||||
|
@ -1542,7 +1505,7 @@ msgstr ""
|
|||
msgid "Neon"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:371 src/options/options.js:381
|
||||
#: src/options/options.js:382 src/options/options.js:392
|
||||
#: src/page/settings/services.vue:54
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
|
@ -1613,9 +1576,7 @@ msgid "No video selected"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/library/errors.vue:34 src/page/library/errors.vue:1
|
||||
msgid ""
|
||||
"No warnings or error containing this keyword. Note that search is case-"
|
||||
"sensitive."
|
||||
msgid "No warnings or error containing this keyword. Note that search is case-sensitive."
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:15 src/component/photo/cards.vue:13
|
||||
|
@ -1625,12 +1586,10 @@ msgstr ""
|
|||
#: src/component/photo/mosaic.vue:15 src/component/photo/mosaic.vue:13
|
||||
#: src/component/photo/mosaic.vue:3 src/component/photo/mosaic.vue:1
|
||||
#: src/dialog/upload.vue:52 src/page/settings/library.vue:91
|
||||
msgid ""
|
||||
"Non-photographic and low-quality images require a review before they appear "
|
||||
"in search results."
|
||||
msgid "Non-photographic and low-quality images require a review before they appear in search results."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:253 src/options/options.js:338
|
||||
#: src/options/options.js:260 src/options/options.js:349
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1639,8 +1598,7 @@ msgid "Not Found"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/library/import.vue:28
|
||||
msgid ""
|
||||
"Note you may manually manage your originals folder and importing is optional."
|
||||
msgid "Note you may manually manage your originals folder and importing is optional."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/services.vue:36
|
||||
|
@ -1648,9 +1606,7 @@ msgid "Note:"
|
|||
msgstr ""
|
||||
|
||||
#: src/dialog/service/add.vue:28
|
||||
msgid ""
|
||||
"Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured "
|
||||
"as remote service for backup and file upload."
|
||||
msgid "Note: Only WebDAV servers, like Nextcloud or PhotoPrism, can be configured as remote service for backup and file upload."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/photo/edit/details.vue:658
|
||||
|
@ -1674,7 +1630,7 @@ msgstr ""
|
|||
msgid "On Windows, enter the following resource in the connection dialog:"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:377
|
||||
#: src/options/options.js:388
|
||||
msgid "Once a week"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1719,7 +1675,7 @@ msgstr ""
|
|||
msgid "or ask in our Community Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:396
|
||||
#: src/options/options.js:407
|
||||
msgid "Orange"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1746,24 +1702,19 @@ msgstr ""
|
|||
msgid "Originals"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:416 src/options/options.js:429
|
||||
#: src/options/options.js:427 src/options/options.js:440
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
#: src/page/connect.vue:109
|
||||
msgid ""
|
||||
"Our team decides this on an ongoing basis depending on the support effort "
|
||||
"required, server and licensing costs, and whether the features are generally "
|
||||
"needed by everyone or mainly requested by organizations and advanced users."
|
||||
msgid "Our team decides this on an ongoing basis depending on the support effort required, server and licensing costs, and whether the features are generally needed by everyone or mainly requested by organizations and advanced users."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/about/about.vue:45
|
||||
msgid ""
|
||||
"Our User Guide also covers many advanced topics, such as migrating from "
|
||||
"Google Photos and thumbnail quality settings."
|
||||
msgid "Our User Guide also covers many advanced topics, such as migrating from Google Photos and thumbnail quality settings."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:290
|
||||
#: src/options/options.js:297
|
||||
msgid "Outdoor"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1807,7 +1758,7 @@ msgstr ""
|
|||
msgid "Phone"
|
||||
msgstr ""
|
||||
|
||||
#: src/model/photo.js:1057
|
||||
#: src/model/photo.js:1099
|
||||
msgid "Photo"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1831,7 +1782,7 @@ msgstr ""
|
|||
msgid "Photos"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:394
|
||||
#: src/options/options.js:405
|
||||
msgid "Pink"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1861,9 +1812,7 @@ msgid "Please don't upload photos containing offensive content."
|
|||
msgstr ""
|
||||
|
||||
#: src/dialog/account/password.vue:17
|
||||
msgid ""
|
||||
"Please note that changing your password will log you out on other devices "
|
||||
"and browsers."
|
||||
msgid "Please note that changing your password will log you out on other devices and browsers."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/photo/edit/files.vue:135 src/dialog/photo/edit/files.vue:132
|
||||
|
@ -1910,7 +1859,7 @@ msgstr ""
|
|||
msgid "Proceed"
|
||||
msgstr ""
|
||||
|
||||
#: src/page/about/feedback.vue:6 src/options/options.js:412
|
||||
#: src/page/about/feedback.vue:6 src/options/options.js:423
|
||||
msgid "Product Feedback"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1918,7 +1867,7 @@ msgstr ""
|
|||
msgid "Projection"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:392
|
||||
#: src/options/options.js:403
|
||||
msgid "Purple"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1938,11 +1887,11 @@ msgstr ""
|
|||
msgid "Raspberry"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:311
|
||||
#: src/options/options.js:314
|
||||
msgid "Raw"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:283 src/component/photo/mosaic.vue:206
|
||||
#: src/component/photo/cards.vue:286 src/component/photo/mosaic.vue:206
|
||||
msgid "RAW"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1985,7 +1934,7 @@ msgstr ""
|
|||
msgid "Recognizes faces so that specific people can be found."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:395
|
||||
#: src/options/options.js:406
|
||||
msgid "Red"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2019,9 +1968,7 @@ msgid "Remove from album"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/library/import.vue:121
|
||||
msgid ""
|
||||
"Remove imported files to save storage. Unsupported file types will never be "
|
||||
"deleted, they remain in their current location."
|
||||
msgid "Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location."
|
||||
msgstr ""
|
||||
|
||||
#: src/common/api.js:74
|
||||
|
@ -2054,7 +2001,7 @@ msgstr ""
|
|||
msgid "Review"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:285
|
||||
#: src/options/options.js:292
|
||||
msgid "Satellite"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2210,7 +2157,7 @@ msgstr ""
|
|||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:265
|
||||
#: src/options/options.js:272
|
||||
msgid "Slow"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2227,7 +2174,7 @@ msgstr ""
|
|||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:313 src/component/photo/mosaic.vue:240
|
||||
#: src/component/photo/cards.vue:323 src/component/photo/mosaic.vue:243
|
||||
msgid "Stack"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2236,9 +2183,7 @@ msgid "Stack files sharing the same unique image or instance identifier."
|
|||
msgstr ""
|
||||
|
||||
#: src/page/settings/library.vue:172
|
||||
msgid ""
|
||||
"Stack pictures taken at the exact same time and location based on their "
|
||||
"metadata."
|
||||
msgid "Stack pictures taken at the exact same time and location based on their metadata."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/photo/edit/info.vue:86
|
||||
|
@ -2250,9 +2195,7 @@ msgid "Stacks"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/settings/library.vue:138
|
||||
msgid ""
|
||||
"Stacks group files with a similar frame of reference, but differences of "
|
||||
"quality, format, size or color."
|
||||
msgid "Stacks group files with a similar frame of reference, but differences of quality, format, size or color."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/library/index.vue:31
|
||||
|
@ -2280,7 +2223,7 @@ msgstr ""
|
|||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:280
|
||||
#: src/options/options.js:287
|
||||
msgid "Streets"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2293,8 +2236,7 @@ msgid "Successfully Connected"
|
|||
msgstr ""
|
||||
|
||||
#: src/dialog/service/add.vue:29
|
||||
msgid ""
|
||||
"Support for additional services, like Google Drive, will be added over time."
|
||||
msgid "Support for additional services, like Google Drive, will be added over time."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/sponsor.vue:7
|
||||
|
@ -2309,12 +2251,12 @@ msgstr ""
|
|||
msgid "Sync raw and video files"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:461 src/component/photo/list.vue:136
|
||||
#: src/component/photo/cards.vue:471 src/component/photo/list.vue:137
|
||||
#: src/dialog/photo/edit/info.vue:52
|
||||
msgid "Taken"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:401
|
||||
#: src/options/options.js:412
|
||||
msgid "Teal"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2327,9 +2269,7 @@ msgid "The index currently contains %{n} hidden files."
|
|||
msgstr ""
|
||||
|
||||
#: src/page/library/index.vue:37
|
||||
msgid ""
|
||||
"Their format may not be supported, they haven't been converted to JPEG yet "
|
||||
"or there are duplicates."
|
||||
msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/general.vue:70
|
||||
|
@ -2338,16 +2278,12 @@ msgstr ""
|
|||
|
||||
#: src/page/settings/services.vue:40
|
||||
msgid ""
|
||||
"This mounts the originals folder as a network drive and allows you to open, "
|
||||
"edit, and delete files\n"
|
||||
"This mounts the originals folder as a network drive and allows you to open, edit, and delete files\n"
|
||||
" from your computer or smartphone as if they were local."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/webdav.vue:26
|
||||
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."
|
||||
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/page/settings/advanced.vue:250
|
||||
|
@ -2376,7 +2312,7 @@ msgctxt "Photo"
|
|||
msgid "Title"
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/account.vue:114 src/component/photo/list.vue:135
|
||||
#: src/page/settings/account.vue:114 src/component/photo/list.vue:136
|
||||
#: src/dialog/photo/edit/info.vue:45
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
@ -2390,9 +2326,7 @@ msgid "Title too long"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/connect.vue:59 src/page/connect.vue:66
|
||||
msgid ""
|
||||
"To upgrade, you may either enter an activation code or click on \"Proceed\" "
|
||||
"to sign up on our website:"
|
||||
msgid "To upgrade, you may either enter an activation code or click on \"Proceed\" to sign up on our website:"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/album/toolbar.vue:139 src/component/album/toolbar.vue:157
|
||||
|
@ -2405,7 +2339,7 @@ msgstr ""
|
|||
msgid "Token"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:295
|
||||
#: src/options/options.js:302
|
||||
msgid "Topographic"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2436,11 +2370,11 @@ msgid "Unique ID"
|
|||
msgstr ""
|
||||
|
||||
#: src/dialog/photo/edit/details.vue:23 src/dialog/photo/edit/info.vue:24
|
||||
#: src/model/album.js:179 src/model/photo.js:697 src/model/photo.js:718
|
||||
#: src/model/photo.js:741 src/model/photo.js:759 src/model/photo.js:849
|
||||
#: src/model/photo.js:862 src/model/user.js:124 src/options/options.js:20
|
||||
#: src/options/options.js:34 src/options/options.js:51
|
||||
#: src/options/options.js:65 src/options/options.js:77
|
||||
#: src/model/album.js:179 src/model/photo.js:700 src/model/photo.js:721
|
||||
#: src/model/photo.js:744 src/model/photo.js:762 src/model/photo.js:891
|
||||
#: src/model/photo.js:904 src/model/user.js:124 src/options/options.js:27
|
||||
#: src/options/options.js:41 src/options/options.js:58
|
||||
#: src/options/options.js:72 src/options/options.js:84
|
||||
#: src/page/library/errors.vue:173 src/page/library/errors.vue:180
|
||||
#: src/page/library/logs.vue:18
|
||||
msgid "Unknown"
|
||||
|
@ -2572,14 +2506,20 @@ msgstr ""
|
|||
msgid "Vanta"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:316 src/component/photo/cards.vue:497
|
||||
#: src/component/photo/list.vue:199 src/component/photo/mosaic.vue:236
|
||||
#: src/model/photo.js:805 src/model/photo.js:819 src/options/options.js:330
|
||||
msgid "Vector"
|
||||
msgstr ""
|
||||
|
||||
#: src/page/connect.vue:11 src/page/connect.vue:8
|
||||
msgid "Verified"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:306 src/component/photo/cards.vue:469
|
||||
#: src/component/photo/list.vue:198 src/component/photo/mosaic.vue:232
|
||||
#: src/model/file.js:219 src/model/photo.js:794 src/model/photo.js:810
|
||||
#: src/options/options.js:319
|
||||
#: src/component/photo/cards.vue:302 src/component/photo/cards.vue:479
|
||||
#: src/component/photo/list.vue:206 src/component/photo/mosaic.vue:222
|
||||
#: src/model/file.js:219 src/model/photo.js:836 src/model/photo.js:852
|
||||
#: src/options/options.js:326
|
||||
msgid "Video"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2594,15 +2534,13 @@ msgstr ""
|
|||
msgid "Videos"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:322 src/component/photo/mosaic.vue:249
|
||||
#: src/component/photo/cards.vue:332 src/component/photo/mosaic.vue:252
|
||||
#: src/component/photo/toolbar.vue:230
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#: src/page/about/about.vue:44
|
||||
msgid ""
|
||||
"Visit docs.photoprism.app/user-guide to learn how to sync, organize, and "
|
||||
"share your pictures."
|
||||
msgid "Visit docs.photoprism.app/user-guide to learn how to sync, organize, and share your pictures."
|
||||
msgstr ""
|
||||
|
||||
#: src/component/album/toolbar.vue:73 src/component/photo/toolbar.vue:58
|
||||
|
@ -2611,9 +2549,7 @@ msgid "Visual Similarity"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/connect.vue:102
|
||||
msgid ""
|
||||
"Voluntary donations do not cover the cost of a team working full time to "
|
||||
"provide you with updates, documentation, and support."
|
||||
msgid "Voluntary donations do not cover the cost of a team working full time to provide you with updates, documentation, and support."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/about/feedback.vue:13
|
||||
|
@ -2625,9 +2561,7 @@ msgid "We do our best to respond within five business days or less."
|
|||
msgstr ""
|
||||
|
||||
#: src/page/about/about.vue:71
|
||||
msgid ""
|
||||
"We'll do our best to answer all your questions. In return, we ask you to "
|
||||
"back us on Patreon or GitHub Sponsors."
|
||||
msgid "We'll do our best to answer all your questions. In return, we ask you to back us on Patreon or GitHub Sponsors."
|
||||
msgstr ""
|
||||
|
||||
#: src/dialog/webdav.vue:8
|
||||
|
@ -2636,8 +2570,7 @@ msgstr ""
|
|||
|
||||
#: src/page/settings/services.vue:37
|
||||
msgid ""
|
||||
"WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can "
|
||||
"connect directly to\n"
|
||||
"WebDAV clients, like Microsoft’s Windows Explorer or Apple's Finder, can connect directly to\n"
|
||||
" PhotoPrism."
|
||||
msgstr ""
|
||||
|
||||
|
@ -2654,7 +2587,7 @@ msgstr ""
|
|||
msgid "What functionality is generally available?"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:405
|
||||
#: src/options/options.js:416
|
||||
msgid "White"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2672,7 +2605,7 @@ msgstr ""
|
|||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:398
|
||||
#: src/options/options.js:409
|
||||
msgid "Yellow"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2717,30 +2650,19 @@ msgid "You may rescan your library to find additional faces."
|
|||
msgstr ""
|
||||
|
||||
#: src/dialog/sponsor.vue:19 src/page/about/about.vue:21
|
||||
msgid ""
|
||||
"Your continued support helps us provide regular updates and remain "
|
||||
"independent, so we can fulfill our mission and protect your privacy."
|
||||
msgid "Your continued support helps us provide regular updates and remain independent, so we can fulfill our mission and protect your privacy."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/albums.vue:62 src/page/albums.vue:1
|
||||
msgid ""
|
||||
"Your library is continuously analyzed to automatically create albums of "
|
||||
"special moments, trips, and places."
|
||||
msgid "Your library is continuously analyzed to automatically create albums of special moments, trips, and places."
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo-viewer.vue:176
|
||||
msgid "Zoom in/out"
|
||||
msgstr ""
|
||||
|
||||
#~ 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 ""
|
||||
#~ "You may use it as required to describe our software, run your server, for "
|
||||
#~ "educational purposes, but not for offering commercial goods, products, or "
|
||||
#~ "services without prior written permission. In other words, please ask."
|
||||
#~ 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 "You may use it as required to describe our software, run your server, for educational purposes, but not for offering commercial goods, products, or services without prior written permission. In other words, please ask."
|
||||
|
||||
#~ msgid " photos loaded"
|
||||
#~ msgstr " photos loaded"
|
||||
|
@ -2808,12 +2730,8 @@ msgstr ""
|
|||
#~ msgid "Try again using a related or otherwise similar term."
|
||||
#~ msgstr "Try again using a related or otherwise similar term."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Try using other terms and search options such as category, country and "
|
||||
#~ "camera."
|
||||
#~ msgstr ""
|
||||
#~ "Try using other terms and search options such as category, country and "
|
||||
#~ "camera."
|
||||
#~ msgid "Try using other terms and search options such as category, country and camera."
|
||||
#~ msgstr "Try using other terms and search options such as category, country and camera."
|
||||
|
||||
#~ msgid "Vibrant"
|
||||
#~ msgstr "Vibrant"
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
@ -34,15 +34,15 @@ msgstr ""
|
|||
msgid "%{n} pictures found"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:372
|
||||
#: src/options/options.js:383
|
||||
msgid "1 hour"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:374
|
||||
#: src/options/options.js:385
|
||||
msgid "12 hours"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:373
|
||||
#: src/options/options.js:384
|
||||
msgid "4 hours"
|
||||
msgstr ""
|
||||
|
||||
|
@ -135,23 +135,23 @@ msgstr ""
|
|||
msgid "Advanced"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:382
|
||||
#: src/options/options.js:393
|
||||
msgid "After 1 day"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:383
|
||||
#: src/options/options.js:394
|
||||
msgid "After 3 days"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:384
|
||||
#: src/options/options.js:395
|
||||
msgid "After 7 days"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:386
|
||||
#: src/options/options.js:397
|
||||
msgid "After one month"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:388
|
||||
#: src/options/options.js:399
|
||||
msgid "After one year"
|
||||
msgstr ""
|
||||
|
||||
|
@ -160,11 +160,11 @@ msgstr ""
|
|||
msgid "After selecting pictures from search results, you can add them to an album using the context menu."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:387
|
||||
#: src/options/options.js:398
|
||||
msgid "After two months"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:385
|
||||
#: src/options/options.js:396
|
||||
msgid "After two weeks"
|
||||
msgstr ""
|
||||
|
||||
|
@ -267,12 +267,12 @@ msgid "An error occurred - are you offline?"
|
|||
msgstr ""
|
||||
|
||||
#: src/component/navigation.vue:97
|
||||
#: src/component/photo/cards.vue:299
|
||||
#: src/component/photo/cards.vue:478
|
||||
#: src/component/photo/list.vue:191
|
||||
#: src/component/photo/mosaic.vue:224
|
||||
#: src/component/photo/cards.vue:309
|
||||
#: src/component/photo/cards.vue:488
|
||||
#: src/component/photo/list.vue:192
|
||||
#: src/component/photo/mosaic.vue:229
|
||||
#: src/model/file.js:210
|
||||
#: src/options/options.js:307
|
||||
#: src/options/options.js:318
|
||||
msgid "Animated"
|
||||
msgstr ""
|
||||
|
||||
|
@ -292,7 +292,7 @@ msgstr ""
|
|||
msgid "Apply"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:408
|
||||
#: src/component/photo/cards.vue:418
|
||||
#: src/component/photo/clipboard.vue:88
|
||||
#: src/dialog/photo/edit/details.vue:116
|
||||
msgid "Approve"
|
||||
|
@ -300,7 +300,7 @@ msgstr ""
|
|||
|
||||
#: src/app/routes.js:243
|
||||
#: src/component/navigation.vue:130
|
||||
#: src/component/photo/cards.vue:379
|
||||
#: src/component/photo/cards.vue:389
|
||||
#: src/component/photo/clipboard.vue:204
|
||||
#: src/page/settings/general.vue:340
|
||||
msgid "Archive"
|
||||
|
@ -379,19 +379,19 @@ msgstr ""
|
|||
msgid "Birth Date"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:407
|
||||
#: src/options/options.js:418
|
||||
msgid "Black"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:420
|
||||
#: src/options/options.js:431
|
||||
msgid "Blackman: Lanczos Modification, Less Ringing Artifacts"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:403
|
||||
#: src/options/options.js:414
|
||||
msgid "Blue"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:404
|
||||
#: src/options/options.js:415
|
||||
msgid "Brown"
|
||||
msgstr ""
|
||||
|
||||
|
@ -408,7 +408,7 @@ msgid "Browse the Knowledge Base for detailed information on specific product fe
|
|||
msgstr ""
|
||||
|
||||
#: src/page/about/feedback.vue:8
|
||||
#: src/options/options.js:414
|
||||
#: src/options/options.js:425
|
||||
msgid "Bug Report"
|
||||
msgstr ""
|
||||
|
||||
|
@ -429,8 +429,8 @@ msgstr ""
|
|||
msgid "Calendar"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:486
|
||||
#: src/component/photo/list.vue:137
|
||||
#: src/component/photo/cards.vue:505
|
||||
#: src/component/photo/list.vue:138
|
||||
#: src/component/photo/toolbar.vue:204
|
||||
#: src/dialog/photo/edit/details.vue:357
|
||||
msgid "Camera"
|
||||
|
@ -665,7 +665,7 @@ msgstr ""
|
|||
msgid "Creating thumbnails for"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:422
|
||||
#: src/options/options.js:433
|
||||
msgid "Cubic: Moderate Quality, Good Performance"
|
||||
msgstr ""
|
||||
|
||||
|
@ -674,11 +674,11 @@ msgid "Current Password"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/about/feedback.vue:5
|
||||
#: src/options/options.js:411
|
||||
#: src/options/options.js:422
|
||||
msgid "Customer Support"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:402
|
||||
#: src/options/options.js:413
|
||||
msgid "Cyan"
|
||||
msgstr ""
|
||||
|
||||
|
@ -686,7 +686,7 @@ msgstr ""
|
|||
msgid "Cyano"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:375
|
||||
#: src/options/options.js:386
|
||||
msgid "Daily"
|
||||
msgstr ""
|
||||
|
||||
|
@ -700,8 +700,8 @@ msgstr ""
|
|||
msgid "Debug Logs"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:272
|
||||
#: src/options/options.js:326
|
||||
#: src/options/options.js:279
|
||||
#: src/options/options.js:337
|
||||
#: src/options/themes.js:448
|
||||
msgid "Default"
|
||||
msgstr ""
|
||||
|
@ -726,7 +726,7 @@ msgstr ""
|
|||
msgid "Delete"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:447
|
||||
#: src/component/photo/cards.vue:457
|
||||
#: src/dialog/album/edit.vue:147
|
||||
#: src/dialog/photo/edit/details.vue:608
|
||||
#: src/page/albums.vue:523
|
||||
|
@ -816,18 +816,18 @@ msgid "Don't transcode videos with FFmpeg."
|
|||
msgstr ""
|
||||
|
||||
#: src/page/settings/advanced.vue:482
|
||||
msgid "Don't use Darktable to convert RAW files."
|
||||
msgid "Don't use Darktable to convert RAW images."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/advanced.vue:503
|
||||
msgid "Don't use RawTherapee to convert RAW files."
|
||||
msgid "Don't use RawTherapee to convert RAW images."
|
||||
msgstr ""
|
||||
|
||||
#: src/page/settings/advanced.vue:229
|
||||
msgid "Don't use TensorFlow for image classification."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:415
|
||||
#: src/options/options.js:426
|
||||
msgid "Donations"
|
||||
msgstr ""
|
||||
|
||||
|
@ -962,7 +962,7 @@ msgstr ""
|
|||
msgid "Estimates"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:376
|
||||
#: src/options/options.js:387
|
||||
msgid "Every two days"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1027,7 +1027,7 @@ msgstr ""
|
|||
msgid "Family Name"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:257
|
||||
#: src/options/options.js:264
|
||||
msgid "Fast"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1043,7 +1043,7 @@ msgid "Favorites"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/about/feedback.vue:7
|
||||
#: src/options/options.js:413
|
||||
#: src/options/options.js:424
|
||||
msgid "Feature Request"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1063,7 +1063,7 @@ msgstr ""
|
|||
msgid "Feel free to contact us at hello@photoprism.app if you have any questions."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:428
|
||||
#: src/options/options.js:439
|
||||
msgid "Female"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1174,7 +1174,7 @@ msgstr ""
|
|||
msgid "Given Name"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:397
|
||||
#: src/options/options.js:408
|
||||
msgid "Gold"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1182,11 +1182,11 @@ msgstr ""
|
|||
msgid "Grayscale"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:400
|
||||
#: src/options/options.js:411
|
||||
msgid "Green"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:406
|
||||
#: src/options/options.js:417
|
||||
msgid "Grey"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1220,7 +1220,7 @@ msgstr ""
|
|||
msgid "Hide photos that have been moved to archive."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:330
|
||||
#: src/options/options.js:341
|
||||
msgid "High"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1243,7 +1243,7 @@ msgid "image"
|
|||
msgstr ""
|
||||
|
||||
#: src/model/file.js:216
|
||||
#: src/options/options.js:303
|
||||
#: src/options/options.js:310
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1430,7 +1430,7 @@ msgstr ""
|
|||
msgid "Labels deleted"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:421
|
||||
#: src/options/options.js:432
|
||||
msgid "Lanczos: Detail Preservation, Minimal Artifacts"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1494,7 +1494,7 @@ msgstr ""
|
|||
msgid "Like"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:399
|
||||
#: src/options/options.js:410
|
||||
msgid "Lime"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1502,7 +1502,7 @@ msgstr ""
|
|||
msgid "Limit reached, showing first %{n} files"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:423
|
||||
#: src/options/options.js:434
|
||||
msgid "Linear: Very Smooth, Best Performance"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1516,10 +1516,10 @@ msgid "List"
|
|||
msgstr ""
|
||||
|
||||
#: src/app/routes.js:215
|
||||
#: src/component/photo/cards.vue:290
|
||||
#: src/component/photo/list.vue:182
|
||||
#: src/component/photo/mosaic.vue:214
|
||||
#: src/options/options.js:315
|
||||
#: src/component/photo/cards.vue:293
|
||||
#: src/component/photo/list.vue:183
|
||||
#: src/component/photo/mosaic.vue:213
|
||||
#: src/options/options.js:322
|
||||
msgid "Live"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1528,7 +1528,7 @@ msgid "Live Photos"
|
|||
msgstr ""
|
||||
|
||||
#: src/dialog/photo/edit/details.vue:194
|
||||
#: src/options/options.js:10
|
||||
#: src/options/options.js:17
|
||||
msgid "Local Time"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1537,8 +1537,8 @@ msgid "location"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/settings/account.vue:708
|
||||
#: src/component/photo/cards.vue:510
|
||||
#: src/component/photo/list.vue:138
|
||||
#: src/component/photo/cards.vue:529
|
||||
#: src/component/photo/list.vue:139
|
||||
#: src/dialog/album/edit.vue:125
|
||||
#: src/page/albums.vue:86
|
||||
#: src/page/settings/account.vue:561
|
||||
|
@ -1574,15 +1574,15 @@ msgstr ""
|
|||
msgid "Longitude"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:334
|
||||
#: src/options/options.js:345
|
||||
msgid "Low"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:276
|
||||
#: src/options/options.js:283
|
||||
msgid "Low Resolution"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:393
|
||||
#: src/options/options.js:404
|
||||
msgid "Magenta"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1591,7 +1591,7 @@ msgstr ""
|
|||
msgid "Main Color"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:427
|
||||
#: src/options/options.js:438
|
||||
msgid "Male"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1615,7 +1615,7 @@ msgstr ""
|
|||
msgid "Marker"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:261
|
||||
#: src/options/options.js:268
|
||||
msgid "Medium"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1692,9 +1692,9 @@ msgid "Must have at least %{n} characters."
|
|||
msgstr ""
|
||||
|
||||
#: src/page/about/feedback.vue:172
|
||||
#: src/component/photo/cards.vue:498
|
||||
#: src/component/photo/list.vue:138
|
||||
#: src/component/photo/list.vue:227
|
||||
#: src/component/photo/cards.vue:517
|
||||
#: src/component/photo/list.vue:139
|
||||
#: src/component/photo/list.vue:235
|
||||
#: src/dialog/album/edit.vue:104
|
||||
#: src/dialog/photo/edit/files.vue:34
|
||||
#: src/dialog/photo/edit/info.vue:31
|
||||
|
@ -1729,8 +1729,8 @@ msgstr ""
|
|||
msgid "Neon"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:371
|
||||
#: src/options/options.js:381
|
||||
#: src/options/options.js:382
|
||||
#: src/options/options.js:392
|
||||
#: src/page/settings/services.vue:54
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
|
@ -1841,8 +1841,8 @@ msgstr ""
|
|||
msgid "Non-photographic and low-quality images require a review before they appear in search results."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:253
|
||||
#: src/options/options.js:338
|
||||
#: src/options/options.js:260
|
||||
#: src/options/options.js:349
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1886,7 +1886,7 @@ msgstr ""
|
|||
msgid "On Windows, enter the following resource in the connection dialog:"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:377
|
||||
#: src/options/options.js:388
|
||||
msgid "Once a week"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1933,7 +1933,7 @@ msgstr ""
|
|||
msgid "or ask in our Community Chat"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:396
|
||||
#: src/options/options.js:407
|
||||
msgid "Orange"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1964,8 +1964,8 @@ msgstr ""
|
|||
msgid "Originals"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:416
|
||||
#: src/options/options.js:429
|
||||
#: src/options/options.js:427
|
||||
#: src/options/options.js:440
|
||||
msgid "Other"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1977,7 +1977,7 @@ msgstr ""
|
|||
msgid "Our User Guide also covers many advanced topics, such as migrating from Google Photos and thumbnail quality settings."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:290
|
||||
#: src/options/options.js:297
|
||||
msgid "Outdoor"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2029,7 +2029,7 @@ msgstr ""
|
|||
msgid "Phone"
|
||||
msgstr ""
|
||||
|
||||
#: src/model/photo.js:1057
|
||||
#: src/model/photo.js:1099
|
||||
msgid "Photo"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2053,7 +2053,7 @@ msgstr ""
|
|||
msgid "Photos"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:394
|
||||
#: src/options/options.js:405
|
||||
msgid "Pink"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2147,7 +2147,7 @@ msgid "Proceed"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/about/feedback.vue:6
|
||||
#: src/options/options.js:412
|
||||
#: src/options/options.js:423
|
||||
msgid "Product Feedback"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2156,7 +2156,7 @@ msgstr ""
|
|||
msgid "Projection"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:392
|
||||
#: src/options/options.js:403
|
||||
msgid "Purple"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2176,11 +2176,11 @@ msgstr ""
|
|||
msgid "Raspberry"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:311
|
||||
#: src/options/options.js:314
|
||||
msgid "Raw"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:283
|
||||
#: src/component/photo/cards.vue:286
|
||||
#: src/component/photo/mosaic.vue:206
|
||||
msgid "RAW"
|
||||
msgstr ""
|
||||
|
@ -2229,7 +2229,7 @@ msgstr ""
|
|||
msgid "Recognizes faces so that specific people can be found."
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:395
|
||||
#: src/options/options.js:406
|
||||
msgid "Red"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2309,7 +2309,7 @@ msgstr ""
|
|||
msgid "Review"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:285
|
||||
#: src/options/options.js:292
|
||||
msgid "Satellite"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2491,7 +2491,7 @@ msgstr ""
|
|||
msgid "Size"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:265
|
||||
#: src/options/options.js:272
|
||||
msgid "Slow"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2509,8 +2509,8 @@ msgstr ""
|
|||
msgid "Source"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:313
|
||||
#: src/component/photo/mosaic.vue:240
|
||||
#: src/component/photo/cards.vue:323
|
||||
#: src/component/photo/mosaic.vue:243
|
||||
msgid "Stack"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2563,7 +2563,7 @@ msgstr ""
|
|||
msgid "Storage"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:280
|
||||
#: src/options/options.js:287
|
||||
msgid "Streets"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2593,13 +2593,13 @@ msgstr ""
|
|||
msgid "Sync raw and video files"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:461
|
||||
#: src/component/photo/list.vue:136
|
||||
#: src/component/photo/cards.vue:471
|
||||
#: src/component/photo/list.vue:137
|
||||
#: src/dialog/photo/edit/info.vue:52
|
||||
msgid "Taken"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:401
|
||||
#: src/options/options.js:412
|
||||
msgid "Teal"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2657,7 +2657,7 @@ msgid "Title"
|
|||
msgstr ""
|
||||
|
||||
#: src/page/settings/account.vue:114
|
||||
#: src/component/photo/list.vue:135
|
||||
#: src/component/photo/list.vue:136
|
||||
#: src/dialog/photo/edit/info.vue:45
|
||||
msgid "Title"
|
||||
msgstr ""
|
||||
|
@ -2688,7 +2688,7 @@ msgstr ""
|
|||
msgid "Token"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:295
|
||||
#: src/options/options.js:302
|
||||
msgid "Topographic"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2727,18 +2727,18 @@ msgstr ""
|
|||
#: src/dialog/photo/edit/details.vue:23
|
||||
#: src/dialog/photo/edit/info.vue:24
|
||||
#: src/model/album.js:179
|
||||
#: src/model/photo.js:697
|
||||
#: src/model/photo.js:718
|
||||
#: src/model/photo.js:741
|
||||
#: src/model/photo.js:759
|
||||
#: src/model/photo.js:849
|
||||
#: src/model/photo.js:862
|
||||
#: src/model/photo.js:700
|
||||
#: src/model/photo.js:721
|
||||
#: src/model/photo.js:744
|
||||
#: src/model/photo.js:762
|
||||
#: src/model/photo.js:891
|
||||
#: src/model/photo.js:904
|
||||
#: src/model/user.js:124
|
||||
#: src/options/options.js:20
|
||||
#: src/options/options.js:34
|
||||
#: src/options/options.js:51
|
||||
#: src/options/options.js:65
|
||||
#: src/options/options.js:77
|
||||
#: src/options/options.js:27
|
||||
#: src/options/options.js:41
|
||||
#: src/options/options.js:58
|
||||
#: src/options/options.js:72
|
||||
#: src/options/options.js:84
|
||||
#: src/page/library/errors.vue:173
|
||||
#: src/page/library/errors.vue:180
|
||||
#: src/page/library/logs.vue:18
|
||||
|
@ -2890,19 +2890,29 @@ msgstr ""
|
|||
msgid "Vanta"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:316
|
||||
#: src/component/photo/cards.vue:497
|
||||
#: src/component/photo/list.vue:199
|
||||
#: src/component/photo/mosaic.vue:236
|
||||
#: src/model/photo.js:805
|
||||
#: src/model/photo.js:819
|
||||
#: src/options/options.js:330
|
||||
msgid "Vector"
|
||||
msgstr ""
|
||||
|
||||
#: src/page/connect.vue:11
|
||||
#: src/page/connect.vue:8
|
||||
msgid "Verified"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:306
|
||||
#: src/component/photo/cards.vue:469
|
||||
#: src/component/photo/list.vue:198
|
||||
#: src/component/photo/mosaic.vue:232
|
||||
#: src/component/photo/cards.vue:302
|
||||
#: src/component/photo/cards.vue:479
|
||||
#: src/component/photo/list.vue:206
|
||||
#: src/component/photo/mosaic.vue:222
|
||||
#: src/model/file.js:219
|
||||
#: src/model/photo.js:794
|
||||
#: src/model/photo.js:810
|
||||
#: src/options/options.js:319
|
||||
#: src/model/photo.js:836
|
||||
#: src/model/photo.js:852
|
||||
#: src/options/options.js:326
|
||||
msgid "Video"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2920,8 +2930,8 @@ msgstr ""
|
|||
msgid "Videos"
|
||||
msgstr ""
|
||||
|
||||
#: src/component/photo/cards.vue:322
|
||||
#: src/component/photo/mosaic.vue:249
|
||||
#: src/component/photo/cards.vue:332
|
||||
#: src/component/photo/mosaic.vue:252
|
||||
#: src/component/photo/toolbar.vue:230
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
@ -2979,7 +2989,7 @@ msgstr ""
|
|||
msgid "What functionality is generally available?"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:405
|
||||
#: src/options/options.js:416
|
||||
msgid "White"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2999,7 +3009,7 @@ msgstr ""
|
|||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
#: src/options/options.js:398
|
||||
#: src/options/options.js:409
|
||||
msgid "Yellow"
|
||||
msgstr ""
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -50,14 +50,17 @@ export const FormatAv1 = "av01";
|
|||
export const FormatAvc = "avc";
|
||||
export const FormatHevc = "hevc";
|
||||
export const FormatWebM = "webm";
|
||||
export const FormatGif = "gif";
|
||||
export const FormatJpeg = "jpg";
|
||||
export const FormatPng = "png";
|
||||
export const FormatSvg = "svg";
|
||||
export const FormatGif = "gif";
|
||||
export const MediaImage = "image";
|
||||
export const MediaAnimated = "animated";
|
||||
export const MediaSidecar = "sidecar";
|
||||
export const MediaVideo = "video";
|
||||
export const MediaLive = "live";
|
||||
export const MediaRaw = "raw";
|
||||
export const MediaAnimated = "animated";
|
||||
export const MediaLive = "live";
|
||||
export const MediaVideo = "video";
|
||||
export const MediaVector = "vector";
|
||||
export const MediaSidecar = "sidecar";
|
||||
export const YearUnknown = -1;
|
||||
export const MonthUnknown = -1;
|
||||
export const DayUnknown = -1;
|
||||
|
@ -522,7 +525,7 @@ export class Photo extends RestModel {
|
|||
return file;
|
||||
}
|
||||
|
||||
return files.find((f) => f.FileType === FormatJpeg);
|
||||
return files.find((f) => f.FileType === FormatJpeg || f.FileType === FormatPng);
|
||||
});
|
||||
|
||||
jpegFiles() {
|
||||
|
@ -530,7 +533,7 @@ export class Photo extends RestModel {
|
|||
return [this];
|
||||
}
|
||||
|
||||
return this.Files.filter((f) => f.FileType === FormatJpeg);
|
||||
return this.Files.filter((f) => f.FileType === FormatJpeg || f.FileType === FormatPng);
|
||||
}
|
||||
|
||||
mainFileHash() {
|
||||
|
@ -784,6 +787,45 @@ export class Photo extends RestModel {
|
|||
}
|
||||
}
|
||||
|
||||
vectorFile() {
|
||||
if (!this.Files) {
|
||||
return this;
|
||||
}
|
||||
|
||||
return this.Files.find((f) => f.MediaType === MediaVector || f.FileType === FormatSvg);
|
||||
}
|
||||
|
||||
getVectorInfo = () => {
|
||||
let file = this.vectorFile() || this.mainFile();
|
||||
return this.generateVectorInfo(file);
|
||||
};
|
||||
|
||||
generateVectorInfo = memoizeOne((file) => {
|
||||
if (!file) {
|
||||
return $gettext("Vector");
|
||||
}
|
||||
|
||||
const info = [];
|
||||
|
||||
if (file.MediaType === MediaVector) {
|
||||
info.push(file.FileType.toUpperCase());
|
||||
|
||||
if (file.Software) {
|
||||
info.push(file.Software);
|
||||
}
|
||||
|
||||
this.addSizeInfo(file, info);
|
||||
} else {
|
||||
info.push($gettext("Vector"));
|
||||
|
||||
if (file.Width && file.Height) {
|
||||
info.push(file.Width + " × " + file.Height);
|
||||
}
|
||||
}
|
||||
|
||||
return info.join(", ");
|
||||
});
|
||||
|
||||
getVideoInfo = () => {
|
||||
let file = this.videoFile() || this.mainFile();
|
||||
return this.generateVideoInfo(file);
|
||||
|
|
|
@ -2,7 +2,14 @@ import { timeZonesNames } from "@vvo/tzdb";
|
|||
import { $gettext } from "common/vm";
|
||||
import { Info } from "luxon";
|
||||
import { config } from "app/session";
|
||||
import { MediaAnimated, MediaImage, MediaLive, MediaRaw, MediaVideo } from "model/photo";
|
||||
import {
|
||||
MediaImage,
|
||||
MediaLive,
|
||||
MediaVideo,
|
||||
MediaAnimated,
|
||||
MediaVector,
|
||||
MediaRaw,
|
||||
} from "model/photo";
|
||||
|
||||
export const TimeZones = () =>
|
||||
[
|
||||
|
@ -303,14 +310,14 @@ export const PhotoTypes = () => [
|
|||
text: $gettext("Image"),
|
||||
value: MediaImage,
|
||||
},
|
||||
{
|
||||
text: $gettext("Animated"),
|
||||
value: MediaAnimated,
|
||||
},
|
||||
{
|
||||
text: $gettext("Raw"),
|
||||
value: MediaRaw,
|
||||
},
|
||||
{
|
||||
text: $gettext("Animated"),
|
||||
value: MediaAnimated,
|
||||
},
|
||||
{
|
||||
text: $gettext("Live"),
|
||||
value: MediaLive,
|
||||
|
@ -319,6 +326,10 @@ export const PhotoTypes = () => [
|
|||
text: $gettext("Video"),
|
||||
value: MediaVideo,
|
||||
},
|
||||
{
|
||||
text: $gettext("Vector"),
|
||||
value: MediaVector,
|
||||
},
|
||||
];
|
||||
|
||||
export const Timeouts = () => [
|
||||
|
|
|
@ -266,7 +266,7 @@
|
|||
class="ma-0 pa-0 input-private"
|
||||
color="secondary-dark"
|
||||
:label="$gettext('Disable Darktable')"
|
||||
:hint="$gettext('Don\'t use Darktable to convert RAW files.')"
|
||||
:hint="$gettext('Don\'t use Darktable to convert RAW images.')"
|
||||
prepend-icon="image_not_supported"
|
||||
persistent-hint
|
||||
@change="onChange"
|
||||
|
@ -281,7 +281,7 @@
|
|||
class="ma-0 pa-0 input-private"
|
||||
color="secondary-dark"
|
||||
:label="$gettext('Disable RawTherapee')"
|
||||
:hint="$gettext('Don\'t use RawTherapee to convert RAW files.')"
|
||||
:hint="$gettext('Don\'t use RawTherapee to convert RAW images.')"
|
||||
prepend-icon="image_not_supported"
|
||||
persistent-hint
|
||||
@change="onChange"
|
||||
|
|
|
@ -134,8 +134,8 @@ func GetThumb(router *gin.RouterGroup) {
|
|||
return
|
||||
}
|
||||
|
||||
// Find fallback if file is not a JPEG image.
|
||||
if f.NoJPEG() {
|
||||
// Find supported preview image if media file is not a JPEG or PNG.
|
||||
if f.NoJPEG() && f.NoPNG() {
|
||||
f, err = query.FileByPhotoUID(f.PhotoUID)
|
||||
|
||||
if err != nil {
|
||||
|
|
|
@ -56,7 +56,7 @@ func showConfigOptionsAction(ctx *cli.Context) error {
|
|||
{Start: "PHOTOPRISM_HTTPS_PROXY", Title: "Proxy Servers"},
|
||||
{Start: "PHOTOPRISM_DISABLE_TLS", Title: "Web Server"},
|
||||
{Start: "PHOTOPRISM_DATABASE_DRIVER", Title: "Database Connection"},
|
||||
{Start: "PHOTOPRISM_DARKTABLE_BIN", Title: "File Converters"},
|
||||
{Start: "PHOTOPRISM_SIPS_BIN", Title: "File Converters"},
|
||||
{Start: "PHOTOPRISM_DOWNLOAD_TOKEN", Title: "Security Tokens"},
|
||||
{Start: "PHOTOPRISM_THUMB_COLOR", Title: "Image Quality"},
|
||||
{Start: "PHOTOPRISM_FACE_SIZE", Title: "Face Recognition",
|
||||
|
|
|
@ -113,7 +113,7 @@ type ClientDisable struct {
|
|||
FFmpeg bool `json:"ffmpeg"`
|
||||
Raw bool `json:"raw"`
|
||||
Darktable bool `json:"darktable"`
|
||||
Rawtherapee bool `json:"rawtherapee"`
|
||||
RawTherapee bool `json:"rawtherapee"`
|
||||
Sips bool `json:"sips"`
|
||||
HeifConvert bool `json:"heifconvert"`
|
||||
TensorFlow bool `json:"tensorflow"`
|
||||
|
@ -224,7 +224,7 @@ func (c *Config) ClientPublic() ClientConfig {
|
|||
FFmpeg: true,
|
||||
Raw: true,
|
||||
Darktable: true,
|
||||
Rawtherapee: true,
|
||||
RawTherapee: true,
|
||||
Sips: true,
|
||||
HeifConvert: true,
|
||||
TensorFlow: true,
|
||||
|
@ -304,7 +304,7 @@ func (c *Config) ClientShare() ClientConfig {
|
|||
FFmpeg: true,
|
||||
Raw: true,
|
||||
Darktable: true,
|
||||
Rawtherapee: true,
|
||||
RawTherapee: true,
|
||||
Sips: true,
|
||||
HeifConvert: true,
|
||||
TensorFlow: true,
|
||||
|
@ -391,7 +391,7 @@ func (c *Config) ClientUser(withSettings bool) ClientConfig {
|
|||
FFmpeg: c.DisableFFmpeg(),
|
||||
Raw: c.DisableRaw(),
|
||||
Darktable: c.DisableDarktable(),
|
||||
Rawtherapee: c.DisableRawtherapee(),
|
||||
RawTherapee: c.DisableRawTherapee(),
|
||||
Sips: c.DisableSips(),
|
||||
HeifConvert: c.DisableHeifConvert(),
|
||||
TensorFlow: c.DisableTensorFlow(),
|
||||
|
@ -483,8 +483,8 @@ func (c *Config) ClientUser(withSettings bool) ClientConfig {
|
|||
Table("photos").
|
||||
Select("SUM(photo_type = 'video' AND photo_quality > -1 AND photo_private = 0) AS videos, " +
|
||||
"SUM(photo_type = 'live' AND photo_quality > -1 AND photo_private = 0) AS live, " +
|
||||
"SUM(photo_quality = -1) AS hidden, SUM(photo_type IN ('image','raw','animated') AND photo_private = 0 AND photo_quality > -1) AS photos, " +
|
||||
"SUM(photo_type IN ('image','raw','live','animated') AND photo_quality < 3 AND photo_quality > -1 AND photo_private = 0) AS review, " +
|
||||
"SUM(photo_quality = -1) AS hidden, SUM(photo_type IN ('image','animated','vector','raw') AND photo_private = 0 AND photo_quality > -1) AS photos, " +
|
||||
"SUM(photo_type IN ('image','live','animated','vector','raw') AND photo_quality < 3 AND photo_quality > -1 AND photo_private = 0) AS review, " +
|
||||
"SUM(photo_favorite = 1 AND photo_private = 0 AND photo_quality > -1) AS favorites, " +
|
||||
"SUM(photo_private = 1 AND photo_quality > -1) AS private").
|
||||
Where("photos.id NOT IN (SELECT photo_id FROM files WHERE file_primary = 1 AND (file_missing = 1 OR file_error <> ''))").
|
||||
|
|
|
@ -222,7 +222,7 @@ func (c *Config) Init() error {
|
|||
// Show warning if less than 1 GB RAM was detected.
|
||||
if LowMem {
|
||||
log.Warnf(`config: less than %d GB of memory detected, please upgrade if server becomes unstable or unresponsive`, MinMem/Gigabyte)
|
||||
log.Warnf("config: tensorflow as well as indexing and conversion of RAW files have been disabled automatically")
|
||||
log.Warnf("config: tensorflow as well as indexing and conversion of RAW images have been disabled automatically")
|
||||
}
|
||||
|
||||
// Show swap info.
|
||||
|
|
31
internal/config/config_convert.go
Normal file
31
internal/config/config_convert.go
Normal file
|
@ -0,0 +1,31 @@
|
|||
package config
|
||||
|
||||
// VectorEnabled checks if indexing and conversion of vector graphics is enabled.
|
||||
func (c *Config) VectorEnabled() bool {
|
||||
return !c.DisableVector()
|
||||
}
|
||||
|
||||
// RsvgConvertBin returns the rsvg-convert executable file name.
|
||||
func (c *Config) RsvgConvertBin() string {
|
||||
return findBin(c.options.RsvgConvertBin, "rsvg-convert")
|
||||
}
|
||||
|
||||
// RsvgConvertEnabled checks if rsvg-convert is enabled for SVG conversion.
|
||||
func (c *Config) RsvgConvertEnabled() bool {
|
||||
return !c.DisableVector()
|
||||
}
|
||||
|
||||
// ImageMagickBin returns the ImageMagick "convert" executable file name.
|
||||
func (c *Config) ImageMagickBin() string {
|
||||
return findBin(c.options.ImageMagickBin, "convert")
|
||||
}
|
||||
|
||||
// ImageMagickBlacklist returns the ImageMagick file extension blacklist.
|
||||
func (c *Config) ImageMagickBlacklist() string {
|
||||
return c.options.ImageMagickBlacklist
|
||||
}
|
||||
|
||||
// ImageMagickEnabled checks if ImageMagick can be used for converting media files.
|
||||
func (c *Config) ImageMagickEnabled() bool {
|
||||
return !c.DisableImageMagick()
|
||||
}
|
|
@ -84,17 +84,7 @@ func (c *Config) DisableFFmpeg() bool {
|
|||
return c.options.DisableFFmpeg
|
||||
}
|
||||
|
||||
// DisableRaw checks if indexing and conversion of RAW files is disabled.
|
||||
func (c *Config) DisableRaw() bool {
|
||||
if LowMem && !c.options.DisableRaw {
|
||||
c.options.DisableRaw = true
|
||||
return true
|
||||
}
|
||||
|
||||
return c.options.DisableRaw
|
||||
}
|
||||
|
||||
// DisableDarktable checks if conversion of RAW files with Darktable is disabled.
|
||||
// DisableDarktable checks if conversion of RAW images with Darktable is disabled.
|
||||
func (c *Config) DisableDarktable() bool {
|
||||
if c.DisableRaw() || c.options.DisableDarktable {
|
||||
return true
|
||||
|
@ -105,26 +95,26 @@ func (c *Config) DisableDarktable() bool {
|
|||
return c.options.DisableDarktable
|
||||
}
|
||||
|
||||
// DisableRawtherapee checks if conversion of RAW files with Rawtherapee is disabled.
|
||||
func (c *Config) DisableRawtherapee() bool {
|
||||
if c.DisableRaw() || c.options.DisableRawtherapee {
|
||||
// DisableRawTherapee checks if conversion of RAW images with RawTherapee is disabled.
|
||||
func (c *Config) DisableRawTherapee() bool {
|
||||
if c.DisableRaw() || c.options.DisableRawTherapee {
|
||||
return true
|
||||
} else if c.RawtherapeeBin() == "" {
|
||||
c.options.DisableRawtherapee = true
|
||||
} else if c.RawTherapeeBin() == "" {
|
||||
c.options.DisableRawTherapee = true
|
||||
}
|
||||
|
||||
return c.options.DisableRawtherapee
|
||||
return c.options.DisableRawTherapee
|
||||
}
|
||||
|
||||
// DisableSips checks if conversion of RAW files with SIPS is disabled.
|
||||
func (c *Config) DisableSips() bool {
|
||||
if c.options.DisableSips {
|
||||
// DisableImageMagick checks if conversion of files with ImageMagick is disabled.
|
||||
func (c *Config) DisableImageMagick() bool {
|
||||
if c.options.DisableImageMagick {
|
||||
return true
|
||||
} else if c.SipsBin() == "" {
|
||||
c.options.DisableSips = true
|
||||
} else if c.ImageMagickBin() == "" {
|
||||
c.options.DisableImageMagick = true
|
||||
}
|
||||
|
||||
return c.options.DisableSips
|
||||
return c.options.DisableImageMagick
|
||||
}
|
||||
|
||||
// DisableHeifConvert checks if heif-convert is disabled for HEIF conversion.
|
||||
|
@ -137,3 +127,44 @@ func (c *Config) DisableHeifConvert() bool {
|
|||
|
||||
return c.options.DisableHeifConvert
|
||||
}
|
||||
|
||||
// DisableSips checks if conversion of RAW images with SIPS is disabled.
|
||||
func (c *Config) DisableSips() bool {
|
||||
if c.options.DisableSips {
|
||||
return true
|
||||
} else if c.SipsBin() == "" {
|
||||
c.options.DisableSips = true
|
||||
}
|
||||
|
||||
return c.options.DisableSips
|
||||
}
|
||||
|
||||
// DisableVector checks if vector graphics support is disabled.
|
||||
func (c *Config) DisableVector() bool {
|
||||
if c.options.DisableVector || !c.Sponsor() {
|
||||
return true
|
||||
} else if c.RsvgConvertBin() == "" && c.ImageMagickBin() == "" {
|
||||
c.options.DisableVector = true
|
||||
}
|
||||
|
||||
return c.options.DisableVector
|
||||
}
|
||||
|
||||
// DisableRsvgConvert checks if rsvg-convert is disabled for SVG conversion.
|
||||
func (c *Config) DisableRsvgConvert() bool {
|
||||
if c.options.DisableVector || !c.Sponsor() {
|
||||
return true
|
||||
}
|
||||
|
||||
return c.RsvgConvertBin() == ""
|
||||
}
|
||||
|
||||
// DisableRaw checks if indexing and conversion of RAW images is disabled.
|
||||
func (c *Config) DisableRaw() bool {
|
||||
if LowMem && !c.options.DisableRaw {
|
||||
c.options.DisableRaw = true
|
||||
return true
|
||||
}
|
||||
|
||||
return c.options.DisableRaw
|
||||
}
|
||||
|
|
|
@ -91,26 +91,6 @@ func TestConfig_DisableClassification(t *testing.T) {
|
|||
assert.False(t, c.DisableClassification())
|
||||
}
|
||||
|
||||
func TestConfig_DisableRaw(t *testing.T) {
|
||||
c := NewConfig(CliTestContext())
|
||||
|
||||
assert.False(t, c.DisableRaw())
|
||||
c.options.DisableRaw = true
|
||||
assert.True(t, c.DisableRaw())
|
||||
assert.True(t, c.DisableDarktable())
|
||||
assert.True(t, c.DisableRawtherapee())
|
||||
c.options.DisableRaw = false
|
||||
assert.False(t, c.DisableRaw())
|
||||
c.options.DisableDarktable = true
|
||||
c.options.DisableRawtherapee = true
|
||||
assert.False(t, c.DisableRaw())
|
||||
c.options.DisableDarktable = false
|
||||
c.options.DisableRawtherapee = false
|
||||
assert.False(t, c.DisableRaw())
|
||||
assert.False(t, c.DisableDarktable())
|
||||
assert.False(t, c.DisableRawtherapee())
|
||||
}
|
||||
|
||||
func TestConfig_DisableDarktable(t *testing.T) {
|
||||
c := NewConfig(CliTestContext())
|
||||
missing := c.DarktableBin() == ""
|
||||
|
@ -126,19 +106,34 @@ func TestConfig_DisableDarktable(t *testing.T) {
|
|||
assert.Equal(t, missing, c.DisableDarktable())
|
||||
}
|
||||
|
||||
func TestConfig_DisableRawtherapee(t *testing.T) {
|
||||
func TestConfig_DisableRawTherapee(t *testing.T) {
|
||||
c := NewConfig(CliTestContext())
|
||||
missing := c.RawtherapeeBin() == ""
|
||||
missing := c.RawTherapeeBin() == ""
|
||||
|
||||
assert.Equal(t, missing, c.DisableRawtherapee())
|
||||
assert.Equal(t, missing, c.DisableRawTherapee())
|
||||
c.options.DisableRaw = true
|
||||
assert.True(t, c.DisableRawtherapee())
|
||||
assert.True(t, c.DisableRawTherapee())
|
||||
c.options.DisableRaw = false
|
||||
assert.Equal(t, missing, c.DisableRawtherapee())
|
||||
c.options.DisableRawtherapee = true
|
||||
assert.True(t, c.DisableRawtherapee())
|
||||
c.options.DisableRawtherapee = false
|
||||
assert.Equal(t, missing, c.DisableRawtherapee())
|
||||
assert.Equal(t, missing, c.DisableRawTherapee())
|
||||
c.options.DisableRawTherapee = true
|
||||
assert.True(t, c.DisableRawTherapee())
|
||||
c.options.DisableRawTherapee = false
|
||||
assert.Equal(t, missing, c.DisableRawTherapee())
|
||||
}
|
||||
|
||||
func TestConfig_DisableImageMagick(t *testing.T) {
|
||||
c := NewConfig(CliTestContext())
|
||||
missing := c.ImageMagickBin() == ""
|
||||
|
||||
assert.Equal(t, missing, c.DisableImageMagick())
|
||||
c.options.DisableRaw = true
|
||||
assert.Equal(t, missing, c.DisableImageMagick())
|
||||
c.options.DisableRaw = false
|
||||
assert.Equal(t, missing, c.DisableImageMagick())
|
||||
c.options.DisableImageMagick = true
|
||||
assert.True(t, c.DisableImageMagick())
|
||||
c.options.DisableImageMagick = false
|
||||
assert.Equal(t, missing, c.DisableImageMagick())
|
||||
}
|
||||
|
||||
func TestConfig_DisableSips(t *testing.T) {
|
||||
|
@ -151,3 +146,33 @@ func TestConfig_DisableSips(t *testing.T) {
|
|||
c.options.DisableSips = false
|
||||
assert.Equal(t, missing, c.DisableSips())
|
||||
}
|
||||
|
||||
func TestConfig_DisableVector(t *testing.T) {
|
||||
c := NewConfig(CliTestContext())
|
||||
|
||||
assert.Equal(t, c.Sponsor(), !c.DisableVector())
|
||||
c.options.DisableVector = true
|
||||
assert.True(t, c.DisableVector())
|
||||
c.options.DisableVector = false
|
||||
assert.Equal(t, c.Sponsor(), !c.DisableVector())
|
||||
}
|
||||
|
||||
func TestConfig_DisableRaw(t *testing.T) {
|
||||
c := NewConfig(CliTestContext())
|
||||
|
||||
assert.False(t, c.DisableRaw())
|
||||
c.options.DisableRaw = true
|
||||
assert.True(t, c.DisableRaw())
|
||||
assert.True(t, c.DisableDarktable())
|
||||
assert.True(t, c.DisableRawTherapee())
|
||||
c.options.DisableRaw = false
|
||||
assert.False(t, c.DisableRaw())
|
||||
c.options.DisableDarktable = true
|
||||
c.options.DisableRawTherapee = true
|
||||
assert.False(t, c.DisableRaw())
|
||||
c.options.DisableDarktable = false
|
||||
c.options.DisableRawTherapee = false
|
||||
assert.False(t, c.DisableRaw())
|
||||
assert.False(t, c.DisableDarktable())
|
||||
assert.False(t, c.DisableRawTherapee())
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@ import (
|
|||
"github.com/photoprism/photoprism/pkg/fs"
|
||||
)
|
||||
|
||||
// RawEnabled checks if indexing and conversion of RAW files is enabled.
|
||||
// RawEnabled checks if indexing and conversion of RAW images is enabled.
|
||||
func (c *Config) RawEnabled() bool {
|
||||
return !c.DisableRaw()
|
||||
}
|
||||
|
@ -71,19 +71,19 @@ func (c *Config) DarktableEnabled() bool {
|
|||
return !c.DisableDarktable()
|
||||
}
|
||||
|
||||
// RawtherapeeBin returns the rawtherapee-cli executable file name.
|
||||
func (c *Config) RawtherapeeBin() string {
|
||||
return findBin(c.options.RawtherapeeBin, "rawtherapee-cli")
|
||||
// RawTherapeeBin returns the rawtherapee-cli executable file name.
|
||||
func (c *Config) RawTherapeeBin() string {
|
||||
return findBin(c.options.RawTherapeeBin, "rawtherapee-cli")
|
||||
}
|
||||
|
||||
// RawtherapeeBlacklist returns the RawTherapee file extension blacklist.
|
||||
func (c *Config) RawtherapeeBlacklist() string {
|
||||
return c.options.RawtherapeeBlacklist
|
||||
// RawTherapeeBlacklist returns the RawTherapee file extension blacklist.
|
||||
func (c *Config) RawTherapeeBlacklist() string {
|
||||
return c.options.RawTherapeeBlacklist
|
||||
}
|
||||
|
||||
// RawtherapeeEnabled checks if Rawtherapee is enabled for RAW conversion.
|
||||
func (c *Config) RawtherapeeEnabled() bool {
|
||||
return !c.DisableRawtherapee()
|
||||
// RawTherapeeEnabled checks if RawTherapee is enabled for RAW conversion.
|
||||
func (c *Config) RawTherapeeEnabled() bool {
|
||||
return !c.DisableRawTherapee()
|
||||
}
|
||||
|
||||
// SipsEnabled checks if SIPS is enabled for RAW conversion.
|
||||
|
|
|
@ -13,27 +13,27 @@ func TestConfig_RawEnabled(t *testing.T) {
|
|||
assert.NotEqual(t, c.DisableRaw(), c.RawEnabled())
|
||||
}
|
||||
|
||||
func TestConfig_RawtherapeeBin(t *testing.T) {
|
||||
func TestConfig_RawTherapeeBin(t *testing.T) {
|
||||
c := NewConfig(CliTestContext())
|
||||
|
||||
assert.True(t, strings.Contains(c.RawtherapeeBin(), "/bin/rawtherapee-cli"))
|
||||
assert.True(t, strings.Contains(c.RawTherapeeBin(), "/bin/rawtherapee-cli"))
|
||||
}
|
||||
|
||||
func TestConfig_RawtherapeeBlacklist(t *testing.T) {
|
||||
func TestConfig_RawTherapeeBlacklist(t *testing.T) {
|
||||
c := NewConfig(CliTestContext())
|
||||
|
||||
c.options.RawtherapeeBlacklist = "foo,bar"
|
||||
assert.Equal(t, "foo,bar", c.RawtherapeeBlacklist())
|
||||
c.options.RawtherapeeBlacklist = ""
|
||||
assert.Equal(t, "", c.RawtherapeeBlacklist())
|
||||
c.options.RawTherapeeBlacklist = "foo,bar"
|
||||
assert.Equal(t, "foo,bar", c.RawTherapeeBlacklist())
|
||||
c.options.RawTherapeeBlacklist = ""
|
||||
assert.Equal(t, "", c.RawTherapeeBlacklist())
|
||||
}
|
||||
|
||||
func TestConfig_RawtherapeeEnabled(t *testing.T) {
|
||||
func TestConfig_RawTherapeeEnabled(t *testing.T) {
|
||||
c := NewConfig(CliTestContext())
|
||||
assert.True(t, c.RawtherapeeEnabled())
|
||||
assert.True(t, c.RawTherapeeEnabled())
|
||||
|
||||
c.options.DisableRawtherapee = true
|
||||
assert.False(t, c.RawtherapeeEnabled())
|
||||
c.options.DisableRawTherapee = true
|
||||
assert.False(t, c.RawTherapeeEnabled())
|
||||
}
|
||||
|
||||
func TestConfig_DarktableBin(t *testing.T) {
|
||||
|
@ -88,3 +88,18 @@ func TestConfig_HeifConvertEnabled(t *testing.T) {
|
|||
c.options.DisableHeifConvert = true
|
||||
assert.False(t, c.HeifConvertEnabled())
|
||||
}
|
||||
|
||||
func TestConfig_RsvgConvertBin(t *testing.T) {
|
||||
c := NewConfig(CliTestContext())
|
||||
|
||||
bin := c.RsvgConvertBin()
|
||||
assert.Contains(t, bin, "/bin/rsvg-convert")
|
||||
}
|
||||
|
||||
func TestConfig_RsvgConvertEnabled(t *testing.T) {
|
||||
c := NewConfig(CliTestContext())
|
||||
assert.True(t, c.RsvgConvertEnabled())
|
||||
|
||||
c.options.DisableVector = true
|
||||
assert.False(t, c.RsvgConvertEnabled())
|
||||
}
|
||||
|
|
|
@ -17,6 +17,17 @@ func (c *Config) JpegSize() int {
|
|||
return c.options.JpegSize
|
||||
}
|
||||
|
||||
// PngSize returns the size limit for automatically converted files in `PIXELS` (720-30000).
|
||||
func (c *Config) PngSize() int {
|
||||
if c.options.PngSize < 720 {
|
||||
return 720
|
||||
} else if c.options.PngSize > 30000 {
|
||||
return 30000
|
||||
}
|
||||
|
||||
return c.options.PngSize
|
||||
}
|
||||
|
||||
// JpegQuality returns the jpeg image quality as thumb.Quality (25-100).
|
||||
func (c *Config) JpegQuality() thumb.Quality {
|
||||
return thumb.ParseQuality(c.options.JpegQuality)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue