Frontend: Refactor translations (remove hints and labels)

Signed-off-by: Michael Mayer <michael@liquidbytes.net>
This commit is contained in:
Michael Mayer 2020-07-02 21:06:10 +02:00
parent 4f6fd4ccf3
commit 9e3e4fa253
9 changed files with 217 additions and 266 deletions

View file

@ -12,7 +12,7 @@
color="secondary-dark"
:true-value="true"
:false-value="false"
:label="model.AccShare ? labels.enabled : labels.disabled"
:label="model.AccShare ? $gettext('Enabled') : $gettext('Disabled')"
:disabled="model.AccType !== 'webdav'"
class="ma-0 hidden-xs-only"
hide-details
@ -38,7 +38,7 @@
color="secondary-dark"
:true-value="true"
:false-value="false"
:label="model.AccSync ? labels.enabled : labels.disabled"
:label="model.AccSync ? $gettext('Enabled') : $gettext('Disabled')"
:disabled="model.AccType !== 'webdav'"
class="mt-0 hidden-xs-only"
hide-details
@ -82,7 +82,7 @@
:loading="loading"
item-text="abs"
item-value="abs"
:label="labels.SharePath"
:label="$gettext('Default Folder')"
:disabled="!model.AccShare || loading"
>
</v-autocomplete>
@ -90,7 +90,7 @@
<v-flex xs12 sm6 class="pa-2 input-share-size">
<v-select
:disabled="!model.AccShare"
:label="labels.ShareSize"
:label="$gettext('Size')"
browser-autocomplete="off"
hide-details
color="secondary-dark"
@ -103,13 +103,13 @@
<v-flex xs12 sm6 class="pa-2">
<v-select
:disabled="!model.AccShare"
:label="labels.Expires"
:label="$gettext('Expires')"
browser-autocomplete="off"
hide-details
color="secondary-dark"
item-text="text"
item-value="value"
v-model="model.Expires"
v-model="model.ShareExpires"
:items="items.expires">
</v-select>
</v-flex>
@ -121,13 +121,13 @@
hide-details hide-no-data flat
v-model="model.SyncPath"
browser-autocomplete="off"
hint="Folder"
:hint="$gettext('Folder')"
:search-input.sync="search"
:items="pathItems"
:loading="loading"
item-text="abs"
item-value="abs"
:label="labels.SyncPath"
:label="$gettext('Folder')"
:disabled="!model.AccSync || loading"
>
</v-autocomplete>
@ -135,7 +135,7 @@
<v-flex xs12 sm6 class="pa-2">
<v-select
:disabled="!model.AccSync"
:label="labels.SyncInterval"
:label="$gettext('Interval')"
browser-autocomplete="off"
hide-details
color="secondary-dark"
@ -150,7 +150,7 @@
:disabled="!model.AccSync || readonly"
hide-details
color="secondary-dark"
:label="labels.SyncDownload"
:label="$gettext('Download remote files')"
v-model="model.SyncDownload"
></v-checkbox>
</v-flex>
@ -159,7 +159,7 @@
:disabled="!model.AccSync"
hide-details
color="secondary-dark"
:label="labels.SyncFilenames"
:label="$gettext('Preserve filenames')"
v-model="model.SyncFilenames"
></v-checkbox>
</v-flex>
@ -168,7 +168,7 @@
:disabled="!model.AccSync"
hide-details
color="secondary-dark"
:label="labels.SyncUpload"
:label="$gettext('Upload local files')"
v-model="model.SyncUpload"
></v-checkbox>
</v-flex>
@ -177,7 +177,7 @@
:disabled="!model.AccSync"
hide-details
color="secondary-dark"
:label="labels.SyncRaw"
:label="$gettext('Sync raw images')"
v-model="model.SyncRaw"
></v-checkbox>
</v-flex>
@ -187,7 +187,7 @@
<v-text-field
hide-details
browser-autocomplete="off"
:label="labels.name"
:label="$gettext('Name')"
placeholder=""
color="secondary-dark"
v-model="model.AccName"
@ -198,7 +198,7 @@
<v-text-field
hide-details
browser-autocomplete="off"
:label="labels.url"
:label="$gettext('Service URL')"
placeholder="https://www.example.com/"
color="secondary-dark"
v-model="model.AccURL"
@ -208,7 +208,7 @@
<v-text-field
hide-details
browser-autocomplete="off"
:label="labels.user"
:label="$gettext('Username')"
placeholder="optional"
color="secondary-dark"
v-model="model.AccUser"
@ -218,7 +218,7 @@
<v-text-field
hide-details
browser-autocomplete="off"
:label="labels.pass"
:label="$gettext('Password')"
placeholder="optional"
color="secondary-dark"
v-model="model.AccPass"
@ -231,7 +231,7 @@
<v-text-field
hide-details
browser-autocomplete="off"
:label="labels.apiKey"
:label="$gettext('API Key')"
placeholder="optional"
color="secondary-dark"
v-model="model.AccKey"
@ -240,7 +240,7 @@
</v-flex>
<v-flex xs12 sm6 pa-2 class="input-account-type">
<v-select
:label="labels.AccType"
:label="$gettext('Type')"
browser-autocomplete="off"
hide-details
color="secondary-dark"
@ -255,11 +255,11 @@
<v-flex xs12 text-xs-right class="pt-3 pb-0">
<v-btn @click.stop="cancel" depressed color="secondary-light"
class="action-cancel">
<span>{{ labels.cancel }}</span>
<translate>Cancel</translate>
</v-btn>
<v-btn depressed dark color="secondary-dark" @click.stop="save"
class="action-save">
<span>{{ labels.save }}</span>
<translate>Save</translate>
</v-btn>
</v-flex>
</v-layout>
@ -269,7 +269,6 @@
</template>
<script>
import * as options from "resources/options";
import labels from "resources/labels";
export default {
name: 'p-account-edit-dialog',
@ -284,8 +283,6 @@
thumbs.sort((a, b) => a.Width - b.Width);
return {
options: options,
labels: labels,
showPassword: false,
loading: false,
search: null,
@ -312,25 +309,8 @@
{"value": "gdrive", "text": "Google Drive"},
{"value": "onedrive", "text": "Microsoft OneDrive"},
],
intervals: [
{"value": 0, "text": "Never"},
{"value": 3600, "text": "1 hour"},
{"value": 3600 * 4, "text": "4 hours"},
{"value": 3600 * 12, "text": "12 hours"},
{"value": 86400, "text": "Daily"},
{"value": 86400 * 2, "text": "Every two days"},
{"value": 86400 * 7, "text": "Once a week"},
],
expires: [
{"value": 0, "text": "Never"},
{"value": 86400, "text": "After 1 day"},
{"value": 86400 * 3, "text": "After 3 days"},
{"value": 86400 * 7, "text": "After 7 days"},
{"value": 86400 * 14, "text": "After two weeks"},
{"value": 86400 * 31, "text": "After one month"},
{"value": 86400 * 60, "text": "After two months"},
{"value": 86400 * 365, "text": "After one year"},
],
intervals: options.Intervals(),
expires: options.Expires(),
},
readonly: this.$config.get("readonly"),
}
@ -373,10 +353,9 @@
{"text": this.$gettext("Original"), "value": ""}
];
for (let i in thumbs) {
const s = thumbs[i];
thumbs.forEach((s) => {
result.push({"text": s["Width"] + 'x' + s["Height"], "value": s["Name"]});
}
})
return result;
},

