Merge branch 'master' into stable24

old_stable24
Varun Patil 2022-11-15 05:10:00 -08:00
commit c17ac7ccda
100 changed files with 178 additions and 66 deletions

View File

@ -118,6 +118,7 @@ jobs:
ports:
- 4444:5432/tcp
env:
POSTGRES_DB: nextcloud
POSTGRES_PASSWORD: rootpassword
options: >-
--health-cmd pg_isready

View File

@ -2,7 +2,7 @@
This file is manually updated. Please file an issue if something is missing.
## v4.7.0, v3.7.0
## v4.7.0, v3.7.0 (2022-11-14)
- **Note**: you must run `occ memories:index -f` to take advantage of new features.
- **Massively improved video performance**

View File

@ -54,6 +54,10 @@ A shout out to the current and past financial backers of Memories! See the spons
[<img src="https://github.com/mpodshivalin.png" width="42" />](https://github.com/mpodshivalin)
## Changelog
For the full changelog, see [CHANGELOG.md](CHANGELOG.md).
## Special Thanks
Nextcloud team. A lot of this work is based on [Photos](https://github.com/nextcloud/photos).

3
l10n/ar.js vendored
View File

@ -39,6 +39,7 @@ OC.L10N.register(
"Size" : "الحجم",
"Position" : "الموقع",
"Name is required." : "حقل الاسم مطلوب",
"Quality" : "الجودة"
"Quality" : "الجودة",
"Auto" : "تلقائي"
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");

3
l10n/ar.json vendored
View File

@ -37,6 +37,7 @@
"Size" : "الحجم",
"Position" : "الموقع",
"Name is required." : "حقل الاسم مطلوب",
"Quality" : "الجودة"
"Quality" : "الجودة",
"Auto" : "تلقائي"
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
}

1
l10n/bg.js vendored
View File

@ -217,6 +217,7 @@ OC.L10N.register(
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Обърнете внимание, че избраната област за изрязване е по-ниска от приложеното преоразмеряване, което може да доведе до влошаване на качеството",
"Actual size (100%)" : "Действителен размер (100%)",
"Fit size" : "Подходящ размер",
"Auto" : "Автоматично",
"Shared Folder" : "Споделена папка",
"Failed to create {albumName}." : "Неуспешно създаване на {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Неуспешно преименуване от {currentAlbumName} на {newAlbumName}.",

1
l10n/bg.json vendored
View File

@ -215,6 +215,7 @@
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Обърнете внимание, че избраната област за изрязване е по-ниска от приложеното преоразмеряване, което може да доведе до влошаване на качеството",
"Actual size (100%)" : "Действителен размер (100%)",
"Fit size" : "Подходящ размер",
"Auto" : "Автоматично",
"Shared Folder" : "Споделена папка",
"Failed to create {albumName}." : "Неуспешно създаване на {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Неуспешно преименуване от {currentAlbumName} на {newAlbumName}.",

3
l10n/ca.js vendored
View File

@ -121,6 +121,7 @@ OC.L10N.register(
"Saved image size (width x height)" : "Mida de la imatge desada (amplada x alçada)",
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Tingueu en compte que l'àrea de retall seleccionada és inferior al canvi de mida aplicat, cosa que pot provocar una disminució de la qualitat",
"Actual size (100%)" : "Mida real (100%)",
"Fit size" : "Talla ajustada"
"Fit size" : "Talla ajustada",
"Auto" : "Automàtic"
},
"nplurals=2; plural=(n != 1);");

3
l10n/ca.json vendored
View File

@ -119,6 +119,7 @@
"Saved image size (width x height)" : "Mida de la imatge desada (amplada x alçada)",
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Tingueu en compte que l'àrea de retall seleccionada és inferior al canvi de mida aplicat, cosa que pot provocar una disminució de la qualitat",
"Actual size (100%)" : "Mida real (100%)",
"Fit size" : "Talla ajustada"
"Fit size" : "Talla ajustada",
"Auto" : "Automàtic"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

1
l10n/cs.js vendored
View File

@ -221,6 +221,7 @@ OC.L10N.register(
"Actual size (100%)" : "Skutečná velikost (100%)",
"Fit size" : "Přizpůsobit velikost",
"Transcoding failed." : "Překódování se nezdařilo.",
"Auto" : "Automaticky",
"Shared Folder" : "Sdílená složka",
"Failed to create {albumName}." : "Nepodařilo se vytvořit {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Nepodařilo přejmenovat {currentAlbumName} to {newAlbumName}.",

1
l10n/cs.json vendored
View File

@ -219,6 +219,7 @@
"Actual size (100%)" : "Skutečná velikost (100%)",
"Fit size" : "Přizpůsobit velikost",
"Transcoding failed." : "Překódování se nezdařilo.",
"Auto" : "Automaticky",
"Shared Folder" : "Sdílená složka",
"Failed to create {albumName}." : "Nepodařilo se vytvořit {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Nepodařilo přejmenovat {currentAlbumName} to {newAlbumName}.",

3
l10n/cy_GB.js vendored
View File

@ -25,6 +25,7 @@ OC.L10N.register(
"Refresh" : "Ail-lwytho",
"Undo" : "Dadwneud",
"Custom" : "Cyfaddas",
"Size" : "Maint"
"Size" : "Maint",
"Auto" : "Awto"
},
"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");

3
l10n/cy_GB.json vendored
View File

@ -23,6 +23,7 @@
"Refresh" : "Ail-lwytho",
"Undo" : "Dadwneud",
"Custom" : "Cyfaddas",
"Size" : "Maint"
"Size" : "Maint",
"Auto" : "Awto"
},"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"
}

1
l10n/da.js vendored
View File

