diff --git a/.github/workflows/quality-check.yml b/.github/workflows/quality-check.yml
index a7af2642d..600c22410 100644
--- a/.github/workflows/quality-check.yml
+++ b/.github/workflows/quality-check.yml
@@ -69,7 +69,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
+ uses: github/codeql-action/init@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
@@ -83,6 +83,6 @@ jobs:
./flutterw build apk --profile -t lib/main_play.dart --flavor play
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
+ uses: github/codeql-action/analyze@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
with:
category: "/language:${{matrix.language}}"
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index c9c591806..e60f97d09 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -71,6 +71,6 @@ jobs:
# Upload the results to GitHub's code scanning dashboard.
- name: "Upload to code-scanning"
- uses: github/codeql-action/upload-sarif@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9
+ uses: github/codeql-action/upload-sarif@48ab28a6f5dbc2a99bf1e0131198dd8f1df78169 # v3.28.0
with:
sarif_file: results.sarif
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e6ef22be9..ab0c1d46d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,19 @@ All notable changes to this project will be documented in this file.
## [Unreleased]
+## [v1.12.1] - 2025-01-05
+
+### Added
+
+- dynamic album decompose action
+- Danish translation (thanks Grooty12, Victor M, cat)
+
+### Fixed
+
+- analysis service not triggering because of uninitialized app lifecycle
+- Viewer: displaying neighbour items when the initial item of a view intent is a new one
+- Search: dynamic album name filtering
+
## [v1.12.0] - 2024-12-19
### Added
diff --git a/android/app/src/main/res/values-da/strings.xml b/android/app/src/main/res/values-da/strings.xml
index 27341f39b..f475147c2 100644
--- a/android/app/src/main/res/values-da/strings.xml
+++ b/android/app/src/main/res/values-da/strings.xml
@@ -3,9 +3,10 @@
Fotoramme
Baggrund
Videoer
- Mediascanning
+ Mediescanning
Scanner medier
Stop
Aves
Søg
+ Kort
\ No newline at end of file
diff --git a/android/app/src/main/res/values-hu/strings.xml b/android/app/src/main/res/values-hu/strings.xml
index cc2ef43f5..a8da1483f 100644
--- a/android/app/src/main/res/values-hu/strings.xml
+++ b/android/app/src/main/res/values-hu/strings.xml
@@ -6,7 +6,7 @@
Videók
Állj
Fotó keret
- Tartalom keresése
+ Médiafájlok keresése
Média beolvasása
Térkép
\ No newline at end of file
diff --git a/fastlane/metadata/android/da/full_description.txt b/fastlane/metadata/android/da/full_description.txt
index 23a3d6235..a3891f5a6 100644
--- a/fastlane/metadata/android/da/full_description.txt
+++ b/fastlane/metadata/android/da/full_description.txt
@@ -1,5 +1,5 @@
-Aves can handle all sorts of images and videos, including your typical JPEGs and MP4s, but also more exotic things like multi-page TIFFs, SVGs, old AVIs and more! It scans your media collection to identify motion photos, panoramas (aka photo spheres), 360° videos, as well as GeoTIFF files.
+Aves kan håndtere alle slags billeder og videoer, inklusive de typiske JPEG'er og MP4'er, men også mere usædvanlige ting som flersidede TIFF'er, SVG'er, gamle AVI'er og mere! Den scanner din mediesamling for at identificere bevægelsesfotos, panoramaer (også kaldet fotosfærer), 360° videoer samt GeoTIFF-filer.
-Navigation and search is an important part of Aves. The goal is for users to easily flow from albums to photos to tags to maps, etc.
+Navigation og søgning er en vigtig del af Aves. Målet er, at brugerne nemt kan gå fra album til fotos til tags til kort osv.
-Aves integrates with Android (including Android TV) with features such as widgets, app shortcuts, screen saver and global search handling. It also works as a media viewer and picker.
+Aves integreres med Android (inklusive Android TV) med funktioner som widgets, app-genveje, pauseskærm og håndtering af global søgning. Den fungerer også som medieviser og -vælger.
diff --git a/fastlane/metadata/android/da/images/featureGraphic.png b/fastlane/metadata/android/da/images/featureGraphic.png
new file mode 100644
index 000000000..2d8ec0710
Binary files /dev/null and b/fastlane/metadata/android/da/images/featureGraphic.png differ
diff --git a/fastlane/metadata/android/da/images/phoneScreenshots/1.png b/fastlane/metadata/android/da/images/phoneScreenshots/1.png
new file mode 100644
index 000000000..a50c34388
Binary files /dev/null and b/fastlane/metadata/android/da/images/phoneScreenshots/1.png differ
diff --git a/fastlane/metadata/android/da/images/phoneScreenshots/2.png b/fastlane/metadata/android/da/images/phoneScreenshots/2.png
new file mode 100644
index 000000000..b7aa1ab3f
Binary files /dev/null and b/fastlane/metadata/android/da/images/phoneScreenshots/2.png differ
diff --git a/fastlane/metadata/android/da/images/phoneScreenshots/3.png b/fastlane/metadata/android/da/images/phoneScreenshots/3.png
new file mode 100644
index 000000000..35337ada2
Binary files /dev/null and b/fastlane/metadata/android/da/images/phoneScreenshots/3.png differ
diff --git a/fastlane/metadata/android/da/images/phoneScreenshots/4.png b/fastlane/metadata/android/da/images/phoneScreenshots/4.png
new file mode 100644
index 000000000..6adfc9ef3
Binary files /dev/null and b/fastlane/metadata/android/da/images/phoneScreenshots/4.png differ
diff --git a/fastlane/metadata/android/da/images/phoneScreenshots/5.png b/fastlane/metadata/android/da/images/phoneScreenshots/5.png
new file mode 100644
index 000000000..47d254adb
Binary files /dev/null and b/fastlane/metadata/android/da/images/phoneScreenshots/5.png differ
diff --git a/fastlane/metadata/android/da/images/phoneScreenshots/6.png b/fastlane/metadata/android/da/images/phoneScreenshots/6.png
new file mode 100644
index 000000000..751b6a517
Binary files /dev/null and b/fastlane/metadata/android/da/images/phoneScreenshots/6.png differ
diff --git a/fastlane/metadata/android/da/images/phoneScreenshots/7.png b/fastlane/metadata/android/da/images/phoneScreenshots/7.png
new file mode 100644
index 000000000..209f9608f
Binary files /dev/null and b/fastlane/metadata/android/da/images/phoneScreenshots/7.png differ
diff --git a/fastlane/metadata/android/da/short_description.txt b/fastlane/metadata/android/da/short_description.txt
index 8c9445bd5..15e6a0170 100644
--- a/fastlane/metadata/android/da/short_description.txt
+++ b/fastlane/metadata/android/da/short_description.txt
@@ -1 +1 @@
-Gallery and metadata explorer
\ No newline at end of file
+Galleri og metadataudforsker
\ No newline at end of file
diff --git a/fastlane/metadata/android/en-US/changelogs/141.txt b/fastlane/metadata/android/en-US/changelogs/141.txt
new file mode 100644
index 000000000..3b8617d7c
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/141.txt
@@ -0,0 +1,3 @@
+In v1.12.1:
+- enjoy the app in Danish
+Full changelog available on GitHub
\ No newline at end of file
diff --git a/fastlane/metadata/android/en-US/changelogs/14101.txt b/fastlane/metadata/android/en-US/changelogs/14101.txt
new file mode 100644
index 000000000..3b8617d7c
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/14101.txt
@@ -0,0 +1,3 @@
+In v1.12.1:
+- enjoy the app in Danish
+Full changelog available on GitHub
\ No newline at end of file
diff --git a/fastlane/metadata/android/ta/full_description.txt b/fastlane/metadata/android/ta/full_description.txt
index ee66172de..5af6fb91b 100644
--- a/fastlane/metadata/android/ta/full_description.txt
+++ b/fastlane/metadata/android/ta/full_description.txt
@@ -1,5 +1,5 @@
-ஏவ்ச் உங்கள் வழக்கமான JPEG கள் மற்றும் MP4 கள் உட்பட அனைத்து வகையான படங்கள் மற்றும் வீடியோக்களைக் கையாள முடியும், ஆனால் பல பக்க டிஐஎஃப்பிஎச், எச்விசிகள், பழைய அவிச் மற்றும் மேலும் போன்ற கவர்ச்சியான விசயங்களையும் கையாள முடியும்! மோசன் புகைப்படங்கள் , பனோரமாச் (புகைப்படக் கோளங்கள்), 360 ° வீடியோக்கள் , அத்துடன் சியோடிஃப் < /b> கோப்புகள்.
+ஏவ்ச் உங்கள் வழக்கமான செபிஇசிகள் மற்றும் எம்பி4கள் உட்பட அனைத்து வகையான படங்கள் மற்றும் காணொளிகளைக் கையாள முடியும், ஆனால் பல பக்க டிஐஎப்எப்கள், எச்விசிகள், பழைய அவிச் மற்றும் மேலும் போன்ற கவர்ச்சியான உருப்படிகளையும் கையாள முடியும்! இயக்கபுகைப்படங்கள் , பனோரமாகள் (புகைப்படக் கோளங்கள்), 360 ° காணொளிகள் , அத்துடன் சியோடிஐஎப்எப்கள் கோப்புகள்.
- வழிசெலுத்தல் மற்றும் தேடல் ஏவ்ச் இன் ஒரு முக்கிய பகுதியாகும். பயனர்கள் ஆல்பங்களிலிருந்து புகைப்படங்கள் வரை குறிச்சொற்களுக்கு வரைபடங்கள் போன்றவற்றுக்கு எளிதாக பாய வேண்டும்.
+ வழிசெலுத்தல் மற்றும் தேடல் ஏவ்ச் இன் ஒரு முக்கிய பகுதியாகும். பயனர்கள் ஆல்பங்களிலிருந்து புகைப்படங்கள்வரை குறிச்சொற்களுக்கு வரைபடங்கள் போன்றவற்றுக்கு எளிதாகப் பாய வேண்டும்.
-Aves integrates with Android (including Android TV) with features such as widgets, app shortcuts, screen saver and global search handling. It also works as a media viewer and picker.
+ஏவ்ச் ஆனது ஆண்ட்ராய்டு உடன் (ஆண்ட்ராய்டு தொலைக்காட்சி உட்பட) ஒருங்கிணைக்கிறது, இதில் நிரல்பலகைகள், பயன்பாட்டு குறுக்குவழிகள், திரை காப்பான் மற்றும் உலகளாவிய தேடல் கையாளுதல் போன்ற நற்பண்புகள் உள்ளன. இது ஒரு ஊடக காட்டி மற்றும் தேர்வியாகவும் செயல்படுகிறது.
diff --git a/lib/l10n/app_ar.arb b/lib/l10n/app_ar.arb
index 0efe3eb23..992cadced 100644
--- a/lib/l10n/app_ar.arb
+++ b/lib/l10n/app_ar.arb
@@ -1562,5 +1562,7 @@
"appExportDynamicAlbums": "الألبومات الديناميكية",
"@appExportDynamicAlbums": {},
"newDynamicAlbumDialogTitle": "ألبوم ديناميكي جديد",
- "@newDynamicAlbumDialogTitle": {}
+ "@newDynamicAlbumDialogTitle": {},
+ "chipActionDecompose": "فصل",
+ "@chipActionDecompose": {}
}
diff --git a/lib/l10n/app_bg.arb b/lib/l10n/app_bg.arb
index d804cfa0e..be3472d45 100644
--- a/lib/l10n/app_bg.arb
+++ b/lib/l10n/app_bg.arb
@@ -202,7 +202,7 @@
"@sortOrderShortestFirst": {},
"albumGroupTier": "По нива",
"@albumGroupTier": {},
- "explorerPageTitle": "Explorer",
+ "explorerPageTitle": "Файлов мениджър",
"@explorerPageTitle": {},
"explorerActionSelectStorageVolume": "Избери място за съхранение",
"@explorerActionSelectStorageVolume": {},
@@ -427,11 +427,11 @@
"@filterNoTagLabel": {},
"filterOnThisDayLabel": "Днес",
"@filterOnThisDayLabel": {},
- "filterRecentlyAddedLabel": "Наскоро добавен",
+ "filterRecentlyAddedLabel": "Наскоро добавени",
"@filterRecentlyAddedLabel": {},
"filterRatingRejectedLabel": "Отхвърлени",
"@filterRatingRejectedLabel": {},
- "filterTypeAnimatedLabel": "Анимиран",
+ "filterTypeAnimatedLabel": "Анимирани",
"@filterTypeAnimatedLabel": {},
"filterTypeMotionPhotoLabel": "Снимка с движение",
"@filterTypeMotionPhotoLabel": {},
@@ -975,7 +975,7 @@
"@albumPickPageTitlePick": {},
"albumCamera": "Камера",
"@albumCamera": {},
- "albumDownload": "Изтегляне",
+ "albumDownload": "Изтеглени",
"@albumDownload": {},
"albumScreenshots": "Екранни снимки",
"@albumScreenshots": {},
@@ -1201,7 +1201,7 @@
"@settingsCollectionQuickActionTabBrowsing": {},
"settingsCollectionQuickActionTabSelecting": "Избиране",
"@settingsCollectionQuickActionTabSelecting": {},
- "settingsCollectionBurstPatternsTile": "Burst patterns",
+ "settingsCollectionBurstPatternsTile": "Шаблон серийни снимки",
"@settingsCollectionBurstPatternsTile": {},
"settingsCollectionBurstPatternsNone": "Няма",
"@settingsCollectionBurstPatternsNone": {},
@@ -1337,7 +1337,7 @@
"@viewerInfoLabelTitle": {},
"viewerInfoLabelOwner": "Собственик",
"@viewerInfoLabelOwner": {},
- "mapAttributionOpenTopoMap": "[SRTM](https://www.earthdata.nasa.gov/sensors/srtm) | Tiles by [OpenTopoMap](https://opentopomap.org/), [CC BY-SA](https://creativecommons.org/licenses/by-sa/3.0/)",
+ "mapAttributionOpenTopoMap": "[SRTM](https://www.earthdata.nasa.gov/sensors/srtm) | Плочки от [OpenTopoMap](https://opentopomap.org/), [CC BY-SA](https://creativecommons.org/licenses/by-sa/3.0/)",
"@mapAttributionOpenTopoMap": {},
"mapEmptyRegion": "Няма изображения в този регион",
"@mapEmptyRegion": {},
@@ -1367,7 +1367,7 @@
"@filePickerShowHiddenFiles": {},
"chipActionRemove": "Премахване",
"@chipActionRemove": {},
- "albumTierDynamic": "Dynamic",
+ "albumTierDynamic": "Динамични",
"@albumTierDynamic": {},
"collectionActionAddDynamicAlbum": "Добави динамичен албум",
"@collectionActionAddDynamicAlbum": {},
@@ -1521,9 +1521,9 @@
"@mapZoomOutTooltip": {},
"mapPointNorthUpTooltip": "Север нагоре",
"@mapPointNorthUpTooltip": {},
- "mapAttributionOsmHot": "Tiles by [HOT](https://www.hotosm.org/) • Hosted by [OSM France](https://openstreetmap.fr/)",
+ "mapAttributionOsmHot": "Плочки от[HOT](https://www.hotosm.org/) • Хоствано от [OSM France](https://openstreetmap.fr/)",
"@mapAttributionOsmHot": {},
- "mapAttributionStamen": "Tiles by [Stamen Design](https://stamen.com), [CC BY 3.0](https://creativecommons.org/licenses/by/3.0)",
+ "mapAttributionStamen": "Плочки от [Stamen Design](https://stamen.com), [CC BY 3.0](https://creativecommons.org/licenses/by/3.0)",
"@mapAttributionStamen": {},
"openMapPageTooltip": "Преглед на страницата с карта",
"@openMapPageTooltip": {},
@@ -1569,7 +1569,7 @@
"@appExportDynamicAlbums": {},
"settingsViewerShowOverlayThumbnails": "Показване на миниатюри",
"@settingsViewerShowOverlayThumbnails": {},
- "mapAttributionOsmLiberty": "Tiles by [OpenMapTiles](https://www.openmaptiles.org/), [CC BY](http://creativecommons.org/licenses/by/4.0) • Hosted by [OSM Americana](https://tile.ourmap.us)",
+ "mapAttributionOsmLiberty": "Предварително генерирани плочки от [OpenMapTiles](https://www.openmaptiles.org/), [CC BY](http://creativecommons.org/licenses/by/4.0) • • Хоствано от [OSM Americana](https://tile.ourmap.us)",
"@mapAttributionOsmLiberty": {},
"settingsDisablingBinWarningDialogMessage": "Елементите в кошчето ще бъдат изтрити завинаги.",
"@settingsDisablingBinWarningDialogMessage": {},
@@ -1593,7 +1593,7 @@
"@settingsLanguageTile": {},
"viewerErrorDoesNotExist": "Файлът не съществува.",
"@viewerErrorDoesNotExist": {},
- "mapAttributionOsmData": "Map data © [OpenStreetMap](https://www.openstreetmap.org/copyright) contributors",
+ "mapAttributionOsmData": "Данни карта © [OpenStreetMap](https://www.openstreetmap.org/copyright) участници",
"@mapAttributionOsmData": {},
"filePickerNoItems": "Не откривам нищо",
"@filePickerNoItems": {},
diff --git a/lib/l10n/app_da.arb b/lib/l10n/app_da.arb
index 3ffbf037b..4838b99db 100644
--- a/lib/l10n/app_da.arb
+++ b/lib/l10n/app_da.arb
@@ -7,7 +7,7 @@
"@appName": {},
"welcomeTermsToggle": "Jeg accepterer vilkårene og betingelserne",
"@welcomeTermsToggle": {},
- "itemCount": "{count, plural, =1{{count} fil} other{{count} filer}}",
+ "itemCount": "{count, plural, =1{{count} element} other{{count} elementer}}",
"@itemCount": {
"placeholders": {
"count": {
@@ -48,7 +48,7 @@
}
}
},
- "applyButtonLabel": "UDFØR",
+ "applyButtonLabel": "ANVEND",
"@applyButtonLabel": {},
"deleteButtonLabel": "SLET",
"@deleteButtonLabel": {},
@@ -60,9 +60,9 @@
"@hideButtonLabel": {},
"saveCopyButtonLabel": "GEM KOPI",
"@saveCopyButtonLabel": {},
- "applyTooltip": "Udfør",
+ "applyTooltip": "Anvend",
"@applyTooltip": {},
- "cancelTooltip": "Fortryd",
+ "cancelTooltip": "Annuller",
"@cancelTooltip": {},
"nextTooltip": "Næste",
"@nextTooltip": {},
@@ -78,13 +78,13 @@
"@saveTooltip": {},
"chipActionDelete": "Slet",
"@chipActionDelete": {},
- "chipActionGoToAlbumPage": "Vis i Album",
+ "chipActionGoToAlbumPage": "Vis i album",
"@chipActionGoToAlbumPage": {},
- "chipActionGoToCountryPage": "Vis i Lande",
+ "chipActionGoToCountryPage": "Vis i lande",
"@chipActionGoToCountryPage": {},
- "chipActionGoToPlacePage": "Vis i Steder",
+ "chipActionGoToPlacePage": "Vis i steder",
"@chipActionGoToPlacePage": {},
- "chipActionGoToTagPage": "Vis i Tags",
+ "chipActionGoToTagPage": "Vis i tags",
"@chipActionGoToTagPage": {},
"timeSeconds": "{count, plural, =1{{count} sekund} other{{count} sekunder}}",
"@timeSeconds": {
@@ -104,16 +104,1431 @@
"@stopTooltip": {},
"pickTooltip": "Vælg",
"@pickTooltip": {},
- "chipActionShowCollection": "Vis i Samling",
+ "chipActionShowCollection": "Vis i samling",
"@chipActionShowCollection": {},
- "doubleBackExitMessage": "Tryk \"tilbage\" igen for at gå ud.",
+ "doubleBackExitMessage": "Tryk på “tilbage” igen for at afslutte.",
"@doubleBackExitMessage": {},
"doNotAskAgain": "Spørg ikke igen",
"@doNotAskAgain": {},
- "sourceStateLoading": "Loader",
+ "sourceStateLoading": "Indlæser",
"@sourceStateLoading": {},
"sourceStateLocatingCountries": "Lokaliserer lande",
"@sourceStateLocatingCountries": {},
"sourceStateLocatingPlaces": "Lokaliserer steder",
- "@sourceStateLocatingPlaces": {}
+ "@sourceStateLocatingPlaces": {},
+ "filterAspectRatioPortraitLabel": "Portræt",
+ "@filterAspectRatioPortraitLabel": {},
+ "mapStyleGoogleNormal": "Google Maps",
+ "@mapStyleGoogleNormal": {},
+ "maxBrightnessNever": "Aldrig",
+ "@maxBrightnessNever": {},
+ "videoLoopModeNever": "Aldrig",
+ "@videoLoopModeNever": {},
+ "wallpaperTargetHomeLock": "Startskærm og låseskærm",
+ "@wallpaperTargetHomeLock": {},
+ "changeTooltip": "Ændr",
+ "@changeTooltip": {},
+ "chipActionLock": "Lås",
+ "@chipActionLock": {},
+ "chipActionPin": "Fastgør til toppen",
+ "@chipActionPin": {},
+ "chipActionUnpin": "Frigør fra toppen",
+ "@chipActionUnpin": {},
+ "chipActionRename": "Omdøb",
+ "@chipActionRename": {},
+ "chipActionCreateAlbum": "Opret album",
+ "@chipActionCreateAlbum": {},
+ "entryActionDelete": "Slet",
+ "@entryActionDelete": {},
+ "entryActionInfo": "Info",
+ "@entryActionInfo": {},
+ "entryActionRename": "Omdøb",
+ "@entryActionRename": {},
+ "entryActionRestore": "Gendan",
+ "@entryActionRestore": {},
+ "entryActionFlip": "Vend det vandret",
+ "@entryActionFlip": {},
+ "entryActionPrint": "Udskriv",
+ "@entryActionPrint": {},
+ "entryActionShareVideoOnly": "Del kun video",
+ "@entryActionShareVideoOnly": {},
+ "entryActionViewSource": "Se kilde",
+ "@entryActionViewSource": {},
+ "entryActionOpen": "Åbn med",
+ "@entryActionOpen": {},
+ "entryActionSetAs": "Indstil som",
+ "@entryActionSetAs": {},
+ "entryActionRemoveFavourite": "Fjern fra favoritter",
+ "@entryActionRemoveFavourite": {},
+ "videoActionPlay": "Afspil",
+ "@videoActionPlay": {},
+ "videoActionReplay10": "Spol 10 sekunder tilbage",
+ "@videoActionReplay10": {},
+ "viewerActionSettings": "Indstillinger",
+ "@viewerActionSettings": {},
+ "slideshowActionShowInCollection": "Vis i samling",
+ "@slideshowActionShowInCollection": {},
+ "entryInfoActionEditDate": "Rediger dato og tid",
+ "@entryInfoActionEditDate": {},
+ "entryInfoActionEditRating": "Rediger bedømmelse",
+ "@entryInfoActionEditRating": {},
+ "entryInfoActionEditTags": "Rediger tags",
+ "@entryInfoActionEditTags": {},
+ "entryInfoActionRemoveMetadata": "Fjern metadata",
+ "@entryInfoActionRemoveMetadata": {},
+ "entryInfoActionExportMetadata": "Eksportér metadata",
+ "@entryInfoActionExportMetadata": {},
+ "editorTransformRotate": "Roter",
+ "@editorTransformRotate": {},
+ "filterRecentlyAddedLabel": "Nyligt tilføjet",
+ "@filterRecentlyAddedLabel": {},
+ "albumTierNew": "Ny",
+ "@albumTierNew": {},
+ "keepScreenOnNever": "Aldrig",
+ "@keepScreenOnNever": {},
+ "keepScreenOnVideoPlayback": "Under videoafspilning",
+ "@keepScreenOnVideoPlayback": {},
+ "lengthUnitPercent": "%",
+ "@lengthUnitPercent": {},
+ "lengthUnitPixel": "px",
+ "@lengthUnitPixel": {},
+ "nameConflictStrategyReplace": "Erstat",
+ "@nameConflictStrategyReplace": {},
+ "nameConflictStrategySkip": "Spring over",
+ "@nameConflictStrategySkip": {},
+ "subtitlePositionBottom": "Nederst",
+ "@subtitlePositionBottom": {},
+ "videoPlaybackMuted": "Afspil uden lyd",
+ "@videoPlaybackMuted": {},
+ "videoPlaybackWithSound": "Afspil med lyd",
+ "@videoPlaybackWithSound": {},
+ "widgetDisplayedItemRandom": "Tilfældig",
+ "@widgetDisplayedItemRandom": {},
+ "videoControlsPlayOutside": "Åbn med en anden afspiller",
+ "@videoControlsPlayOutside": {},
+ "filterAspectRatioLandscapeLabel": "Landskab",
+ "@filterAspectRatioLandscapeLabel": {},
+ "filterNoAddressLabel": "Ingen adresse",
+ "@filterNoAddressLabel": {},
+ "filterTypeAnimatedLabel": "Animeret",
+ "@filterTypeAnimatedLabel": {},
+ "filterTypeMotionPhotoLabel": "Bevægelsesfoto",
+ "@filterTypeMotionPhotoLabel": {},
+ "maxBrightnessAlways": "Altid",
+ "@maxBrightnessAlways": {},
+ "overlayHistogramNone": "Ingen",
+ "@overlayHistogramNone": {},
+ "nameConflictStrategyRename": "Omdøb",
+ "@nameConflictStrategyRename": {},
+ "overlayHistogramRGB": "RGB",
+ "@overlayHistogramRGB": {},
+ "chipActionRemove": "Fjern",
+ "@chipActionRemove": {},
+ "chipActionHide": "Skjul",
+ "@chipActionHide": {},
+ "entryActionShareImageOnly": "Del kun billede",
+ "@entryActionShareImageOnly": {},
+ "entryActionViewMotionPhotoVideo": "Åbn video",
+ "@entryActionViewMotionPhotoVideo": {},
+ "entryActionCast": "Cast",
+ "@entryActionCast": {},
+ "entryActionAddFavourite": "Føj til favoritter",
+ "@entryActionAddFavourite": {},
+ "entryInfoActionRemoveLocation": "Fjern placering",
+ "@entryInfoActionRemoveLocation": {},
+ "filterTypeSphericalVideoLabel": "360° video",
+ "@filterTypeSphericalVideoLabel": {},
+ "filterTypeGeotiffLabel": "GeoTIFF",
+ "@filterTypeGeotiffLabel": {},
+ "albumTierSpecial": "Almindelig",
+ "@albumTierSpecial": {},
+ "albumTierDynamic": "Dynamisk",
+ "@albumTierDynamic": {},
+ "coordinateDmsNorth": "N",
+ "@coordinateDmsNorth": {},
+ "overlayHistogramLuminance": "Luminans",
+ "@overlayHistogramLuminance": {},
+ "themeBrightnessLight": "Lys",
+ "@themeBrightnessLight": {},
+ "themeBrightnessBlack": "Sort",
+ "@themeBrightnessBlack": {},
+ "vaultLockTypePin": "PIN",
+ "@vaultLockTypePin": {},
+ "vaultLockTypePassword": "Adgangskode",
+ "@vaultLockTypePassword": {},
+ "settingsVideoEnablePip": "Billede-i-Billede",
+ "@settingsVideoEnablePip": {},
+ "subtitlePositionTop": "Øverst",
+ "@subtitlePositionTop": {},
+ "themeBrightnessDark": "Mørk",
+ "@themeBrightnessDark": {},
+ "vaultLockTypePattern": "Mønster",
+ "@vaultLockTypePattern": {},
+ "entryActionEdit": "Rediger",
+ "@entryActionEdit": {},
+ "entryActionConvert": "Konverter",
+ "@entryActionConvert": {},
+ "entryActionExport": "Eksportér",
+ "@entryActionExport": {},
+ "entryActionRotateCCW": "Roter mod uret",
+ "@entryActionRotateCCW": {},
+ "entryActionRotateCW": "Roter med uret",
+ "@entryActionRotateCW": {},
+ "entryActionShare": "Del",
+ "@entryActionShare": {},
+ "entryActionRotateScreen": "Roter skærm",
+ "@entryActionRotateScreen": {},
+ "editorTransformCrop": "Beskær",
+ "@editorTransformCrop": {},
+ "filterBinLabel": "Papirkurv",
+ "@filterBinLabel": {},
+ "filterRatingRejectedLabel": "Afvist",
+ "@filterRatingRejectedLabel": {},
+ "videoLoopModeAlways": "Altid",
+ "@videoLoopModeAlways": {},
+ "coordinateDmsSouth": "S",
+ "@coordinateDmsSouth": {},
+ "filterMimeImageLabel": "Billede",
+ "@filterMimeImageLabel": {},
+ "albumTierApps": "Apps",
+ "@albumTierApps": {},
+ "widgetOpenPageHome": "Åbn hjem",
+ "@widgetOpenPageHome": {},
+ "entryActionCopyToClipboard": "Kopiér til udklipsholder",
+ "@entryActionCopyToClipboard": {},
+ "drawerCollectionSphericalVideos": "360° videoer",
+ "@drawerCollectionSphericalVideos": {},
+ "albumTierPinned": "Fastgjort",
+ "@albumTierPinned": {},
+ "albumTierRegular": "Andre",
+ "@albumTierRegular": {},
+ "videoLoopModeShortOnly": "Kun korte videoer",
+ "@videoLoopModeShortOnly": {},
+ "storageVolumeDescriptionFallbackPrimary": "Internt lager",
+ "@storageVolumeDescriptionFallbackPrimary": {},
+ "sourceStateCataloguing": "Katalogisering",
+ "@sourceStateCataloguing": {},
+ "videoActionMute": "Slå lyden fra",
+ "@videoActionMute": {},
+ "videoActionUnmute": "Slå lyden til",
+ "@videoActionUnmute": {},
+ "videoActionPause": "Sæt på pause",
+ "@videoActionPause": {},
+ "videoActionSkip10": "Spol 10 sekunder frem",
+ "@videoActionSkip10": {},
+ "videoActionSetSpeed": "Afspilningshastighed",
+ "@videoActionSetSpeed": {},
+ "entryInfoActionEditLocation": "Rediger placering",
+ "@entryInfoActionEditLocation": {},
+ "entryInfoActionEditTitleDescription": "Rediger titel og beskrivelse",
+ "@entryInfoActionEditTitleDescription": {},
+ "filterTypePanoramaLabel": "Panorama",
+ "@filterTypePanoramaLabel": {},
+ "filterMimeVideoLabel": "Video",
+ "@filterMimeVideoLabel": {},
+ "coordinateDms": "{coordinate} {direction}",
+ "@coordinateDms": {
+ "placeholders": {
+ "coordinate": {
+ "type": "String",
+ "example": "38° 41′ 47.72″"
+ },
+ "direction": {
+ "type": "String",
+ "example": "S"
+ }
+ }
+ },
+ "coordinateDmsEast": "Ø",
+ "@coordinateDmsEast": {},
+ "coordinateDmsWest": "V",
+ "@coordinateDmsWest": {},
+ "keepScreenOnAlways": "Altid",
+ "@keepScreenOnAlways": {},
+ "viewerTransitionZoomIn": "Zoom ind",
+ "@viewerTransitionZoomIn": {},
+ "viewerTransitionNone": "Ingen",
+ "@viewerTransitionNone": {},
+ "wallpaperTargetHome": "Startskærm",
+ "@wallpaperTargetHome": {},
+ "wallpaperTargetLock": "Låseskærm",
+ "@wallpaperTargetLock": {},
+ "widgetDisplayedItemMostRecent": "Nyeste",
+ "@widgetDisplayedItemMostRecent": {},
+ "videoPlaybackSkip": "Spring over",
+ "@videoPlaybackSkip": {},
+ "videoResumptionModeNever": "Aldrig",
+ "@videoResumptionModeNever": {},
+ "videoResumptionModeAlways": "Altid",
+ "@videoResumptionModeAlways": {},
+ "widgetOpenPageCollection": "Åbn samling",
+ "@widgetOpenPageCollection": {},
+ "widgetTapUpdateWidget": "Opdater widget",
+ "@widgetTapUpdateWidget": {},
+ "storageVolumeDescriptionFallbackNonPrimary": "SD-kort",
+ "@storageVolumeDescriptionFallbackNonPrimary": {},
+ "rootDirectoryDescription": "rodmappe",
+ "@rootDirectoryDescription": {},
+ "otherDirectoryDescription": "“{name}”-mappe",
+ "@otherDirectoryDescription": {
+ "placeholders": {
+ "name": {
+ "type": "String",
+ "example": "Pictures",
+ "description": "the name of a specific directory"
+ }
+ }
+ },
+ "filterOnThisDayLabel": "På denne dag",
+ "@filterOnThisDayLabel": {},
+ "unitSystemImperial": "Imperial",
+ "@unitSystemImperial": {},
+ "addShortcutButtonLabel": "TILFØJ",
+ "@addShortcutButtonLabel": {},
+ "setCoverDialogCustom": "Brugerdefineret",
+ "@setCoverDialogCustom": {},
+ "menuActionStats": "Statistikker",
+ "@menuActionStats": {},
+ "drawerTagPage": "Tags",
+ "@drawerTagPage": {},
+ "chipActionSetCover": "Indstil cover",
+ "@chipActionSetCover": {},
+ "chipActionShowCountryStates": "Vis stater",
+ "@chipActionShowCountryStates": {},
+ "chipActionConfigureVault": "Konfigurer boks",
+ "@chipActionConfigureVault": {},
+ "entryActionShowGeoTiffOnMap": "Vis som kortoverlejring",
+ "@entryActionShowGeoTiffOnMap": {},
+ "editorActionTransform": "Transformer",
+ "@editorActionTransform": {},
+ "cropAspectRatioFree": "Frit",
+ "@cropAspectRatioFree": {},
+ "filterTaggedLabel": "Tagget",
+ "@filterTaggedLabel": {},
+ "accessibilityAnimationsKeep": "Behold skærmeffekter",
+ "@accessibilityAnimationsKeep": {},
+ "displayRefreshRatePreferLowest": "Laveste hastighed",
+ "@displayRefreshRatePreferLowest": {},
+ "viewerTransitionParallax": "Parallakse",
+ "@viewerTransitionParallax": {},
+ "restrictedAccessDialogMessage": "Denne app har ikke tilladelse til at ændre filer i {directory} for “{volume}”.\n\nBrug venligst en forudinstalleret filhåndtering eller galleriapp til at flytte elementerne til en anden mappe.",
+ "@restrictedAccessDialogMessage": {
+ "placeholders": {
+ "directory": {
+ "type": "String",
+ "description": "the name of a directory, using the output of `rootDirectoryDescription` or `otherDirectoryDescription`"
+ },
+ "volume": {
+ "type": "String",
+ "example": "SD card",
+ "description": "the name of a storage volume"
+ }
+ }
+ },
+ "notEnoughSpaceDialogMessage": "Denne handling kræver {neededSize} ledig plads på “{volume}” for at blive fuldført, men der er kun {freeSize} tilbage.",
+ "@notEnoughSpaceDialogMessage": {
+ "placeholders": {
+ "neededSize": {
+ "type": "String",
+ "example": "314 MB"
+ },
+ "freeSize": {
+ "type": "String",
+ "example": "123 MB"
+ },
+ "volume": {
+ "type": "String",
+ "example": "SD card",
+ "description": "the name of a storage volume"
+ }
+ }
+ },
+ "nameConflictDialogMultipleSourceMessage": "Nogle filer har samme navn.",
+ "@nameConflictDialogMultipleSourceMessage": {},
+ "videoStartOverButtonLabel": "START FORFRA",
+ "@videoStartOverButtonLabel": {},
+ "videoResumeDialogMessage": "Vil du genoptage afspilningen på {time}?",
+ "@videoResumeDialogMessage": {
+ "placeholders": {
+ "time": {
+ "type": "String",
+ "example": "13:37"
+ }
+ }
+ },
+ "newAlbumDialogTitle": "Nyt album",
+ "@newAlbumDialogTitle": {},
+ "newAlbumDialogNameLabel": "Albumnavn",
+ "@newAlbumDialogNameLabel": {},
+ "newVaultDialogTitle": "Ny boks",
+ "@newVaultDialogTitle": {},
+ "patternDialogEnter": "Indtast mønster",
+ "@patternDialogEnter": {},
+ "pinDialogConfirm": "Bekræft PIN",
+ "@pinDialogConfirm": {},
+ "editEntryLocationDialogTitle": "Placering",
+ "@editEntryLocationDialogTitle": {},
+ "genericSuccessFeedback": "Færdig!",
+ "@genericSuccessFeedback": {},
+ "viewDialogSortSectionTitle": "Sortér",
+ "@viewDialogSortSectionTitle": {},
+ "aboutPageTitle": "Om",
+ "@aboutPageTitle": {},
+ "aboutDataUsageClearCache": "Ryd cache",
+ "@aboutDataUsageClearCache": {},
+ "drawerAboutButton": "Om",
+ "@drawerAboutButton": {},
+ "drawerSettingsButton": "Indstillinger",
+ "@drawerSettingsButton": {},
+ "drawerCollectionPanoramas": "Panoramaer",
+ "@drawerCollectionPanoramas": {},
+ "countryPageTitle": "Lande",
+ "@countryPageTitle": {},
+ "countryEmpty": "Ingen lande",
+ "@countryEmpty": {},
+ "tagPageTitle": "Tags",
+ "@tagPageTitle": {},
+ "searchRecentSectionTitle": "Seneste",
+ "@searchRecentSectionTitle": {},
+ "searchDateSectionTitle": "Dato",
+ "@searchDateSectionTitle": {},
+ "searchAlbumsSectionTitle": "Album",
+ "@searchAlbumsSectionTitle": {},
+ "settingsThumbnailShowRating": "Vis bedømmelse",
+ "@settingsThumbnailShowRating": {},
+ "settingsViewerGestureSideTapNext": "Tryk på skærmkanterne for at vise forrige/næste element",
+ "@settingsViewerGestureSideTapNext": {},
+ "settingsVideoSectionTitle": "Video",
+ "@settingsVideoSectionTitle": {},
+ "settingsVideoLoopModeDialogTitle": "Loop-tilstand",
+ "@settingsVideoLoopModeDialogTitle": {},
+ "settingsHiddenFiltersBanner": "Billeder og videoer, der matcher skjulte filtre, vises ikke i din samling.",
+ "@settingsHiddenFiltersBanner": {},
+ "settingsStorageAccessTile": "Lageradgang",
+ "@settingsStorageAccessTile": {},
+ "settingsRemoveAnimationsDialogTitle": "Fjern animationer",
+ "@settingsRemoveAnimationsDialogTitle": {},
+ "settingsTimeToTakeActionTile": "Tid til at handle",
+ "@settingsTimeToTakeActionTile": {},
+ "settingsAccessibilityShowPinchGestureAlternatives": "Vis alternativer til multi-touch-bevægelser",
+ "@settingsAccessibilityShowPinchGestureAlternatives": {},
+ "settingsThemeBrightnessTile": "Tema",
+ "@settingsThemeBrightnessTile": {},
+ "settingsDisplayUseTvInterface": "Android TV-grænseflade",
+ "@settingsDisplayUseTvInterface": {},
+ "settingsLanguageSectionTitle": "Sprog og Formater",
+ "@settingsLanguageSectionTitle": {},
+ "settingsLanguageTile": "Sprog",
+ "@settingsLanguageTile": {},
+ "settingsCoordinateFormatDialogTitle": "Koordinatformat",
+ "@settingsCoordinateFormatDialogTitle": {},
+ "settingsUnitSystemTile": "Enheder",
+ "@settingsUnitSystemTile": {},
+ "statsTopTagsSectionTitle": "Top tags",
+ "@statsTopTagsSectionTitle": {},
+ "viewerInfoLabelCoordinates": "Koordinater",
+ "@viewerInfoLabelCoordinates": {},
+ "mapAttributionOsmHot": "Fliser af [HOT](https://www.hotosm.org/) • Hostet af [OSM France](https://openstreetmap.fr/)",
+ "@mapAttributionOsmHot": {},
+ "mapEmptyRegion": "Ingen billeder i denne region",
+ "@mapEmptyRegion": {},
+ "viewerInfoSearchSuggestionDate": "Dato og tid",
+ "@viewerInfoSearchSuggestionDate": {},
+ "viewerInfoSearchSuggestionDescription": "Beskrivelse",
+ "@viewerInfoSearchSuggestionDescription": {},
+ "viewerInfoSearchSuggestionResolution": "Opløsning",
+ "@viewerInfoSearchSuggestionResolution": {},
+ "tagEditorPageTitle": "Rediger Tags",
+ "@tagEditorPageTitle": {},
+ "tagEditorPageNewTagFieldLabel": "Nyt tag",
+ "@tagEditorPageNewTagFieldLabel": {},
+ "tagEditorPageAddTagTooltip": "Tilføj tag",
+ "@tagEditorPageAddTagTooltip": {},
+ "tagEditorSectionRecent": "Seneste",
+ "@tagEditorSectionRecent": {},
+ "tagEditorDiscardDialogMessage": "Vil du kassere ændringerne?",
+ "@tagEditorDiscardDialogMessage": {},
+ "panoramaEnableSensorControl": "Aktivér sensorstyring",
+ "@panoramaEnableSensorControl": {},
+ "filePickerOpenFrom": "Åbn fra",
+ "@filePickerOpenFrom": {},
+ "filePickerNoItems": "Ingen elementer",
+ "@filePickerNoItems": {},
+ "filePickerUseThisFolder": "Brug denne mappe",
+ "@filePickerUseThisFolder": {},
+ "authenticateToUnlockVault": "Godkend for at oplåse boks",
+ "@authenticateToUnlockVault": {},
+ "exportEntryDialogFormat": "Format:",
+ "@exportEntryDialogFormat": {},
+ "editEntryRatingDialogTitle": "Bedømmelse",
+ "@editEntryRatingDialogTitle": {},
+ "removeEntryMetadataDialogTitle": "Fjernelse af metadata",
+ "@removeEntryMetadataDialogTitle": {},
+ "videoStreamSelectionDialogText": "Undertekster",
+ "@videoStreamSelectionDialogText": {},
+ "viewDialogReverseSortOrder": "Omvendt sorteringsrækkefølge",
+ "@viewDialogReverseSortOrder": {},
+ "aboutLinkPolicy": "Privatlivspolitik",
+ "@aboutLinkPolicy": {},
+ "aboutDataUsageCache": "Cache",
+ "@aboutDataUsageCache": {},
+ "collectionPickPageTitle": "Vælg",
+ "@collectionPickPageTitle": {},
+ "collectionSelectPageTitle": "Vælg elementer",
+ "@collectionSelectPageTitle": {},
+ "collectionActionShowTitleSearch": "Vis titelfilter",
+ "@collectionActionShowTitleSearch": {},
+ "dateThisMonth": "Denne måned",
+ "@dateThisMonth": {},
+ "collectionMoveFailureFeedback": "{count, plural, =1{Kunne ikke flytte 1 element} other{Kunne ikke flytte {count} elementer}}",
+ "@collectionMoveFailureFeedback": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "collectionMoveSuccessFeedback": "{count, plural, =1{Flyttede 1 element} other{Flyttede {count} elementer}}",
+ "@collectionMoveSuccessFeedback": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "sortByDate": "Efter dato",
+ "@sortByDate": {},
+ "sortOrderLargestFirst": "Største først",
+ "@sortOrderLargestFirst": {},
+ "albumPickPageTitlePick": "Vælg album",
+ "@albumPickPageTitlePick": {},
+ "albumScreenshots": "Skærmbilleder",
+ "@albumScreenshots": {},
+ "albumPickPageTitleExport": "Eksportér til album",
+ "@albumPickPageTitleExport": {},
+ "albumPickPageTitleMove": "Flyt til album",
+ "@albumPickPageTitleMove": {},
+ "albumVideoCaptures": "Videooptagelser",
+ "@albumVideoCaptures": {},
+ "settingsSearchFieldLabel": "Søg i indstillinger",
+ "@settingsSearchFieldLabel": {},
+ "settingsModificationWarningDialogMessage": "Andre indstillinger bliver ændret.",
+ "@settingsModificationWarningDialogMessage": {},
+ "settingsAskEverytime": "Spørg hver gang",
+ "@settingsAskEverytime": {},
+ "settingsActionExportDialogTitle": "Eksport",
+ "@settingsActionExportDialogTitle": {},
+ "settingsActionImportDialogTitle": "Import",
+ "@settingsActionImportDialogTitle": {},
+ "settingsHomeTile": "Hjem",
+ "@settingsHomeTile": {},
+ "setHomeCustom": "Tilpasset",
+ "@setHomeCustom": {},
+ "settingsKeepScreenOnDialogTitle": "Hold skærmen tændt",
+ "@settingsKeepScreenOnDialogTitle": {},
+ "settingsNavigationDrawerTabAlbums": "Album",
+ "@settingsNavigationDrawerTabAlbums": {},
+ "settingsNavigationDrawerEditorPageTitle": "Navigationsmenu",
+ "@settingsNavigationDrawerEditorPageTitle": {},
+ "settingsNavigationDrawerTabPages": "Sider",
+ "@settingsNavigationDrawerTabPages": {},
+ "settingsNavigationDrawerAddAlbum": "Tilføj album",
+ "@settingsNavigationDrawerAddAlbum": {},
+ "settingsSlideshowVideoPlaybackDialogTitle": "Videoafspilning",
+ "@settingsSlideshowVideoPlaybackDialogTitle": {},
+ "settingsSubtitleThemeTextPositionTile": "Tekstposition",
+ "@settingsSubtitleThemeTextPositionTile": {},
+ "settingsSubtitleThemeTextAlignmentTile": "Tekstjustering",
+ "@settingsSubtitleThemeTextAlignmentTile": {},
+ "settingsStorageAccessBanner": "Nogle mapper kræver en eksplicit adgangstilladelse for at ændre filer i dem. Her kan du se de mapper, som du tidligere har givet adgang til.",
+ "@settingsStorageAccessBanner": {},
+ "settingsCoordinateFormatTile": "Koordinatformat",
+ "@settingsCoordinateFormatTile": {},
+ "settingsForceWesternArabicNumeralsTile": "Fremtving arabiske tal",
+ "@settingsForceWesternArabicNumeralsTile": {},
+ "viewerSetWallpaperButtonLabel": "INDSTIL BAGGRUND",
+ "@viewerSetWallpaperButtonLabel": {},
+ "viewerOpenPanoramaButtonLabel": "ÅBN PANORAMA",
+ "@viewerOpenPanoramaButtonLabel": {},
+ "mapZoomOutTooltip": "Zoom ud",
+ "@mapZoomOutTooltip": {},
+ "viewerInfoLabelOwner": "Ejer",
+ "@viewerInfoLabelOwner": {},
+ "viewerInfoViewXmlLinkText": "Se XML",
+ "@viewerInfoViewXmlLinkText": {},
+ "filterLocatedLabel": "Placeret",
+ "@filterLocatedLabel": {},
+ "filterNoDateLabel": "Udateret",
+ "@filterNoDateLabel": {},
+ "filterNoLocationLabel": "Ikke placeret",
+ "@filterNoLocationLabel": {},
+ "filterNoRatingLabel": "Ikke bedømt",
+ "@filterNoRatingLabel": {},
+ "filterNoTagLabel": "Ikke tagget",
+ "@filterNoTagLabel": {},
+ "sortByName": "Efter navn",
+ "@sortByName": {},
+ "statePageTitle": "Stater",
+ "@statePageTitle": {},
+ "tagEmpty": "Ingen tags",
+ "@tagEmpty": {},
+ "searchCountriesSectionTitle": "Lande",
+ "@searchCountriesSectionTitle": {},
+ "settingsPageTitle": "Indstillinger",
+ "@settingsPageTitle": {},
+ "settingsThumbnailShowFavouriteIcon": "Vis favorit-ikon",
+ "@settingsThumbnailShowFavouriteIcon": {},
+ "settingsImageBackground": "Billedbaggrund",
+ "@settingsImageBackground": {},
+ "settingsViewerShowShootingDetails": "Vis fotograferingsdetaljer",
+ "@settingsViewerShowShootingDetails": {},
+ "settingsVideoPageTitle": "Videoindstillinger",
+ "@settingsVideoPageTitle": {},
+ "settingsVideoAutoPlay": "Afspil automatisk",
+ "@settingsVideoAutoPlay": {},
+ "settingsSubtitleThemeTextSize": "Tekststørrelse",
+ "@settingsSubtitleThemeTextSize": {},
+ "settingsPrivacySectionTitle": "Privatliv",
+ "@settingsPrivacySectionTitle": {},
+ "settingsLanguagePageTitle": "Sprog",
+ "@settingsLanguagePageTitle": {},
+ "mapStyleTooltip": "Vælg kortstil",
+ "@mapStyleTooltip": {},
+ "mapAttributionOpenTopoMap": "[SRTM](https://www.earthdata.nasa.gov/sensors/srtm) | Fliser af [OpenTopoMap](https://opentopomap.org/), [CC BY-SA](https://creativecommons.org/licenses/by-sa/3.0/)",
+ "@mapAttributionOpenTopoMap": {},
+ "renameAlbumDialogLabel": "Nyt navn",
+ "@renameAlbumDialogLabel": {},
+ "renameEntrySetPagePatternFieldLabel": "Navngivningsmønster",
+ "@renameEntrySetPagePatternFieldLabel": {},
+ "renameProcessorName": "Navn",
+ "@renameProcessorName": {},
+ "passwordDialogConfirm": "Bekræft adgangskode",
+ "@passwordDialogConfirm": {},
+ "renameAlbumDialogLabelAlreadyExistsHelper": "Mappe findes allerede",
+ "@renameAlbumDialogLabelAlreadyExistsHelper": {},
+ "renameEntrySetPageInsertTooltip": "Indsætningsfelt",
+ "@renameEntrySetPageInsertTooltip": {},
+ "aboutLicensesFlutterPluginsSectionTitle": "Flutter-plugins",
+ "@aboutLicensesFlutterPluginsSectionTitle": {},
+ "collectionActionHideTitleSearch": "Skjul titelfilter",
+ "@collectionActionHideTitleSearch": {},
+ "collectionActionAddShortcut": "Tilføj genvej",
+ "@collectionActionAddShortcut": {},
+ "policyPageTitle": "Privatlivspolitik",
+ "@policyPageTitle": {},
+ "collectionPageTitle": "Samling",
+ "@collectionPageTitle": {},
+ "collectionActionEmptyBin": "Tøm papirkurv",
+ "@collectionActionEmptyBin": {},
+ "sectionUnknown": "Ukendt",
+ "@sectionUnknown": {},
+ "collectionCopyFailureFeedback": "{count, plural, =1{Kunne ikke kopiere 1 element} other{Kunne ikke kopiere {count} elementer}}",
+ "@collectionCopyFailureFeedback": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "aboutDataUsageMisc": "Diverse",
+ "@aboutDataUsageMisc": {},
+ "collectionCopySuccessFeedback": "{count, plural, =1{Kopierede 1 element} other{Kopierede {count} elementer}}",
+ "@collectionCopySuccessFeedback": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "collectionEmptyVideos": "Ingen videoer",
+ "@collectionEmptyVideos": {},
+ "sortOrderNewestFirst": "Nyeste først",
+ "@sortOrderNewestFirst": {},
+ "settingsConfirmationAfterMoveToBinItems": "Vis besked efter elementer flyttes til papirkurven",
+ "@settingsConfirmationAfterMoveToBinItems": {},
+ "settingsNavigationDrawerTile": "Navigationsmenu",
+ "@settingsNavigationDrawerTile": {},
+ "settingsConfirmationBeforeMoveUndatedItems": "Spørg før udaterede elementer flyttes",
+ "@settingsConfirmationBeforeMoveUndatedItems": {},
+ "settingsCollectionBrowsingQuickActionEditorBanner": "Tryk og hold for at flytte knapper og vælge, hvilke handlinger der vises, når du gennemser elementer.",
+ "@settingsCollectionBrowsingQuickActionEditorBanner": {},
+ "settingsCollectionQuickActionEditorPageTitle": "Hurtighandlinger",
+ "@settingsCollectionQuickActionEditorPageTitle": {},
+ "settingsCollectionBurstPatternsNone": "Ingen",
+ "@settingsCollectionBurstPatternsNone": {},
+ "settingsViewerQuickActionsTile": "Hurtighandlinger",
+ "@settingsViewerQuickActionsTile": {},
+ "settingsViewerQuickActionEditorPageTitle": "Hurtighandlinger",
+ "@settingsViewerQuickActionEditorPageTitle": {},
+ "settingsViewerUseCutout": "Brug udskæringsområde",
+ "@settingsViewerUseCutout": {},
+ "settingsViewerShowDescription": "Vis beskrivelse",
+ "@settingsViewerShowDescription": {},
+ "settingsSlideshowFillScreen": "Udfyld skærm",
+ "@settingsSlideshowFillScreen": {},
+ "settingsVideoResumptionModeDialogTitle": "Genoptag afspilning",
+ "@settingsVideoResumptionModeDialogTitle": {},
+ "settingsSubtitleThemeShowOutline": "Vis omrids og skygge",
+ "@settingsSubtitleThemeShowOutline": {},
+ "settingsSubtitleThemeBackgroundOpacity": "Baggrundsopacitet",
+ "@settingsSubtitleThemeBackgroundOpacity": {},
+ "settingsSubtitleThemeTextPositionDialogTitle": "Tekstposition",
+ "@settingsSubtitleThemeTextPositionDialogTitle": {},
+ "settingsDisablingBinWarningDialogMessage": "Elementer i papirkurven slettes for altid.",
+ "@settingsDisablingBinWarningDialogMessage": {},
+ "settingsAllowMediaManagement": "Tillad mediehåndtering",
+ "@settingsAllowMediaManagement": {},
+ "settingsStorageAccessPageTitle": "Lageradgang",
+ "@settingsStorageAccessPageTitle": {},
+ "settingsThemeBrightnessDialogTitle": "Tema",
+ "@settingsThemeBrightnessDialogTitle": {},
+ "settingsCollectionTile": "Samling",
+ "@settingsCollectionTile": {},
+ "settingsWidgetPageTitle": "Fotoramme",
+ "@settingsWidgetPageTitle": {},
+ "statsPageTitle": "Statistikker",
+ "@statsPageTitle": {},
+ "settingsWidgetDisplayedItem": "Vist element",
+ "@settingsWidgetDisplayedItem": {},
+ "statsWithGps": "{count, plural, =1{1 element med placering} other{{count} elementer med placering}}",
+ "@statsWithGps": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "mapZoomInTooltip": "Zoom ind",
+ "@mapZoomInTooltip": {},
+ "viewerInfoPageTitle": "Info",
+ "@viewerInfoPageTitle": {},
+ "viewerInfoLabelTitle": "Titel",
+ "@viewerInfoLabelTitle": {},
+ "tagEditorSectionPlaceholders": "Pladsholdere",
+ "@tagEditorSectionPlaceholders": {},
+ "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Slet dette album og elementet i det?} other{Slet dette album og de {count} elementer i det?}}",
+ "@deleteSingleAlbumConfirmationDialogMessage": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "videoStreamSelectionDialogVideo": "Video",
+ "@videoStreamSelectionDialogVideo": {},
+ "coverDialogTabColor": "Farve",
+ "@coverDialogTabColor": {},
+ "appPickDialogTitle": "Vælg app",
+ "@appPickDialogTitle": {},
+ "aboutDataUsageDatabase": "Database",
+ "@aboutDataUsageDatabase": {},
+ "aboutLicensesShowAllButtonLabel": "Vis alle licenser",
+ "@aboutLicensesShowAllButtonLabel": {},
+ "collectionGroupAlbum": "Efter album",
+ "@collectionGroupAlbum": {},
+ "collectionGroupMonth": "Efter måned",
+ "@collectionGroupMonth": {},
+ "collectionGroupDay": "Efter dag",
+ "@collectionGroupDay": {},
+ "collectionGroupNone": "Gruppér ikke",
+ "@collectionGroupNone": {},
+ "collectionDeleteFailureFeedback": "{count, plural, =1{Kunne ikke slette 1 element} other{Kunne ikke slette {count} elementer}}",
+ "@collectionDeleteFailureFeedback": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "collectionEmptyFavourites": "Ingen favoritter",
+ "@collectionEmptyFavourites": {},
+ "drawerCollectionRaws": "Rå billeder",
+ "@drawerCollectionRaws": {},
+ "sortByRating": "Efter bedømmelse",
+ "@sortByRating": {},
+ "sortByAlbumFileName": "Efter album og filnavn",
+ "@sortByAlbumFileName": {},
+ "albumGroupVolume": "Efter lagervolume",
+ "@albumGroupVolume": {},
+ "albumGroupType": "Efter type",
+ "@albumGroupType": {},
+ "searchCollectionFieldHint": "Søg i samling",
+ "@searchCollectionFieldHint": {},
+ "settingsActionExport": "Eksportér",
+ "@settingsActionExport": {},
+ "settingsActionImport": "Importér",
+ "@settingsActionImport": {},
+ "settingsShowBottomNavigationBar": "Vis nederste navigationslinje",
+ "@settingsShowBottomNavigationBar": {},
+ "settingsKeepScreenOnTile": "Hold skærmen tændt",
+ "@settingsKeepScreenOnTile": {},
+ "settingsThumbnailOverlayTile": "Overlejring",
+ "@settingsThumbnailOverlayTile": {},
+ "settingsThumbnailShowHdrIcon": "Vis HDR-ikon",
+ "@settingsThumbnailShowHdrIcon": {},
+ "settingsThumbnailOverlayPageTitle": "Overlejring",
+ "@settingsThumbnailOverlayPageTitle": {},
+ "settingsThumbnailShowLocationIcon": "Vis placeringsikon",
+ "@settingsThumbnailShowLocationIcon": {},
+ "settingsThumbnailShowMotionPhotoIcon": "Vis bevægelsesfoto-ikon",
+ "@settingsThumbnailShowMotionPhotoIcon": {},
+ "settingsThumbnailShowRawIcon": "Vis RAW-ikon",
+ "@settingsThumbnailShowRawIcon": {},
+ "settingsCollectionQuickActionsTile": "Hurtighandlinger",
+ "@settingsCollectionQuickActionsTile": {},
+ "settingsViewerMaximumBrightness": "Maksimal lysstyrke",
+ "@settingsViewerMaximumBrightness": {},
+ "settingsMotionPhotoAutoPlay": "Afspil bevægelsesfotos automatisk",
+ "@settingsMotionPhotoAutoPlay": {},
+ "settingsViewerOverlayPageTitle": "Overlejring",
+ "@settingsViewerOverlayPageTitle": {},
+ "settingsViewerShowInformationSubtitle": "Vis titel, dato, placering osv.",
+ "@settingsViewerShowInformationSubtitle": {},
+ "settingsViewerShowOverlayThumbnails": "Vis miniaturebilleder",
+ "@settingsViewerShowOverlayThumbnails": {},
+ "settingsSlideshowAnimatedZoomEffect": "Animeret zoomeffekt",
+ "@settingsSlideshowAnimatedZoomEffect": {},
+ "settingsViewerSlideshowTile": "Diasshow",
+ "@settingsViewerSlideshowTile": {},
+ "settingsSlideshowRepeat": "Gentag",
+ "@settingsSlideshowRepeat": {},
+ "settingsSlideshowShuffle": "Bland",
+ "@settingsSlideshowShuffle": {},
+ "settingsSlideshowVideoPlaybackTile": "Videoafspilning",
+ "@settingsSlideshowVideoPlaybackTile": {},
+ "settingsSubtitleThemePageTitle": "Undertekster",
+ "@settingsSubtitleThemePageTitle": {},
+ "settingsSubtitleThemeSample": "Dette er et eksempel.",
+ "@settingsSubtitleThemeSample": {},
+ "settingsSubtitleThemeTextAlignmentCenter": "Midten",
+ "@settingsSubtitleThemeTextAlignmentCenter": {},
+ "settingsSubtitleThemeTextAlignmentRight": "Højre",
+ "@settingsSubtitleThemeTextAlignmentRight": {},
+ "settingsAllowInstalledAppAccessSubtitle": "Bruges til at forbedre albumvisning",
+ "@settingsAllowInstalledAppAccessSubtitle": {},
+ "settingsHiddenItemsPageTitle": "Skjulte Elementer",
+ "@settingsHiddenItemsPageTitle": {},
+ "settingsHiddenFiltersEmpty": "Ingen skjulte filtre",
+ "@settingsHiddenFiltersEmpty": {},
+ "settingsAccessibilitySectionTitle": "Tilgængelighed",
+ "@settingsAccessibilitySectionTitle": {},
+ "chipActionCreateVault": "Opret boks",
+ "@chipActionCreateVault": {},
+ "chipActionFilterIn": "Filtrer ind",
+ "@chipActionFilterIn": {},
+ "entryActionConvertMotionPhotoToStillImage": "Konverter til stillbillede",
+ "@entryActionConvertMotionPhotoToStillImage": {},
+ "entryActionOpenMap": "Vis i kort-app",
+ "@entryActionOpenMap": {},
+ "cropAspectRatioOriginal": "Original",
+ "@cropAspectRatioOriginal": {},
+ "cropAspectRatioSquare": "Firkant",
+ "@cropAspectRatioSquare": {},
+ "filterNoTitleLabel": "Uden titel",
+ "@filterNoTitleLabel": {},
+ "albumTierVaults": "Bokse",
+ "@albumTierVaults": {},
+ "mapStyleOpenTopoMap": "OpenTopoMap",
+ "@mapStyleOpenTopoMap": {},
+ "newAlbumDialogAlbumAlreadyExistsHelper": "Album findes allerede",
+ "@newAlbumDialogAlbumAlreadyExistsHelper": {},
+ "dynamicAlbumAlreadyExists": "Dynamisk album findes allerede",
+ "@dynamicAlbumAlreadyExists": {},
+ "newDynamicAlbumDialogTitle": "Nyt dynamisk album",
+ "@newDynamicAlbumDialogTitle": {},
+ "renameEntryDialogLabel": "Nyt navn",
+ "@renameEntryDialogLabel": {},
+ "vaultBinUsageDialogMessage": "Nogle bokse bruger papirkurven.",
+ "@vaultBinUsageDialogMessage": {},
+ "editEntryDialogCopyFromItem": "Kopiér fra et andet element",
+ "@editEntryDialogCopyFromItem": {},
+ "durationDialogHours": "Timer",
+ "@durationDialogHours": {},
+ "durationDialogMinutes": "Minutter",
+ "@durationDialogMinutes": {},
+ "removeEntryMetadataDialogMore": "Mere",
+ "@removeEntryMetadataDialogMore": {},
+ "videoStreamSelectionDialogAudio": "Lyd",
+ "@videoStreamSelectionDialogAudio": {},
+ "menuActionMap": "Kort",
+ "@menuActionMap": {},
+ "menuActionSlideshow": "Diasshow",
+ "@menuActionSlideshow": {},
+ "appPickDialogNone": "Ingen",
+ "@appPickDialogNone": {},
+ "aboutBugSaveLogInstruction": "Gem app-logs i en fil",
+ "@aboutBugSaveLogInstruction": {},
+ "menuActionConfigureView": "Visning",
+ "@menuActionConfigureView": {},
+ "aboutBugReportButton": "Rapportér",
+ "@aboutBugReportButton": {},
+ "aboutDataUsageExternal": "Eksternt",
+ "@aboutDataUsageExternal": {},
+ "aboutCreditsWorldAtlas1": "Denne app bruger en TopoJSON-fil fra",
+ "@aboutCreditsWorldAtlas1": {},
+ "aboutCreditsWorldAtlas2": "under ISC-licens.",
+ "@aboutCreditsWorldAtlas2": {},
+ "collectionActionAddDynamicAlbum": "Tilføj dynamisk album",
+ "@collectionActionAddDynamicAlbum": {},
+ "collectionEmptyImages": "Ingen billeder",
+ "@collectionEmptyImages": {},
+ "drawerCollectionFavourites": "Favoritter",
+ "@drawerCollectionFavourites": {},
+ "drawerCollectionAnimated": "Animeret",
+ "@drawerCollectionAnimated": {},
+ "drawerCollectionMotionPhotos": "Bevægelsesfotos",
+ "@drawerCollectionMotionPhotos": {},
+ "sortOrderSmallestFirst": "Mindste først",
+ "@sortOrderSmallestFirst": {},
+ "albumCamera": "Kamera",
+ "@albumCamera": {},
+ "newFilterBanner": "ny",
+ "@newFilterBanner": {},
+ "stateEmpty": "Ingen stater",
+ "@stateEmpty": {},
+ "searchStatesSectionTitle": "Stater",
+ "@searchStatesSectionTitle": {},
+ "albumDownload": "Download",
+ "@albumDownload": {},
+ "searchRatingSectionTitle": "Bedømmelser",
+ "@searchRatingSectionTitle": {},
+ "settingsSystemDefault": "Systemstandard",
+ "@settingsSystemDefault": {},
+ "settingsSearchEmpty": "Ingen matchende indstilling",
+ "@settingsSearchEmpty": {},
+ "appExportFavourites": "Favoritter",
+ "@appExportFavourites": {},
+ "appExportSettings": "Indstillinger",
+ "@appExportSettings": {},
+ "settingsHomeDialogTitle": "Hjem",
+ "@settingsHomeDialogTitle": {},
+ "settingsDoubleBackExit": "Tryk på “tilbage” to gange for at afslutte",
+ "@settingsDoubleBackExit": {},
+ "appExportCovers": "Covers",
+ "@appExportCovers": {},
+ "settingsConfirmationDialogTitle": "Bekræftelsesdialogbokse",
+ "@settingsConfirmationDialogTitle": {},
+ "settingsConfirmationBeforeDeleteItems": "Spørg før elementer slettes permanent",
+ "@settingsConfirmationBeforeDeleteItems": {},
+ "settingsNavigationDrawerBanner": "Tryk og hold for at flytte og omarrangere menuelementer.",
+ "@settingsNavigationDrawerBanner": {},
+ "settingsConfirmationVaultDataLoss": "Vis advarsel om datatab i bokse",
+ "@settingsConfirmationVaultDataLoss": {},
+ "settingsThumbnailShowTagIcon": "Vis tag-ikon",
+ "@settingsThumbnailShowTagIcon": {},
+ "settingsViewerQuickActionEditorDisplayedButtonsSectionTitle": "Viste knapper",
+ "@settingsViewerQuickActionEditorDisplayedButtonsSectionTitle": {},
+ "settingsViewerShowHistogram": "Vis histogram",
+ "@settingsViewerShowHistogram": {},
+ "settingsViewerShowMinimap": "Vis minikort",
+ "@settingsViewerShowMinimap": {},
+ "settingsViewerShowRatingTags": "Vis bedømmelse og tags",
+ "@settingsViewerShowRatingTags": {},
+ "settingsSlideshowTransitionTile": "Overgang",
+ "@settingsSlideshowTransitionTile": {},
+ "settingsSlideshowIntervalTile": "Interval",
+ "@settingsSlideshowIntervalTile": {},
+ "settingsVideoPlaybackTile": "Afspilning",
+ "@settingsVideoPlaybackTile": {},
+ "settingsViewerOverlayTile": "Overlejring",
+ "@settingsViewerOverlayTile": {},
+ "settingsViewerShowOverlayOnOpening": "Vis ved åbning",
+ "@settingsViewerShowOverlayOnOpening": {},
+ "settingsVideoBackgroundMode": "Baggrundstilstand",
+ "@settingsVideoBackgroundMode": {},
+ "settingsVideoBackgroundModeDialogTitle": "Baggrundstilstand",
+ "@settingsVideoBackgroundModeDialogTitle": {},
+ "settingsSubtitleThemeTile": "Undertekster",
+ "@settingsSubtitleThemeTile": {},
+ "settingsSubtitleThemeTextAlignmentDialogTitle": "Tekstjustering",
+ "@settingsSubtitleThemeTextAlignmentDialogTitle": {},
+ "settingsEnableBin": "Brug papirkurv",
+ "@settingsEnableBin": {},
+ "settingsEnableBinSubtitle": "Opbevar slettede elementer i 30 dage",
+ "@settingsEnableBinSubtitle": {},
+ "settingsScreenSaverPageTitle": "Pauseskærm",
+ "@settingsScreenSaverPageTitle": {},
+ "viewerErrorUnknown": "Ups!",
+ "@viewerErrorUnknown": {},
+ "statsTopAlbumsSectionTitle": "Top album",
+ "@statsTopAlbumsSectionTitle": {},
+ "viewerInfoSearchSuggestionDimensions": "Dimensioner",
+ "@viewerInfoSearchSuggestionDimensions": {},
+ "tagPlaceholderCountry": "Land",
+ "@tagPlaceholderCountry": {},
+ "sourceViewerPageTitle": "Kilde",
+ "@sourceViewerPageTitle": {},
+ "statsTopPlacesSectionTitle": "Top steder",
+ "@statsTopPlacesSectionTitle": {},
+ "mapStyleOsmLiberty": "OSM Liberty",
+ "@mapStyleOsmLiberty": {},
+ "missingSystemFilePickerDialogMessage": "Systemfilvælgeren mangler eller er deaktiveret. Aktiver den, og prøv igen.",
+ "@missingSystemFilePickerDialogMessage": {},
+ "newAlbumDialogStorageLabel": "Lager:",
+ "@newAlbumDialogStorageLabel": {},
+ "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Slet disse album og elementet i dem?} other{Slet disse album og de {count} elementer i dem?}}",
+ "@deleteMultiAlbumConfirmationDialogMessage": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "exportEntryDialogWidth": "Bredde",
+ "@exportEntryDialogWidth": {},
+ "editEntryDateDialogExtractFromTitle": "Udtræk fra titel",
+ "@editEntryDateDialogExtractFromTitle": {},
+ "locationPickerUseThisLocationButton": "Brug denne placering",
+ "@locationPickerUseThisLocationButton": {},
+ "menuActionSelect": "Vælg",
+ "@menuActionSelect": {},
+ "menuActionSelectAll": "Vælg alle",
+ "@menuActionSelectAll": {},
+ "menuActionSelectNone": "Vælg ingen",
+ "@menuActionSelectNone": {},
+ "aboutBugSectionTitle": "Fejlrapport",
+ "@aboutBugSectionTitle": {},
+ "aboutBugCopyInfoButton": "Kopiér",
+ "@aboutBugCopyInfoButton": {},
+ "aboutBugReportInstruction": "Rapportér på GitHub med logfiler og systemoplysninger",
+ "@aboutBugReportInstruction": {},
+ "aboutLicensesBanner": "Denne app bruger følgende open source-pakker og -biblioteker.",
+ "@aboutLicensesBanner": {},
+ "aboutLicensesAndroidLibrariesSectionTitle": "Android-biblioteker",
+ "@aboutLicensesAndroidLibrariesSectionTitle": {},
+ "aboutLicensesFlutterPackagesSectionTitle": "Flutter-pakker",
+ "@aboutLicensesFlutterPackagesSectionTitle": {},
+ "aboutLicensesDartPackagesSectionTitle": "Dart-pakker",
+ "@aboutLicensesDartPackagesSectionTitle": {},
+ "collectionActionCopy": "Kopiér til album",
+ "@collectionActionCopy": {},
+ "dateToday": "I dag",
+ "@dateToday": {},
+ "collectionSearchTitlesHintText": "Søg i titler",
+ "@collectionSearchTitlesHintText": {},
+ "collectionEditFailureFeedback": "{count, plural, =1{Kunne ikke redigere 1 element} other{Kunne ikke redigere {count} elementer}}",
+ "@collectionEditFailureFeedback": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "collectionExportFailureFeedback": "{count, plural, =1{Kunne ikke eksportere 1 side} other{Kunne ikke eksportere {count} sider}}",
+ "@collectionExportFailureFeedback": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "collectionEmptyGrantAccessButtonLabel": "Giv adgang",
+ "@collectionEmptyGrantAccessButtonLabel": {},
+ "drawerCollectionImages": "Billeder",
+ "@drawerCollectionImages": {},
+ "drawerCollectionVideos": "Videoer",
+ "@drawerCollectionVideos": {},
+ "drawerCountryPage": "Lande",
+ "@drawerCountryPage": {},
+ "sortByItemCount": "Efter antal elementer",
+ "@sortByItemCount": {},
+ "sortBySize": "Efter størrelse",
+ "@sortBySize": {},
+ "sortOrderOldestFirst": "Ældste først",
+ "@sortOrderOldestFirst": {},
+ "sortOrderZtoA": "Å til A",
+ "@sortOrderZtoA": {},
+ "sortOrderLowestFirst": "Laveste først",
+ "@sortOrderLowestFirst": {},
+ "selectStorageVolumeDialogTitle": "Vælg lager",
+ "@selectStorageVolumeDialogTitle": {},
+ "sortOrderShortestFirst": "Korteste først",
+ "@sortOrderShortestFirst": {},
+ "albumPickPageTitleCopy": "Kopiér til album",
+ "@albumPickPageTitleCopy": {},
+ "albumScreenRecordings": "Skærmoptagelser",
+ "@albumScreenRecordings": {},
+ "binPageTitle": "Papirkurv",
+ "@binPageTitle": {},
+ "explorerActionSelectStorageVolume": "Vælg lager",
+ "@explorerActionSelectStorageVolume": {},
+ "settingsSubtitleThemeTextColor": "Tekstfarve",
+ "@settingsSubtitleThemeTextColor": {},
+ "settingsSubtitleThemeTextOpacity": "Tekstopacitet",
+ "@settingsSubtitleThemeTextOpacity": {},
+ "settingsSubtitleThemeBackgroundColor": "Baggrundsfarve",
+ "@settingsSubtitleThemeBackgroundColor": {},
+ "settingsHiddenItemsTile": "Skjulte elementer",
+ "@settingsHiddenItemsTile": {},
+ "viewerInfoUnknown": "ukendt",
+ "@viewerInfoUnknown": {},
+ "viewerInfoLabelDescription": "Beskrivelse",
+ "@viewerInfoLabelDescription": {},
+ "unitSystemMetric": "Metrisk",
+ "@unitSystemMetric": {},
+ "durationDialogSeconds": "Sekunder",
+ "@durationDialogSeconds": {},
+ "editEntryLocationDialogSetCustom": "Indstil brugerdefineret placering",
+ "@editEntryLocationDialogSetCustom": {},
+ "editEntryLocationDialogChooseOnMap": "Vælg på kort",
+ "@editEntryLocationDialogChooseOnMap": {},
+ "editEntryLocationDialogLatitude": "Breddegrad",
+ "@editEntryLocationDialogLatitude": {},
+ "editEntryLocationDialogLongitude": "Længdegrad",
+ "@editEntryLocationDialogLongitude": {},
+ "genericFailureFeedback": "Mislykkedes",
+ "@genericFailureFeedback": {},
+ "tileLayoutList": "Liste",
+ "@tileLayoutList": {},
+ "coverDialogTabCover": "Cover",
+ "@coverDialogTabCover": {},
+ "aboutDataUsageInternal": "Internt",
+ "@aboutDataUsageInternal": {},
+ "aboutDataUsageSectionTitle": "Dataforbrug",
+ "@aboutDataUsageSectionTitle": {},
+ "aboutTranslatorsSectionTitle": "Oversættere",
+ "@aboutTranslatorsSectionTitle": {},
+ "nameConflictDialogSingleSourceMessage": "Nogle filer i destinationsmappen har samme navn.",
+ "@nameConflictDialogSingleSourceMessage": {},
+ "noMatchingAppDialogMessage": "Der er ingen apps, der kan håndtere dette.",
+ "@noMatchingAppDialogMessage": {},
+ "setCoverDialogLatest": "Seneste element",
+ "@setCoverDialogLatest": {},
+ "renameProcessorCounter": "Tæller",
+ "@renameProcessorCounter": {},
+ "exportEntryDialogQuality": "Kvalitet",
+ "@exportEntryDialogQuality": {},
+ "renameEntrySetPagePreviewSectionTitle": "Forhåndsvisning",
+ "@renameEntrySetPagePreviewSectionTitle": {},
+ "editEntryDateDialogSetCustom": "Indstil brugerdefineret dato",
+ "@editEntryDateDialogSetCustom": {},
+ "viewDialogLayoutSectionTitle": "Layout",
+ "@viewDialogLayoutSectionTitle": {},
+ "tileLayoutMosaic": "Mosaik",
+ "@tileLayoutMosaic": {},
+ "castDialogTitle": "Cast-enheder",
+ "@castDialogTitle": {},
+ "aboutLinkLicense": "Licens",
+ "@aboutLinkLicense": {},
+ "aboutLicensesSectionTitle": "Open source-licenser",
+ "@aboutLicensesSectionTitle": {},
+ "settingsNavigationDrawerTabTypes": "Typer",
+ "@settingsNavigationDrawerTabTypes": {},
+ "settingsViewerSlideshowPageTitle": "Diasshow",
+ "@settingsViewerSlideshowPageTitle": {},
+ "settingsStorageAccessEmpty": "Ingen adgangstilladelser",
+ "@settingsStorageAccessEmpty": {},
+ "settingsStorageAccessRevokeTooltip": "Tilbagekald",
+ "@settingsStorageAccessRevokeTooltip": {},
+ "settingsRemoveAnimationsTile": "Fjern animationer",
+ "@settingsRemoveAnimationsTile": {},
+ "settingsUnitSystemDialogTitle": "Enheder",
+ "@settingsUnitSystemDialogTitle": {},
+ "settingsWidgetOpenPage": "Ved tryk på widgetten",
+ "@settingsWidgetOpenPage": {},
+ "mapPointNorthUpTooltip": "Peg nord op",
+ "@mapPointNorthUpTooltip": {},
+ "viewerInfoLabelDate": "Dato",
+ "@viewerInfoLabelDate": {},
+ "viewerInfoLabelDuration": "Varighed",
+ "@viewerInfoLabelDuration": {},
+ "viewerInfoLabelPath": "Sti",
+ "@viewerInfoLabelPath": {},
+ "mapAttributionStamen": "Fliser af [Stamen Design](https://stamen.com), [CC BY 3.0](https://creativecommons.org/licenses/by/3.0)",
+ "@mapAttributionStamen": {},
+ "viewerInfoOpenLinkText": "Åbn",
+ "@viewerInfoOpenLinkText": {},
+ "viewerInfoSearchFieldLabel": "Søg i metadata",
+ "@viewerInfoSearchFieldLabel": {},
+ "tagPlaceholderState": "Stat",
+ "@tagPlaceholderState": {},
+ "dateYesterday": "I går",
+ "@dateYesterday": {},
+ "setCoverDialogAuto": "Auto",
+ "@setCoverDialogAuto": {},
+ "renameProcessorHash": "Hash",
+ "@renameProcessorHash": {},
+ "unsupportedTypeDialogMessage": "{count, plural, =1{Denne handling understøttes ikke for elementer af følgende type: {types}.} other{Denne handling understøttes ikke for elementer af følgende typer: {types}.}}",
+ "@unsupportedTypeDialogMessage": {
+ "placeholders": {
+ "count": {},
+ "types": {
+ "type": "String",
+ "example": "GIF, TIFF, MP4",
+ "description": "a list of unsupported types"
+ }
+ }
+ },
+ "exportEntryDialogHeight": "Højde",
+ "@exportEntryDialogHeight": {},
+ "newAlbumDialogNameLabelAlreadyExistsHelper": "Mappe findes allerede",
+ "@newAlbumDialogNameLabelAlreadyExistsHelper": {},
+ "videoResumeButtonLabel": "GENOPTAG",
+ "@videoResumeButtonLabel": {},
+ "genericDangerWarningDialogMessage": "Er du sikker?",
+ "@genericDangerWarningDialogMessage": {},
+ "tileLayoutGrid": "Gitter",
+ "@tileLayoutGrid": {},
+ "removeEntryMetadataMotionPhotoXmpWarningDialogMessage": "XMP er påkrævet for at afspille videoen i et bevægelsesfoto.\n\nEr du sikker på, at du vil fjerne den?",
+ "@removeEntryMetadataMotionPhotoXmpWarningDialogMessage": {},
+ "viewDialogGroupSectionTitle": "Gruppér",
+ "@viewDialogGroupSectionTitle": {},
+ "hideFilterConfirmationDialogMessage": "Matchende fotos og videoer skjules fra din samling. Du kan vise dem igen i indstillingerne “Privatliv”.\n\nEr du sikker på, at du vil skjule dem?",
+ "@hideFilterConfirmationDialogMessage": {},
+ "pinDialogEnter": "Indtast PIN",
+ "@pinDialogEnter": {},
+ "tooManyItemsErrorDialogMessage": "Prøv igen med færre elementer.",
+ "@tooManyItemsErrorDialogMessage": {},
+ "videoStreamSelectionDialogOff": "Fra",
+ "@videoStreamSelectionDialogOff": {},
+ "collectionEditSuccessFeedback": "{count, plural, =1{Redigerede 1 element} other{Redigerede {count} elementer}}",
+ "@collectionEditSuccessFeedback": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "settingsNavigationSectionTitle": "Navigation",
+ "@settingsNavigationSectionTitle": {},
+ "searchMetadataSectionTitle": "Metadata",
+ "@searchMetadataSectionTitle": {},
+ "settingsConfirmationBeforeMoveToBinItems": "Spørg før elementer flyttes til papirkurven",
+ "@settingsConfirmationBeforeMoveToBinItems": {},
+ "renameEntrySetPageTitle": "Omdøb",
+ "@renameEntrySetPageTitle": {},
+ "editEntryDialogTargetFieldsHeader": "Felter at ændre",
+ "@editEntryDialogTargetFieldsHeader": {},
+ "editEntryDateDialogTitle": "Dato og Tid",
+ "@editEntryDateDialogTitle": {},
+ "videoSpeedDialogLabel": "Afspilningshastighed",
+ "@videoSpeedDialogLabel": {},
+ "aboutDataUsageData": "Data",
+ "@aboutDataUsageData": {},
+ "collectionActionSetHome": "Indstil som hjem",
+ "@collectionActionSetHome": {},
+ "coverDialogTabApp": "App",
+ "@coverDialogTabApp": {},
+ "aboutBugCopyInfoInstruction": "Kopiér systemoplysninger",
+ "@aboutBugCopyInfoInstruction": {},
+ "settingsConfirmationTile": "Bekræftelsesdialogbokse",
+ "@settingsConfirmationTile": {},
+ "settingsCollectionSelectionQuickActionEditorBanner": "Tryk og hold for at flytte knapper og vælge, hvilke handlinger der vises, når du vælger elementer.",
+ "@settingsCollectionSelectionQuickActionEditorBanner": {},
+ "drawerAlbumPage": "Album",
+ "@drawerAlbumPage": {},
+ "drawerPlacePage": "Steder",
+ "@drawerPlacePage": {},
+ "sortByDuration": "Efter varighed",
+ "@sortByDuration": {},
+ "settingsVideoResumptionModeTile": "Genoptag afspilning",
+ "@settingsVideoResumptionModeTile": {},
+ "sortOrderAtoZ": "A til Å",
+ "@sortOrderAtoZ": {},
+ "searchTagsSectionTitle": "Tags",
+ "@searchTagsSectionTitle": {},
+ "settingsViewerShowInformation": "Vis oplysninger",
+ "@settingsViewerShowInformation": {},
+ "sortOrderHighestFirst": "Højeste først",
+ "@sortOrderHighestFirst": {},
+ "sortOrderLongestFirst": "Længste først",
+ "@sortOrderLongestFirst": {},
+ "searchPlacesSectionTitle": "Steder",
+ "@searchPlacesSectionTitle": {},
+ "appExportDynamicAlbums": "Dynamiske album",
+ "@appExportDynamicAlbums": {},
+ "settingsThumbnailSectionTitle": "Miniaturebilleder",
+ "@settingsThumbnailSectionTitle": {},
+ "settingsViewerQuickActionEditorAvailableButtonsSectionTitle": "Tilgængelige knapper",
+ "@settingsViewerQuickActionEditorAvailableButtonsSectionTitle": {},
+ "settingsVideoShowVideos": "Vis videoer",
+ "@settingsVideoShowVideos": {},
+ "settingsViewerEnableOverlayBlurEffect": "Sløringseffekt",
+ "@settingsViewerEnableOverlayBlurEffect": {},
+ "settingsVideoPlaybackPageTitle": "Afspilning",
+ "@settingsVideoPlaybackPageTitle": {},
+ "viewerInfoLabelSize": "Størrelse",
+ "@viewerInfoLabelSize": {},
+ "statsTopCountriesSectionTitle": "Top lande",
+ "@statsTopCountriesSectionTitle": {},
+ "newVaultWarningDialogMessage": "Elementer i bokse er kun tilgængelige for denne app og ingen andre.\n\nHvis du afinstallerer appen eller rydder dens data, mister du alle disse elementer.",
+ "@newVaultWarningDialogMessage": {},
+ "authenticateToConfigureVault": "Godkend for at konfigurere boks",
+ "@authenticateToConfigureVault": {},
+ "settingsAllowErrorReporting": "Tillad anonym fejlrapportering",
+ "@settingsAllowErrorReporting": {},
+ "settingsVideoGestureDoubleTapTogglePlay": "Dobbelttryk for at afspille/pause",
+ "@settingsVideoGestureDoubleTapTogglePlay": {},
+ "settingsVideoGestureSideDoubleTapSeek": "Dobbelttryk på skærmkanterne for at gå frem/tilbage",
+ "@settingsVideoGestureSideDoubleTapSeek": {},
+ "settingsSubtitleThemeTextAlignmentLeft": "Venstre",
+ "@settingsSubtitleThemeTextAlignmentLeft": {},
+ "settingsSaveSearchHistory": "Gem søgehistorik",
+ "@settingsSaveSearchHistory": {},
+ "settingsVideoLoopModeTile": "Loop-tilstand",
+ "@settingsVideoLoopModeTile": {},
+ "settingsVideoControlsPageTitle": "Styring",
+ "@settingsVideoControlsPageTitle": {},
+ "settingsDisplayRefreshRateModeDialogTitle": "Opdateringshastighed",
+ "@settingsDisplayRefreshRateModeDialogTitle": {},
+ "viewerInfoLabelUri": "URI",
+ "@viewerInfoLabelUri": {},
+ "viewerInfoLabelAddress": "Adresse",
+ "@viewerInfoLabelAddress": {},
+ "mapAttributionOsmLiberty": "Fliser af [OpenMapTiles](https://www.openmaptiles.org/), [CC BY](http://creativecommons.org/licenses/by/4.0) • Hostet af [OSM Americana](https://tile.ourmap.us)",
+ "@mapAttributionOsmLiberty": {},
+ "settingsDisplayRefreshRateModeTile": "Skærmens opdateringshastighed",
+ "@settingsDisplayRefreshRateModeTile": {},
+ "settingsVideoButtonsTile": "Knapper",
+ "@settingsVideoButtonsTile": {},
+ "settingsVideoGestureVerticalDragBrightnessVolume": "Stryg op eller ned for at justere lysstyrke/lydstyrke",
+ "@settingsVideoGestureVerticalDragBrightnessVolume": {},
+ "settingsVideoControlsTile": "Styring",
+ "@settingsVideoControlsTile": {},
+ "settingsWidgetShowOutline": "Omrids",
+ "@settingsWidgetShowOutline": {},
+ "settingsThemeEnableDynamicColor": "Dynamisk farve",
+ "@settingsThemeEnableDynamicColor": {},
+ "statsTopStatesSectionTitle": "Top stater",
+ "@statsTopStatesSectionTitle": {},
+ "viewerErrorDoesNotExist": "Filen findes ikke længere.",
+ "@viewerErrorDoesNotExist": {},
+ "settingsDisplaySectionTitle": "Visning",
+ "@settingsDisplaySectionTitle": {},
+ "viewerInfoLabelResolution": "Opløsning",
+ "@viewerInfoLabelResolution": {},
+ "mapStyleDialogTitle": "Kortstil",
+ "@mapStyleDialogTitle": {},
+ "panoramaDisableSensorControl": "Deaktiver sensorstyring",
+ "@panoramaDisableSensorControl": {},
+ "mapAttributionOsmData": "Kortdata © [OpenStreetMap](https://www.openstreetmap.org/copyright) bidragsydere",
+ "@mapAttributionOsmData": {},
+ "viewerInfoSearchSuggestionRights": "Rettigheder",
+ "@viewerInfoSearchSuggestionRights": {},
+ "filePickerShowHiddenFiles": "Vis skjulte filer",
+ "@filePickerShowHiddenFiles": {},
+ "viewerInfoOpenEmbeddedFailureFeedback": "Kunne ikke udtrække indlejrede data",
+ "@viewerInfoOpenEmbeddedFailureFeedback": {},
+ "tagPlaceholderPlace": "Sted",
+ "@tagPlaceholderPlace": {},
+ "filePickerDoNotShowHiddenFiles": "Vis ikke skjulte filer",
+ "@filePickerDoNotShowHiddenFiles": {},
+ "exportEntryDialogWriteMetadata": "Skriv metadata",
+ "@exportEntryDialogWriteMetadata": {},
+ "editEntryDateDialogCopyField": "Kopiér fra en anden dato",
+ "@editEntryDateDialogCopyField": {},
+ "albumGroupNone": "Gruppér ikke",
+ "@albumGroupNone": {},
+ "albumEmpty": "Ingen album",
+ "@albumEmpty": {},
+ "albumPageTitle": "Album",
+ "@albumPageTitle": {},
+ "createAlbumButtonLabel": "OPRET",
+ "@createAlbumButtonLabel": {},
+ "chipActionGoToExplorerPage": "Vis i stifinder",
+ "@chipActionGoToExplorerPage": {},
+ "videoRepeatActionSetStart": "Sæt start",
+ "@videoRepeatActionSetStart": {},
+ "videoRepeatActionSetEnd": "Sæt slut",
+ "@videoRepeatActionSetEnd": {},
+ "slideshowActionResume": "Genoptag",
+ "@slideshowActionResume": {},
+ "coordinateFormatDecimal": "Decimalgrader",
+ "@coordinateFormatDecimal": {},
+ "filterFavouriteLabel": "Favorit",
+ "@filterFavouriteLabel": {},
+ "filterTypeRawLabel": "Rå",
+ "@filterTypeRawLabel": {},
+ "accessibilityAnimationsRemove": "Undgå skærmeffekter",
+ "@accessibilityAnimationsRemove": {},
+ "coordinateFormatDms": "DMS",
+ "@coordinateFormatDms": {},
+ "displayRefreshRatePreferHighest": "Højeste hastighed",
+ "@displayRefreshRatePreferHighest": {},
+ "mapStyleGoogleHybrid": "Google Maps (Hybrid)",
+ "@mapStyleGoogleHybrid": {},
+ "mapStyleGoogleTerrain": "Google Maps (Terræn)",
+ "@mapStyleGoogleTerrain": {},
+ "viewerTransitionSlide": "Glide",
+ "@viewerTransitionSlide": {},
+ "viewerTransitionFade": "Fade",
+ "@viewerTransitionFade": {},
+ "storageAccessDialogMessage": "Vælg {directory} for “{volume}” på den næste skærm for at give appen adgang til den.",
+ "@storageAccessDialogMessage": {
+ "placeholders": {
+ "directory": {
+ "type": "String",
+ "description": "the name of a directory, using the output of `rootDirectoryDescription` or `otherDirectoryDescription`"
+ },
+ "volume": {
+ "type": "String",
+ "example": "SD card",
+ "description": "the name of a storage volume"
+ }
+ }
+ },
+ "moveUndatedConfirmationDialogSetDate": "Gem datoer",
+ "@moveUndatedConfirmationDialogSetDate": {},
+ "vaultDialogLockTypeLabel": "Låsetype",
+ "@vaultDialogLockTypeLabel": {},
+ "patternDialogConfirm": "Bekræft mønster",
+ "@patternDialogConfirm": {},
+ "binEntriesConfirmationDialogMessage": "{count, plural, =1{Flyt dette element til papirkurven?} other{Flyt {count} elementer til papirkurven?}}",
+ "@binEntriesConfirmationDialogMessage": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "deleteEntriesConfirmationDialogMessage": "{count, plural, =1{Slet dette element?} other{Slet {count} elementer?}}",
+ "@deleteEntriesConfirmationDialogMessage": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "configureVaultDialogTitle": "Konfigurer boks",
+ "@configureVaultDialogTitle": {},
+ "vaultDialogLockModeWhenScreenOff": "Lås når skærmen slukkes",
+ "@vaultDialogLockModeWhenScreenOff": {},
+ "passwordDialogEnter": "Indtast adgangskode",
+ "@passwordDialogEnter": {},
+ "collectionActionRescan": "Scan igen",
+ "@collectionActionRescan": {},
+ "collectionActionEdit": "Rediger",
+ "@collectionActionEdit": {},
+ "collectionActionMove": "Flyt til album",
+ "@collectionActionMove": {},
+ "collectionRenameFailureFeedback": "{count, plural, =1{Kunne ikke omdøbe 1 element} other{Kunne ikke omdøbe {count} elementer}}",
+ "@collectionRenameFailureFeedback": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "collectionRenameSuccessFeedback": "{count, plural, =1{Omdøbte 1 element} other{Omdøbte {count} elementer}}",
+ "@collectionRenameSuccessFeedback": {
+ "placeholders": {
+ "count": {
+ "format": "decimalPattern"
+ }
+ }
+ },
+ "placePageTitle": "Steder",
+ "@placePageTitle": {},
+ "placeEmpty": "Ingen steder",
+ "@placeEmpty": {},
+ "explorerPageTitle": "Stifinder",
+ "@explorerPageTitle": {},
+ "settingsDisabled": "Deaktiveret",
+ "@settingsDisabled": {},
+ "settingsDefault": "Standard",
+ "@settingsDefault": {},
+ "settingsViewerQuickActionEmpty": "Ingen knapper",
+ "@settingsViewerQuickActionEmpty": {},
+ "chipActionFilterOut": "Filtrer ud",
+ "@chipActionFilterOut": {}
}
diff --git a/lib/l10n/app_de.arb b/lib/l10n/app_de.arb
index 94e785e5c..d40472aac 100644
--- a/lib/l10n/app_de.arb
+++ b/lib/l10n/app_de.arb
@@ -1392,5 +1392,19 @@
"mapAttributionOpenTopoMap": "[SRTM](https://www.earthdata.nasa.gov/sensors/srtm) | Kacheln von [OpenTopoMap](https://opentopomap.org/), [CC BY-SA](https://creativecommons.org/licenses/by-sa/3.0/)",
"@mapAttributionOpenTopoMap": {},
"newAlbumDialogAlbumAlreadyExistsHelper": "Album existiert bereits",
- "@newAlbumDialogAlbumAlreadyExistsHelper": {}
+ "@newAlbumDialogAlbumAlreadyExistsHelper": {},
+ "appExportDynamicAlbums": "Dynamische Alben",
+ "@appExportDynamicAlbums": {},
+ "dynamicAlbumAlreadyExists": "Dynamisches Album existiert bereits",
+ "@dynamicAlbumAlreadyExists": {},
+ "chipActionRemove": "Entfernen",
+ "@chipActionRemove": {},
+ "newDynamicAlbumDialogTitle": "Neues Dynamisches Album",
+ "@newDynamicAlbumDialogTitle": {},
+ "collectionActionAddDynamicAlbum": "Dynamisches Album hinzufügen",
+ "@collectionActionAddDynamicAlbum": {},
+ "albumTierDynamic": "Dynamisch",
+ "@albumTierDynamic": {},
+ "chipActionDecompose": "Aufschlüsseln",
+ "@chipActionDecompose": {}
}
diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb
index a04876369..7ab3fc430 100644
--- a/lib/l10n/app_en.arb
+++ b/lib/l10n/app_en.arb
@@ -92,6 +92,7 @@
"chipActionGoToPlacePage": "Show in Places",
"chipActionGoToTagPage": "Show in Tags",
"chipActionGoToExplorerPage": "Show in Explorer",
+ "chipActionDecompose": "Split",
"chipActionFilterOut": "Filter out",
"chipActionFilterIn": "Filter in",
"chipActionHide": "Hide",
diff --git a/lib/l10n/app_es.arb b/lib/l10n/app_es.arb
index d85013c46..a61726eb9 100644
--- a/lib/l10n/app_es.arb
+++ b/lib/l10n/app_es.arb
@@ -1404,5 +1404,7 @@
"albumTierDynamic": "Dinámico",
"@albumTierDynamic": {},
"newDynamicAlbumDialogTitle": "Nuevo álbum dinámico",
- "@newDynamicAlbumDialogTitle": {}
+ "@newDynamicAlbumDialogTitle": {},
+ "chipActionDecompose": "Separar",
+ "@chipActionDecompose": {}
}
diff --git a/lib/l10n/app_et.arb b/lib/l10n/app_et.arb
index f8c8274cc..2b6fdfa6e 100644
--- a/lib/l10n/app_et.arb
+++ b/lib/l10n/app_et.arb
@@ -1602,5 +1602,7 @@
"settingsLanguagePageTitle": "Keel",
"@settingsLanguagePageTitle": {},
"viewerInfoViewXmlLinkText": "Vaata XMLi",
- "@viewerInfoViewXmlLinkText": {}
+ "@viewerInfoViewXmlLinkText": {},
+ "chipActionDecompose": "Poolita",
+ "@chipActionDecompose": {}
}
diff --git a/lib/l10n/app_fr.arb b/lib/l10n/app_fr.arb
index 67ff35978..03fb01105 100644
--- a/lib/l10n/app_fr.arb
+++ b/lib/l10n/app_fr.arb
@@ -1404,5 +1404,7 @@
"appExportDynamicAlbums": "Albums dynamiques",
"@appExportDynamicAlbums": {},
"collectionActionAddDynamicAlbum": "Ajouter un album dynamique",
- "@collectionActionAddDynamicAlbum": {}
+ "@collectionActionAddDynamicAlbum": {},
+ "chipActionDecompose": "Scinder",
+ "@chipActionDecompose": {}
}
diff --git a/lib/l10n/app_hu.arb b/lib/l10n/app_hu.arb
index 313641c08..bf1099bfb 100644
--- a/lib/l10n/app_hu.arb
+++ b/lib/l10n/app_hu.arb
@@ -1544,5 +1544,23 @@
"settingsForceWesternArabicNumeralsTile": "Arab számok használata",
"@settingsForceWesternArabicNumeralsTile": {},
"chipActionGoToExplorerPage": "Mutatás a böngészőben",
- "@chipActionGoToExplorerPage": {}
+ "@chipActionGoToExplorerPage": {},
+ "videoActionShowNextFrame": "Következő képkocka mutatása",
+ "@videoActionShowNextFrame": {},
+ "videoActionShowPreviousFrame": "Előző képkocka mutatása",
+ "@videoActionShowPreviousFrame": {},
+ "dynamicAlbumAlreadyExists": "A dinamikus album már létezik",
+ "@dynamicAlbumAlreadyExists": {},
+ "collectionActionAddDynamicAlbum": "Dinamikus album hozzáadása",
+ "@collectionActionAddDynamicAlbum": {},
+ "newAlbumDialogAlbumAlreadyExistsHelper": "Az album már létezik",
+ "@newAlbumDialogAlbumAlreadyExistsHelper": {},
+ "chipActionRemove": "Eltávolítás",
+ "@chipActionRemove": {},
+ "albumTierDynamic": "Dinamikus",
+ "@albumTierDynamic": {},
+ "newDynamicAlbumDialogTitle": "Új Dinamikus Album",
+ "@newDynamicAlbumDialogTitle": {},
+ "appExportDynamicAlbums": "Dinamikus albumok",
+ "@appExportDynamicAlbums": {}
}
diff --git a/lib/l10n/app_id.arb b/lib/l10n/app_id.arb
index 4e024279e..1047e6c22 100644
--- a/lib/l10n/app_id.arb
+++ b/lib/l10n/app_id.arb
@@ -1404,5 +1404,7 @@
"dynamicAlbumAlreadyExists": "Album dinamis sudah ada",
"@dynamicAlbumAlreadyExists": {},
"newDynamicAlbumDialogTitle": "Album Dinamis Baru",
- "@newDynamicAlbumDialogTitle": {}
+ "@newDynamicAlbumDialogTitle": {},
+ "chipActionDecompose": "Pisah",
+ "@chipActionDecompose": {}
}
diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb
index d2da705e0..6407c7adc 100644
--- a/lib/l10n/app_it.arb
+++ b/lib/l10n/app_it.arb
@@ -1341,7 +1341,7 @@
"@entryActionCast": {},
"aboutDataUsageClearCache": "Svuota cache",
"@aboutDataUsageClearCache": {},
- "castDialogTitle": "Dispositivi cast",
+ "castDialogTitle": "Dispositivi Cast",
"@castDialogTitle": {},
"stopTooltip": "Ferma",
"@stopTooltip": {},
diff --git a/lib/l10n/app_ko.arb b/lib/l10n/app_ko.arb
index 0794fc876..fc739cf77 100644
--- a/lib/l10n/app_ko.arb
+++ b/lib/l10n/app_ko.arb
@@ -1404,5 +1404,7 @@
"collectionActionAddDynamicAlbum": "동적 앨범 추가",
"@collectionActionAddDynamicAlbum": {},
"appExportDynamicAlbums": "동적 앨범",
- "@appExportDynamicAlbums": {}
+ "@appExportDynamicAlbums": {},
+ "chipActionDecompose": "나누기",
+ "@chipActionDecompose": {}
}
diff --git a/lib/l10n/app_nl.arb b/lib/l10n/app_nl.arb
index 5f9521db8..65e0716bb 100644
--- a/lib/l10n/app_nl.arb
+++ b/lib/l10n/app_nl.arb
@@ -1406,5 +1406,7 @@
"appExportDynamicAlbums": "Dynamische albums",
"@appExportDynamicAlbums": {},
"chipActionRemove": "Verwijderen",
- "@chipActionRemove": {}
+ "@chipActionRemove": {},
+ "chipActionDecompose": "Splitsen",
+ "@chipActionDecompose": {}
}
diff --git a/lib/l10n/app_pl.arb b/lib/l10n/app_pl.arb
index bb51f823a..0fefe5167 100644
--- a/lib/l10n/app_pl.arb
+++ b/lib/l10n/app_pl.arb
@@ -1562,5 +1562,7 @@
"collectionActionAddDynamicAlbum": "Dodaj dynamiczny album",
"@collectionActionAddDynamicAlbum": {},
"appExportDynamicAlbums": "Dynamiczne albumy",
- "@appExportDynamicAlbums": {}
+ "@appExportDynamicAlbums": {},
+ "chipActionDecompose": "Podziel",
+ "@chipActionDecompose": {}
}
diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb
index 4153911c7..eea9624e7 100644
--- a/lib/l10n/app_pt.arb
+++ b/lib/l10n/app_pt.arb
@@ -1404,5 +1404,7 @@
"collectionActionAddDynamicAlbum": "Adicionar álbum dinâmico",
"@collectionActionAddDynamicAlbum": {},
"appExportDynamicAlbums": "Álbuns dinâmicos",
- "@appExportDynamicAlbums": {}
+ "@appExportDynamicAlbums": {},
+ "chipActionDecompose": "Separar",
+ "@chipActionDecompose": {}
}
diff --git a/lib/l10n/app_ru.arb b/lib/l10n/app_ru.arb
index 546ee4d6d..1d988ec17 100644
--- a/lib/l10n/app_ru.arb
+++ b/lib/l10n/app_ru.arb
@@ -1389,8 +1389,22 @@
"@videoActionShowNextFrame": {},
"mapStyleOsmLiberty": "OSM Liberty",
"@mapStyleOsmLiberty": {},
- "mapAttributionOsmLiberty": "Tiles by [OpenMapTiles](https://www.openmaptiles.org/), [CC BY](http://creativecommons.org/licenses/by/4.0) • Hosted by [OSM Americana](https://tile.ourmap.us)",
+ "mapAttributionOsmLiberty": "Плитки от [OpenMapTiles](https://www.openmaptiles.org/), [CC BY](http://creativecommons.org/licenses/by/4.0) • Размещено на [OSM Americana](https://tile.ourmap.us)",
"@mapAttributionOsmLiberty": {},
"newAlbumDialogAlbumAlreadyExistsHelper": "Альбом уже существует",
- "@newAlbumDialogAlbumAlreadyExistsHelper": {}
+ "@newAlbumDialogAlbumAlreadyExistsHelper": {},
+ "chipActionDecompose": "Раздел",
+ "@chipActionDecompose": {},
+ "chipActionRemove": "Удалить",
+ "@chipActionRemove": {},
+ "albumTierDynamic": "Динамический",
+ "@albumTierDynamic": {},
+ "newDynamicAlbumDialogTitle": "Новый динамический альбом",
+ "@newDynamicAlbumDialogTitle": {},
+ "dynamicAlbumAlreadyExists": "Динамический альбом уже существует",
+ "@dynamicAlbumAlreadyExists": {},
+ "collectionActionAddDynamicAlbum": "Добавить динамический альбом",
+ "@collectionActionAddDynamicAlbum": {},
+ "appExportDynamicAlbums": "Динамические альбомы",
+ "@appExportDynamicAlbums": {}
}
diff --git a/lib/l10n/app_ta.arb b/lib/l10n/app_ta.arb
index 55197e011..4a203d1c8 100644
--- a/lib/l10n/app_ta.arb
+++ b/lib/l10n/app_ta.arb
@@ -475,21 +475,21 @@
"@settingsThumbnailOverlayTile": {},
"settingsThumbnailOverlayPageTitle": "மேலடுக்கு",
"@settingsThumbnailOverlayPageTitle": {},
- "settingsThumbnailShowHdrIcon": "எச்டிஆர் ஐகானைக் காட்டு",
+ "settingsThumbnailShowHdrIcon": "எச்டிஆர் படவுருவைக் காட்டு",
"@settingsThumbnailShowHdrIcon": {},
- "settingsThumbnailShowFavouriteIcon": "பிடித்த ஐகானைக் காட்டு",
+ "settingsThumbnailShowFavouriteIcon": "பிடித்த படவுருவைக் காட்டு",
"@settingsThumbnailShowFavouriteIcon": {},
- "settingsThumbnailShowTagIcon": "டேக் ஐகானைக் காட்டு",
+ "settingsThumbnailShowTagIcon": "குறிச்சொல் படவுருவைக் காட்டு",
"@settingsThumbnailShowTagIcon": {},
- "settingsThumbnailShowLocationIcon": "இருப்பிட ஐகானைக் காட்டு",
+ "settingsThumbnailShowLocationIcon": "இருப்பிட படவுருவைக் காட்டு",
"@settingsThumbnailShowLocationIcon": {},
- "settingsThumbnailShowMotionPhotoIcon": "மோசன் ஃபோட்டோ ஐகானைக் காட்டு",
+ "settingsThumbnailShowMotionPhotoIcon": "இயக்கப் படப் படவுருவைக் காட்டு",
"@settingsThumbnailShowMotionPhotoIcon": {},
"settingsThumbnailShowRating": "மதிப்பீட்டைக் காட்டு",
"@settingsThumbnailShowRating": {},
- "settingsThumbnailShowRawIcon": "மூல ஐகானைக் காட்டு",
+ "settingsThumbnailShowRawIcon": "மூல படவுருவைக் காட்டு",
"@settingsThumbnailShowRawIcon": {},
- "settingsThumbnailShowVideoDuration": "காட்டு ஒளிதோற்றம் duration",
+ "settingsThumbnailShowVideoDuration": "காணொளி காலம் காட்டு",
"@settingsThumbnailShowVideoDuration": {},
"settingsCollectionQuickActionsTile": "விரைவான செயல்கள்",
"@settingsCollectionQuickActionsTile": {},
@@ -499,21 +499,21 @@
"@settingsCollectionQuickActionTabBrowsing": {},
"settingsCollectionQuickActionTabSelecting": "தேர்ந்தெடுப்பது",
"@settingsCollectionQuickActionTabSelecting": {},
- "settingsCollectionBrowsingQuickActionEditorBanner": "பொத்தான்களை நகர்த்தவும், உருப்படிகளை உலாவும்போது எந்த நடவடிக்கைகள் காண்பிக்கப்படுகின்றன என்பதைத் தேர்ந்தெடுக்கவும்.",
+ "settingsCollectionBrowsingQuickActionEditorBanner": "பொத்தான்களை நகர்த்தவும், உருப்படிகளை உலாவும்போது எந்த நடவடிக்கைகள் காண்பிக்கப்படுகின்றன என்பதைத் தேர்ந்தெடு.",
"@settingsCollectionBrowsingQuickActionEditorBanner": {},
"settingsCollectionBurstPatternsNone": "எதுவுமில்லை",
"@settingsCollectionBurstPatternsNone": {},
"settingsViewerSectionTitle": "பார்வையாளர்",
"@settingsViewerSectionTitle": {},
- "settingsCollectionSelectionQuickActionEditorBanner": "பொத்தான்களை நகர்த்தவும், உருப்படிகளைத் தேர்ந்தெடுக்கும்போது எந்த நடவடிக்கைகள் காண்பிக்கப்படுகின்றன என்பதைத் தேர்ந்தெடுக்கவும்.",
+ "settingsCollectionSelectionQuickActionEditorBanner": "பொத்தான்களை நகர்த்தவும், உருப்படிகளைத் தேர்ந்தெடுக்கும்போது எந்த நடவடிக்கைகள் காண்பிக்கப்படுகின்றன என்பதைத் தேர்ந்தெடு.",
"@settingsCollectionSelectionQuickActionEditorBanner": {},
"settingsViewerGestureSideTapNext": "முந்தைய/அடுத்த உருப்படியைக் காட்ட திரை விளிம்புகளில் தட்டு",
"@settingsViewerGestureSideTapNext": {},
- "settingsViewerUseCutout": "கட்அவுட் பகுதியைப் பயன்படுத்தவும்",
+ "settingsViewerUseCutout": "வெட்டு வெளியைப் பயன்படுத்து",
"@settingsViewerUseCutout": {},
"settingsViewerMaximumBrightness": "அதிகபட்ச ஒளி",
"@settingsViewerMaximumBrightness": {},
- "settingsMotionPhotoAutoPlay": "ஆட்டோ பிளே மோசன் புகைப்படங்கள்",
+ "settingsMotionPhotoAutoPlay": "தானியங்கு இயக்கப் புகைப்படங்கள்",
"@settingsMotionPhotoAutoPlay": {},
"settingsImageBackground": "படப் பின்னணி",
"@settingsImageBackground": {},
@@ -523,7 +523,7 @@
"@settingsViewerQuickActionEditorDisplayedButtonsSectionTitle": {},
"settingsViewerQuickActionEditorPageTitle": "விரைவான செயல்கள்",
"@settingsViewerQuickActionEditorPageTitle": {},
- "settingsViewerQuickActionEditorBanner": "பொத்தான்களை நகர்த்தவும், பார்வையாளரில் எந்த நடவடிக்கைகள் காண்பிக்கப்படுகின்றன என்பதைத் தேர்ந்தெடுக்கவும்.",
+ "settingsViewerQuickActionEditorBanner": "பொத்தான்களை நகர்த்தவும், பார்வையாளரில் எந்த நடவடிக்கைகள் காண்பிக்கப்படுகின்றன என்பதைத் தேர்ந்தெடு.",
"@settingsViewerQuickActionEditorBanner": {},
"settingsViewerQuickActionEditorAvailableButtonsSectionTitle": "கிடைக்கும் பொத்தான்கள்",
"@settingsViewerQuickActionEditorAvailableButtonsSectionTitle": {},
@@ -555,15 +555,15 @@
"@settingsSlideshowShuffle": {},
"settingsSlideshowFillScreen": "திரை நிரப்பு",
"@settingsSlideshowFillScreen": {},
- "settingsSlideshowAnimatedZoomEffect": "அசைவூட்டம் சூம் விளைவு",
+ "settingsSlideshowAnimatedZoomEffect": "அசைவூட்டம் மலர்ச்சி விளைவு",
"@settingsSlideshowAnimatedZoomEffect": {},
"settingsSlideshowTransitionTile": "மாற்றம்",
"@settingsSlideshowTransitionTile": {},
"settingsSlideshowIntervalTile": "இடைவேளை",
"@settingsSlideshowIntervalTile": {},
- "settingsSlideshowVideoPlaybackTile": "காணொளி பிளேபேக்",
+ "settingsSlideshowVideoPlaybackTile": "காணொளி மீட்பொலி",
"@settingsSlideshowVideoPlaybackTile": {},
- "settingsSlideshowVideoPlaybackDialogTitle": "காணொளி பிளேபேக்",
+ "settingsSlideshowVideoPlaybackDialogTitle": "காணொளி மீட்பொலி",
"@settingsSlideshowVideoPlaybackDialogTitle": {},
"settingsVideoPageTitle": "காணொளி அமைப்புகள்",
"@settingsVideoPageTitle": {},
@@ -571,7 +571,7 @@
"@settingsVideoSectionTitle": {},
"settingsVideoShowVideos": "காணொளிகளைக் காட்டு",
"@settingsVideoShowVideos": {},
- "settingsVideoPlaybackTile": "பின்னணி",
+ "settingsVideoPlaybackTile": "மீட்பொலி",
"@settingsVideoPlaybackTile": {},
"focalLength": "{length} மிமீ",
"@focalLength": {
@@ -712,9 +712,9 @@
}
}
},
- "statsTopAlbumsSectionTitle": "சிறந்த ஆல்பங்கள்",
+ "statsTopAlbumsSectionTitle": "மேல் தொகுப்புகள்",
"@statsTopAlbumsSectionTitle": {},
- "viewerOpenPanoramaButtonLabel": "திறந்த பனோரமா",
+ "viewerOpenPanoramaButtonLabel": "பனோரமா திற",
"@viewerOpenPanoramaButtonLabel": {},
"viewerErrorUnknown": "அச்சச்சோ!",
"@viewerErrorUnknown": {},
@@ -1345,19 +1345,19 @@
"@editEntryDateDialogExtractFromTitle": {},
"editEntryDateDialogShift": "பெயர்வு",
"@editEntryDateDialogShift": {},
- "settingsVideoAutoPlay": "ஆட்டோ நாடகம்",
+ "settingsVideoAutoPlay": "தானியங்கு",
"@settingsVideoAutoPlay": {},
"settingsVideoLoopModeTile": "சுழல் பயன்முறை",
"@settingsVideoLoopModeTile": {},
- "settingsVideoPlaybackPageTitle": "பின்னணி",
+ "settingsVideoPlaybackPageTitle": "மீட்பொலி",
"@settingsVideoPlaybackPageTitle": {},
"settingsVideoEnableHardwareAcceleration": "வன்பொருள் முடுக்கம்",
"@settingsVideoEnableHardwareAcceleration": {},
"settingsVideoLoopModeDialogTitle": "சுழல் பயன்முறை",
"@settingsVideoLoopModeDialogTitle": {},
- "settingsVideoResumptionModeTile": "பிளேபேக்கை மீண்டும் தொடங்குங்கள்",
+ "settingsVideoResumptionModeTile": "காணொளி மீட்பொலி",
"@settingsVideoResumptionModeTile": {},
- "settingsVideoResumptionModeDialogTitle": "பிளேபேக்கை மீண்டும் தொடங்குங்கள்",
+ "settingsVideoResumptionModeDialogTitle": "மீட்பொலியை மீண்டும் தொடங்கு",
"@settingsVideoResumptionModeDialogTitle": {},
"settingsVideoBackgroundMode": "பின்னணி முறை",
"@settingsVideoBackgroundMode": {},
@@ -1373,7 +1373,7 @@
"@settingsVideoGestureDoubleTapTogglePlay": {},
"settingsVideoGestureSideDoubleTapSeek": "பின்தங்கிய/முன்னோக்கி தேட திரை விளிம்புகளில் இரட்டை தட்டவும்",
"@settingsVideoGestureSideDoubleTapSeek": {},
- "settingsVideoGestureVerticalDragBrightnessVolume": "பிரகாசம்/அளவை சரிசெய்ய மேலே அல்லது கீழே ச்வைப் செய்யவும்",
+ "settingsVideoGestureVerticalDragBrightnessVolume": "பொலிவு/அளவை சரிசெய்ய மேலே அல்லது கீழே தேய்",
"@settingsVideoGestureVerticalDragBrightnessVolume": {},
"settingsSubtitleThemePageTitle": "வசன வரிகள்",
"@settingsSubtitleThemePageTitle": {},
@@ -1389,7 +1389,7 @@
"@settingsSubtitleThemeTextPositionDialogTitle": {},
"settingsSubtitleThemeTextSize": "உரை அளவு",
"@settingsSubtitleThemeTextSize": {},
- "settingsSubtitleThemeShowOutline": "அவுட்லைன் மற்றும் நிழலைக் காட்டுங்கள்",
+ "settingsSubtitleThemeShowOutline": "சுருக்கம் மற்றும் நிழலைக் காட்டுங்கள்",
"@settingsSubtitleThemeShowOutline": {},
"settingsSubtitleThemeTextColor": "உரை நிறம்",
"@settingsSubtitleThemeTextColor": {},
@@ -1411,7 +1411,7 @@
"@settingsAllowInstalledAppAccess": {},
"settingsAllowInstalledAppAccessSubtitle": "தொகுப்புக் காட்சியை மேம்படுத்தப் பயன்படுகிறது",
"@settingsAllowInstalledAppAccessSubtitle": {},
- "settingsAllowErrorReporting": "அநாமதேய பிழை அறிக்கையை அனுமதி",
+ "settingsAllowErrorReporting": "பெயரிலி பிழை அறிக்கையை அனுமதி",
"@settingsAllowErrorReporting": {},
"settingsSaveSearchHistory": "தேடல் வரலாற்றைச் சேமி",
"@settingsSaveSearchHistory": {},
@@ -1439,7 +1439,7 @@
"@settingsStorageAccessBanner": {},
"settingsStorageAccessEmpty": "அணுகல் மானியங்கள் இல்லை",
"@settingsStorageAccessEmpty": {},
- "settingsStorageAccessRevokeTooltip": "ரத்து செய்யுங்கள்",
+ "settingsStorageAccessRevokeTooltip": "திரும்பப்பெறு",
"@settingsStorageAccessRevokeTooltip": {},
"settingsAccessibilitySectionTitle": "அணுகுதிறன்",
"@settingsAccessibilitySectionTitle": {},
@@ -1465,43 +1465,43 @@
"@settingsDisplayRefreshRateModeTile": {},
"settingsDisplayRefreshRateModeDialogTitle": "புதுப்பிப்பு வீதம்",
"@settingsDisplayRefreshRateModeDialogTitle": {},
- "settingsDisplayUseTvInterface": "ஆண்ட்ராய்டு டிவி இடைமுகம்",
+ "settingsDisplayUseTvInterface": "ஆண்ட்ராய்டு தொலைகாட்சி இடைமுகம்",
"@settingsDisplayUseTvInterface": {},
"settingsLanguageSectionTitle": "மொழி & வடிவங்கள்",
"@settingsLanguageSectionTitle": {},
"settingsLanguagePageTitle": "மொழி",
"@settingsLanguagePageTitle": {},
- "settingsCoordinateFormatTile": "ஒருங்கிணைப்பு வடிவம்",
+ "settingsCoordinateFormatTile": "ஆய வடிவம்",
"@settingsCoordinateFormatTile": {},
- "settingsCoordinateFormatDialogTitle": "ஒருங்கிணைப்பு வடிவம்",
+ "settingsCoordinateFormatDialogTitle": "ஆய வடிவம்",
"@settingsCoordinateFormatDialogTitle": {},
"settingsUnitSystemTile": "அலகுகள்",
"@settingsUnitSystemTile": {},
"settingsUnitSystemDialogTitle": "அலகுகள்",
"@settingsUnitSystemDialogTitle": {},
- "settingsForceWesternArabicNumeralsTile": "அரபு எண்களை கட்டாயப்படுத்துங்கள்",
+ "settingsForceWesternArabicNumeralsTile": "அரபு எண்களைக் கட்டாயப்படுத்துங்கள்",
"@settingsForceWesternArabicNumeralsTile": {},
- "settingsScreenSaverPageTitle": "திரை சேவர்",
+ "settingsScreenSaverPageTitle": "திரை சேமிப்பான்",
"@settingsScreenSaverPageTitle": {},
"settingsWidgetPageTitle": "புகைப்பட சட்டகம்",
"@settingsWidgetPageTitle": {},
- "settingsWidgetShowOutline": "அவுட்லைன்",
+ "settingsWidgetShowOutline": "சுருக்கம்",
"@settingsWidgetShowOutline": {},
- "settingsWidgetOpenPage": "விட்செட்டில் தட்டும்போது",
+ "settingsWidgetOpenPage": "நிரல் பலகையில் தட்டும்போது",
"@settingsWidgetOpenPage": {},
"settingsWidgetDisplayedItem": "காட்டப்பட்ட உருப்படி",
"@settingsWidgetDisplayedItem": {},
"settingsCollectionTile": "சேகரிப்பு",
"@settingsCollectionTile": {},
- "statsTopPlacesSectionTitle": "சிறந்த இடங்கள்",
+ "statsTopPlacesSectionTitle": "மேல் இடங்கள்",
"@statsTopPlacesSectionTitle": {},
- "statsTopCountriesSectionTitle": "சிறந்த நாடுகள்",
+ "statsTopCountriesSectionTitle": "மேல் நாடுகள்",
"@statsTopCountriesSectionTitle": {},
- "statsTopStatesSectionTitle": "சிறந்த மாநிலங்கள்",
+ "statsTopStatesSectionTitle": "மேல் மாநிலங்கள்",
"@statsTopStatesSectionTitle": {},
- "statsTopTagsSectionTitle": "சிறந்த குறிச்சொற்கள்",
+ "statsTopTagsSectionTitle": "மேல் குறிச்சொற்கள்",
"@statsTopTagsSectionTitle": {},
- "viewerSetWallpaperButtonLabel": "வால்பேப்பரை அமைக்கவும்",
+ "viewerSetWallpaperButtonLabel": "சுவர்த்தாளை அமை",
"@viewerSetWallpaperButtonLabel": {},
"viewerErrorDoesNotExist": "கோப்பு இனி இல்லை.",
"@viewerErrorDoesNotExist": {},
@@ -1519,9 +1519,9 @@
"@viewerInfoPageTitle": {},
"viewerInfoBackToViewerTooltip": "பார்வையாளருக்குத் திரும்பு",
"@viewerInfoBackToViewerTooltip": {},
- "viewerInfoUnknown": "தெரியவில்லை",
+ "viewerInfoUnknown": "தெரியாத",
"@viewerInfoUnknown": {},
- "viewerInfoLabelUri": "யூரி",
+ "viewerInfoLabelUri": "இணையமுகவரி",
"@viewerInfoLabelUri": {},
"viewerInfoLabelPath": "பாதை",
"@viewerInfoLabelPath": {},
@@ -1529,17 +1529,17 @@
"@viewerInfoLabelDuration": {},
"viewerInfoLabelOwner": "உரிமையாளர்",
"@viewerInfoLabelOwner": {},
- "viewerInfoLabelCoordinates": "ஒருங்கிணைப்புகள்",
+ "viewerInfoLabelCoordinates": "அச்சுத்தூரங்கள்",
"@viewerInfoLabelCoordinates": {},
"viewerInfoLabelAddress": "முகவரி",
"@viewerInfoLabelAddress": {},
"mapStyleDialogTitle": "வரைபட நடை",
"@mapStyleDialogTitle": {},
- "mapStyleTooltip": "வரைபட பாணியைத் தேர்ந்தெடுக்கவும்",
+ "mapStyleTooltip": "வரைபட பாணியைத் தேர்ந்தெடு",
"@mapStyleTooltip": {},
"mapZoomOutTooltip": "சிறிதாக்கு",
"@mapZoomOutTooltip": {},
- "mapPointNorthUpTooltip": "வடக்கே சுட்டிக்காட்டவும்",
+ "mapPointNorthUpTooltip": "வடக்கு மேலே காட்டு",
"@mapPointNorthUpTooltip": {},
"mapAttributionOsmData": "வரைபட தரவு © [OpenStreetMap](https://www.openstreetmap.org/copyright) பங்களிப்பாளர்கள்",
"@mapAttributionOsmData": {},
@@ -1551,29 +1551,29 @@
"@mapAttributionOsmHot": {},
"mapAttributionStamen": "[Stamen Design](https://stamen.com) மூலம் ஓடுகள், [CC BY 3.0](https://creativecommons.org/licenses/by/3.0)",
"@mapAttributionStamen": {},
- "mapEmptyRegion": "இந்த பிராந்தியத்தில் படங்கள் இல்லை",
+ "mapEmptyRegion": "இந்தப் வட்டாரத்தில் படங்கள் இல்லை",
"@mapEmptyRegion": {},
"viewerInfoOpenEmbeddedFailureFeedback": "உட்பொதிக்கப்பட்ட தரவைப் பிரித்தெடுப்பதில் தோல்வி",
"@viewerInfoOpenEmbeddedFailureFeedback": {},
"viewerInfoOpenLinkText": "திற",
"@viewerInfoOpenLinkText": {},
- "viewerInfoViewXmlLinkText": "எக்ச்எம்எல் காண்க",
+ "viewerInfoViewXmlLinkText": "நீகுமொ காண்க",
"@viewerInfoViewXmlLinkText": {},
- "viewerInfoSearchFieldLabel": "மெட்டாடேட்டாவைத் தேடுங்கள்",
+ "viewerInfoSearchFieldLabel": "மேனிலை தரவைத் தேடு",
"@viewerInfoSearchFieldLabel": {},
- "viewerInfoSearchEmpty": "பொருந்தக்கூடிய விசைகள் இல்லை",
+ "viewerInfoSearchEmpty": "பொருந்தக்கூடிய திறவுகோல்கள் இல்லை",
"@viewerInfoSearchEmpty": {},
"viewerInfoSearchSuggestionResolution": "பகுத்தல்",
"@viewerInfoSearchSuggestionResolution": {},
"viewerInfoSearchSuggestionRights": "உரிமைகள்",
"@viewerInfoSearchSuggestionRights": {},
- "wallpaperUseScrollEffect": "முகப்புத் திரையில் உருள் விளைவைப் பயன்படுத்தவும்",
+ "wallpaperUseScrollEffect": "முகப்புத் திரையில் உருள் விளைவைப் பயன்படுத்து",
"@wallpaperUseScrollEffect": {},
"tagEditorPageTitle": "குறிச்சொற்களைத் திருத்து",
"@tagEditorPageTitle": {},
"tagEditorPageNewTagFieldLabel": "புதிய குறிச்சொல்",
"@tagEditorPageNewTagFieldLabel": {},
- "tagEditorPageAddTagTooltip": "குறிச்சொல்லைச் சேர்க்கவும்",
+ "tagEditorPageAddTagTooltip": "குறிச்சொல்லைச் சேர்",
"@tagEditorPageAddTagTooltip": {},
"tagEditorSectionRecent": "அண்மைக் கால",
"@tagEditorSectionRecent": {},
@@ -1587,9 +1587,9 @@
"@tagPlaceholderState": {},
"tagPlaceholderPlace": "இடம்",
"@tagPlaceholderPlace": {},
- "panoramaEnableSensorControl": "சென்சார் கட்டுப்பாட்டை இயக்கவும்",
+ "panoramaEnableSensorControl": "உணரி கட்டுப்பாட்டை இயக்கு",
"@panoramaEnableSensorControl": {},
- "panoramaDisableSensorControl": "சென்சார் கட்டுப்பாட்டை முடக்கு",
+ "panoramaDisableSensorControl": "உணரி கட்டுப்பாட்டை முடக்கு",
"@panoramaDisableSensorControl": {},
"sourceViewerPageTitle": "மூலம்",
"@sourceViewerPageTitle": {},
@@ -1601,6 +1601,6 @@
"@filePickerOpenFrom": {},
"filePickerNoItems": "உருப்படிகள் இல்லை",
"@filePickerNoItems": {},
- "filePickerUseThisFolder": "இந்த கோப்புறையைப் பயன்படுத்தவும்",
+ "filePickerUseThisFolder": "இந்தக் கோப்புறையைப் பயன்படுத்து",
"@filePickerUseThisFolder": {}
}
diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb
index f01bcd4bd..ea3ac247d 100644
--- a/lib/l10n/app_uk.arb
+++ b/lib/l10n/app_uk.arb
@@ -1562,5 +1562,7 @@
"collectionActionAddDynamicAlbum": "Додати динамічний альбом",
"@collectionActionAddDynamicAlbum": {},
"appExportDynamicAlbums": "Динамічні альбоми",
- "@appExportDynamicAlbums": {}
+ "@appExportDynamicAlbums": {},
+ "chipActionDecompose": "Спліт",
+ "@chipActionDecompose": {}
}
diff --git a/lib/l10n/app_vi.arb b/lib/l10n/app_vi.arb
index ec82c7aef..c370c4ee9 100644
--- a/lib/l10n/app_vi.arb
+++ b/lib/l10n/app_vi.arb
@@ -1544,5 +1544,23 @@
"sortOrderLongestFirst": "Dài nhất trước",
"@sortOrderLongestFirst": {},
"mapAttributionOsmLiberty": "Cung cấp bởi [OpenMapTiles](https://www.openmaptiles.org/), [CC BY](http://creativecommons.org/licenses/by/4.0) • Được lưu trữ bởi [OSM Americana](https://tile.ourmap.us)",
- "@mapAttributionOsmLiberty": {}
+ "@mapAttributionOsmLiberty": {},
+ "videoActionShowPreviousFrame": "Hiển thị khung hình trước đó",
+ "@videoActionShowPreviousFrame": {},
+ "chipActionRemove": "Loại bỏ",
+ "@chipActionRemove": {},
+ "albumTierDynamic": "Động",
+ "@albumTierDynamic": {},
+ "newAlbumDialogAlbumAlreadyExistsHelper": "Album đã tồn tại",
+ "@newAlbumDialogAlbumAlreadyExistsHelper": {},
+ "dynamicAlbumAlreadyExists": "Album động đã tồn tại",
+ "@dynamicAlbumAlreadyExists": {},
+ "collectionActionAddDynamicAlbum": "Thêm album động",
+ "@collectionActionAddDynamicAlbum": {},
+ "appExportDynamicAlbums": "Album động",
+ "@appExportDynamicAlbums": {},
+ "videoActionShowNextFrame": "Hiển thị khung hình tiếp theo",
+ "@videoActionShowNextFrame": {},
+ "newDynamicAlbumDialogTitle": "Album động mới",
+ "@newDynamicAlbumDialogTitle": {}
}
diff --git a/lib/model/app/contributors.dart b/lib/model/app/contributors.dart
index a73d919b6..6d20f337d 100644
--- a/lib/model/app/contributors.dart
+++ b/lib/model/app/contributors.dart
@@ -27,7 +27,7 @@ class Contributors {
Contributor('Oğuz Ersen', 'oguz@ersen.moe'),
Contributor('Allan Nordhøy', 'epost@anotheragency.no'),
Contributor('pemibe', 'pemibe4634@dmonies.com'),
- Contributor('Linerly', 'linerly@protonmail.com'),
+ Contributor('Linerly', 'linerly@proton.me'),
Contributor('Skrripy', 'rozihrash.ya6w7@simplelogin.com'),
Contributor('vesp', 'vesp@post.cz'),
Contributor('Dan', 'denqwerta@gmail.com'),
@@ -117,14 +117,17 @@ class Contributors {
Contributor('Petrov', 'i_v_c@mail.ru'),
Contributor('தமிழ்நேரம்', 'anishprabu.t@gmail.com'),
Contributor('bovirus', 'roberto.boriotti@canon.it'),
- Contributor('Максим Горпиніч', 'mgorpinic2005@gmail.com'),
+ Contributor('Максим Горпиніч', 'maksimgorpinic2005a@gmail.com'),
Contributor('Priit Jõerüüt', 'hwlate@joeruut.com'),
+ Contributor('Dr Hieu', 'v7pvas7m@anonaddy.com'),
+ Contributor('Saúl Palacios', 'palacios22c@gmail.com'),
+ Contributor('Grooty12', 'Rasmus@rosendahl-kaa.name'),
+ Contributor('Victor M', 'victormorita@tuta.io'),
+ Contributor('cat', 'catsnote@proton.me'),
// Contributor('Femini', 'nizamismidov4@gmail.com'), // Azerbaijani
// Contributor('Alvi Khan', 'aveenalvi@gmail.com'), // Bengali
// Contributor('Htet Oo Hlaing', 'htetoh2006@outlook.com'), // Burmese
// Contributor('Khant', 'khant@users.noreply.hosted.weblate.org'), // Burmese
- // Contributor('Grooty12', 'Rasmus@rosendahl-kaa.name'), // Danish
- // Contributor('Victor M', 'victormorita@tuta.io'), // Danish
// Contributor('Åzze', 'laitinen.jere222@gmail.com'), // Finnish
// Contributor('Olli', 'ollinen@ollit.dev'), // Finnish
// Contributor('Idj', 'joneltmp+goahn@gmail.com'), // Hebrew
diff --git a/lib/model/filters/set_and.dart b/lib/model/filters/set_and.dart
index ca4aea296..225bb2689 100644
--- a/lib/model/filters/set_and.dart
+++ b/lib/model/filters/set_and.dart
@@ -18,6 +18,8 @@ class SetAndFilter extends CollectionFilter {
CollectionFilter get _first => _filters.first;
+ Set get innerFilters => _filters.toSet();
+
SetAndFilter(Set filters, {super.reversed = false}) {
_filters = filters.toList().sorted();
_test = (entry) => _filters.every((v) => v.test(entry));
diff --git a/lib/model/source/collection_lens.dart b/lib/model/source/collection_lens.dart
index 81d3bed0d..c77ddfef4 100644
--- a/lib/model/source/collection_lens.dart
+++ b/lib/model/source/collection_lens.dart
@@ -167,10 +167,12 @@ class CollectionLens with ChangeNotifier {
}
}
- void addFilter(CollectionFilter filter) {
- if (filters.contains(filter)) return;
- filters.removeWhere((other) => !filter.isCompatible(other));
- filters.add(filter);
+ void addFilters(Set newFilters) {
+ if (filters.containsAll(newFilters)) return;
+ for (final filter in newFilters) {
+ filters.removeWhere((other) => !filter.isCompatible(other));
+ }
+ filters.addAll(newFilters);
_onFilterChanged();
}
diff --git a/lib/model/source/collection_source.dart b/lib/model/source/collection_source.dart
index 2efcd06ed..405c979b2 100644
--- a/lib/model/source/collection_source.dart
+++ b/lib/model/source/collection_source.dart
@@ -493,17 +493,13 @@ abstract class CollectionSource with SourceBase, AlbumMixin, CountryMixin, Place
// cataloguing
if (!startAnalysisService) {
final opCount = (force ? todoEntries : todoEntries.where(TagMixin.catalogEntriesTest)).length;
- if (opCount > TagMixin.commitCountThreshold) {
- startAnalysisService = true;
- }
+ startAnalysisService = opCount > TagMixin.commitCountThreshold;
}
// ignore locating countries
// locating places
if (!startAnalysisService && await availability.canLocatePlaces) {
final opCount = (force ? todoEntries.where((entry) => entry.hasGps) : todoEntries.where(LocationMixin.locatePlacesTest)).length;
- if (opCount > LocationMixin.commitCountThreshold) {
- startAnalysisService = true;
- }
+ startAnalysisService = opCount > LocationMixin.commitCountThreshold;
}
}
diff --git a/lib/model/source/media_store_source.dart b/lib/model/source/media_store_source.dart
index 83751b84d..0d2cf9b98 100644
--- a/lib/model/source/media_store_source.dart
+++ b/lib/model/source/media_store_source.dart
@@ -65,7 +65,7 @@ class MediaStoreSource extends CollectionSource {
final deviceOffset = DateTime.now().timeZoneOffset.inMilliseconds;
final catalogOffset = settings.catalogTimeZoneOffsetMillis;
if (deviceOffset != catalogOffset) {
- unawaited(reportService.recordError('Time zone offset change: $catalogOffset -> $deviceOffset. Clear catalog metadata to get correct date/times.'));
+ unawaited(reportService.log('Time zone offset change: $catalogOffset -> $deviceOffset. Clear catalog metadata to get correct date/times.'));
await localMediaDb.clearDates();
await localMediaDb.clearCatalogMetadata();
settings.catalogTimeZoneOffsetMillis = deviceOffset;
diff --git a/lib/theme/icons.dart b/lib/theme/icons.dart
index 031788e88..25aa0b918 100644
--- a/lib/theme/icons.dart
+++ b/lib/theme/icons.dart
@@ -145,6 +145,7 @@ class AIcons {
static final showFullscreenArrows = MdiIcons.arrowExpand;
static const showFullscreenCorners = Icons.fullscreen_outlined;
static const slideshow = Icons.slideshow_outlined;
+ static const split = Icons.call_split_outlined;
static const stats = Icons.donut_small_outlined;
static const vaultLock = Icons.lock_outlined;
static const vaultAdd = Icons.enhanced_encryption_outlined;
diff --git a/lib/view/src/actions/chip.dart b/lib/view/src/actions/chip.dart
index 75b0f5ed6..03afd4455 100644
--- a/lib/view/src/actions/chip.dart
+++ b/lib/view/src/actions/chip.dart
@@ -16,6 +16,7 @@ extension ExtraChipActionView on ChipAction {
ChipAction.ratingOrLower =>
// different data depending on state
toString(),
+ ChipAction.decompose => l10n.chipActionDecompose,
ChipAction.reverse =>
// different data depending on state
l10n.chipActionFilterOut,
@@ -33,6 +34,7 @@ extension ExtraChipActionView on ChipAction {
ChipAction.goToTagPage => AIcons.tag,
ChipAction.goToExplorerPage => AIcons.explorer,
ChipAction.ratingOrGreater || ChipAction.ratingOrLower => AIcons.rating,
+ ChipAction.decompose => AIcons.split,
ChipAction.reverse => AIcons.reverse,
ChipAction.hide => AIcons.hide,
ChipAction.lockVault => AIcons.vaultLock,
diff --git a/lib/widgets/aves_app.dart b/lib/widgets/aves_app.dart
index fa7eec2b0..e574d93d5 100644
--- a/lib/widgets/aves_app.dart
+++ b/lib/widgets/aves_app.dart
@@ -67,7 +67,6 @@ class AvesApp extends StatefulWidget {
'az', // Azerbaijani
'bn', // Bengali
'ckb', // Kurdish (Central)
- 'da', // Danish
'fi', // Finnish
'gl', // Galician
'he', // Hebrew
@@ -203,7 +202,10 @@ class _AvesAppState extends State with WidgetsBindingObserver {
_subscriptions.add(_errorChannel.receiveBroadcastStream().listen((event) => _onError(event as String?)));
_updateCutoutInsets();
_appModeNotifier.addListener(_onAppModeChanged);
+
+ debugPrint('start listening to app lifecycle');
WidgetsBinding.instance.addObserver(this);
+ AvesApp.lifecycleStateNotifier.value = WidgetsBinding.instance.lifecycleState ?? AppLifecycleState.detached;
}
@override
@@ -211,7 +213,10 @@ class _AvesAppState extends State with WidgetsBindingObserver {
_subscriptions
..forEach((sub) => sub.cancel())
..clear();
+
+ debugPrint('stop listening to app lifecycle');
WidgetsBinding.instance.removeObserver(this);
+
_pageTransitionsBuilderNotifier.dispose();
_tvMediaQueryModifierNotifier.dispose();
_appModeNotifier.dispose();
diff --git a/lib/widgets/collection/app_bar.dart b/lib/widgets/collection/app_bar.dart
index 89f921856..8946e9504 100644
--- a/lib/widgets/collection/app_bar.dart
+++ b/lib/widgets/collection/app_bar.dart
@@ -3,8 +3,10 @@ import 'dart:math';
import 'package:aves/app_mode.dart';
import 'package:aves/model/entry/entry.dart';
+import 'package:aves/model/filters/covered/dynamic_album.dart';
import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/filters/query.dart';
+import 'package:aves/model/filters/set_and.dart';
import 'package:aves/model/filters/trash.dart';
import 'package:aves/model/query.dart';
import 'package:aves/model/selection.dart';
@@ -33,8 +35,8 @@ import 'package:aves/widgets/common/identity/buttons/captioned_button.dart';
import 'package:aves/widgets/common/search/route.dart';
import 'package:aves/widgets/common/tile_extent_controller.dart';
import 'package:aves/widgets/dialogs/tile_view_dialog.dart';
-import 'package:aves/widgets/filter_grids/common/action_delegates/chip.dart';
import 'package:aves/widgets/search/search_delegate.dart';
+import 'package:aves/widgets/viewer/controls/notifications.dart';
import 'package:aves_model/aves_model.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
@@ -199,10 +201,22 @@ class _CollectionAppBarState extends State with SingleTickerPr
),
),
if (showFilterBar)
- NotificationListener(
+ NotificationListener(
onNotification: (notification) {
- collection.addFilter(notification.filter);
- return true;
+ if (notification is SelectFilterNotification) {
+ collection.addFilters({notification.filter});
+ return true;
+ } else if (notification is DecomposeFilterNotification) {
+ final filter = notification.filter;
+ if (filter is DynamicAlbumFilter) {
+ final innerFilter = filter.filter;
+ final newFilters = innerFilter is SetAndFilter ? innerFilter.innerFilters : {innerFilter};
+ collection.addFilters(newFilters);
+ collection.removeFilter(filter);
+ return true;
+ }
+ }
+ return false;
},
child: FilterBar(
filters: visibleFilters,
diff --git a/lib/widgets/common/identity/aves_filter_chip.dart b/lib/widgets/common/identity/aves_filter_chip.dart
index 4e33ce13c..e9c9ddd35 100644
--- a/lib/widgets/common/identity/aves_filter_chip.dart
+++ b/lib/widgets/common/identity/aves_filter_chip.dart
@@ -3,12 +3,8 @@ import 'dart:math';
import 'package:aves/app_mode.dart';
import 'package:aves/model/covers.dart';
-import 'package:aves/model/filters/covered/stored_album.dart';
import 'package:aves/model/filters/filters.dart';
-import 'package:aves/model/filters/covered/location.dart';
-import 'package:aves/model/filters/path.dart';
import 'package:aves/model/filters/rating.dart';
-import 'package:aves/model/filters/covered/tag.dart';
import 'package:aves/model/settings/enums/accessibility_animations.dart';
import 'package:aves/model/settings/settings.dart';
import 'package:aves/theme/colors.dart';
@@ -101,21 +97,6 @@ class AvesFilterChip extends StatefulWidget {
static Future showDefaultLongPressMenu(BuildContext context, CollectionFilter filter, Offset tapPosition) async {
if (context.read>().value.canNavigate) {
- final actions = [
- if (filter is AlbumBaseFilter) ChipAction.goToAlbumPage,
- if (filter is StoredAlbumFilter || filter is PathFilter) ChipAction.goToExplorerPage,
- if ((filter is LocationFilter && filter.level == LocationLevel.country)) ChipAction.goToCountryPage,
- if ((filter is LocationFilter && filter.level == LocationLevel.place)) ChipAction.goToPlacePage,
- if (filter is TagFilter) ChipAction.goToTagPage,
- if (filter is RatingFilter && 1 < filter.rating && filter.rating < 5) ...[
- if (filter.op != RatingFilter.opOrGreater) ChipAction.ratingOrGreater,
- if (filter.op != RatingFilter.opOrLower) ChipAction.ratingOrLower,
- ],
- ChipAction.reverse,
- ChipAction.hide,
- ChipAction.lockVault,
- ];
-
// remove focus, if any, to prevent the keyboard from showing up
// after the user is done with the popup menu
FocusManager.instance.primaryFocus?.unfocus();
@@ -132,7 +113,7 @@ class AvesFilterChip extends StatefulWidget {
child: Text(filter.getLabel(context)),
),
const PopupMenuDivider(),
- ...actions.where((action) => actionDelegate.isVisible(action, filter: filter)).map((action) {
+ ...ChipAction.values.where((action) => actionDelegate.isVisible(action, filter: filter)).map((action) {
late String text;
switch (action) {
case ChipAction.reverse:
diff --git a/lib/widgets/common/map/buttons/coordinate_filter.dart b/lib/widgets/common/map/buttons/coordinate_filter.dart
index df2f3661b..80405f34c 100644
--- a/lib/widgets/common/map/buttons/coordinate_filter.dart
+++ b/lib/widgets/common/map/buttons/coordinate_filter.dart
@@ -92,7 +92,7 @@ class _OverlayCoordinateFilterChipState extends State FilterSelectedNotification(CoordinateFilter(bounds.sw, bounds.ne)).dispatch(context),
+ onTap: (filter) => SelectFilterNotification(CoordinateFilter(bounds.sw, bounds.ne)).dispatch(context),
),
),
);
diff --git a/lib/widgets/explorer/explorer_action_delegate.dart b/lib/widgets/explorer/explorer_action_delegate.dart
index f97a8438f..3d8641c69 100644
--- a/lib/widgets/explorer/explorer_action_delegate.dart
+++ b/lib/widgets/explorer/explorer_action_delegate.dart
@@ -97,7 +97,12 @@ class ExplorerActionDelegate with FeedbackMixin {
}
void _hide(BuildContext context) {
- ChipActionDelegate().onActionSelected(context, _getPathFilter(), ChipAction.hide);
+ final chipActionDelegate = ChipActionDelegate();
+ const action = ChipAction.hide;
+ final pathFilter = _getPathFilter();
+ if (chipActionDelegate.isVisible(action, filter: pathFilter)) {
+ chipActionDelegate.onActionSelected(context, pathFilter, action);
+ }
}
void _goToStats(BuildContext context) {
diff --git a/lib/widgets/filter_grids/common/action_delegates/chip.dart b/lib/widgets/filter_grids/common/action_delegates/chip.dart
index 7f05b7fb5..c250ee3ee 100644
--- a/lib/widgets/filter_grids/common/action_delegates/chip.dart
+++ b/lib/widgets/filter_grids/common/action_delegates/chip.dart
@@ -1,4 +1,7 @@
+import 'package:aves/model/filters/covered/dynamic_album.dart';
+import 'package:aves/model/filters/covered/location.dart';
import 'package:aves/model/filters/covered/stored_album.dart';
+import 'package:aves/model/filters/covered/tag.dart';
import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/filters/path.dart';
import 'package:aves/model/filters/rating.dart';
@@ -15,6 +18,7 @@ import 'package:aves/widgets/filter_grids/albums_page.dart';
import 'package:aves/widgets/filter_grids/countries_page.dart';
import 'package:aves/widgets/filter_grids/places_page.dart';
import 'package:aves/widgets/filter_grids/tags_page.dart';
+import 'package:aves/widgets/viewer/controls/notifications.dart';
import 'package:aves_model/aves_model.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@@ -26,12 +30,21 @@ class ChipActionDelegate with FeedbackMixin, VaultAwareMixin {
}) {
switch (action) {
case ChipAction.goToAlbumPage:
+ return filter is AlbumBaseFilter;
case ChipAction.goToCountryPage:
+ return filter is LocationFilter && filter.level == LocationLevel.country;
case ChipAction.goToPlacePage:
+ return filter is LocationFilter && filter.level == LocationLevel.place;
case ChipAction.goToTagPage:
+ return filter is TagFilter;
case ChipAction.goToExplorerPage:
+ return filter is StoredAlbumFilter || filter is PathFilter;
case ChipAction.ratingOrGreater:
+ return filter is RatingFilter && 1 < filter.rating && filter.rating < 5 && filter.op != RatingFilter.opOrGreater;
case ChipAction.ratingOrLower:
+ return filter is RatingFilter && 1 < filter.rating && filter.rating < 5 && filter.op != RatingFilter.opOrLower;
+ case ChipAction.decompose:
+ return filter is DynamicAlbumFilter;
case ChipAction.reverse:
return true;
case ChipAction.hide:
@@ -69,11 +82,13 @@ class ChipActionDelegate with FeedbackMixin, VaultAwareMixin {
);
}
case ChipAction.ratingOrGreater:
- FilterNotification((filter as RatingFilter).copyWith(RatingFilter.opOrGreater)).dispatch(context);
+ SelectFilterNotification((filter as RatingFilter).copyWith(RatingFilter.opOrGreater)).dispatch(context);
case ChipAction.ratingOrLower:
- FilterNotification((filter as RatingFilter).copyWith(RatingFilter.opOrLower)).dispatch(context);
+ SelectFilterNotification((filter as RatingFilter).copyWith(RatingFilter.opOrLower)).dispatch(context);
+ case ChipAction.decompose:
+ DecomposeFilterNotification(filter).dispatch(context);
case ChipAction.reverse:
- FilterNotification(filter.reverse()).dispatch(context);
+ SelectFilterNotification(filter.reverse()).dispatch(context);
case ChipAction.hide:
_hide(context, filter);
case ChipAction.lockVault:
@@ -119,10 +134,3 @@ class ChipActionDelegate with FeedbackMixin, VaultAwareMixin {
settings.changeFilterVisibility({filter}, false);
}
}
-
-@immutable
-class FilterNotification extends Notification {
- final CollectionFilter filter;
-
- const FilterNotification(this.filter);
-}
diff --git a/lib/widgets/home_page.dart b/lib/widgets/home_page.dart
index 03a75d7ca..dfc828a07 100644
--- a/lib/widgets/home_page.dart
+++ b/lib/widgets/home_page.dart
@@ -240,7 +240,8 @@ class _HomePageState extends State {
unawaited(AnalysisService.registerCallback());
await reportService.log('Initialize source to view item in directory $directory');
final source = context.read();
- source.canAnalyze = false;
+ // analysis is necessary to display neighbour items when the initial item is a new one
+ source.canAnalyze = true;
await source.init(scope: {StoredAlbumFilter(directory, null)});
}
} else {
diff --git a/lib/widgets/map/map_page.dart b/lib/widgets/map/map_page.dart
index 4d4743f49..0dad07d20 100644
--- a/lib/widgets/map/map_page.dart
+++ b/lib/widgets/map/map_page.dart
@@ -4,8 +4,8 @@ import 'package:aves/app_mode.dart';
import 'package:aves/model/entry/entry.dart';
import 'package:aves/model/entry/extensions/location.dart';
import 'package:aves/model/filters/coordinate.dart';
-import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/filters/covered/location.dart';
+import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/highlight.dart';
import 'package:aves/model/media/geotiff.dart';
import 'package:aves/model/settings/enums/accessibility_animations.dart';
@@ -31,7 +31,6 @@ import 'package:aves/widgets/common/map/map_action_delegate.dart';
import 'package:aves/widgets/common/providers/highlight_info_provider.dart';
import 'package:aves/widgets/common/providers/map_theme_provider.dart';
import 'package:aves/widgets/dialogs/aves_dialog.dart';
-import 'package:aves/widgets/filter_grids/common/action_delegates/chip.dart';
import 'package:aves/widgets/map/scroller.dart';
import 'package:aves/widgets/viewer/controls/notifications.dart';
import 'package:aves/widgets/viewer/entry_viewer_page.dart';
@@ -203,9 +202,7 @@ class _ContentState extends State<_Content> with SingleTickerProviderStateMixin
Widget build(BuildContext context) {
return NotificationListener(
onNotification: (notification) {
- if (notification is FilterSelectedNotification) {
- _goToCollection(notification.filter);
- } else if (notification is FilterNotification) {
+ if (notification is SelectFilterNotification) {
_goToCollection(notification.filter);
} else if (notification is OpenMapAppNotification) {
_openMapApp();
diff --git a/lib/widgets/search/search_delegate.dart b/lib/widgets/search/search_delegate.dart
index d648f4b57..17038b351 100644
--- a/lib/widgets/search/search_delegate.dart
+++ b/lib/widgets/search/search_delegate.dart
@@ -1,16 +1,18 @@
import 'package:aves/model/dynamic_albums.dart';
-import 'package:aves/model/filters/covered/stored_album.dart';
import 'package:aves/model/filters/aspect_ratio.dart';
+import 'package:aves/model/filters/covered/dynamic_album.dart';
+import 'package:aves/model/filters/covered/location.dart';
+import 'package:aves/model/filters/covered/stored_album.dart';
+import 'package:aves/model/filters/covered/tag.dart';
import 'package:aves/model/filters/date.dart';
import 'package:aves/model/filters/favourite.dart';
import 'package:aves/model/filters/filters.dart';
-import 'package:aves/model/filters/covered/location.dart';
import 'package:aves/model/filters/mime.dart';
import 'package:aves/model/filters/missing.dart';
import 'package:aves/model/filters/query.dart';
import 'package:aves/model/filters/rating.dart';
import 'package:aves/model/filters/recent.dart';
-import 'package:aves/model/filters/covered/tag.dart';
+import 'package:aves/model/filters/set_and.dart';
import 'package:aves/model/filters/type.dart';
import 'package:aves/model/settings/settings.dart';
import 'package:aves/model/source/album.dart';
@@ -29,7 +31,7 @@ import 'package:aves/widgets/common/extensions/build_context.dart';
import 'package:aves/widgets/common/identity/aves_filter_chip.dart';
import 'package:aves/widgets/common/search/delegate.dart';
import 'package:aves/widgets/common/search/page.dart';
-import 'package:aves/widgets/filter_grids/common/action_delegates/chip.dart';
+import 'package:aves/widgets/viewer/controls/notifications.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@@ -91,10 +93,21 @@ class CollectionSearchDelegate extends AvesSearchDelegate with FeedbackMixin, Va
final upQuery = query.trim().toUpperCase();
bool containQuery(String s) => s.toUpperCase().contains(upQuery);
return SafeArea(
- child: NotificationListener(
+ child: NotificationListener(
onNotification: (notification) {
- _select(context, notification.filter);
- return true;
+ if (notification is SelectFilterNotification) {
+ _select(context, {notification.filter});
+ return true;
+ } else if (notification is DecomposeFilterNotification) {
+ final filter = notification.filter;
+ if (filter is DynamicAlbumFilter) {
+ final innerFilter = filter.filter;
+ final newFilters = innerFilter is SetAndFilter ? innerFilter.innerFilters : {innerFilter};
+ _select(context, newFilters);
+ return true;
+ }
+ }
+ return false;
},
child: ValueListenableBuilder(
valueListenable: _expandedSectionNotifier,
@@ -159,7 +172,7 @@ class CollectionSearchDelegate extends AvesSearchDelegate with FeedbackMixin, Va
required List filters,
HeroType Function(CollectionFilter filter)? heroTypeBuilder,
}) {
- void onTap(filter) => _select(context, filter is QueryFilter ? QueryFilter(filter.query) : filter);
+ void onTap(filter) => _select(context, {filter is QueryFilter ? QueryFilter(filter.query) : filter});
const onLongPress = AvesFilterChip.showDefaultLongPressMenu;
return title != null
? TitledExpandableFilterRow(
@@ -205,7 +218,7 @@ class CollectionSearchDelegate extends AvesSearchDelegate with FeedbackMixin, Va
source.getStoredAlbumDisplayName(context, album),
))
.where((filter) => containQuery(filter.displayName ?? filter.album)),
- ...dynamicAlbums.all,
+ ...dynamicAlbums.all.where((filter) => containQuery(filter.name)),
]..sort();
return _buildFilterRow(
context: context,
@@ -303,7 +316,7 @@ class CollectionSearchDelegate extends AvesSearchDelegate with FeedbackMixin, Va
// `buildResults` is called in the build phase,
// so we post the call that will filter the collection
// and possibly trigger a rebuild here
- _select(context, _buildQueryFilter(true));
+ _select(context, {_buildQueryFilter(true)});
});
}
return const SizedBox();
@@ -314,29 +327,33 @@ class CollectionSearchDelegate extends AvesSearchDelegate with FeedbackMixin, Va
return cleanQuery.isNotEmpty ? QueryFilter(cleanQuery, colorful: colorful) : null;
}
- Future _select(BuildContext context, CollectionFilter? filter) async {
- if (filter == null) {
+ Future _select(BuildContext context, Set filters) async {
+ final newFilters = filters.nonNulls.toSet();
+ if (newFilters.isEmpty) {
goBack(context);
return;
}
- if (!await unlockFilter(context, filter)) return;
+ for (final filter in newFilters) {
+ if (!await unlockFilter(context, filter)) return;
- if (settings.saveSearchHistory) {
- final history = settings.searchHistory
- ..remove(filter)
- ..insert(0, filter);
- settings.searchHistory = history.take(searchHistoryCount).toList();
+ if (settings.saveSearchHistory) {
+ final history = settings.searchHistory
+ ..remove(filter)
+ ..insert(0, filter);
+ settings.searchHistory = history.take(searchHistoryCount).toList();
+ }
}
+
if (parentCollection != null) {
- _applyToParentCollectionPage(context, filter);
+ _applyToParentCollectionPage(context, newFilters);
} else {
- _jumpToCollectionPage(context, {filter});
+ _jumpToCollectionPage(context, newFilters);
}
}
- void _applyToParentCollectionPage(BuildContext context, CollectionFilter filter) {
- parentCollection!.addFilter(filter);
+ void _applyToParentCollectionPage(BuildContext context, Set filters) {
+ parentCollection!.addFilters(filters);
if (Navigator.canPop(context)) {
// We delay closing the current page after applying the filter selection
// so that hero animation target is ready in the `FilterBar`,
diff --git a/lib/widgets/settings/language/locales.dart b/lib/widgets/settings/language/locales.dart
index cbcfd9720..bba50e386 100644
--- a/lib/widgets/settings/language/locales.dart
+++ b/lib/widgets/settings/language/locales.dart
@@ -8,6 +8,7 @@ class SupportedLocales {
'bg': 'Български',
'ca': 'Català',
'cs': 'Čeština',
+ 'da': 'Dansk',
'de': 'Deutsch',
'el': 'Ελληνικά',
'en': 'English',
diff --git a/lib/widgets/stats/stats_page.dart b/lib/widgets/stats/stats_page.dart
index 8100e3ce1..64dc0dd92 100644
--- a/lib/widgets/stats/stats_page.dart
+++ b/lib/widgets/stats/stats_page.dart
@@ -1,11 +1,11 @@
import 'dart:async';
import 'package:aves/model/entry/entry.dart';
+import 'package:aves/model/filters/covered/location.dart';
import 'package:aves/model/filters/covered/stored_album.dart';
+import 'package:aves/model/filters/covered/tag.dart';
import 'package:aves/model/filters/filters.dart';
-import 'package:aves/model/filters/covered/location.dart';
import 'package:aves/model/filters/rating.dart';
-import 'package:aves/model/filters/covered/tag.dart';
import 'package:aves/model/settings/settings.dart';
import 'package:aves/model/source/collection_lens.dart';
import 'package:aves/model/source/collection_source.dart';
@@ -24,11 +24,11 @@ import 'package:aves/widgets/common/extensions/build_context.dart';
import 'package:aves/widgets/common/extensions/media_query.dart';
import 'package:aves/widgets/common/identity/aves_filter_chip.dart';
import 'package:aves/widgets/common/identity/empty.dart';
-import 'package:aves/widgets/filter_grids/common/action_delegates/chip.dart';
import 'package:aves/widgets/stats/date/histogram.dart';
import 'package:aves/widgets/stats/filter_table.dart';
import 'package:aves/widgets/stats/mime_donut.dart';
import 'package:aves/widgets/stats/percent_text.dart';
+import 'package:aves/widgets/viewer/controls/notifications.dart';
import 'package:collection/collection.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
@@ -172,7 +172,7 @@ class _StatsPageState extends State with FeedbackMixin, VaultAwareMix
],
),
);
- child = NotificationListener(
+ child = NotificationListener(
onNotification: (notification) {
_onFilterSelection(context, notification.filter);
return true;
@@ -336,7 +336,7 @@ class _StatsPageState extends State with FeedbackMixin, VaultAwareMix
}
void _applyToParentCollectionPage(BuildContext context, CollectionFilter filter) {
- widget.parentCollection!.addFilter(filter);
+ widget.parentCollection!.addFilters({filter});
// We delay closing the current page after applying the filter selection
// so that hero animation target is ready in the `FilterBar`,
// even when the target is a child of an `AnimatedList`.
@@ -384,7 +384,7 @@ class StatsTopPage extends StatelessWidget {
child: SafeArea(
bottom: false,
child: Builder(builder: (context) {
- return NotificationListener(
+ return NotificationListener(
onNotification: (notification) {
onFilterSelection(notification.filter);
return true;
diff --git a/lib/widgets/viewer/controls/notifications.dart b/lib/widgets/viewer/controls/notifications.dart
index ab9c78fa3..29ac67f68 100644
--- a/lib/widgets/viewer/controls/notifications.dart
+++ b/lib/widgets/viewer/controls/notifications.dart
@@ -89,13 +89,23 @@ class CastNotification extends Notification with EquatableMixin {
}
@immutable
-class FilterSelectedNotification extends Notification with EquatableMixin {
+class SelectFilterNotification extends Notification with EquatableMixin {
final CollectionFilter filter;
@override
List