View file

@ -129,7 +129,7 @@
item-value="ID"
item-text="Name"
v-model="model.TimeZone"
:items="options.TimeZones"
:items="options.TimeZones()"
class="input-timezone">
</v-autocomplete>
</v-flex>

View file

@ -50,7 +50,7 @@ export class Account extends RestModel {
RetryLimit: 3,
SharePath: "/",
ShareSize: "",
Expires: 0,
ShareExpires: 0,
SyncPath: "/",
SyncStatus: "",
SyncInterval: 86400,

View file

@ -6,7 +6,7 @@
<v-card flat tile class="mt-0 px-1 application">
<v-card-title primary-title class="pb-0">
<h3 class="body-2 mb-0">
<translate key="Library">Library</translate>
<translate>Library</translate>
</h3>
</v-card-title>
@ -19,8 +19,8 @@
class="ma-0 pa-0 input-private"
v-model="settings.features.private"
color="secondary-dark"
:label="labels.private"
:hint="hints.private"
:label="$gettext('Hide Private')"
:hint="$gettext('Exclude photos marked as private from search results, shared albums, labels and places.')"
prepend-icon="lock"
persistent-hint
>
@ -34,8 +34,8 @@
class="ma-0 pa-0 input-review"
v-model="settings.features.review"
color="secondary-dark"
:label="labels.review"
:hint="hints.review"
:label="$gettext('Quality Filter')"
:hint="$gettext('Non-photographic and low-quality images require a review before they appear in search results.')"
prepend-icon="remove_red_eye"
persistent-hint
>
@ -49,8 +49,8 @@
class="ma-0 pa-0 input-convert"
v-model="settings.index.convert"
color="secondary-dark"
:label="labels.convert"
:hint="hints.convert"
:label="$gettext('Convert to JPEG')"
:hint="$gettext('File types like RAW might need to be converted so that they can be displayed in a browser. JPEGs will be stored in the same folder next to the original using the best possible quality.')"
prepend-icon="photo_camera"
persistent-hint
>
@ -64,8 +64,8 @@
class="ma-0 pa-0 input-group"
v-model="settings.index.group"
color="secondary-dark"
:label="labels.group"
:hint="hints.group"
:label="$gettext('Group Sequential')"
:hint="$gettext('Files with sequential names like \'IMG_1234 (2)\' or \'IMG_1234 copy 2\' belong to the same photo.')"
prepend-icon="photo_library"
persistent-hint
>
@ -88,8 +88,8 @@
<v-select
@change="onChange"
:disabled="busy"
:items="options.Themes"
:label="labels.theme"
:items="options.Themes()"
:label="$gettext('Theme')"
color="secondary-dark"
background-color="secondary-light"
v-model="settings.theme"
@ -102,8 +102,8 @@
<v-select
@change="onChange"
:disabled="busy"
:items="options.Languages"
:label="labels.language"
:items="options.Languages()"
:label="$gettext('Language')"
color="secondary-dark"
background-color="secondary-light"
v-model="settings.language"
@ -125,8 +125,8 @@
class="ma-0 pa-0 input-upload"
v-model="settings.features.upload"
color="secondary-dark"
:label="labels.upload"
:hint="hints.upload"
:label="$gettext('Upload')"
:hint="$gettext('Add files to your library via Web Upload.')"
prepend-icon="cloud_upload"
persistent-hint
>
@ -140,8 +140,8 @@
class="ma-0 pa-0 input-download"
v-model="settings.features.download"
color="secondary-dark"
:label="labels.download"
:hint="hints.download"
:label="$gettext('Download')"
:hint="$gettext('Download single files and zip archives.')"
prepend-icon="get_app"
persistent-hint
>
@ -155,8 +155,8 @@
class="ma-0 pa-0 input-share"
v-model="settings.features.share"
color="secondary-dark"
:label="labels.share"
:hint="hints.share"
:label="$gettext('Share')"
:hint="$gettext('Upload to WebDAV and other remote services.')"
prepend-icon="share"
persistent-hint
>
@ -170,8 +170,8 @@
class="ma-0 pa-0 input-archive"
v-model="settings.features.archive"
color="secondary-dark"
:label="labels.archive"
:hint="hints.archive"
:label="$gettext('Archive')"
:hint="$gettext('Hide photos that have been moved to archive.')"
prepend-icon="archive"
persistent-hint
>
@ -185,8 +185,8 @@
class="ma-0 pa-0 input-edit"
v-model="settings.features.edit"
color="secondary-dark"
:label="labels.edit"
:hint="hints.edit"
:label="$gettext('Edit')"
:hint="$gettext('Change photo titles, locations and other metadata.')"
prepend-icon="edit"
persistent-hint
>
@ -200,8 +200,8 @@
class="ma-0 pa-0 input-files"
v-model="settings.features.files"
color="secondary-dark"
:label="labels.originals"
:hint="hints.originals"
:label="$gettext('Originals')"
:hint="$gettext('Browse indexed files and folders in Library.')"
prepend-icon="insert_drive_file"
persistent-hint
>
@ -215,8 +215,8 @@
class="ma-0 pa-0 input-moments"
v-model="settings.features.moments"
color="secondary-dark"
:label="labels.moments"
:hint="hints.moments"
:label="$gettext('Moments')"
:hint="$gettext('Let PhotoPrism create albums from past events.')"
prepend-icon="star"
persistent-hint
>
@ -230,8 +230,8 @@
class="ma-0 pa-0 input-labels"
v-model="settings.features.labels"
color="secondary-dark"
:label="labels.labels"
:hint="hints.labels"
:label="$gettext('Labels')"
:hint="$gettext('Browse and edit image classification labels.')"
prepend-icon="label"
persistent-hint
>
@ -245,8 +245,8 @@
class="ma-0 pa-0 input-library"
v-model="settings.features.library"
color="secondary-dark"
:label="labels.library"
:hint="hints.library"
:label="$gettext('Library')"
:hint="$gettext('Show Library in navigation menu.')"
prepend-icon="camera_roll"
persistent-hint
>
@ -260,8 +260,8 @@
class="ma-0 pa-0 input-import"
v-model="settings.features.import"
color="secondary-dark"
:label="labels.import"
:hint="hints.import"
:label="$gettext('Import')"
:hint="$gettext('Imported files will be sorted by date and given a unique name.')"
prepend-icon="create_new_folder"
persistent-hint
>
@ -275,8 +275,8 @@
class="ma-0 pa-0 input-logs"
v-model="settings.features.logs"
color="secondary-dark"
:label="labels.logs"
:hint="hints.logs"
:label="$gettext('Logs')"
:hint="$gettext('Show server logs in Library.')"
prepend-icon="notes"
persistent-hint
>
@ -290,8 +290,8 @@
class="ma-0 pa-0 input-places"
v-model="settings.features.places"
color="secondary-dark"
:label="labels.places"
:hint="hints.places"
:label="$gettext('Places')"
:hint="$gettext('Search and display photos on a map.')"
prepend-icon="place"
persistent-hint
>
@ -314,8 +314,8 @@
<v-select
@change="onChange"
:disabled="busy"
:items="options.MapsStyle"
:label="labels.mapsStyle"
:items="options.MapsStyle()"
:label="$gettext('Style')"
color="secondary-dark"
background-color="secondary-light"
v-model="settings.maps.style"
@ -328,8 +328,8 @@
<v-select
@change="onChange"
:disabled="busy"
:items="options.MapsAnimate"
:label="labels.mapsAnimate"
:items="options.MapsAnimate()"
:label="$gettext('Animation')"
color="secondary-dark"
background-color="secondary-light"
v-model="settings.maps.animate"
@ -370,8 +370,6 @@
<script>
import Settings from "model/settings";
import * as options from "resources/options";
import labels from "resources/labels";
import hints from "resources/hints";
export default {
name: 'p-settings-general',
@ -381,8 +379,6 @@
experimental: this.$config.get("experimental"),
settings: new Settings(this.$config.settings()),
options: options,
labels: labels,
hints: hints,
busy: false,
};
},