@ -66,6 +66,7 @@ OC.L10N.register(
"Position" : "Position",
"Extension" : "Filtype",
"Name is required." : "Navn er påkrævet.",
"Auto" : "Auto",
"Failed to delete files." : "Kunne ikke slette filer.",
"Failed to delete {fileName}." : "Kunne ikke slette {fileName}.",
"Failed to favorite files." : "Kunne ikke vælge favorit filer.",

1
l10n/da.json vendored
View File

@ -64,6 +64,7 @@
"Position" : "Position",
"Extension" : "Filtype",
"Name is required." : "Navn er påkrævet.",
"Auto" : "Auto",
"Failed to delete files." : "Kunne ikke slette filer.",
"Failed to delete {fileName}." : "Kunne ikke slette {fileName}.",
"Failed to favorite files." : "Kunne ikke vælge favorit filer.",

1
l10n/de.js vendored
View File

@ -196,6 +196,7 @@ OC.L10N.register(
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Beachte, dass der ausgewählte Zuschneidebereich kleiner ist als die angewendete Größenänderung, was zu Qualitätseinbußen führen kann.",
"Actual size (100%)" : "Tatsächliche Größe (100%)",
"Fit size" : "Größe anpassen",
"Auto" : "Automatisch",
"Failed to create {albumName}." : "{albumName} konnte nicht erstellt werden.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "{currentAlbumName} konnte nicht in {newAlbumName} umbenannt werden.",
"General Failure" : "Allgemeiner Fehler",

1
l10n/de.json vendored
View File

@ -194,6 +194,7 @@
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Beachte, dass der ausgewählte Zuschneidebereich kleiner ist als die angewendete Größenänderung, was zu Qualitätseinbußen führen kann.",
"Actual size (100%)" : "Tatsächliche Größe (100%)",
"Fit size" : "Größe anpassen",
"Auto" : "Automatisch",
"Failed to create {albumName}." : "{albumName} konnte nicht erstellt werden.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "{currentAlbumName} konnte nicht in {newAlbumName} umbenannt werden.",
"General Failure" : "Allgemeiner Fehler",

1
l10n/de_DE.js vendored
View File

@ -221,6 +221,7 @@ OC.L10N.register(
"Actual size (100%)" : "Tatsächliche Größe (100%)",
"Fit size" : "Größe anpassen",
"Transcoding failed." : "Transkodierung fehlgeschlagen.",
"Auto" : "Automatisch",
"Shared Folder" : "Geteilter Ordner",
"Failed to create {albumName}." : "{albumName} konnte nicht erstellt werden.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "{currentAlbumName} konnte nicht in {newAlbumName} umbenannt werden.",

1
l10n/de_DE.json vendored
View File

@ -219,6 +219,7 @@
"Actual size (100%)" : "Tatsächliche Größe (100%)",
"Fit size" : "Größe anpassen",
"Transcoding failed." : "Transkodierung fehlgeschlagen.",
"Auto" : "Automatisch",
"Shared Folder" : "Geteilter Ordner",
"Failed to create {albumName}." : "{albumName} konnte nicht erstellt werden.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "{currentAlbumName} konnte nicht in {newAlbumName} umbenannt werden.",

3
l10n/el.js vendored
View File

@ -50,6 +50,7 @@ OC.L10N.register(
"Position" : "Θέση",
"Extension" : "Επέκταση",
"Name is required." : "Απαιτείται όνομα.",
"Quality" : "Ποιότητα"
"Quality" : "Ποιότητα",
"Auto" : "Αυτόματα"
},
"nplurals=2; plural=(n != 1);");

3
l10n/el.json vendored
View File

@ -48,6 +48,7 @@
"Position" : "Θέση",
"Extension" : "Επέκταση",
"Name is required." : "Απαιτείται όνομα.",
"Quality" : "Ποιότητα"
"Quality" : "Ποιότητα",
"Auto" : "Αυτόματα"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

3
l10n/eo.js vendored
View File

@ -36,6 +36,7 @@ OC.L10N.register(
"Text" : "Teksto",
"Size" : "Grando",
"Position" : "Loko",
"Extension" : "Dosiersufikso"
"Extension" : "Dosiersufikso",
"Auto" : "Aŭtomate"
},
"nplurals=2; plural=(n != 1);");

3
l10n/eo.json vendored
View File

@ -34,6 +34,7 @@
"Text" : "Teksto",
"Size" : "Grando",
"Position" : "Loko",
"Extension" : "Dosiersufikso"
"Extension" : "Dosiersufikso",
"Auto" : "Aŭtomate"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

1
l10n/es.js vendored
View File

@ -218,6 +218,7 @@ OC.L10N.register(
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Tenga en cuenta que el área a recortar es menor al redimensionamiento aplicado lo que puede causar pérdida de calidad",
"Actual size (100%)" : "Tamaño actual (100%)",
"Fit size" : "Ajustar tamaño",
"Auto" : "Auto",
"Shared Folder" : "Carpeta compartida",
"Failed to create {albumName}." : "Fallo al crear {albumName}",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Fallo al renombrar {currentAlbumName} a {newAlbumName}.",

1
l10n/es.json vendored
View File

@ -216,6 +216,7 @@
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Tenga en cuenta que el área a recortar es menor al redimensionamiento aplicado lo que puede causar pérdida de calidad",
"Actual size (100%)" : "Tamaño actual (100%)",
"Fit size" : "Ajustar tamaño",
"Auto" : "Auto",
"Shared Folder" : "Carpeta compartida",
"Failed to create {albumName}." : "Fallo al crear {albumName}",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Fallo al renombrar {currentAlbumName} a {newAlbumName}.",

3
l10n/es_GT.js vendored
View File

@ -34,6 +34,7 @@ OC.L10N.register(
"Value" : "Valor",
"Text" : "Texto",
"Size" : "Tamaño",
"Position" : "Posición"
"Position" : "Posición",
"Auto" : "Auto"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

3
l10n/es_GT.json vendored
View File

@ -32,6 +32,7 @@
"Value" : "Valor",
"Text" : "Texto",
"Size" : "Tamaño",
"Position" : "Posición"
"Position" : "Posición",
"Auto" : "Auto"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

1
l10n/eu.js vendored
View File

@ -176,6 +176,7 @@ OC.L10N.register(
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Kontuan izan hautatutako mozte-eremua aplikatutako tamaina baino txikiagoa dela eta horrek kalitatea gutxitzea eragin dezakeela",
"Actual size (100%)" : "Benetako tamaina (% 100)",
"Fit size" : "Egokitu tamaina",
"Auto" : "Auto",
"Failed to create {albumName}." : "Ezin izan da {albumName} sortu.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Ezin izan da {currentAlbumName} berrizendatu {newAlbumName} gisa.",
"General Failure" : "Hutsegite orokorra",

1
l10n/eu.json vendored
View File

@ -174,6 +174,7 @@
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Kontuan izan hautatutako mozte-eremua aplikatutako tamaina baino txikiagoa dela eta horrek kalitatea gutxitzea eragin dezakeela",
"Actual size (100%)" : "Benetako tamaina (% 100)",
"Fit size" : "Egokitu tamaina",
"Auto" : "Auto",
"Failed to create {albumName}." : "Ezin izan da {albumName} sortu.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Ezin izan da {currentAlbumName} berrizendatu {newAlbumName} gisa.",
"General Failure" : "Hutsegite orokorra",

3
l10n/fa.js vendored
View File

@ -37,6 +37,7 @@ OC.L10N.register(
"Value" : "مقدار",
"Text" : "متن",
"Size" : "اندازه",
"Extension" : "گسترش"
"Extension" : "گسترش",
"Auto" : "خودکار"
},
"nplurals=2; plural=(n > 1);");

3
l10n/fa.json vendored
View File

@ -35,6 +35,7 @@
"Value" : "مقدار",
"Text" : "متن",
"Size" : "اندازه",
"Extension" : "گسترش"
"Extension" : "گسترش",
"Auto" : "خودکار"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
}

1
l10n/fi.js vendored
View File

@ -158,6 +158,7 @@ OC.L10N.register(
"Quality" : "Laatu",
"Actual size (100%)" : "Todellinen koko (100 %)",
"Fit size" : "Sovita koko",
"Auto" : "Automaattinen",
"Shared Folder" : "Jaa kansio",
"Failed to create {albumName}." : "Albumin {albumName} luominen epäonnistui.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Albumin {currentAlbumName} nimen muuttaminen muotoon {newAlbumName} epäonnistui.",

1
l10n/fi.json vendored
View File

@ -156,6 +156,7 @@
"Quality" : "Laatu",
"Actual size (100%)" : "Todellinen koko (100 %)",
"Fit size" : "Sovita koko",
"Auto" : "Automaattinen",
"Shared Folder" : "Jaa kansio",
"Failed to create {albumName}." : "Albumin {albumName} luominen epäonnistui.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Albumin {currentAlbumName} nimen muuttaminen muotoon {newAlbumName} epäonnistui.",

1
l10n/fr.js vendored
View File

@ -182,6 +182,7 @@ OC.L10N.register(
"Actual size (100%)" : "Taille actuelle (100%)",
"Fit size" : "Adapter à la taille",
"Transcoding failed." : "Échec du transcodage.",
"Auto" : "Auto",
"Failed to create {albumName}." : "Échec de la création de {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Échec du renommage de {currentAlbumName} en {newAlbumName}.",
"General Failure" : "Échec général",

1
l10n/fr.json vendored
View File

@ -180,6 +180,7 @@
"Actual size (100%)" : "Taille actuelle (100%)",
"Fit size" : "Adapter à la taille",
"Transcoding failed." : "Échec du transcodage.",
"Auto" : "Auto",
"Failed to create {albumName}." : "Échec de la création de {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Échec du renommage de {currentAlbumName} en {newAlbumName}.",
"General Failure" : "Échec général",

3
l10n/gl.js vendored
View File

@ -48,6 +48,7 @@ OC.L10N.register(
"Position" : "Posicion",
"Extension" : "Extensión",
"Name is required." : "É obrigatorio o nome.",
"Quality" : "Calidade"
"Quality" : "Calidade",
"Auto" : "Automático"
},
"nplurals=2; plural=(n != 1);");

3
l10n/gl.json vendored
View File

@ -46,6 +46,7 @@
"Position" : "Posicion",
"Extension" : "Extensión",
"Name is required." : "É obrigatorio o nome.",
"Quality" : "Calidade"
"Quality" : "Calidade",
"Auto" : "Automático"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

3
l10n/he.js vendored
View File

@ -45,6 +45,7 @@ OC.L10N.register(
"Position" : "מיקום",
"Extension" : "הרחבה",
"Name is required." : "נדרש שם.",
"Quality" : "איכות"
"Quality" : "איכות",
"Auto" : "אוטומטי"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");

3
l10n/he.json vendored
View File

@ -43,6 +43,7 @@
"Position" : "מיקום",
"Extension" : "הרחבה",
"Name is required." : "נדרש שם.",
"Quality" : "איכות"
"Quality" : "איכות",
"Auto" : "אוטומטי"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
}

3
l10n/hr.js vendored
View File

@ -48,6 +48,7 @@ OC.L10N.register(
"Position" : "Položaj",
"Extension" : "Proširenje",
"Name is required." : "Ime je obavezno.",
"Quality" : "Kvaliteta"
"Quality" : "Kvaliteta",
"Auto" : "Auto"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");

3
l10n/hr.json vendored
View File

@ -46,6 +46,7 @@
"Position" : "Položaj",
"Extension" : "Proširenje",
"Name is required." : "Ime je obavezno.",
"Quality" : "Kvaliteta"
"Quality" : "Kvaliteta",
"Auto" : "Auto"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
}

2
l10n/hu.js vendored
View File

@ -15,6 +15,7 @@ OC.L10N.register(
"Tags" : "Címkék",
"Maps" : "Térképek",
"EXIF" : "EXIF",
"Error saving image" : "Hiba a kép mentése során",
"Unsaved changes" : "Mentetlen változtatások",
"Drop changes" : "Változtatások elvetése",
"Edit" : "Szerkesztés",
@ -171,6 +172,7 @@ OC.L10N.register(
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Vegye figyelembe, hogy a kijelölt levágási terület kisebb mint az alkalmazott átméretezés, amely minőségcsökkenést okozhat",
"Actual size (100%)" : "Tényleges méret (100%)",
"Fit size" : "Illeszkedő méret",
"Auto" : "Automatikus",
"Failed to create {albumName}." : "A(z) {albumName} létrehozása sikertelen.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "A(z) {currentAlbumName} átnevezése a következőre sikertelen: {newAlbumName}.",
"Failed to delete files." : "A fájlok törlése sikertelen.",

2
l10n/hu.json vendored
View File

@ -13,6 +13,7 @@
"Tags" : "Címkék",
"Maps" : "Térképek",
"EXIF" : "EXIF",
"Error saving image" : "Hiba a kép mentése során",
"Unsaved changes" : "Mentetlen változtatások",
"Drop changes" : "Változtatások elvetése",
"Edit" : "Szerkesztés",
@ -169,6 +170,7 @@
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Vegye figyelembe, hogy a kijelölt levágási terület kisebb mint az alkalmazott átméretezés, amely minőségcsökkenést okozhat",
"Actual size (100%)" : "Tényleges méret (100%)",
"Fit size" : "Illeszkedő méret",
"Auto" : "Automatikus",
"Failed to create {albumName}." : "A(z) {albumName} létrehozása sikertelen.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "A(z) {currentAlbumName} átnevezése a következőre sikertelen: {newAlbumName}.",
"Failed to delete files." : "A fájlok törlése sikertelen.",

3
l10n/is.js vendored
View File

@ -48,6 +48,7 @@ OC.L10N.register(
"Position" : "Staða",
"Extension" : "Skráarending",
"Name is required." : "Nafn er nauðsynlegt.",
"Quality" : "Quality"
"Quality" : "Quality",
"Auto" : "Sjálfvirkt"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");

3
l10n/is.json vendored
View File

@ -46,6 +46,7 @@
"Position" : "Staða",
"Extension" : "Skráarending",
"Name is required." : "Nafn er nauðsynlegt.",
"Quality" : "Quality"
"Quality" : "Quality",
"Auto" : "Sjálfvirkt"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
}

3
l10n/it.js vendored
View File

@ -74,6 +74,7 @@ OC.L10N.register(
"Position" : "Posizione",
"Extension" : "Estensione",
"Name is required." : "Il nome è richiesto.",
"Quality" : "Qualità"
"Quality" : "Qualità",
"Auto" : "Automatico"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

3
l10n/it.json vendored
View File

@ -72,6 +72,7 @@
"Position" : "Posizione",
"Extension" : "Estensione",
"Name is required." : "Il nome è richiesto.",
"Quality" : "Qualità"
"Quality" : "Qualità",
"Auto" : "Automatico"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

3
l10n/ja.js vendored
View File

@ -73,6 +73,7 @@ OC.L10N.register(
"Position" : "位置",
"Extension" : "拡張",
"Name is required." : "名前は必須です。",
"Quality" : "品質"
"Quality" : "品質",
"Auto" : "自動"
},
"nplurals=1; plural=0;");

3
l10n/ja.json vendored
View File

@ -71,6 +71,7 @@
"Position" : "位置",
"Extension" : "拡張",
"Name is required." : "名前は必須です。",
"Quality" : "品質"
"Quality" : "品質",
"Auto" : "自動"
},"pluralForm" :"nplurals=1; plural=0;"
}

3
l10n/ko.js vendored
View File

@ -43,6 +43,7 @@ OC.L10N.register(
"Size" : "크기",
"Position" : "위치",
"Extension" : "확장자",
"Quality" : "품질"
"Quality" : "품질",
"Auto" : "자동"
},
"nplurals=1; plural=0;");

3
l10n/ko.json vendored
View File

@ -41,6 +41,7 @@
"Size" : "크기",
"Position" : "위치",
"Extension" : "확장자",
"Quality" : "품질"
"Quality" : "품질",
"Auto" : "자동"
},"pluralForm" :"nplurals=1; plural=0;"
}

1
l10n/lt_LT.js vendored
View File

@ -121,6 +121,7 @@ OC.L10N.register(
"Position" : "Vieta",
"Name is required." : "Vardas yra būtinas.",
"Quality" : "Kokybė",
"Auto" : "Automatiškai",
"Failed to create {albumName}." : "Nepavyko sukurti {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Nepavyko pervadinti {currentAlbumName} į {newAlbumName}.",
"General Failure" : "Bendrinė nesėkmė",

1
l10n/lt_LT.json vendored
View File

@ -119,6 +119,7 @@
"Position" : "Vieta",
"Name is required." : "Vardas yra būtinas.",
"Quality" : "Kokybė",
"Auto" : "Automatiškai",
"Failed to create {albumName}." : "Nepavyko sukurti {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Nepavyko pervadinti {currentAlbumName} į {newAlbumName}.",
"General Failure" : "Bendrinė nesėkmė",

1
l10n/lv.js vendored
View File

@ -51,6 +51,7 @@ OC.L10N.register(
"Saved image size (width x height)" : "Saglabātā attēla izmērs (platums x augstums)",
"Actual size (100%)" : "Faktiskais izmērs (100%)",
"Fit size" : "Atbilst izmēram",
"Auto" : "Automātiski",
"Shared Folder" : "Koplietotā mape"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");

1
l10n/lv.json vendored
View File

@ -49,6 +49,7 @@
"Saved image size (width x height)" : "Saglabātā attēla izmērs (platums x augstums)",
"Actual size (100%)" : "Faktiskais izmērs (100%)",
"Fit size" : "Atbilst izmēram",
"Auto" : "Automātiski",
"Shared Folder" : "Koplietotā mape"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
}

1
l10n/mk.js vendored
View File

@ -94,6 +94,7 @@ OC.L10N.register(
"Quality" : "Квалитет",
"Actual size (100%)" : "Актуелна големина (100%)",
"Fit size" : "Соодветна големина",
"Auto" : "Автоматски",
"Failed to create {albumName}." : "Неуспешно креирање {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Неуспешно преименување на {currentAlbumName} во {newAlbumName}.",
"Failed to favorite {fileName}." : "Неуспешно додавање во омилени {fileName}."

1
l10n/mk.json vendored
View File

@ -92,6 +92,7 @@
"Quality" : "Квалитет",
"Actual size (100%)" : "Актуелна големина (100%)",
"Fit size" : "Соодветна големина",
"Auto" : "Автоматски",
"Failed to create {albumName}." : "Неуспешно креирање {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Неуспешно преименување на {currentAlbumName} во {newAlbumName}.",
"Failed to favorite {fileName}." : "Неуспешно додавање во омилени {fileName}."

3
l10n/nb.js vendored
View File

@ -74,6 +74,7 @@ OC.L10N.register(
"Save image as" : "Lagre bilde som",
"Extension" : "Filetternavn",
"Name is required." : "Navn er påkrevd.",
"Quality" : "Kvalitet"
"Quality" : "Kvalitet",
"Auto" : "Auto"
},
"nplurals=2; plural=(n != 1);");

3
l10n/nb.json vendored
View File

@ -72,6 +72,7 @@
"Save image as" : "Lagre bilde som",
"Extension" : "Filetternavn",
"Name is required." : "Navn er påkrevd.",
"Quality" : "Kvalitet"
"Quality" : "Kvalitet",
"Auto" : "Auto"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

3
l10n/nl.js vendored
View File

@ -53,6 +53,7 @@ OC.L10N.register(
"Position" : "Positie",
"Extension" : "Extensie",
"Name is required." : "Naam is verplicht.",
"Quality" : "Kwaliteit"
"Quality" : "Kwaliteit",
"Auto" : "Automatisch"
},
"nplurals=2; plural=(n != 1);");