View file

@ -69,7 +69,6 @@
<script>
import Settings from "model/settings";
import * as options from "resources/options";
import Account from "model/account";
import {DateTime} from "luxon";
@ -80,7 +79,6 @@
config: this.$config.values,
readonly: this.$config.get("readonly"),
settings: new Settings(this.$config.values.settings),
options: options,
model: {},
results: [],
labels: {},

View file

@ -1,21 +0,0 @@
import {$gettext} from "common/vm";
export default {
private: $gettext("Exclude photos marked as private from search results, shared albums, labels and places."),
review: $gettext("Non-photographic and low-quality images require a review before they appear in search results."),
group: $gettext("Files with sequential names like 'IMG_1234 (2)' or 'IMG_1234 copy 2' belong to the same photo."),
move: $gettext("Move files from import to originals to save storage. Unsupported file types will never be deleted, they remain in their current location."),
places: $gettext("Search and display photos on a map."),
originals: $gettext("Display indexed files in Originals"),
moments: $gettext("Let PhotoPrism create albums from past events."),
labels: $gettext("Browse and edit image classification labels."),
import: $gettext("Imported files will be sorted by date and given a unique name."),
archive: $gettext("Hide photos that have been moved to archive."),
upload: $gettext("Add files to your library via Web Upload."),
download: $gettext("Download single files and zip archives."),
edit: $gettext("Change photo titles, locations and other metadata."),
share: $gettext("Upload to WebDAV and other remote services."),
logs: $gettext("Show server logs in Library."),
library: $gettext("Show Library in navigation menu."),
convert: $gettext("File types like RAW might need to be converted so that they can be displayed in a browser. JPEGs will be stored in the same folder next to the original using the best possible quality."),
}