3
l10n/nl.json vendored
View File

@ -51,6 +51,7 @@
"Position" : "Positie",
"Extension" : "Extensie",
"Name is required." : "Naam is verplicht.",
"Quality" : "Kwaliteit"
"Quality" : "Kwaliteit",
"Auto" : "Automatisch"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

1
l10n/pl.js vendored
View File

@ -169,6 +169,7 @@ OC.L10N.register(
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Zwróć uwagę, że wybrany obszar kadrowania jest mniejszy niż zastosowana zmiana rozmiaru, co może spowodować spadek jakości",
"Actual size (100%)" : "Rzeczywisty rozmiar (100%)",
"Fit size" : "Dopasuj rozmiar",
"Auto" : "Automatycznie",
"Failed to create {albumName}." : "Nie udało się utworzyć {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Nie udało się zmienić nazwy {currentAlbumName} na {newAlbumName}.",
"General Failure" : "Ogólna awaria",

1
l10n/pl.json vendored
View File

@ -167,6 +167,7 @@
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Zwróć uwagę, że wybrany obszar kadrowania jest mniejszy niż zastosowana zmiana rozmiaru, co może spowodować spadek jakości",
"Actual size (100%)" : "Rzeczywisty rozmiar (100%)",
"Fit size" : "Dopasuj rozmiar",
"Auto" : "Automatycznie",
"Failed to create {albumName}." : "Nie udało się utworzyć {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Nie udało się zmienić nazwy {currentAlbumName} na {newAlbumName}.",
"General Failure" : "Ogólna awaria",

1
l10n/pt_BR.js vendored
View File

@ -200,6 +200,7 @@ OC.L10N.register(
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Observe que a área de corte selecionada é menor que o redimensionamento aplicado, o que pode causar diminuição da qualidade",
"Actual size (100%)" : "Tamanho real (100%)",
"Fit size" : "Encaixar tamanho",
"Auto" : "Automático",
"Failed to create {albumName}." : "Falha ao criar {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Falha ao renomear {currentAlbumName} para {newAlbumName}.",
"General Failure" : "Falha Geral",

1
l10n/pt_BR.json vendored
View File

@ -198,6 +198,7 @@
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Observe que a área de corte selecionada é menor que o redimensionamento aplicado, o que pode causar diminuição da qualidade",
"Actual size (100%)" : "Tamanho real (100%)",
"Fit size" : "Encaixar tamanho",
"Auto" : "Automático",
"Failed to create {albumName}." : "Falha ao criar {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Falha ao renomear {currentAlbumName} para {newAlbumName}.",
"General Failure" : "Falha Geral",

1
l10n/pt_PT.js vendored
View File

@ -49,6 +49,7 @@ OC.L10N.register(
"Size" : "Altura",
"Name is required." : "Nome é obrigatório.",
"Quality" : "Qualidade",
"Auto" : "Auto",
"Failed to delete files." : "Não foi possível eliminar os ficheiros.",
"Failed to delete {fileName}." : "Não foi possível eliminar {fileName}.",
"Failed to favorite files." : "Não foi possível colocar os ficheiros nos favoritos.",

1
l10n/pt_PT.json vendored
View File

@ -47,6 +47,7 @@
"Size" : "Altura",
"Name is required." : "Nome é obrigatório.",
"Quality" : "Qualidade",
"Auto" : "Auto",
"Failed to delete files." : "Não foi possível eliminar os ficheiros.",
"Failed to delete {fileName}." : "Não foi possível eliminar {fileName}.",
"Failed to favorite files." : "Não foi possível colocar os ficheiros nos favoritos.",

3
l10n/ro.js vendored
View File

@ -35,6 +35,7 @@ OC.L10N.register(
"Custom" : "Particularizat",
"Text" : "Text",
"Size" : "Mărime",
"Position" : "Poziție"
"Position" : "Poziție",
"Auto" : "Auto"
},
"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");

3
l10n/ro.json vendored
View File

@ -33,6 +33,7 @@
"Custom" : "Particularizat",
"Text" : "Text",
"Size" : "Mărime",
"Position" : "Poziție"
"Position" : "Poziție",
"Auto" : "Auto"
},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
}