View file

@ -1,50 +0,0 @@
import {$gettext} from "common/vm";
export default {
cancel: $gettext("Cancel"),
confirm: $gettext("Save"),
save: $gettext("Save"),
enabled: $gettext("Enabled"),
disabled: $gettext("Disabled"),
name: $gettext("Name"),
url: $gettext("Service URL"),
user: $gettext("Username"),
pass: $gettext("Password"),
owner: $gettext("Owner"),
apiKey: $gettext("API Key"),
AccType: $gettext("Type"),
SharePath: $gettext("Default Folder"),
ShareSize: $gettext("Size"),
Expires: $gettext("Expires"),
SyncPath: $gettext("Folder"),
SyncInterval: $gettext("Interval"),
SyncFilenames: $gettext("Preserve filenames"),
SyncStart: $gettext("Start"),
SyncDownload: $gettext("Download remote files"),
SyncUpload: $gettext("Upload local files"),
SyncDelete: $gettext("Remote delete"),
SyncRaw: $gettext("Sync raw images"),
language: $gettext("Language"),
theme: $gettext("Theme"),
mapsAnimate: $gettext("Animation"),
mapsStyle: $gettext("Style"),
rescan: $gettext("Complete rescan"),
thumbs: $gettext("Create thumbnails"),
move: $gettext("Remove imported files"),
group: $gettext("Group Sequential"),
archive: $gettext("Archive"),
private: $gettext("Hide Private"),
review: $gettext("Quality Filter"),
places: $gettext("Places"),
originals: $gettext("Originals"),
moments: $gettext("Moments"),
labels: $gettext("Labels"),
import: $gettext("Import"),
upload: $gettext("Upload"),
download: $gettext("Download"),
edit: $gettext("Edit"),
share: $gettext("Share"),
logs: $gettext("Logs"),
library: $gettext("Library"),
convert: $gettext("Convert to JPEG"),
};

View file