1
l10n/ru.js vendored
View File

@ -76,6 +76,7 @@ OC.L10N.register(
"Extension" : "Расширение",
"Name is required." : "Необходимо указать имя.",
"Quality" : "Качество",
"Auto" : "Автоматически",
"Failed to delete files." : "Ошибка удаления файлов.",
"Failed to delete {fileName}." : "Ошибка удаления файла «{fileName}».",
"Failed to favorite files." : "Не удалось добавить файлы в избранное.",

1
l10n/ru.json vendored
View File

@ -74,6 +74,7 @@
"Extension" : "Расширение",
"Name is required." : "Необходимо указать имя.",
"Quality" : "Качество",
"Auto" : "Автоматически",
"Failed to delete files." : "Ошибка удаления файлов.",
"Failed to delete {fileName}." : "Ошибка удаления файла «{fileName}».",
"Failed to favorite files." : "Не удалось добавить файлы в избранное.",

3
l10n/sc.js vendored
View File

@ -48,6 +48,7 @@ OC.L10N.register(
"Position" : "Positzione",
"Extension" : "Estensione",
"Name is required." : "Su nùmene est rechertu: ",
"Quality" : "Calidade"
"Quality" : "Calidade",
"Auto" : "Auto"
},
"nplurals=2; plural=(n != 1);");

3
l10n/sc.json vendored
View File

@ -46,6 +46,7 @@
"Position" : "Positzione",
"Extension" : "Estensione",
"Name is required." : "Su nùmene est rechertu: ",
"Quality" : "Calidade"
"Quality" : "Calidade",
"Auto" : "Auto"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

1
l10n/sk.js vendored
View File

@ -180,6 +180,7 @@ OC.L10N.register(
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Upozorňujeme, že vybratá oblasť orezania je menšia ako použitá zmena veľkosti, čo môže spôsobiť zníženie kvality",
"Actual size (100%)" : "Aktuálna veľkosť (100%)",
"Fit size" : "Prispôsobiť veľlkosť",
"Auto" : "Automaticky",
"Failed to create {albumName}." : "Zlyhalo vytváranie {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Chyba pri premenovávaní {currentAlbumName} na {newAlbumName}.",
"General Failure" : "Všeobecné zlyhanie",

1
l10n/sk.json vendored
View File

@ -178,6 +178,7 @@
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Upozorňujeme, že vybratá oblasť orezania je menšia ako použitá zmena veľkosti, čo môže spôsobiť zníženie kvality",
"Actual size (100%)" : "Aktuálna veľkosť (100%)",
"Fit size" : "Prispôsobiť veľlkosť",
"Auto" : "Automaticky",
"Failed to create {albumName}." : "Zlyhalo vytváranie {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Chyba pri premenovávaní {currentAlbumName} na {newAlbumName}.",
"General Failure" : "Všeobecné zlyhanie",

3
l10n/sl.js vendored
View File

@ -58,6 +58,7 @@ OC.L10N.register(
"Position" : "Položaj",
"Extension" : "Pripona",
"Name is required." : "Ime mora biti vpisano.",
"Quality" : "Kakovost"
"Quality" : "Kakovost",
"Auto" : "Samodejno"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");

3
l10n/sl.json vendored
View File

@ -56,6 +56,7 @@
"Position" : "Položaj",
"Extension" : "Pripona",
"Name is required." : "Ime mora biti vpisano.",
"Quality" : "Kakovost"
"Quality" : "Kakovost",
"Auto" : "Samodejno"
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
}

3
l10n/sr.js vendored
View File

@ -45,6 +45,7 @@ OC.L10N.register(
"Text" : "Текст",
"Size" : "величина",
"Position" : "Позиција",
"Extension" : "Екстензија"
"Extension" : "Екстензија",
"Auto" : "Аутоматски"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");

3
l10n/sr.json vendored
View File

@ -43,6 +43,7 @@
"Text" : "Текст",
"Size" : "величина",
"Position" : "Позиција",
"Extension" : "Екстензија"
"Extension" : "Екстензија",
"Auto" : "Аутоматски"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
}

1
l10n/sv.js vendored
View File

@ -67,6 +67,7 @@ OC.L10N.register(
"Position" : "Position",
"Extension" : "Tillägg",
"Name is required." : "Namn är obligatoriskt.",
"Auto" : "Auto",
"Failed to delete files." : "Misslyckades att radera filer.",
"Failed to delete {fileName}." : "Misslyckades att radera {fileName}.",
"Failed to favorite files." : "Misslyckades att favorisera filer.",

1
l10n/sv.json vendored
View File

@ -65,6 +65,7 @@
"Position" : "Position",
"Extension" : "Tillägg",
"Name is required." : "Namn är obligatoriskt.",
"Auto" : "Auto",
"Failed to delete files." : "Misslyckades att radera filer.",
"Failed to delete {fileName}." : "Misslyckades att radera {fileName}.",
"Failed to favorite files." : "Misslyckades att favorisera filer.",

2
l10n/tr.js vendored
View File

@ -3,6 +3,7 @@ OC.L10N.register(
{
"Memories" : "Anılar",
"Yet another photo management app" : "Başka bir fotoğraf yönetimi uygulaması daha",
"# Memories\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **📸 Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **⏪ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **🤖 AI Tagging**: Group photos by people and objects using AI, powered by [recognize](https://github.com/nextcloud/recognize).\n- **🖼️ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **🫱🏻‍🫲🏻 External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **📱 Mobile Support**: Works on devices of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates on photos quickly and easily.\n- **📦 Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **📹 Video Transcoding**: Memories transcodes videos and uses HLS for maximal performance.\n- **⚡️ Performance**: In general, Memories is extremely fast.\n\n## 🌐 Online Demo\n\n- To get an idea of what memories looks and feels like, check out the [public demo](https://memories-demo.radialapps.com/apps/memories/).\n- The demo is read-only and may be slow (free tier VM from [Oracle Cloud](https://www.oracle.com/cloud/free/)).\n- Photo credits go to [Unsplash](https://unsplash.com/) (for individual credits, refer to each folder).\n\n## 🚀 Installation\n\n1. Install the app from the Nextcloud app store.\n1. Perform the recommended [configuration steps](https://github.com/pulsejet/memories/wiki/Extra-Configuration).\n1. Run `php ./occ memories:index` to generate metadata indices for existing photos.\n1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos." : "# Anılar\n\nAnılar, Nextcloud için \"pilleriyle birlikte\" gelen ve aşağıdaki gibi gelişmiş özellikleri bulunan bir fotoğraf yönetimi uygulamasıdır:\n\n- **📸 Zaman tüneli**: Fotoğrafları ve görüntüleri çekildikleri tarihe göre sıralayabilir, Exif verilerine göre ayrıştırabilirsiniz.\n- **⏪ Geri sarma**: Geçmişte herhangi bir zamana atlayabilir ve anılarınızı yeniden yaşayabilirsiniz.\n- **🤖 Yapay zeka ile etiketleme**: [recognize](https://github.com/nextcloud/recognize) tarafından desteklenen yapay zeka ile fotoğrafları insanlara ve nesnelere göre gruplayabilirsiniz.\n- **🖼️ Albümler**: Fotoğrafları ve görüntüleri birlikte gruplandırmak için albümler oluşturabilirsiniz. Daha sonra bu albümleri başkalarıyla paylaşabilirsiniz.\n- **🫱🏻‍🫲🏻 Dış paylaşım**: Fotoğrafları ve görüntüleri Nextcloud bulut sunucunuzun dışındaki kişilerle paylaşabilirsiniz.\n- **📱 Mobil desteği**: Web uygulaması üzerinden farklı şekil ve boyuttaki aygıtlarda kullanabilirsiniz.\n- **✏️ Üst verileri düzenleme**: Fotoğraflardaki tarihleri hızlı ve kolay bir şekilde düzenleyebilirsiniz.\n- **📦 Arşiv**: Zaman tünelinizde görmek istemediğiniz fotoğrafları ayrı bir klasörde saklayabilirsiniz.\n- **📹 Görüntü dönüştürme**: Anılar görüntüleri dönüştürebilir ve en iyi başarım için HLS kullanır.\n- **⚡️ Başarım**: Anılar uygulaması son derece hızlıdır.\n\n## 🌐 Çevrimiçi Deneme\n\n- Anılar uygulamasının nasıl göründüğü ve nasıl hissettirdiği hakkında bir fikir edinmek için [genel deneme](https://memories-demo.radialapps.com/apps/memories/) sitesine göz atın.\n- Deneme sitesi salt okunurdur ve yavaş olabilir ([Oracle Cloud üzerinde](https://www.oracle.com/cloud/free/) ücretsiz VM paketini kullanır).\n- Fotoğraf hakkında emeği geçenler için [Unsplash](https://unsplash.com/) adresine bakabilirsiniz (bireysel eeği geçenler için her klasöre bakın).\n\n## 🚀 Kurulum\n\n1. Uygulamayı Nextcloud uygulama mağazasından yükleyin.\n1. Önerilen [yapılandırma adımlarını](https://github.com/pulsejet/memories/wiki/Extra-Configuration) gerçekleştirin.\n1. var olan fotoğrafların üst veri dizinlerini oluşturmak için `php ./occ memory:index` komutunu yürütün.\n1. Nextcloud üzerinde 📷 Anılar uygulamasınıın ve fotoğraflarınızın bulunduğu klasörü ayarlayın.",
"Settings" : "Ayarlar",
"Timeline" : "Zaman tüneli",
"Folders" : "Klasörler",
@ -220,6 +221,7 @@ OC.L10N.register(
"Actual size (100%)" : "Gerçek boyut (%100)",
"Fit size" : "Boyutu sığdır",
"Transcoding failed." : "Kod dönüştürülemedi.",
"Auto" : "Otomatik",
"Shared Folder" : "Paylaşılmış klasör",
"Failed to create {albumName}." : "{albumName} albümü oluşturulamadı.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "{currentAlbumName} albümünün adı {newAlbumName} olarak değiştirilemedi.",

2
l10n/tr.json vendored
View File

@ -1,6 +1,7 @@
{ "translations": {
"Memories" : "Anılar",
"Yet another photo management app" : "Başka bir fotoğraf yönetimi uygulaması daha",
"# Memories\n\nMemories is a *batteries-included* photo management solution for Nextcloud with advanced features including:\n\n- **📸 Timeline**: Sort photos and videos by date taken, parsed from Exif data.\n- **⏪ Rewind**: Jump to any time in the past instantly and relive your memories.\n- **🤖 AI Tagging**: Group photos by people and objects using AI, powered by [recognize](https://github.com/nextcloud/recognize).\n- **🖼️ Albums**: Create albums to group photos and videos together. Then share these albums with others.\n- **🫱🏻‍🫲🏻 External Sharing**: Share photos and videos with people outside of your Nextcloud instance.\n- **📱 Mobile Support**: Works on devices of any shape and size through the web app.\n- **✏️ Edit Metadata**: Edit dates on photos quickly and easily.\n- **📦 Archive**: Store photos you don't want to see in your timeline in a separate folder.\n- **📹 Video Transcoding**: Memories transcodes videos and uses HLS for maximal performance.\n- **⚡️ Performance**: In general, Memories is extremely fast.\n\n## 🌐 Online Demo\n\n- To get an idea of what memories looks and feels like, check out the [public demo](https://memories-demo.radialapps.com/apps/memories/).\n- The demo is read-only and may be slow (free tier VM from [Oracle Cloud](https://www.oracle.com/cloud/free/)).\n- Photo credits go to [Unsplash](https://unsplash.com/) (for individual credits, refer to each folder).\n\n## 🚀 Installation\n\n1. Install the app from the Nextcloud app store.\n1. Perform the recommended [configuration steps](https://github.com/pulsejet/memories/wiki/Extra-Configuration).\n1. Run `php ./occ memories:index` to generate metadata indices for existing photos.\n1. Open the 📷 Memories app in Nextcloud and set the directory containing your photos." : "# Anılar\n\nAnılar, Nextcloud için \"pilleriyle birlikte\" gelen ve aşağıdaki gibi gelişmiş özellikleri bulunan bir fotoğraf yönetimi uygulamasıdır:\n\n- **📸 Zaman tüneli**: Fotoğrafları ve görüntüleri çekildikleri tarihe göre sıralayabilir, Exif verilerine göre ayrıştırabilirsiniz.\n- **⏪ Geri sarma**: Geçmişte herhangi bir zamana atlayabilir ve anılarınızı yeniden yaşayabilirsiniz.\n- **🤖 Yapay zeka ile etiketleme**: [recognize](https://github.com/nextcloud/recognize) tarafından desteklenen yapay zeka ile fotoğrafları insanlara ve nesnelere göre gruplayabilirsiniz.\n- **🖼️ Albümler**: Fotoğrafları ve görüntüleri birlikte gruplandırmak için albümler oluşturabilirsiniz. Daha sonra bu albümleri başkalarıyla paylaşabilirsiniz.\n- **🫱🏻‍🫲🏻 Dış paylaşım**: Fotoğrafları ve görüntüleri Nextcloud bulut sunucunuzun dışındaki kişilerle paylaşabilirsiniz.\n- **📱 Mobil desteği**: Web uygulaması üzerinden farklı şekil ve boyuttaki aygıtlarda kullanabilirsiniz.\n- **✏️ Üst verileri düzenleme**: Fotoğraflardaki tarihleri hızlı ve kolay bir şekilde düzenleyebilirsiniz.\n- **📦 Arşiv**: Zaman tünelinizde görmek istemediğiniz fotoğrafları ayrı bir klasörde saklayabilirsiniz.\n- **📹 Görüntü dönüştürme**: Anılar görüntüleri dönüştürebilir ve en iyi başarım için HLS kullanır.\n- **⚡️ Başarım**: Anılar uygulaması son derece hızlıdır.\n\n## 🌐 Çevrimiçi Deneme\n\n- Anılar uygulamasının nasıl göründüğü ve nasıl hissettirdiği hakkında bir fikir edinmek için [genel deneme](https://memories-demo.radialapps.com/apps/memories/) sitesine göz atın.\n- Deneme sitesi salt okunurdur ve yavaş olabilir ([Oracle Cloud üzerinde](https://www.oracle.com/cloud/free/) ücretsiz VM paketini kullanır).\n- Fotoğraf hakkında emeği geçenler için [Unsplash](https://unsplash.com/) adresine bakabilirsiniz (bireysel eeği geçenler için her klasöre bakın).\n\n## 🚀 Kurulum\n\n1. Uygulamayı Nextcloud uygulama mağazasından yükleyin.\n1. Önerilen [yapılandırma adımlarını](https://github.com/pulsejet/memories/wiki/Extra-Configuration) gerçekleştirin.\n1. var olan fotoğrafların üst veri dizinlerini oluşturmak için `php ./occ memory:index` komutunu yürütün.\n1. Nextcloud üzerinde 📷 Anılar uygulamasınıın ve fotoğraflarınızın bulunduğu klasörü ayarlayın.",
"Settings" : "Ayarlar",
"Timeline" : "Zaman tüneli",
"Folders" : "Klasörler",
@ -218,6 +219,7 @@
"Actual size (100%)" : "Gerçek boyut (%100)",
"Fit size" : "Boyutu sığdır",
"Transcoding failed." : "Kod dönüştürülemedi.",
"Auto" : "Otomatik",
"Shared Folder" : "Paylaşılmış klasör",
"Failed to create {albumName}." : "{albumName} albümü oluşturulamadı.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "{currentAlbumName} albümünün adı {newAlbumName} olarak değiştirilemedi.",

1
l10n/uk.js vendored
View File

@ -161,6 +161,7 @@ OC.L10N.register(
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Зауважте, що вибрана область кадрування нижча за застосований розмір, що може спричинити погіршення якості",
"Actual size (100%)" : "Фактичний розмір (100%)",
"Fit size" : "Підходить за розміром",
"Auto" : "Автоматично",
"Failed to create {albumName}." : "Не вдалося створити {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Не вдалося перейменувати {currentAlbumName} на {newAlbumName}.",
"Failed to delete files." : "Не вдалося видалити файли.",

1
l10n/uk.json vendored
View File

@ -159,6 +159,7 @@
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "Зауважте, що вибрана область кадрування нижча за застосований розмір, що може спричинити погіршення якості",
"Actual size (100%)" : "Фактичний розмір (100%)",
"Fit size" : "Підходить за розміром",
"Auto" : "Автоматично",
"Failed to create {albumName}." : "Не вдалося створити {albumName}.",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "Не вдалося перейменувати {currentAlbumName} на {newAlbumName}.",
"Failed to delete files." : "Не вдалося видалити файли.",

3
l10n/vi.js vendored
View File

@ -36,6 +36,7 @@ OC.L10N.register(
"Image" : "Hình ảnh",
"Text" : "Văn bản",
"Size" : "Kích cỡ",
"Name is required." : "Tên là bắt buộc."
"Name is required." : "Tên là bắt buộc.",
"Auto" : "Tự động"
},
"nplurals=1; plural=0;");

3
l10n/vi.json vendored
View File

@ -34,6 +34,7 @@
"Image" : "Hình ảnh",
"Text" : "Văn bản",
"Size" : "Kích cỡ",
"Name is required." : "Tên là bắt buộc."
"Name is required." : "Tên là bắt buộc.",
"Auto" : "Tự động"
},"pluralForm" :"nplurals=1; plural=0;"
}

1
l10n/zh_CN.js vendored
View File

@ -84,6 +84,7 @@ OC.L10N.register(
"Extension" : "扩展",
"Name is required." : "名称是必填项。",
"Quality" : "质量",
"Auto" : "自动",
"Failed to create {albumName}." : "创建 {albumName} 失败",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "重命名 {currentAlbumName} 为 {newAlbumName} 的操作失败",
"Failed to delete {fileName}." : "删除 {fileName} 失败"

1
l10n/zh_CN.json vendored
View File

@ -82,6 +82,7 @@
"Extension" : "扩展",
"Name is required." : "名称是必填项。",
"Quality" : "质量",
"Auto" : "自动",
"Failed to create {albumName}." : "创建 {albumName} 失败",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "重命名 {currentAlbumName} 为 {newAlbumName} 的操作失败",
"Failed to delete {fileName}." : "删除 {fileName} 失败"

1
l10n/zh_HK.js vendored
View File

@ -221,6 +221,7 @@ OC.L10N.register(
"Actual size (100%)" : "實際大小 (100%)",
"Fit size" : "調整大小",
"Transcoding failed." : "轉碼失敗。",
"Auto" : "自動",
"Shared Folder" : "分享資料夾",
"Failed to create {albumName}." : "創建 {albumName} 失敗。",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "重新命名 {currentAlbumName} 為 {newAlbumName} 失敗。",

1
l10n/zh_HK.json vendored
View File

@ -219,6 +219,7 @@
"Actual size (100%)" : "實際大小 (100%)",
"Fit size" : "調整大小",
"Transcoding failed." : "轉碼失敗。",
"Auto" : "自動",
"Shared Folder" : "分享資料夾",
"Failed to create {albumName}." : "創建 {albumName} 失敗。",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "重新命名 {currentAlbumName} 為 {newAlbumName} 失敗。",

4
l10n/zh_TW.js vendored
View File

@ -26,6 +26,8 @@ OC.L10N.register(
"Choose the root of your timeline" : "選擇您時間軸的根",
"The selected folder does not seem to be valid. Try again." : "選定的資料夾似乎是無效的。請再試一次。",
"Found {total} photos in {path}" : "在 {path} 中找到 {total} 張照片",
"Failed to get Exif data. Metadata may be lost!" : "取得 Exif 資料失敗。詮釋資料可能會遺失!",
"No Exif data found! Continue?" : "未找到 Exif 資料!繼續?",
"Image saved successfully" : "圖片儲存成功",
"Error saving image" : "儲存影像時發生錯誤",
"Unsaved changes" : "未儲存變更",
@ -218,6 +220,8 @@ OC.L10N.register(
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "請注意,選定的裁剪區域低於套用的調整大小,這可能會導致品質下降",
"Actual size (100%)" : "實際大小 (100%)",
"Fit size" : "合適大小",
"Transcoding failed." : "轉換編碼失敗。",
"Auto" : "自動",
"Shared Folder" : "已分享的資料夾",
"Failed to create {albumName}." : "建立 {albumName} 失敗。",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "重新命名 {currentAlbumName} 為 {newAlbumName} 失敗。",

4
l10n/zh_TW.json vendored
View File

@ -24,6 +24,8 @@
"Choose the root of your timeline" : "選擇您時間軸的根",
"The selected folder does not seem to be valid. Try again." : "選定的資料夾似乎是無效的。請再試一次。",
"Found {total} photos in {path}" : "在 {path} 中找到 {total} 張照片",
"Failed to get Exif data. Metadata may be lost!" : "取得 Exif 資料失敗。詮釋資料可能會遺失!",
"No Exif data found! Continue?" : "未找到 Exif 資料!繼續?",
"Image saved successfully" : "圖片儲存成功",
"Error saving image" : "儲存影像時發生錯誤",
"Unsaved changes" : "未儲存變更",
@ -216,6 +218,8 @@
"Note that the selected crop area is lower than the applied resize which might cause quality decrease" : "請注意,選定的裁剪區域低於套用的調整大小,這可能會導致品質下降",
"Actual size (100%)" : "實際大小 (100%)",
"Fit size" : "合適大小",
"Transcoding failed." : "轉換編碼失敗。",
"Auto" : "自動",
"Shared Folder" : "已分享的資料夾",
"Failed to create {albumName}." : "建立 {albumName} 失敗。",
"Failed to rename {currentAlbumName} to {newAlbumName}." : "重新命名 {currentAlbumName} 為 {newAlbumName} 失敗。",

View File

@ -50,16 +50,12 @@ class VideoSetup extends Command
protected function execute(InputInterface $input, OutputInterface $output): int
{
// Check nohup binary
$nohup = shell_exec('nohup --version');
if (!$nohup || false === strpos($nohup, 'nohup')) {
$output->writeln('<error>nohup binary not found. Please install nohup.</error>');
return $this->suggestDisable($output);
}
// Preset executables
$ffmpegPath = $this->config->getSystemValue('memories.ffmpeg_path', 'ffmpeg');
$ffprobePath = $this->config->getSystemValue('memories.ffprobe_path', 'ffprobe');
// Get ffmpeg version
$ffmpeg = shell_exec('ffmpeg -version');
$ffmpeg = shell_exec("{$ffmpegPath} -version");
if (false === strpos($ffmpeg, 'ffmpeg version')) {
$ffmpeg = null;
$output->writeln('<error>ffmpeg is not installed</error>');
@ -68,7 +64,7 @@ class VideoSetup extends Command
}
// Get ffprobe version
$ffprobe = shell_exec('ffprobe -version');
$ffprobe = shell_exec("{$ffprobePath} -version");
if (false === strpos($ffprobe, 'ffprobe version')) {
$ffprobe = null;
$output->writeln('<error>ffprobe is not installed</error>');
@ -129,7 +125,7 @@ class VideoSetup extends Command
$this->config->setSystemValue('memories.transcoder', $goVodPath);
$this->config->setSystemValue('memories.no_transcode', false);
$output->writeln('Transcoding and HLS are now enabled! Monitor the output at /tmp/go-vod.log for any errors');
$output->writeln('Restart the Nextcloud server for changes to take effect');
$output->writeln('You should restart the server for changes to take effect');
// Check for VAAPI
$output->writeln("\nChecking for QSV (/dev/dri/renderD128)");
@ -172,6 +168,7 @@ class VideoSetup extends Command
$this->config->setSystemValue('memories.no_transcode', true);
$output->writeln('<error>Transcoding and HLS are now disabled</error>');
$output->writeln('You should restart the server for changes to take effect');
return 0;
}

View File

@ -96,15 +96,23 @@ class VideoController extends ApiBase
}
// Check for environment variables
$vaapi = $this->config->getSystemValue('memories.qsv', false);
$env = '';
// QSV with VAAPI
$vaapi = $this->config->getSystemValue('memories.qsv', false);
if ($vaapi) {
$env .= 'VAAPI=1 ';
}
// Paths
$ffmpegPath = $this->config->getSystemValue('memories.ffmpeg_path', 'ffmpeg');
$ffprobePath = $this->config->getSystemValue('memories.ffprobe_path', 'ffprobe');
$tmpPath = $this->config->getSystemValue('memories.tmp_path', sys_get_temp_dir());
$env .= "FFMPEG='{$ffmpegPath}' FFPROBE='{$ffprobePath}' GOVOD_TEMPDIR='{$tmpPath}/go-vod' ";
// Check if already running
shell_exec("pkill {$transcoder}");
shell_exec("{$env} nohup {$transcoder} > {$tmpDir}/go-vod.log 2>&1 & > /dev/null");
exec("pkill {$transcoder}");
shell_exec("{$env} nohup {$transcoder} > {$tmpPath}/go-vod.log 2>&1 & > /dev/null");
// wait for 1s and try again
sleep(1);

View File

@ -4,7 +4,7 @@ od=`pwd`
rm -rf /tmp/memories
mkdir -p /tmp/memories
cp -R appinfo l10n img js lib templates COPYING README.md transcoder.yaml exiftest* composer* /tmp/memories
cp -R appinfo l10n img js lib templates COPYING README.md exiftest* composer* /tmp/memories
cd /tmp
rm -f memories/appinfo/screencap* memories/js/*.map
@ -14,7 +14,7 @@ cd memories
sh "$od/scripts/get-exiftool.sh"
cd ..
tar -zvcf memories.tar.gz memories/
tar --no-same-owner -p -zcf memories.tar.gz memories/
rm -rf memories
cd $od

View File

@ -17,7 +17,7 @@ mv "exiftool-$exifver" exiftool
rm -rf *.zip exiftool/t exiftool/html
chmod 755 exiftool/exiftool
govod="0.0.11"
govod="0.0.12"
wget -q "https://github.com/pulsejet/go-vod/releases/download/$govod/go-vod-amd64"
wget -q "https://github.com/pulsejet/go-vod/releases/download/$govod/go-vod-aarch64"
chmod 755 go-vod-*

View File

@ -344,6 +344,11 @@ body.has-viewer header {
overflow-x: hidden;
}
// Prevent sidebar from becoming too big
aside.app-sidebar {
max-width: 360px !important;
}
// Fill all available space
.fill-block {
width: 100%;

View File

@ -343,6 +343,8 @@ export default class Metadata extends Mixins(GlobalMixin) {
.map {
width: 100%;
height: 200px;
aspect-ratio: 16 / 10;
min-height: 200px;
max-height: 250px;
}
</style>

View File

@ -102,10 +102,5 @@ export function getDownloadLink(photo: IPhoto) {
}
}
try {
const file = "/" + photo.filename.split("/").slice(3).join("/");
return `/apps/files/ajax/download.php?files=${file}`; // normal route
} catch {
return `/remote.php/dav${photo.filename}`; // fallback
}
return `/remote.php/dav${photo.filename}`;
}