@ -1,9 +1,9 @@
import {$gettext} from "common/vm";
import moment from "moment-timezone";
export const TimeZones = moment.tz.names();
export const TimeZones = () => moment.tz.names();
export const Languages = [
export const Languages = () => [
{
"text": $gettext("English"),
"value": "en"
@ -22,7 +22,7 @@ export const Languages = [
}
];
export const Themes = [
export const Themes = () => [
{
"text": $gettext("Default"),
"value": "default"
@ -52,7 +52,7 @@ export const Themes = [
"value": "seaweed"
}
];
export const MapsAnimate = [
export const MapsAnimate = () => [
{
"text": $gettext("None"),
"value": 0
@ -71,7 +71,7 @@ export const MapsAnimate = [
}
];
export const MapsStyle = [
export const MapsStyle = () => [
{
"text": $gettext("Offline"),
"value": "offline"
@ -93,3 +93,24 @@ export const MapsStyle = [
"value": "darkmatter"
}
];
export const Intervals = () => [
{"value": 0, "text": $gettext("Never")},
{"value": 3600, "text": $gettext("1 hour")},
{"value": 3600 * 4, "text": $gettext("4 hours")},
{"value": 3600 * 12, "text": $gettext("12 hours")},
{"value": 86400, "text": $gettext("Daily")},
{"value": 86400 * 2, "text": $gettext("Every two days")},
{"value": 86400 * 7, "text": $gettext("Once a week")},
];
export const Expires = () => [
{"value": 0, "text": $gettext("Never")},
{"value": 86400, "text": $gettext("After 1 day")},
{"value": 86400 * 3, "text": $gettext("After 3 days")},
{"value": 86400 * 7, "text": $gettext("After 7 days")},
{"value": 86400 * 14, "text": $gettext("After two weeks")},
{"value": 86400 * 31, "text": $gettext("After one month")},
{"value": 86400 * 60, "text": $gettext("After two months")},
{"value": 86400 * 365, "text": $gettext("After one year")},
];

View file

@ -41,6 +41,18 @@ msgstr ""
msgid " photos loaded"
msgstr ""
#: src/resources/options.js:99
msgid "1 hour"
msgstr ""
#: src/resources/options.js:101
msgid "12 hours"
msgstr ""
#: src/resources/options.js:100
msgid "4 hours"
msgstr ""
#: src/dialog/share.vue:72
msgid ""
"A click will copy it to your clipboard. Any private photos remain private.\n"
@ -67,7 +79,7 @@ msgstr ""
msgid "Add"
msgstr ""
#: src/resources/hints.js:14
#: src/pages/settings/general.vue:320
msgid "Add files to your library via Web Upload."
msgstr ""
@ -97,6 +109,34 @@ msgstr ""
msgid "Added"
msgstr ""
#: src/resources/options.js:109
msgid "After 1 day"
msgstr ""
#: src/resources/options.js:110
msgid "After 3 days"
msgstr ""
#: src/resources/options.js:111
msgid "After 7 days"
msgstr ""
#: src/resources/options.js:113
msgid "After one month"
msgstr ""
#: src/resources/options.js:115
msgid "After one year"
msgstr ""
#: src/resources/options.js:114
msgid "After two months"
msgstr ""
#: src/resources/options.js:112
msgid "After two weeks"
msgstr ""
#: src/model/album.js:131
#: src/routes.js:104
msgid "Album"
@ -185,11 +225,11 @@ msgstr ""
msgid "An error occurred - are you offline?"
msgstr ""
#: src/resources/labels.js:29
#: src/pages/settings/general.vue:773
msgid "Animation"
msgstr ""
#: src/resources/labels.js:14
#: src/dialog/account/edit.vue:594
msgid "API Key"
msgstr ""
@ -204,7 +244,7 @@ msgstr ""
#: src/component/navigation.vue:87
#: src/component/photo/clipboard.vue:155
#: src/dialog/photo/archive.vue:15
#: src/resources/labels.js:35
#: src/pages/settings/general.vue:415
#: src/routes.js:164
#: src/share/photo/clipboard.vue:74
msgid "Archive"
@ -238,10 +278,14 @@ msgstr ""
msgid "At least 6 characters."
msgstr ""
#: src/resources/hints.js:11
#: src/pages/settings/general.vue:544
msgid "Browse and edit image classification labels."
msgstr ""
#: src/pages/settings/general.vue:480
msgid "Browse indexed files and folders in Library."
msgstr ""
#: src/common/notify.js:72
msgid "Busy, please wait..."
msgstr ""
@ -272,6 +316,7 @@ msgid "Can't load more, limit reached"
msgstr ""
#: src/dialog/account/add.vue:81
#: src/dialog/account/edit.vue:95
#: src/dialog/account/remove.vue:13
#: src/dialog/album/delete.vue:13
#: src/dialog/album/edit.vue:38
@ -282,7 +327,6 @@ msgstr ""
#: src/dialog/share/upload.vue:29
#: src/pages/library/import.vue:35
#: src/pages/library/index.vue:26
#: src/resources/labels.js:4
msgid "Cancel"
msgstr ""
@ -304,7 +348,7 @@ msgstr ""
msgid "Change Password"
msgstr ""
#: src/resources/hints.js:16
#: src/pages/settings/general.vue:448
msgid "Change photo titles, locations and other metadata."
msgstr ""
@ -339,10 +383,6 @@ msgstr ""
msgid "Colors"
msgstr ""
#: src/resources/labels.js:31
msgid "Complete rescan"
msgstr ""
#: src/pages/library/index.vue:115
msgid "Complete Rescan"
msgstr ""
@ -364,7 +404,7 @@ msgid "Contains one photo."
msgstr ""
#: src/pages/library/index.vue:116
#: src/resources/labels.js:49
#: src/pages/settings/general.vue:130
msgid "Convert to JPEG"
msgstr ""
@ -392,10 +432,6 @@ msgstr ""
msgid "Create album"
msgstr ""
#: src/resources/labels.js:32
msgid "Create thumbnails"
msgstr ""
#: src/dialog/photo/info.vue:107
msgid "Created"
msgstr ""
@ -408,11 +444,15 @@ msgstr ""
msgid "Cyano"
msgstr ""
#: src/resources/options.js:102
msgid "Daily"
msgstr ""
#: src/resources/options.js:27
msgid "Default"
msgstr ""
#: src/resources/labels.js:16
#: src/dialog/account/edit.vue:228
msgid "Default Folder"
msgstr ""
@ -444,7 +484,8 @@ msgstr ""
msgid "Directory is empty"
msgstr ""
#: src/resources/labels.js:8
#: src/dialog/account/edit.vue:61
#: src/dialog/account/edit.vue:120
msgid "Disabled"
msgstr ""
@ -455,10 +496,6 @@ msgstr ""
msgid "Discover"
msgstr ""
#: src/resources/hints.js:9
msgid "Display indexed files in Originals"
msgstr ""
#: src/dialog/share.vue:156
msgid "Done"
msgstr ""
@ -473,17 +510,17 @@ msgstr ""
#: src/component/file/clipboard.vue:78
#: src/component/label/clipboard.vue:91
#: src/component/photo/clipboard.vue:157
#: src/resources/labels.js:44
#: src/pages/settings/general.vue:351
#: src/share/album/clipboard.vue:70
#: src/share/photo/clipboard.vue:76
msgid "Download"
msgstr ""
#: src/resources/labels.js:23
#: src/dialog/account/edit.vue:391
msgid "Download remote files"
msgstr ""
#: src/resources/hints.js:15
#: src/pages/settings/general.vue:352
msgid "Download single files and zip archives."
msgstr ""
@ -507,7 +544,7 @@ msgstr ""
#: src/component/album/clipboard.vue:113
#: src/component/photo/clipboard.vue:152
#: src/resources/labels.js:45
#: src/pages/settings/general.vue:447
#: src/share/photo/clipboard.vue:71
msgid "Edit"
msgstr ""
@ -528,7 +565,8 @@ msgstr ""
msgid "Edited"
msgstr ""
#: src/resources/labels.js:7
#: src/dialog/account/edit.vue:60
#: src/dialog/account/edit.vue:119
msgid "Enabled"
msgstr ""
@ -548,12 +586,16 @@ msgstr ""
msgid "Event Log"
msgstr ""
#: src/resources/hints.js:4
#: src/resources/options.js:103
msgid "Every two days"
msgstr ""
#: src/pages/settings/general.vue:67
msgid "Exclude photos marked as private from search results, shared albums, labels and places."
msgstr ""
#: src/dialog/account/edit.vue:288
#: src/dialog/share.vue:173
#: src/resources/labels.js:18
msgid "Expires"
msgstr ""
@ -603,7 +645,7 @@ msgid "File Browser"
msgstr ""
#: src/pages/library/index.vue:121
#: src/resources/hints.js:20
#: src/pages/settings/general.vue:131
msgid "File types like RAW might need to be converted so that they can be displayed in a browser. JPEGs will be stored in the same folder next to the original using the best possible quality."
msgstr ""
@ -611,7 +653,7 @@ msgstr ""
msgid "Files"
msgstr ""
#: src/resources/hints.js:6
#: src/pages/settings/general.vue:163
msgid "Files with sequential names like 'IMG_1234 (2)' or 'IMG_1234 copy 2' belong to the same photo."
msgstr ""
@ -619,12 +661,13 @@ msgstr ""
msgid "Focal Length"
msgstr ""
#: src/dialog/account/edit.vue:326
#: src/dialog/account/edit.vue:332
#: src/dialog/share/upload.vue:93
#: src/model/folder.js:187
#: src/pages/library/files.vue:85
#: src/pages/library/import.vue:121
#: src/pages/library/index.vue:117
#: src/resources/labels.js:19
msgid "Folder"
msgstr ""
@ -652,7 +695,7 @@ msgstr ""
msgid "Group by similarity"
msgstr ""
#: src/resources/labels.js:34
#: src/pages/settings/general.vue:162
msgid "Group Sequential"
msgstr ""
@ -664,11 +707,11 @@ msgstr ""
msgid "Hidden Files"
msgstr ""
#: src/resources/hints.js:13
#: src/pages/settings/general.vue:416
msgid "Hide photos that have been moved to archive."
msgstr ""
#: src/resources/labels.js:36
#: src/pages/settings/general.vue:66
msgid "Hide Private"
msgstr ""
@ -677,7 +720,7 @@ msgid "Hybrid"
msgstr ""
#: src/pages/library/import.vue:44
#: src/resources/labels.js:42
#: src/pages/settings/general.vue:607
#: src/routes.js:241
msgid "Import"
msgstr ""
@ -690,7 +733,7 @@ msgstr ""
msgid "Imported files will be sorted by date and given a unique name to avoid duplicates."
msgstr ""
#: src/resources/hints.js:12
#: src/pages/settings/general.vue:608
msgid "Imported files will be sorted by date and given a unique name."
msgstr ""
@ -715,7 +758,7 @@ msgstr ""
msgid "Indexing photos and sidecar files..."
msgstr ""
#: src/resources/labels.js:20
#: src/dialog/account/edit.vue:362
msgid "Interval"
msgstr ""
@ -743,7 +786,7 @@ msgstr ""
#: src/component/navigation.vue:228
#: src/dialog/photo/edit.vue:27
#: src/resources/labels.js:41
#: src/pages/settings/general.vue:543
#: src/routes.js:215
msgid "Labels"
msgstr ""
@ -753,7 +796,7 @@ msgid "Labels deleted"
msgstr ""
#: src/dialog/photo/details.vue:437
#: src/resources/labels.js:27
#: src/pages/settings/general.vue:265
msgid "Language"
msgstr ""
@ -770,14 +813,14 @@ msgstr ""
msgid "Lens"
msgstr ""
#: src/resources/hints.js:10
#: src/pages/settings/general.vue:512
msgid "Let PhotoPrism create albums from past events."
msgstr ""
#: src/component/navigation.vue:241
#: src/component/navigation.vue:250
#: src/pages/settings/general.vue:6
#: src/resources/labels.js:48
#: src/pages/settings/general.vue:575
msgid "Library"
msgstr ""
@ -815,7 +858,7 @@ msgid "Logout"
msgstr ""
#: src/pages/library.vue:17
#: src/resources/labels.js:47
#: src/pages/settings/general.vue:639
msgid "Logs"
msgstr ""
@ -832,7 +875,7 @@ msgid "Missing"
msgstr ""
#: src/component/navigation.vue:183
#: src/resources/labels.js:40
#: src/pages/settings/general.vue:511
#: src/routes.js:84
#: src/routes.js:91
msgid "Moments"
@ -890,10 +933,6 @@ msgstr ""
msgid "Move Files"
msgstr ""
#: src/resources/hints.js:7
msgid "Move files from import to originals to save storage. Unsupported file types will never be deleted, they remain in their current location."
msgstr ""
#: src/common/vm.js:8
#: src/common/vm.js:9
#: src/common/vm.js:12
@ -904,13 +943,13 @@ msgstr[0] ""
msgstr[1] ""
#: src/component/photo/list.vue:115
#: src/dialog/account/edit.vue:488
#: src/dialog/album/edit.vue:111
#: src/dialog/photo/files.vue:43
#: src/dialog/photo/files.vue:162
#: src/dialog/photo/info.vue:27
#: src/pages/login.vue:59
#: src/pages/settings/sync.vue:94
#: src/resources/labels.js:9
#: src/pages/settings/sync.vue:92
#: src/share/photo/list.vue:97
msgid "Name"
msgstr ""
@ -923,7 +962,9 @@ msgstr ""
msgid "Name too long"
msgstr ""
#: src/pages/settings/sync.vue:105
#: src/pages/settings/sync.vue:103
#: src/resources/options.js:98
#: src/resources/options.js:108
msgid "Never"
msgstr ""
@ -992,7 +1033,7 @@ msgstr ""
#: src/component/photo/list.vue:101
#: src/component/photo/mosaic.vue:11
#: src/dialog/upload.vue:52
#: src/resources/hints.js:5
#: src/pages/settings/general.vue:99
#: src/share/photo/cards.vue:11
#: src/share/photo/list.vue:84
#: src/share/photo/mosaic.vue:11
@ -1045,6 +1086,10 @@ msgstr ""
msgid "Oldest first"
msgstr ""
#: src/resources/options.js:104
msgid "Once a week"
msgstr ""
#: src/pages/albums.vue:441
#: src/share/albums.vue:345
msgid "One album found"
@ -1064,7 +1109,7 @@ msgstr ""
msgid "Onyx"
msgstr ""
#: src/dialog/account/edit.vue:373
#: src/dialog/account/edit.vue:353
msgid "Original"
msgstr ""
@ -1079,19 +1124,15 @@ msgstr ""
#: src/component/navigation.vue:258
#: src/pages/library/files.vue:6
#: src/resources/labels.js:39
#: src/pages/settings/general.vue:479
#: src/routes.js:248
msgid "Originals"
msgstr ""
#: src/resources/labels.js:13
msgid "Owner"
msgstr ""
#: src/dialog/account/add.vue:80
#: src/dialog/account/edit.vue:561
#: src/dialog/share.vue:154
#: src/pages/login.vue:60
#: src/resources/labels.js:12
msgid "Password"
msgstr ""
@ -1134,7 +1175,7 @@ msgstr ""
#: src/component/navigation.vue:196
#: src/component/navigation.vue:205
#: src/pages/settings/general.vue:124
#: src/resources/labels.js:38
#: src/pages/settings/general.vue:671
#: src/routes.js:171
#: src/routes.js:177
#: src/routes.js:183
@ -1162,7 +1203,7 @@ msgid ""
" missing."
msgstr ""
#: src/resources/labels.js:21
#: src/dialog/account/edit.vue:414
msgid "Preserve filenames"
msgstr ""
@ -1198,7 +1239,7 @@ msgstr ""
msgid "Private"
msgstr ""
#: src/resources/labels.js:37
#: src/pages/settings/general.vue:98
msgid "Quality Filter"
msgstr ""
@ -1224,14 +1265,10 @@ msgstr ""
msgid "Recently added"
msgstr ""
#: src/pages/settings/general.vue:402
#: src/pages/settings/general.vue:398
msgid "Reloading..."
msgstr ""
#: src/resources/labels.js:25
msgid "Remote delete"
msgstr ""
#: src/dialog/account/edit.vue:104
msgid "Remote Sync"
msgstr ""
@ -1247,10 +1284,6 @@ msgstr ""
msgid "remove failed: unknown album"
msgstr ""
#: src/resources/labels.js:33
msgid "Remove imported files"
msgstr ""
#: src/pages/library/import.vue:124
msgid "Remove imported files to save storage. Unsupported file types will never be deleted, they remain in their current location."
msgstr ""
@ -1285,10 +1318,9 @@ msgstr ""
msgid "Russian"
msgstr ""
#: src/dialog/account/edit.vue:98
#: src/dialog/album/edit.vue:41
#: src/dialog/share.vue:60
#: src/resources/labels.js:5
#: src/resources/labels.js:6
msgid "Save"
msgstr ""
@ -1305,7 +1337,7 @@ msgstr ""
msgid "Search"
msgstr ""
#: src/resources/hints.js:8
#: src/pages/settings/general.vue:672
msgid "Search and display photos on a map."
msgstr ""
@ -1329,8 +1361,8 @@ msgstr ""
msgid "Server Logs"
msgstr ""
#: src/dialog/account/edit.vue:513
#: src/dialog/share.vue:152
#: src/resources/labels.js:10
msgid "Service URL"
msgstr ""
@ -1344,7 +1376,7 @@ msgstr ""
msgid "Settings"
msgstr ""
#: src/pages/settings/general.vue:406
#: src/pages/settings/general.vue:402
msgid "Settings saved"
msgstr ""
@ -1354,7 +1386,7 @@ msgstr ""
#: src/component/album/clipboard.vue:114
#: src/component/photo/clipboard.vue:150
#: src/resources/labels.js:46
#: src/pages/settings/general.vue:383
#: src/share/album/clipboard.vue:69
#: src/share/photo/clipboard.vue:69
msgid "Share"
@ -1368,11 +1400,11 @@ msgstr ""
msgid "Shared with you."
msgstr ""
#: src/resources/hints.js:19
#: src/pages/settings/general.vue:576
msgid "Show Library in navigation menu."
msgstr ""
#: src/resources/hints.js:18
#: src/pages/settings/general.vue:640
msgid "Show server logs in Library."
msgstr ""
@ -1392,9 +1424,9 @@ msgstr ""
msgid "Similar"
msgstr ""
#: src/dialog/account/edit.vue:261
#: src/dialog/photo/files.vue:73
#: src/dialog/photo/files.vue:164
#: src/resources/labels.js:17
msgid "Size"
msgstr ""
@ -1422,10 +1454,6 @@ msgstr ""
msgid "Source"
msgstr ""
#: src/resources/labels.js:22
msgid "Start"
msgstr ""
#: src/component/navigation.vue:214
msgid "States"
msgstr ""
@ -1438,7 +1466,7 @@ msgstr ""
msgid "Streets"
msgstr ""
#: src/resources/labels.js:30
#: src/pages/settings/general.vue:742
msgid "Style"
msgstr ""
@ -1447,15 +1475,15 @@ msgid "Subject"
msgstr ""
#: src/pages/settings.vue:8
#: src/pages/settings/sync.vue:96
#: src/pages/settings/sync.vue:94
msgid "Sync"
msgstr ""
#: src/resources/labels.js:26
#: src/dialog/account/edit.vue:460
msgid "Sync raw images"
msgstr ""
#: src/pages/settings/sync.vue:97
#: src/pages/settings/sync.vue:95
msgid "Synced"
msgstr ""
@ -1486,7 +1514,7 @@ msgstr ""
msgid "Their format may not be supported, they haven't been converted to JPEG yet or there are duplicates."
msgstr ""
#: src/resources/labels.js:28
#: src/pages/settings/general.vue:234
msgid "Theme"
msgstr ""
@ -1545,10 +1573,10 @@ msgstr ""
msgid "Try using other terms and search options such as category, country and camera."
msgstr ""
#: src/dialog/account/edit.vue:620
#: src/dialog/photo/files.vue:79
#: src/dialog/photo/files.vue:165
#: src/dialog/photo/info.vue:15
#: src/resources/labels.js:15
msgid "Type"
msgstr ""
@ -1582,8 +1610,8 @@ msgstr ""
#: src/dialog/upload.vue:8
#: src/dialog/upload.vue:56
#: src/pages/library/import.vue:39
#: src/pages/settings/sync.vue:95
#: src/resources/labels.js:43
#: src/pages/settings/general.vue:319
#: src/pages/settings/sync.vue:93
msgid "Upload"
msgstr ""
@ -1599,11 +1627,11 @@ msgstr ""
msgid "Upload failed"
msgstr ""
#: src/resources/labels.js:24
#: src/dialog/account/edit.vue:437
msgid "Upload local files"
msgstr ""
#: src/resources/hints.js:17
#: src/pages/settings/general.vue:384
msgid "Upload to WebDAV and other remote services."
msgstr ""
@ -1630,8 +1658,8 @@ msgid "User Interface"
msgstr ""
#: src/dialog/account/add.vue:79
#: src/dialog/account/edit.vue:537
#: src/dialog/share.vue:153
#: src/resources/labels.js:11
msgid "Username"
msgstr ""