diff --git a/.flutter b/.flutter index dec2ee5c1..17025dd88 160000 --- a/.flutter +++ b/.flutter @@ -1 +1 @@ -Subproject commit dec2ee5c1f98f8e84a7d5380c05eb8a3d0a81668 +Subproject commit 17025dd88227cd9532c33fa78f5250d548d87e9a diff --git a/.github/workflows/quality-check.yml b/.github/workflows/quality-check.yml index d448a848a..a7af2642d 100644 --- a/.github/workflows/quality-check.yml +++ b/.github/workflows/quality-check.yml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Get Flutter packages - run: scripts/pub_get_all.sh + run: ./flutterw pub get - name: Static analysis. run: ./flutterw analyze @@ -59,7 +59,7 @@ jobs: # Building relies on the Android Gradle plugin, # which requires a modern Java version (not the default one). - name: Set up JDK for Android Gradle plugin - uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 + uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0 with: distribution: 'temurin' java-version: '21' @@ -69,7 +69,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@babb554ede22fd5605947329c4d04d8e7a0b8155 # v3.27.7 + uses: github/codeql-action/init@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9 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@babb554ede22fd5605947329c4d04d8e7a0b8155 # v3.27.7 + uses: github/codeql-action/analyze@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9 with: category: "/language:${{matrix.language}}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d647f6cf9..fd8c4b809 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,7 +25,7 @@ jobs: # Building relies on the Android Gradle plugin, # which requires a modern Java version (not the default one). - name: Set up JDK for Android Gradle plugin - uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4.5.0 + uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4.6.0 with: distribution: 'temurin' java-version: '21' @@ -34,7 +34,7 @@ jobs: uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Get Flutter packages - run: scripts/pub_get_all.sh + run: ./flutterw pub get - name: Update Flutter version file run: scripts/update_flutter_version.sh @@ -87,7 +87,7 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} - name: Upload app bundle - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0 with: name: appbundle path: outputs/app-play-release.aab diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index d0a842855..c9c591806 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -63,7 +63,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 + uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4.5.0 with: name: SARIF file path: results.sarif @@ -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@babb554ede22fd5605947329c4d04d8e7a0b8155 # v3.27.7 + uses: github/codeql-action/upload-sarif@df409f7d9260372bd5f19e5b04e83cb3c43714ae # v3.27.9 with: sarif_file: results.sarif diff --git a/CHANGELOG.md b/CHANGELOG.md index c48e6e13d..e6ef22be9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +## [v1.12.0] - 2024-12-19 + +### Added + +- Countries: show states for Mexico +- Estonian translation (thanks Priit Jõerüüt) + +### Changed + +- upgraded Flutter to stable v3.27.1 + +### Fixed + +- crash when loading many new items on low memory devices + ## [v1.11.20] - 2024-12-11 ### Added diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index c12dd891b..c63fb87bf 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -330,9 +330,6 @@ android:name="flutterEmbedding" android:value="2" /> diff --git a/fastlane/metadata/android/en-US/changelogs/140.txt b/fastlane/metadata/android/en-US/changelogs/140.txt new file mode 100644 index 000000000..b028e1e94 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/140.txt @@ -0,0 +1,4 @@ +In v1.12.0: +- save your filtered collection as dynamic albums +- enjoy the app in Tamil, Bulgarian and Estonian +Full changelog available on GitHub \ No newline at end of file diff --git a/fastlane/metadata/android/en-US/changelogs/14001.txt b/fastlane/metadata/android/en-US/changelogs/14001.txt new file mode 100644 index 000000000..b028e1e94 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/14001.txt @@ -0,0 +1,4 @@ +In v1.12.0: +- save your filtered collection as dynamic albums +- enjoy the app in Tamil, Bulgarian and Estonian +Full changelog available on GitHub \ No newline at end of file diff --git a/fastlane/metadata/android/et/images/featureGraphic.png b/fastlane/metadata/android/et/images/featureGraphic.png new file mode 100644 index 000000000..338dc1575 Binary files /dev/null and b/fastlane/metadata/android/et/images/featureGraphic.png differ diff --git a/fastlane/metadata/android/et/images/phoneScreenshots/1.png b/fastlane/metadata/android/et/images/phoneScreenshots/1.png new file mode 100644 index 000000000..cdb408094 Binary files /dev/null and b/fastlane/metadata/android/et/images/phoneScreenshots/1.png differ diff --git a/fastlane/metadata/android/et/images/phoneScreenshots/2.png b/fastlane/metadata/android/et/images/phoneScreenshots/2.png new file mode 100644 index 000000000..e9b0da673 Binary files /dev/null and b/fastlane/metadata/android/et/images/phoneScreenshots/2.png differ diff --git a/fastlane/metadata/android/et/images/phoneScreenshots/3.png b/fastlane/metadata/android/et/images/phoneScreenshots/3.png new file mode 100644 index 000000000..61009e0a1 Binary files /dev/null and b/fastlane/metadata/android/et/images/phoneScreenshots/3.png differ diff --git a/fastlane/metadata/android/et/images/phoneScreenshots/4.png b/fastlane/metadata/android/et/images/phoneScreenshots/4.png new file mode 100644 index 000000000..a2020e1c5 Binary files /dev/null and b/fastlane/metadata/android/et/images/phoneScreenshots/4.png differ diff --git a/fastlane/metadata/android/et/images/phoneScreenshots/5.png b/fastlane/metadata/android/et/images/phoneScreenshots/5.png new file mode 100644 index 000000000..370631de2 Binary files /dev/null and b/fastlane/metadata/android/et/images/phoneScreenshots/5.png differ diff --git a/fastlane/metadata/android/et/images/phoneScreenshots/6.png b/fastlane/metadata/android/et/images/phoneScreenshots/6.png new file mode 100644 index 000000000..9354af38d Binary files /dev/null and b/fastlane/metadata/android/et/images/phoneScreenshots/6.png differ diff --git a/fastlane/metadata/android/et/images/phoneScreenshots/7.png b/fastlane/metadata/android/et/images/phoneScreenshots/7.png new file mode 100644 index 000000000..896863d5b Binary files /dev/null and b/fastlane/metadata/android/et/images/phoneScreenshots/7.png differ diff --git a/fastlane/metadata/android/ta/full_description.txt b/fastlane/metadata/android/ta/full_description.txt index 23a3d6235..ee66172de 100644 --- a/fastlane/metadata/android/ta/full_description.txt +++ b/fastlane/metadata/android/ta/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. +ஏவ்ச் உங்கள் வழக்கமான JPEG கள் மற்றும் MP4 கள் உட்பட அனைத்து வகையான படங்கள் மற்றும் வீடியோக்களைக் கையாள முடியும், ஆனால் பல பக்க டிஐஎஃப்பிஎச், எச்விசிகள், பழைய அவிச் மற்றும் மேலும் போன்ற கவர்ச்சியான விசயங்களையும் கையாள முடியும்! மோசன் புகைப்படங்கள் , பனோரமாச் (புகைப்படக் கோளங்கள்), 360 ° வீடியோக்கள் , அத்துடன் சியோடிஃப் < /b> கோப்புகள். -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. + வழிசெலுத்தல் மற்றும் தேடல் ஏவ்ச் இன் ஒரு முக்கிய பகுதியாகும். பயனர்கள் ஆல்பங்களிலிருந்து புகைப்படங்கள் வரை குறிச்சொற்களுக்கு வரைபடங்கள் போன்றவற்றுக்கு எளிதாக பாய வேண்டும். 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/geo/states.dart b/lib/geo/states.dart index c7b01b3e8..ea7417906 100644 --- a/lib/geo/states.dart +++ b/lib/geo/states.dart @@ -5,12 +5,14 @@ class GeoStates { static final aus = CountryCode.AU.alpha2; static final gbr = CountryCode.GB.alpha2; static final ind = CountryCode.IN.alpha2; + static final mex = CountryCode.MX.alpha2; static final usa = CountryCode.US.alpha2; static final Set stateCountryCodes = { aus, gbr, ind, + mex, usa, }; @@ -18,16 +20,53 @@ class GeoStates { aus: EmojiStateCodes.aus, gbr: EmojiStateCodes.gbr, ind: EmojiStateCodes.ind, + mex: EmojiStateCodes.mex, usa: EmojiStateCodes.usa, }; static const stateCodeByName = { ..._australiaEnglish, ..._indiaEnglish, + ..._mexicoSpanish, ..._unitedKingdomEnglish, ..._unitedStatesEnglish, }; + static const _mexicoSpanish = { + 'Aguascalientes': EmojiStateCodes.mxAguascalientes, + 'Baja California': EmojiStateCodes.mxBajaCalifornia, + 'Baja California Sur': EmojiStateCodes.mxBajaCaliforniaSur, + 'Campeche': EmojiStateCodes.mxCampeche, + 'Chiapas': EmojiStateCodes.mxChiapas, + 'Chihuahua': EmojiStateCodes.mxChihuahua, + 'Ciudad de México': EmojiStateCodes.mxCiudadDeMexico, + 'Coahuila': EmojiStateCodes.mxCoahuila, + 'Colima': EmojiStateCodes.mxColima, + 'Durango': EmojiStateCodes.mxDurango, + 'Guanajuato': EmojiStateCodes.mxGuanajuato, + 'Guerrero': EmojiStateCodes.mxGuerrero, + 'Hidalgo': EmojiStateCodes.mxHidalgo, + 'Jalisco': EmojiStateCodes.mxJalisco, + 'Estado de México': EmojiStateCodes.mxMexicoState, + 'Michoacán': EmojiStateCodes.mxMichoacan, + 'Morelos': EmojiStateCodes.mxMorelos, + 'Nayarit': EmojiStateCodes.mxNayarit, + 'Nuevo León': EmojiStateCodes.mxNuevoLeon, + 'Oaxaca': EmojiStateCodes.mxOaxaca, + 'Puebla': EmojiStateCodes.mxPuebla, + 'Querétaro': EmojiStateCodes.mxQueretaro, + 'Quintana Roo': EmojiStateCodes.mxQuintanaRoo, + 'San Luis Potosí': EmojiStateCodes.mxSanLuisPotosi, + 'Sinaloa': EmojiStateCodes.mxSinaloa, + 'Sonora': EmojiStateCodes.mxSonora, + 'Tabasco': EmojiStateCodes.mxTabasco, + 'Tamaulipas': EmojiStateCodes.mxTamaulipas, + 'Tlaxcala': EmojiStateCodes.mxTlaxcala, + 'Veracruz': EmojiStateCodes.mxVeracruz, + 'Yucatán': EmojiStateCodes.mxYucatan, + 'Zacatecas': EmojiStateCodes.mxZacatecas, + }; + static const _australiaEnglish = { 'Australian Capital Territory': EmojiStateCodes.auAustralianCapitalTerritory, 'New South Wales': EmojiStateCodes.auNewSouthWales, diff --git a/lib/l10n/app_bg.arb b/lib/l10n/app_bg.arb index c2c209d46..d804cfa0e 100644 --- a/lib/l10n/app_bg.arb +++ b/lib/l10n/app_bg.arb @@ -64,7 +64,7 @@ "@setCoverDialogAuto": {}, "hideFilterConfirmationDialogMessage": "Съответстващите снимки и видеоклипове ще бъдат скрити от вашата колекция. Можете да ги покажете отново от настройките „Поверителност“.\n\nСигурни ли сте, че искате да ги скриете?", "@hideFilterConfirmationDialogMessage": {}, - "newVaultWarningDialogMessage": "Елементите в трезорите са достъпни само за това приложение и за никое друго.\n\nАко деинсталирате това приложение или изчистите данните на това приложение, ще загубите всички тези елементи.", + "newVaultWarningDialogMessage": "Елементите в трезорите са достъпни само за това приложение и за никое друго.\n\nАко деинсталирате или изчистите данните на това приложение, ще загубите цялото съдържание на трезора.", "@newVaultWarningDialogMessage": {}, "authenticateToConfigureVault": "Удостоверете се, за да конфигурирате трезора", "@authenticateToConfigureVault": {}, @@ -104,7 +104,7 @@ "@videoStreamSelectionDialogVideo": {}, "menuActionSelect": "Избери", "@menuActionSelect": {}, - "menuActionSelectAll": "Изберете всички", + "menuActionSelectAll": "Избери всички", "@menuActionSelectAll": {}, "menuActionMap": "Карта", "@menuActionMap": {}, @@ -128,7 +128,7 @@ "@collectionPickPageTitle": {}, "collectionActionHideTitleSearch": "Скрий филтъра на заглавието", "@collectionActionHideTitleSearch": {}, - "collectionActionSetHome": "Задай като главен", + "collectionActionSetHome": "Задай като начален", "@collectionActionSetHome": {}, "collectionActionRescan": "Сканирай наново", "@collectionActionRescan": {}, @@ -461,7 +461,7 @@ "@albumTierRegular": {}, "coordinateFormatDms": "Градуси, минути и секунди", "@coordinateFormatDms": {}, - "coordinateFormatDecimal": "Десятични градуси", + "coordinateFormatDecimal": "Десетични градуси", "@coordinateFormatDecimal": {}, "coordinateDms": "{coordinate} {direction}", "@coordinateDms": { @@ -516,7 +516,7 @@ "@nameConflictStrategyRename": {}, "nameConflictStrategySkip": "Пропусни", "@nameConflictStrategySkip": {}, - "overlayHistogramNone": "None", + "overlayHistogramNone": "Нищо", "@overlayHistogramNone": {}, "overlayHistogramLuminance": "Яркост", "@overlayHistogramLuminance": {}, @@ -1047,11 +1047,11 @@ "@appExportFavourites": {}, "appExportSettings": "Настройки", "@appExportSettings": {}, - "settingsHomeTile": "Home", + "settingsHomeTile": "Начален екран", "@settingsHomeTile": {}, - "settingsHomeDialogTitle": "Home", + "settingsHomeDialogTitle": "Начален екран", "@settingsHomeDialogTitle": {}, - "setHomeCustom": "Custom", + "setHomeCustom": "Персонализиран", "@setHomeCustom": {}, "settingsKeepScreenOnTile": "Запази екрана включен", "@settingsKeepScreenOnTile": {}, @@ -1111,7 +1111,7 @@ "@chipActionPin": {}, "doubleBackExitMessage": "Натиснете отново „Назад“, за да излезете.", "@doubleBackExitMessage": {}, - "doNotAskAgain": "Не питайте отново", + "doNotAskAgain": "Не питай отново", "@doNotAskAgain": {}, "sourceStateLocatingCountries": "Местоположение на държави", "@sourceStateLocatingCountries": {}, @@ -1205,9 +1205,9 @@ "@settingsCollectionBurstPatternsTile": {}, "settingsCollectionBurstPatternsNone": "Няма", "@settingsCollectionBurstPatternsNone": {}, - "settingsViewerSectionTitle": "Вюър", + "settingsViewerSectionTitle": "Визуализатор", "@settingsViewerSectionTitle": {}, - "settingsViewerGestureSideTapNext": "Докоснете ръбовете на екрана, за да покажете предишен/следващ елемент", + "settingsViewerGestureSideTapNext": "Докоснете краищата на екрана, за да покажете предишен/следващ елемент", "@settingsViewerGestureSideTapNext": {}, "settingsNavigationDrawerTabAlbums": "Албуми", "@settingsNavigationDrawerTabAlbums": {}, @@ -1491,7 +1491,7 @@ "@viewerErrorUnknown": {}, "viewerInfoPageTitle": "Информация", "@viewerInfoPageTitle": {}, - "viewerInfoBackToViewerTooltip": "Обратно към viewer", + "viewerInfoBackToViewerTooltip": "Обратно към визуализатор", "@viewerInfoBackToViewerTooltip": {}, "viewerInfoUnknown": "Неизвестен", "@viewerInfoUnknown": {}, @@ -1553,7 +1553,7 @@ "@filePickerDoNotShowHiddenFiles": {}, "filePickerOpenFrom": "Отворете от", "@filePickerOpenFrom": {}, - "settingsVideoGestureSideDoubleTapSeek": "Докоснете два пъти краищата на екрана, за да търсите назад/напред", + "settingsVideoGestureSideDoubleTapSeek": "Докоснете два пъти краищата на екрана, за превъртане назад/напред", "@settingsVideoGestureSideDoubleTapSeek": {}, "settingsSaveSearchHistory": "Запазване на историята на търсенето", "@settingsSaveSearchHistory": {}, diff --git a/lib/l10n/app_et.arb b/lib/l10n/app_et.arb index 847939a35..f8c8274cc 100644 --- a/lib/l10n/app_et.arb +++ b/lib/l10n/app_et.arb @@ -479,7 +479,7 @@ "@widgetOpenPageHome": {}, "widgetOpenPageCollection": "Ava kogumik", "@widgetOpenPageCollection": {}, - "widgetOpenPageViewer": "Ava sirvija", + "widgetOpenPageViewer": "Ava pildivaataja", "@widgetOpenPageViewer": {}, "widgetTapUpdateWidget": "Värskenda vidinat", "@widgetTapUpdateWidget": {}, @@ -511,7 +511,7 @@ } } }, - "notEnoughSpaceDialogMessage": "See tegevus vajab „{volume}“ andmeruumis „{neededSize}“ vaba andmemahtu, kuid alles on vaid „{freeSize}“.", + "notEnoughSpaceDialogMessage": "See tegevus vajab „{volume}“ andmeruumis {neededSize} vaba andmemahtu, kuid alles on vaid {freeSize}.", "@notEnoughSpaceDialogMessage": { "placeholders": { "neededSize": { @@ -600,7 +600,7 @@ "@renameProcessorHash": {}, "renameProcessorName": "Nimi", "@renameProcessorName": {}, - "storageAccessDialogMessage": "Palun anna sellele rakendusele järgmises ekraanivaates õigused „{directory}“ kaustale „{volume}“ andmekogus.", + "storageAccessDialogMessage": "Palun anna sellele rakendusele järgmises ekraanivaates õigused {directory} kaustale „{volume}“ andmekogus.", "@storageAccessDialogMessage": { "placeholders": { "directory": { @@ -614,7 +614,7 @@ } } }, - "restrictedAccessDialogMessage": "Sellel rakendusel pole õigusi muuta faile „{volume}“ andmekogu „{directory}“ kaustas.\n\nPalun kasuta failihaldurit või galeriirakendust failide tõstmiseks muude asukohta.", + "restrictedAccessDialogMessage": "Sellel rakendusel pole õigusi muuta faile „{volume}“ andmekogu {directory} kaustas.\n\nPalun kasuta failihaldurit või galeriirakendust failide tõstmiseks muude asukohta.", "@restrictedAccessDialogMessage": { "placeholders": { "directory": { @@ -1254,5 +1254,353 @@ "settingsThumbnailOverlayPageTitle": "Ülekate", "@settingsThumbnailOverlayPageTitle": {}, "settingsNavigationDrawerEditorPageTitle": "Ikooniriba", - "@settingsNavigationDrawerEditorPageTitle": {} + "@settingsNavigationDrawerEditorPageTitle": {}, + "settingsViewerSlideshowPageTitle": "Slaidiesitlus", + "@settingsViewerSlideshowPageTitle": {}, + "settingsMotionPhotoAutoPlay": "Esita liikuivaid fotosid automaatselt", + "@settingsMotionPhotoAutoPlay": {}, + "settingsViewerShowInformation": "Näita teavet", + "@settingsViewerShowInformation": {}, + "settingsVideoEnableHardwareAcceleration": "Raudvaraline kiirendus", + "@settingsVideoEnableHardwareAcceleration": {}, + "settingsViewerQuickActionEmpty": "Sa pole ühtegi nuppu siia lisanud", + "@settingsViewerQuickActionEmpty": {}, + "settingsVideoPageTitle": "Video seadistused", + "@settingsVideoPageTitle": {}, + "settingsViewerShowRatingTags": "Näita hinnangut ja silte", + "@settingsViewerShowRatingTags": {}, + "viewerInfoLabelSize": "Suurus", + "@viewerInfoLabelSize": {}, + "settingsViewerMaximumBrightness": "Maksimaalne heledus", + "@settingsViewerMaximumBrightness": {}, + "settingsSlideshowVideoPlaybackDialogTitle": "Video taasesitus", + "@settingsSlideshowVideoPlaybackDialogTitle": {}, + "settingsVideoPlaybackPageTitle": "Taasesitus", + "@settingsVideoPlaybackPageTitle": {}, + "settingsSubtitleThemePageTitle": "Subtiitrid", + "@settingsSubtitleThemePageTitle": {}, + "settingsEnableBinSubtitle": "Hoia kustutatud objekte 30 päeva", + "@settingsEnableBinSubtitle": {}, + "settingsHiddenFiltersBanner": "Peidetuse filtritele vastavad fotod ja videod ei saa olema nähtavad sinu meediakogus.", + "@settingsHiddenFiltersBanner": {}, + "settingsVideoSectionTitle": "Video", + "@settingsVideoSectionTitle": {}, + "panoramaDisableSensorControl": "Lülita anduripõhine kontroll välja", + "@panoramaDisableSensorControl": {}, + "settingsViewerUseCutout": "Kasuta väljalõigatud ala", + "@settingsViewerUseCutout": {}, + "settingsImageBackground": "Pildi taust", + "@settingsImageBackground": {}, + "settingsViewerQuickActionsTile": "Kiirtoimingud", + "@settingsViewerQuickActionsTile": {}, + "settingsViewerGestureSideTapNext": "Eelmise ja järgmise meediafaili vaatamiseks puuduta ekraani ääri", + "@settingsViewerGestureSideTapNext": {}, + "settingsViewerQuickActionEditorPageTitle": "Kiirtoimingud", + "@settingsViewerQuickActionEditorPageTitle": {}, + "settingsViewerQuickActionEditorDisplayedButtonsSectionTitle": "Kuvatavad nupud", + "@settingsViewerQuickActionEditorDisplayedButtonsSectionTitle": {}, + "settingsViewerQuickActionEditorAvailableButtonsSectionTitle": "Saadaval olevad nupud", + "@settingsViewerQuickActionEditorAvailableButtonsSectionTitle": {}, + "settingsViewerOverlayTile": "Ülekate", + "@settingsViewerOverlayTile": {}, + "settingsViewerShowOverlayOnOpening": "Näita avamisel", + "@settingsViewerShowOverlayOnOpening": {}, + "settingsViewerShowHistogram": "Näita histogrammi", + "@settingsViewerShowHistogram": {}, + "settingsViewerShowMinimap": "Näita minikaarti", + "@settingsViewerShowMinimap": {}, + "settingsViewerShowInformationSubtitle": "Näita nime, kuupäeva, asukohta jne.", + "@settingsViewerShowInformationSubtitle": {}, + "settingsViewerShowShootingDetails": "Näita pildistamise üksikasju", + "@settingsViewerShowShootingDetails": {}, + "settingsViewerShowDescription": "Näita kirjeldust", + "@settingsViewerShowDescription": {}, + "settingsViewerShowOverlayThumbnails": "Näita pisipilte", + "@settingsViewerShowOverlayThumbnails": {}, + "settingsViewerEnableOverlayBlurEffect": "Hägustamisefekt", + "@settingsViewerEnableOverlayBlurEffect": {}, + "settingsViewerSlideshowTile": "Slaidiesitlus", + "@settingsViewerSlideshowTile": {}, + "settingsSlideshowShuffle": "Sega järjestust", + "@settingsSlideshowShuffle": {}, + "settingsSlideshowFillScreen": "Täida kogu ekraan", + "@settingsSlideshowFillScreen": {}, + "settingsSlideshowAnimatedZoomEffect": "Animeeritud suumiefekt", + "@settingsSlideshowAnimatedZoomEffect": {}, + "settingsSlideshowTransitionTile": "Üleminekud meedia vahetamisel", + "@settingsSlideshowTransitionTile": {}, + "settingsSlideshowIntervalTile": "Välp meedia vahetamisel", + "@settingsSlideshowIntervalTile": {}, + "settingsSlideshowVideoPlaybackTile": "Video taasesitus", + "@settingsSlideshowVideoPlaybackTile": {}, + "settingsVideoShowVideos": "Näita videoid", + "@settingsVideoShowVideos": {}, + "settingsVideoPlaybackTile": "Taasesitus", + "@settingsVideoPlaybackTile": {}, + "settingsVideoResumptionModeTile": "Jätka taasesitust", + "@settingsVideoResumptionModeTile": {}, + "settingsVideoResumptionModeDialogTitle": "Jätka taasesitust", + "@settingsVideoResumptionModeDialogTitle": {}, + "settingsVideoBackgroundMode": "Esitus taustal", + "@settingsVideoBackgroundMode": {}, + "settingsVideoBackgroundModeDialogTitle": "Esitus taustal", + "@settingsVideoBackgroundModeDialogTitle": {}, + "settingsVideoControlsTile": "Juhtnupud", + "@settingsVideoControlsTile": {}, + "settingsVideoControlsPageTitle": "Juhtnupud", + "@settingsVideoControlsPageTitle": {}, + "settingsVideoButtonsTile": "Nupud", + "@settingsVideoButtonsTile": {}, + "settingsVideoGestureDoubleTapTogglePlay": "Esita või peata esitus topeltpuudutusega", + "@settingsVideoGestureDoubleTapTogglePlay": {}, + "settingsVideoGestureSideDoubleTapSeek": "Topeltpuudutus ekraani äärtel kerib edasi või tagasi", + "@settingsVideoGestureSideDoubleTapSeek": {}, + "settingsVideoGestureVerticalDragBrightnessVolume": "Üles või alla viipamine muudab eredust ja helivaljust", + "@settingsVideoGestureVerticalDragBrightnessVolume": {}, + "settingsSubtitleThemeTile": "Subtiitrid", + "@settingsSubtitleThemeTile": {}, + "settingsSubtitleThemeSample": "See on üks lihtne näide.", + "@settingsSubtitleThemeSample": {}, + "settingsSubtitleThemeTextAlignmentTile": "Teksti joondumine", + "@settingsSubtitleThemeTextAlignmentTile": {}, + "settingsSubtitleThemeTextAlignmentDialogTitle": "Teksti joondumine", + "@settingsSubtitleThemeTextAlignmentDialogTitle": {}, + "settingsSubtitleThemeTextPositionTile": "Teksti asukoht", + "@settingsSubtitleThemeTextPositionTile": {}, + "settingsSubtitleThemeTextPositionDialogTitle": "Teksti asukoht", + "@settingsSubtitleThemeTextPositionDialogTitle": {}, + "settingsSubtitleThemeTextSize": "Teksti suurus", + "@settingsSubtitleThemeTextSize": {}, + "settingsSubtitleThemeShowOutline": "Näite äärejoont ja varju", + "@settingsSubtitleThemeShowOutline": {}, + "settingsSubtitleThemeTextColor": "Teksti värv", + "@settingsSubtitleThemeTextColor": {}, + "settingsSubtitleThemeTextOpacity": "Teksti läbipaistmatus", + "@settingsSubtitleThemeTextOpacity": {}, + "settingsSubtitleThemeBackgroundColor": "Taustavärv", + "@settingsSubtitleThemeBackgroundColor": {}, + "settingsSubtitleThemeBackgroundOpacity": "Tausta läbipaistmatus", + "@settingsSubtitleThemeBackgroundOpacity": {}, + "settingsSubtitleThemeTextAlignmentLeft": "Vasakul", + "@settingsSubtitleThemeTextAlignmentLeft": {}, + "settingsSubtitleThemeTextAlignmentCenter": "Keskel", + "@settingsSubtitleThemeTextAlignmentCenter": {}, + "settingsSubtitleThemeTextAlignmentRight": "Paremal", + "@settingsSubtitleThemeTextAlignmentRight": {}, + "settingsPrivacySectionTitle": "Privaatsus", + "@settingsPrivacySectionTitle": {}, + "settingsAllowInstalledAppAccess": "Luba ligipääs rakenduse andmekogule", + "@settingsAllowInstalledAppAccess": {}, + "settingsAllowErrorReporting": "Luba anonüümset veateavitust", + "@settingsAllowErrorReporting": {}, + "settingsSaveSearchHistory": "Salvesta otsingute ajalugu", + "@settingsSaveSearchHistory": {}, + "settingsDisablingBinWarningDialogMessage": "Prügikastis olevad objektid kustutatakse jäädavalt.", + "@settingsDisablingBinWarningDialogMessage": {}, + "settingsAllowMediaManagement": "Kasuta meediahaldust", + "@settingsAllowMediaManagement": {}, + "settingsHiddenItemsTile": "Peidetud objektid", + "@settingsHiddenItemsTile": {}, + "settingsHiddenItemsPageTitle": "Peidetud objektid", + "@settingsHiddenItemsPageTitle": {}, + "settingsHiddenFiltersEmpty": "Peidetuse filtreid ei ole", + "@settingsHiddenFiltersEmpty": {}, + "settingsStorageAccessTile": "Ligipääs andmeruumile", + "@settingsStorageAccessTile": {}, + "settingsStorageAccessBanner": "Mõned kaustad vajavad eraldi lubamist seal asuvate failide muutmiseks. Siin näed kaustu, millele sa varem oled sellised õigused jaganud.", + "@settingsStorageAccessBanner": {}, + "settingsStorageAccessEmpty": "Ligipääsuõigusi pole määratud", + "@settingsStorageAccessEmpty": {}, + "settingsStorageAccessRevokeTooltip": "Eemalda õigused", + "@settingsStorageAccessRevokeTooltip": {}, + "settingsAccessibilitySectionTitle": "Ligipääsetavus", + "@settingsAccessibilitySectionTitle": {}, + "settingsRemoveAnimationsTile": "Eemalda animatsioonid", + "@settingsRemoveAnimationsTile": {}, + "settingsRemoveAnimationsDialogTitle": "Eemalda animatsioonid", + "@settingsRemoveAnimationsDialogTitle": {}, + "settingsTimeToTakeActionTile": "Viivitus enne toiminguid", + "@settingsTimeToTakeActionTile": {}, + "settingsAccessibilityShowPinchGestureAlternatives": "Näita alternatiive mitmikpuutele", + "@settingsAccessibilityShowPinchGestureAlternatives": {}, + "settingsDisplaySectionTitle": "Ekraan", + "@settingsDisplaySectionTitle": {}, + "settingsThemeBrightnessTile": "Kujundus", + "@settingsThemeBrightnessTile": {}, + "settingsThemeBrightnessDialogTitle": "Kujundus", + "@settingsThemeBrightnessDialogTitle": {}, + "settingsThemeColorHighlights": "Esiletõstetud värvid", + "@settingsThemeColorHighlights": {}, + "settingsThemeEnableDynamicColor": "Dünaamilised värvid", + "@settingsThemeEnableDynamicColor": {}, + "settingsCoordinateFormatTile": "Koordinaatide vorming", + "@settingsCoordinateFormatTile": {}, + "settingsCoordinateFormatDialogTitle": "Koordinaatide vorming", + "@settingsCoordinateFormatDialogTitle": {}, + "settingsUnitSystemDialogTitle": "Ühikud", + "@settingsUnitSystemDialogTitle": {}, + "settingsForceWesternArabicNumeralsTile": "Jõusta araabia numbrite kasutus", + "@settingsForceWesternArabicNumeralsTile": {}, + "settingsWidgetPageTitle": "Fotoraam", + "@settingsWidgetPageTitle": {}, + "settingsWidgetShowOutline": "Piirjoon", + "@settingsWidgetShowOutline": {}, + "settingsWidgetOpenPage": "Vidinal klõpsides", + "@settingsWidgetOpenPage": {}, + "settingsWidgetDisplayedItem": "Kuvatav objekt", + "@settingsWidgetDisplayedItem": {}, + "settingsCollectionTile": "Meediakogu", + "@settingsCollectionTile": {}, + "statsWithGps": "{count, plural, =1{1 asukohaga objekt} other{{count} asukohaga objekti}}", + "@statsWithGps": { + "placeholders": { + "count": { + "format": "decimalPattern" + } + } + }, + "viewerSetWallpaperButtonLabel": "MÄÄRA TAUSTAPILDIKS", + "@viewerSetWallpaperButtonLabel": {}, + "viewerOpenPanoramaButtonLabel": "AVA PANORAAM", + "@viewerOpenPanoramaButtonLabel": {}, + "viewerErrorUnknown": "Oih, vabandust!", + "@viewerErrorUnknown": {}, + "viewerErrorDoesNotExist": "Seda faili pole enam olemas.", + "@viewerErrorDoesNotExist": {}, + "viewerInfoPageTitle": "Meedia teave", + "@viewerInfoPageTitle": {}, + "viewerInfoBackToViewerTooltip": "Tagasi pildivaataja juurde", + "@viewerInfoBackToViewerTooltip": {}, + "viewerInfoUnknown": "teadmata", + "@viewerInfoUnknown": {}, + "viewerInfoLabelDescription": "Kirjeldus", + "@viewerInfoLabelDescription": {}, + "viewerInfoLabelDate": "Kuupäev", + "@viewerInfoLabelDate": {}, + "viewerInfoLabelResolution": "Resolutsioon", + "@viewerInfoLabelResolution": {}, + "viewerInfoLabelUri": "URI", + "@viewerInfoLabelUri": {}, + "viewerInfoLabelPath": "Asukoht", + "@viewerInfoLabelPath": {}, + "viewerInfoLabelDuration": "Kestus", + "@viewerInfoLabelDuration": {}, + "viewerInfoLabelCoordinates": "Koordinaadid", + "@viewerInfoLabelCoordinates": {}, + "viewerInfoLabelAddress": "Aadress", + "@viewerInfoLabelAddress": {}, + "mapStyleDialogTitle": "Kaardi stiil", + "@mapStyleDialogTitle": {}, + "mapStyleTooltip": "Vali kaardi stiil", + "@mapStyleTooltip": {}, + "mapZoomInTooltip": "Suumi sisse", + "@mapZoomInTooltip": {}, + "mapZoomOutTooltip": "Suumi välja", + "@mapZoomOutTooltip": {}, + "mapPointNorthUpTooltip": "Põhjasuund ülal", + "@mapPointNorthUpTooltip": {}, + "mapAttributionOsmLiberty": "Kaardipaanid: [OpenMapTiles](https://www.openmaptiles.org/), [CC BY](http://creativecommons.org/licenses/by/4.0) • Kaardiserver: [OSM Americana](https://tile.ourmap.us)", + "@mapAttributionOsmLiberty": {}, + "mapAttributionOsmHot": "Kaardipaanid: [HOT](https://www.hotosm.org/) • Kaardiserver: [OSM France](https://openstreetmap.fr/)", + "@mapAttributionOsmHot": {}, + "mapEmptyRegion": "Sellest piirkonnast ei leidu pilte", + "@mapEmptyRegion": {}, + "viewerInfoSearchFieldLabel": "Otsi metainfot", + "@viewerInfoSearchFieldLabel": {}, + "viewerInfoSearchEmpty": "Vastavaid võtmeid ei leidu", + "@viewerInfoSearchEmpty": {}, + "viewerInfoSearchSuggestionDate": "Kuupäev ja kellaaeg", + "@viewerInfoSearchSuggestionDate": {}, + "viewerInfoSearchSuggestionDescription": "Kirjeldus", + "@viewerInfoSearchSuggestionDescription": {}, + "viewerInfoSearchSuggestionDimensions": "Mõõdud", + "@viewerInfoSearchSuggestionDimensions": {}, + "viewerInfoSearchSuggestionResolution": "Resolutsioon", + "@viewerInfoSearchSuggestionResolution": {}, + "viewerInfoSearchSuggestionRights": "Õigused", + "@viewerInfoSearchSuggestionRights": {}, + "wallpaperUseScrollEffect": "Kasuta avalehel kerimisefekti", + "@wallpaperUseScrollEffect": {}, + "tagEditorPageTitle": "Muuda silte", + "@tagEditorPageTitle": {}, + "tagEditorPageNewTagFieldLabel": "Uus silt", + "@tagEditorPageNewTagFieldLabel": {}, + "tagEditorPageAddTagTooltip": "Lisa silt", + "@tagEditorPageAddTagTooltip": {}, + "tagEditorSectionRecent": "Hiljutised", + "@tagEditorSectionRecent": {}, + "tagEditorSectionPlaceholders": "Asukohanäitajad", + "@tagEditorSectionPlaceholders": {}, + "tagEditorDiscardDialogMessage": "Kas sa soovid muudatustest loobuda?", + "@tagEditorDiscardDialogMessage": {}, + "tagPlaceholderCountry": "Riik", + "@tagPlaceholderCountry": {}, + "tagPlaceholderState": "Osariik", + "@tagPlaceholderState": {}, + "tagPlaceholderPlace": "Asukoht", + "@tagPlaceholderPlace": {}, + "panoramaEnableSensorControl": "Lülita anduripõhine kontroll sisse", + "@panoramaEnableSensorControl": {}, + "sourceViewerPageTitle": "Allikas", + "@sourceViewerPageTitle": {}, + "filePickerDoNotShowHiddenFiles": "Ära näita peidetud faile", + "@filePickerDoNotShowHiddenFiles": {}, + "filePickerOpenFrom": "Ava asukohast", + "@filePickerOpenFrom": {}, + "filePickerNoItems": "Meediafaile pole", + "@filePickerNoItems": {}, + "filePickerUseThisFolder": "Kasuta seda kausta", + "@filePickerUseThisFolder": {}, + "settingsSlideshowRepeat": "Korda", + "@settingsSlideshowRepeat": {}, + "settingsVideoAutoPlay": "Automaatne taasesitus", + "@settingsVideoAutoPlay": {}, + "settingsVideoLoopModeTile": "Korda videoid", + "@settingsVideoLoopModeTile": {}, + "settingsVideoLoopModeDialogTitle": "Korda videoid", + "@settingsVideoLoopModeDialogTitle": {}, + "settingsDisplayUseTvInterface": "Android TV-liidestus", + "@settingsDisplayUseTvInterface": {}, + "settingsLanguageSectionTitle": "Keeled ja vormingud", + "@settingsLanguageSectionTitle": {}, + "settingsUnitSystemTile": "Ühikud", + "@settingsUnitSystemTile": {}, + "settingsLanguageTile": "Keel", + "@settingsLanguageTile": {}, + "viewerInfoOpenLinkText": "Ava", + "@viewerInfoOpenLinkText": {}, + "openMapPageTooltip": "Vaata kaardilehel", + "@openMapPageTooltip": {}, + "viewerInfoOpenEmbeddedFailureFeedback": "Lõimitud andmete lugemine ei õnnestunud", + "@viewerInfoOpenEmbeddedFailureFeedback": {}, + "viewerInfoLabelOwner": "Omanik", + "@viewerInfoLabelOwner": {}, + "settingsScreenSaverPageTitle": "Ekraanisäästja", + "@settingsScreenSaverPageTitle": {}, + "mapAttributionOpenTopoMap": "[SRTM](https://www.earthdata.nasa.gov/sensors/srtm) | Kaardipaanid: [OpenTopoMap](https://opentopomap.org/), [CC BY-SA](https://creativecommons.org/licenses/by-sa/3.0/)", + "@mapAttributionOpenTopoMap": {}, + "statsPageTitle": "Statistika", + "@statsPageTitle": {}, + "mapAttributionStamen": "Kaardipaanid: [Stamen Design](https://stamen.com), [CC BY 3.0](https://creativecommons.org/licenses/by/3.0)", + "@mapAttributionStamen": {}, + "viewerInfoLabelTitle": "Pealkiri", + "@viewerInfoLabelTitle": {}, + "mapAttributionOsmData": "Kaardiandmed © [OpenStreetMap](https://www.openstreetmap.org/copyright) kaasautorid", + "@mapAttributionOsmData": {}, + "filePickerShowHiddenFiles": "Näita peidetud faile", + "@filePickerShowHiddenFiles": {}, + "settingsViewerQuickActionEditorBanner": "Nuppude/ikoonide valimiseks ja kahe vaate vahel teisaldamiseks puuduta ja all hoides lohista uude kohta.", + "@settingsViewerQuickActionEditorBanner": {}, + "settingsViewerOverlayPageTitle": "Ülekate", + "@settingsViewerOverlayPageTitle": {}, + "settingsAllowInstalledAppAccessSubtitle": "Seda kasutatakse albumite kuvamise parandamiseks", + "@settingsAllowInstalledAppAccessSubtitle": {}, + "settingsEnableBin": "Kasuta prügikasti", + "@settingsEnableBin": {}, + "settingsStorageAccessPageTitle": "Ligipääs andmeruumile", + "@settingsStorageAccessPageTitle": {}, + "settingsLanguagePageTitle": "Keel", + "@settingsLanguagePageTitle": {}, + "viewerInfoViewXmlLinkText": "Vaata XMLi", + "@viewerInfoViewXmlLinkText": {} } diff --git a/lib/l10n/app_it.arb b/lib/l10n/app_it.arb index 0586f62c3..d2da705e0 100644 --- a/lib/l10n/app_it.arb +++ b/lib/l10n/app_it.arb @@ -1,7 +1,7 @@ { "appName": "Aves", "@appName": {}, - "welcomeMessage": "Benvenuto ad Aves", + "welcomeMessage": "Benvenuto in Aves", "@welcomeMessage": {}, "welcomeOptional": "Opzionale", "@welcomeOptional": {}, @@ -23,9 +23,9 @@ "@deleteButtonLabel": {}, "nextButtonLabel": "AVANTI", "@nextButtonLabel": {}, - "showButtonLabel": "MOSTRA", + "showButtonLabel": "VISUALIZZA", "@showButtonLabel": {}, - "hideButtonLabel": "NASCONDERE", + "hideButtonLabel": "NASCONDI", "@hideButtonLabel": {}, "continueButtonLabel": "CONTINUA", "@continueButtonLabel": {}, @@ -39,13 +39,13 @@ "@previousTooltip": {}, "nextTooltip": "Successivo", "@nextTooltip": {}, - "showTooltip": "Mostra", + "showTooltip": "Visualizza", "@showTooltip": {}, "hideTooltip": "Nascondi", "@hideTooltip": {}, "actionRemove": "Rimuovi", "@actionRemove": {}, - "resetTooltip": "Reimposta", + "resetTooltip": "Ripristina", "@resetTooltip": {}, "saveTooltip": "Salva", "@saveTooltip": {}, @@ -59,17 +59,17 @@ "@sourceStateLoading": {}, "sourceStateCataloguing": "Catalogazione", "@sourceStateCataloguing": {}, - "sourceStateLocatingCountries": "Individuazione dei paesi", + "sourceStateLocatingCountries": "Individuazione paesi", "@sourceStateLocatingCountries": {}, - "sourceStateLocatingPlaces": "Individuazione dei luoghi", + "sourceStateLocatingPlaces": "Individuazione luoghi", "@sourceStateLocatingPlaces": {}, "chipActionDelete": "Elimina", "@chipActionDelete": {}, - "chipActionGoToAlbumPage": "Mostra negli Album", + "chipActionGoToAlbumPage": "Visualizza negli Album", "@chipActionGoToAlbumPage": {}, "chipActionGoToCountryPage": "Mostra nei Paesi", "@chipActionGoToCountryPage": {}, - "chipActionGoToTagPage": "Mostra nelle Etichette", + "chipActionGoToTagPage": "Visualizza nelle Etichette", "@chipActionGoToTagPage": {}, "chipActionFilterOut": "Escludi", "@chipActionFilterOut": {}, @@ -77,7 +77,7 @@ "@chipActionFilterIn": {}, "chipActionHide": "Nascondi", "@chipActionHide": {}, - "chipActionPin": "Fissa in alto", + "chipActionPin": "Aggancia in alto", "@chipActionPin": {}, "chipActionUnpin": "Rimuovi dall’alto", "@chipActionUnpin": {}, @@ -93,7 +93,7 @@ "@entryActionDelete": {}, "entryActionConvert": "Converti", "@entryActionConvert": {}, - "entryActionExport": "Esportazione", + "entryActionExport": "Esporta", "@entryActionExport": {}, "entryActionInfo": "Info", "@entryActionInfo": {}, @@ -113,11 +113,11 @@ "@entryActionShare": {}, "entryActionViewSource": "Visualizza sorgente", "@entryActionViewSource": {}, - "entryActionShowGeoTiffOnMap": "Mostra sopra la mappa", + "entryActionShowGeoTiffOnMap": "Visualizza sopra la mappa", "@entryActionShowGeoTiffOnMap": {}, - "entryActionConvertMotionPhotoToStillImage": "Converti in immagine statica", + "entryActionConvertMotionPhotoToStillImage": "Converti in immagine fissa", "@entryActionConvertMotionPhotoToStillImage": {}, - "entryActionViewMotionPhotoVideo": "Apri foto in movimento", + "entryActionViewMotionPhotoVideo": "Apri video", "@entryActionViewMotionPhotoVideo": {}, "entryActionEdit": "Modifica", "@entryActionEdit": {}, @@ -125,9 +125,9 @@ "@entryActionOpen": {}, "entryActionSetAs": "Imposta come", "@entryActionSetAs": {}, - "entryActionOpenMap": "Mostra in app mappa", + "entryActionOpenMap": "Visualizza in app mappa", "@entryActionOpenMap": {}, - "entryActionRotateScreen": "Ruota lo schermo", + "entryActionRotateScreen": "Ruota schermo", "@entryActionRotateScreen": {}, "entryActionAddFavourite": "Aggiungi ai preferiti", "@entryActionAddFavourite": {}, @@ -137,7 +137,7 @@ "@videoActionCaptureFrame": {}, "videoActionMute": "Disattiva audio", "@videoActionMute": {}, - "videoActionUnmute": "Riattiva audio", + "videoActionUnmute": "Attiva audio", "@videoActionUnmute": {}, "videoActionPause": "Pausa", "@videoActionPause": {}, @@ -147,31 +147,31 @@ "@videoActionReplay10": {}, "videoActionSkip10": "Cerca in avanti di 10 secondi", "@videoActionSkip10": {}, - "videoActionSelectStreams": "Seleziona le tracce", + "videoActionSelectStreams": "Seleziona tracce", "@videoActionSelectStreams": {}, - "videoActionSetSpeed": "Velocità di riproduzione", + "videoActionSetSpeed": "Velocità riproduzione", "@videoActionSetSpeed": {}, "viewerActionSettings": "Impostazioni", "@viewerActionSettings": {}, "slideshowActionResume": "Riprendi", "@slideshowActionResume": {}, - "slideshowActionShowInCollection": "Mostra nella Collezione", + "slideshowActionShowInCollection": "Visualizza nella Collezione", "@slideshowActionShowInCollection": {}, "entryInfoActionEditDate": "Modifica data e ora", "@entryInfoActionEditDate": {}, "entryInfoActionEditLocation": "Modifica posizione", "@entryInfoActionEditLocation": {}, - "entryInfoActionEditTitleDescription": "Modifica titolo & descrizione", + "entryInfoActionEditTitleDescription": "Modifica titolo e descrizione", "@entryInfoActionEditTitleDescription": {}, "entryInfoActionEditRating": "Modifica valutazione", "@entryInfoActionEditRating": {}, - "entryInfoActionEditTags": "Modifica etichetta", + "entryInfoActionEditTags": "Modifica etichette", "@entryInfoActionEditTags": {}, "entryInfoActionRemoveMetadata": "Rimuovi metadati", "@entryInfoActionRemoveMetadata": {}, "filterBinLabel": "Cestino", "@filterBinLabel": {}, - "filterFavouriteLabel": "Preferiti", + "filterFavouriteLabel": "Preferito", "@filterFavouriteLabel": {}, "filterNoDateLabel": "Senza data", "@filterNoDateLabel": {}, @@ -249,13 +249,13 @@ "@nameConflictStrategySkip": {}, "keepScreenOnNever": "Mai", "@keepScreenOnNever": {}, - "keepScreenOnViewerOnly": "Solo pagina di visualizzazione", + "keepScreenOnViewerOnly": "Solo pagina visualizzazione", "@keepScreenOnViewerOnly": {}, "keepScreenOnAlways": "Sempre", "@keepScreenOnAlways": {}, - "accessibilityAnimationsRemove": "Evita gli effetti sullo schermo", + "accessibilityAnimationsRemove": "Evita effetti schermo", "@accessibilityAnimationsRemove": {}, - "accessibilityAnimationsKeep": "Mantieni gli effetti sullo schermo", + "accessibilityAnimationsKeep": "Mantieni effetti schermo", "@accessibilityAnimationsKeep": {}, "displayRefreshRatePreferHighest": "Frequenza massima", "@displayRefreshRatePreferHighest": {}, @@ -293,7 +293,7 @@ "@widgetOpenPageHome": {}, "widgetOpenPageViewer": "Apri visualizzazione", "@widgetOpenPageViewer": {}, - "albumTierNew": "Nuovi", + "albumTierNew": "Nuovo", "@albumTierNew": {}, "albumTierPinned": "Fissati", "@albumTierPinned": {}, @@ -311,33 +311,33 @@ "@rootDirectoryDescription": {}, "otherDirectoryDescription": "cartella «{name}»", "@otherDirectoryDescription": {}, - "storageAccessDialogMessage": "Si prega di selezionare la {directory} di «{volume}» nella prossima schermata per dare accesso a questa applicazione.", + "storageAccessDialogMessage": "Per dare accesso a questa applicazione nella prossima schermata seleziona la {directory} di «{volume}».", "@storageAccessDialogMessage": {}, - "restrictedAccessDialogMessage": "Questa applicazione non è autorizzata a modificare i file nella {directory} di «{volume}».\n\nUsa un gestore file o un’app galleria preinstallata per spostare gli elementi in un’altra cartella.", + "restrictedAccessDialogMessage": "Questa applicazione non è autorizzata a modificare i file nella {directory} di «{volume}».\n\nPer spostare gli elementi in un’altra cartella usa un gestore file o un’app galleria preinstallata.", "@restrictedAccessDialogMessage": {}, - "notEnoughSpaceDialogMessage": "Questa operazione ha bisogno di {neededSize} di spazio libero su «{volume}» per essere completata, ma è rimasto solo {freeSize}.", + "notEnoughSpaceDialogMessage": "Per essere completata questa operazione ha bisogno di {neededSize} di spazio libero in «{volume}», ma sono rimasti solo {freeSize}.", "@notEnoughSpaceDialogMessage": {}, - "missingSystemFilePickerDialogMessage": "Il selezionatore file di sistema è mancante o disabilitato. Per favore abilitalo e riprova.", + "missingSystemFilePickerDialogMessage": "Il selezionatore file di sistema è mancante o disabilitato. Abilitalo e riprova.", "@missingSystemFilePickerDialogMessage": {}, "unsupportedTypeDialogMessage": "{count, plural, =1{Questa operazione non è supportata per elementi del seguente tipo: {types}.} other{Questa operazione non è supportata per elementi dei seguenti tipi: {types}.}}", "@unsupportedTypeDialogMessage": {}, - "nameConflictDialogSingleSourceMessage": "Alcuni file nella cartella di destinazione hanno lo stesso nome.", + "nameConflictDialogSingleSourceMessage": "Alcuni file nella cartella destinazione hanno lo stesso nome.", "@nameConflictDialogSingleSourceMessage": {}, "nameConflictDialogMultipleSourceMessage": "Alcuni file hanno lo stesso nome.", "@nameConflictDialogMultipleSourceMessage": {}, - "addShortcutDialogLabel": "Etichetta della scorciatoia", + "addShortcutDialogLabel": "Etichetta scorciatoia", "@addShortcutDialogLabel": {}, "addShortcutButtonLabel": "AGGIUNGI", "@addShortcutButtonLabel": {}, "noMatchingAppDialogMessage": "Non ci sono app che possono gestire questo.", "@noMatchingAppDialogMessage": {}, - "binEntriesConfirmationDialogMessage": "{count, plural, =1{Spostare questo elemento nel cestino?} other{Spostare questi {count} elementi nel cestino?}}", + "binEntriesConfirmationDialogMessage": "{count, plural, =1{Vuoi sposta questo elemento nel cestino?} other{Vuoi spostare questi {count} elementi nel cestino?}}", "@binEntriesConfirmationDialogMessage": {}, - "deleteEntriesConfirmationDialogMessage": "{count, plural, =1{Eliminare questo elemento?} other{Eliminare questi {count} elementi?}}", + "deleteEntriesConfirmationDialogMessage": "{count, plural, =1{Vuoi eliminare questo elemento?} other{Vuoi eliminare questi {count} elementi?}}", "@deleteEntriesConfirmationDialogMessage": {}, - "moveUndatedConfirmationDialogMessage": "Salvare le date degli elementi prima di procedere?", + "moveUndatedConfirmationDialogMessage": "Prima di procedere vuoi salvare le date degli elementi?", "@moveUndatedConfirmationDialogMessage": {}, - "moveUndatedConfirmationDialogSetDate": "Salvare le date", + "moveUndatedConfirmationDialogSetDate": "Salva date", "@moveUndatedConfirmationDialogSetDate": {}, "videoResumeDialogMessage": "Vuoi riprendere la riproduzione a {time}?", "@videoResumeDialogMessage": {}, @@ -351,11 +351,11 @@ "@setCoverDialogAuto": {}, "setCoverDialogCustom": "Personalizzato", "@setCoverDialogCustom": {}, - "hideFilterConfirmationDialogMessage": "Le foto e i video corrispondenti saranno nascosti dalla tua collezione. Puoi mostrarli di nuovo dalle impostazioni della «Privacy».\n\nSei sicuro di volerli nascondere?", + "hideFilterConfirmationDialogMessage": "Le foto e i video corrispondenti saranno nascosti dalla collezione. Puoi visualizarli di nuovo dalle impostazioni della «Privacy».\n\nVuoi nascondere le foto e i video corrispodenti?", "@hideFilterConfirmationDialogMessage": {}, "newAlbumDialogTitle": "Nuovo album", "@newAlbumDialogTitle": {}, - "newAlbumDialogNameLabel": "Nome dell’album", + "newAlbumDialogNameLabel": "Nome album", "@newAlbumDialogNameLabel": {}, "newAlbumDialogNameLabelAlreadyExistsHelper": "La cartella esiste già", "@newAlbumDialogNameLabelAlreadyExistsHelper": {}, @@ -367,7 +367,7 @@ "@renameAlbumDialogLabelAlreadyExistsHelper": {}, "renameEntrySetPageTitle": "Rinomina", "@renameEntrySetPageTitle": {}, - "renameEntrySetPagePatternFieldLabel": "Schema per i nomi", + "renameEntrySetPagePatternFieldLabel": "Schema nomi", "@renameEntrySetPagePatternFieldLabel": {}, "renameEntrySetPageInsertTooltip": "Inserisci campo", "@renameEntrySetPageInsertTooltip": {}, @@ -377,9 +377,9 @@ "@renameProcessorCounter": {}, "renameProcessorName": "Nome", "@renameProcessorName": {}, - "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Eliminare questo album e l’elemento in esso?} other{Eliminare questo album e i {count} elementi in esso?}}", + "deleteSingleAlbumConfirmationDialogMessage": "{count, plural, =1{Vuoi eliminare questo album e il relativo elemento?} other{Vuoi eliminare questo album e i relativi {count} elementi?}}", "@deleteSingleAlbumConfirmationDialogMessage": {}, - "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Eliminare questi album e l’elemento in essi?} other{Eliminare questi album e i {count} elementi in essi?}}", + "deleteMultiAlbumConfirmationDialogMessage": "{count, plural, =1{Vuoi eliminare questi album e il relativo elemento?} other{Vuoi eliminare questi album e i relativi {count} elementi?}}", "@deleteMultiAlbumConfirmationDialogMessage": {}, "exportEntryDialogFormat": "Formato:", "@exportEntryDialogFormat": {}, @@ -401,9 +401,9 @@ "@editEntryDialogCopyFromItem": {}, "editEntryDateDialogExtractFromTitle": "Estrai dal titolo", "@editEntryDateDialogExtractFromTitle": {}, - "editEntryDateDialogShift": "Turno", + "editEntryDateDialogShift": "Sfasamento", "@editEntryDateDialogShift": {}, - "editEntryDateDialogSourceFileModifiedDate": "Data di modifica del file", + "editEntryDateDialogSourceFileModifiedDate": "Data modifica file", "@editEntryDateDialogSourceFileModifiedDate": {}, "durationDialogHours": "Ore", "@durationDialogHours": {}, @@ -421,15 +421,15 @@ "@locationPickerUseThisLocationButton": {}, "editEntryRatingDialogTitle": "Valutazione", "@editEntryRatingDialogTitle": {}, - "removeEntryMetadataDialogTitle": "Rimozione dei metadati", + "removeEntryMetadataDialogTitle": "Rimozione metadati", "@removeEntryMetadataDialogTitle": {}, "removeEntryMetadataDialogMore": "Altro", "@removeEntryMetadataDialogMore": {}, - "removeEntryMetadataMotionPhotoXmpWarningDialogMessage": "XMP è richiesto per riprodurre il video all’interno di una foto in movimento.\n\nSei sicuro di volerlo rimuovere?", + "removeEntryMetadataMotionPhotoXmpWarningDialogMessage": "Per riprodurre il video all’interno di una foto in movimento è richiesto XMP .\n\nSei sicuro di volerlo rimuovere?", "@removeEntryMetadataMotionPhotoXmpWarningDialogMessage": {}, "genericDangerWarningDialogMessage": "Sei sicuro?", "@genericDangerWarningDialogMessage": {}, - "videoSpeedDialogLabel": "Velocità di riproduzione", + "videoSpeedDialogLabel": "Velocità riproduzione", "@videoSpeedDialogLabel": {}, "videoStreamSelectionDialogVideo": "Video", "@videoStreamSelectionDialogVideo": {}, @@ -473,7 +473,7 @@ "@tileLayoutMosaic": {}, "tileLayoutGrid": "Griglia", "@tileLayoutGrid": {}, - "tileLayoutList": "Lista", + "tileLayoutList": "Elenco", "@tileLayoutList": {}, "coverDialogTabCover": "Copertina", "@coverDialogTabCover": {}, @@ -481,7 +481,7 @@ "@coverDialogTabApp": {}, "coverDialogTabColor": "Colore", "@coverDialogTabColor": {}, - "appPickDialogTitle": "Seleziona App", + "appPickDialogTitle": "Seleziona app", "@appPickDialogTitle": {}, "appPickDialogNone": "Nessuna", "@appPickDialogNone": {}, @@ -493,27 +493,27 @@ "@aboutLinkPolicy": {}, "aboutBugSectionTitle": "Segnalazione bug", "@aboutBugSectionTitle": {}, - "aboutBugSaveLogInstruction": "Salva i log dell’app in un file", + "aboutBugSaveLogInstruction": "Salva registri app in un file", "@aboutBugSaveLogInstruction": {}, - "aboutBugCopyInfoInstruction": "Copia le informazioni di sistema", + "aboutBugCopyInfoInstruction": "Copia informazioni sistema", "@aboutBugCopyInfoInstruction": {}, "aboutBugCopyInfoButton": "Copia", "@aboutBugCopyInfoButton": {}, - "aboutBugReportInstruction": "Segnala su GitHub con i log e le informazioni di sistema", + "aboutBugReportInstruction": "Segnala su GitHub con i registri e le info di sistema", "@aboutBugReportInstruction": {}, "aboutBugReportButton": "Segnala", "@aboutBugReportButton": {}, - "aboutCreditsSectionTitle": "Crediti", + "aboutCreditsSectionTitle": "Ringraziamenti", "@aboutCreditsSectionTitle": {}, - "aboutCreditsWorldAtlas1": "Questa applicazione utilizza un file TopoJSON di", + "aboutCreditsWorldAtlas1": "Questa applicazione usa un file TopoJSON di", "@aboutCreditsWorldAtlas1": {}, "aboutCreditsWorldAtlas2": "sotto licenza ISC.", "@aboutCreditsWorldAtlas2": {}, "aboutTranslatorsSectionTitle": "Traduttori", "@aboutTranslatorsSectionTitle": {}, - "aboutLicensesSectionTitle": "Licenze Open-Source", + "aboutLicensesSectionTitle": "Licenze open-source", "@aboutLicensesSectionTitle": {}, - "aboutLicensesBanner": "Questa applicazione utilizza i seguenti pacchetti e librerie open-source.", + "aboutLicensesBanner": "Questa applicazione usa i seguenti pacchetti e librerie open-source.", "@aboutLicensesBanner": {}, "aboutLicensesAndroidLibrariesSectionTitle": "Librerie Android", "@aboutLicensesAndroidLibrariesSectionTitle": {}, @@ -523,7 +523,7 @@ "@aboutLicensesFlutterPackagesSectionTitle": {}, "aboutLicensesDartPackagesSectionTitle": "Pacchetti Dart", "@aboutLicensesDartPackagesSectionTitle": {}, - "aboutLicensesShowAllButtonLabel": "Mostra tutte le licenze", + "aboutLicensesShowAllButtonLabel": "Visualizza tutte le licenze", "@aboutLicensesShowAllButtonLabel": {}, "policyPageTitle": "Informativa sulla privacy", "@policyPageTitle": {}, @@ -533,9 +533,9 @@ "@collectionPickPageTitle": {}, "collectionSelectPageTitle": "Seleziona elementi", "@collectionSelectPageTitle": {}, - "collectionActionShowTitleSearch": "Filtra per titoli", + "collectionActionShowTitleSearch": "Visualizza filtro titoli", "@collectionActionShowTitleSearch": {}, - "collectionActionHideTitleSearch": "Nascondi filtro", + "collectionActionHideTitleSearch": "Nascondi filtro titoli", "@collectionActionHideTitleSearch": {}, "collectionActionAddShortcut": "Aggiungi collegamento", "@collectionActionAddShortcut": {}, @@ -599,7 +599,7 @@ "@collectionSelectSectionTooltip": {}, "collectionDeselectSectionTooltip": "Deseleziona sezione", "@collectionDeselectSectionTooltip": {}, - "drawerAboutButton": "Informazioni", + "drawerAboutButton": "Info", "@drawerAboutButton": {}, "drawerSettingsButton": "Impostazioni", "@drawerSettingsButton": {}, @@ -631,11 +631,11 @@ "@sortByDate": {}, "sortByName": "Per nome", "@sortByName": {}, - "sortByItemCount": "Per numero di elementi", + "sortByItemCount": "Per numero elementi", "@sortByItemCount": {}, "sortBySize": "Per dimensione", "@sortBySize": {}, - "sortByAlbumFileName": "Per album e nome del file", + "sortByAlbumFileName": "Per album e nome file", "@sortByAlbumFileName": {}, "sortByRating": "Per valutazione", "@sortByRating": {}, @@ -649,7 +649,7 @@ "@sortOrderZtoA": {}, "sortOrderHighestFirst": "Dalla più alta", "@sortOrderHighestFirst": {}, - "sortOrderLowestFirst": "Prima le più basse", + "sortOrderLowestFirst": "Dalla più bassa", "@sortOrderLowestFirst": {}, "sortOrderLargestFirst": "Dal più grande", "@sortOrderLargestFirst": {}, @@ -659,29 +659,29 @@ "@albumGroupTier": {}, "albumGroupType": "Per tipo", "@albumGroupType": {}, - "albumGroupVolume": "Per volume di archiviazione", + "albumGroupVolume": "Per volume archiviazione", "@albumGroupVolume": {}, "albumGroupNone": "Non raggruppare", "@albumGroupNone": {}, "albumMimeTypeMixed": "Misto", "@albumMimeTypeMixed": {}, - "albumPickPageTitleCopy": "Copia", + "albumPickPageTitleCopy": "Copia nell'album", "@albumPickPageTitleCopy": {}, - "albumPickPageTitleExport": "Esporta", + "albumPickPageTitleExport": "Esporta nell'album", "@albumPickPageTitleExport": {}, - "albumPickPageTitleMove": "Sposta", + "albumPickPageTitleMove": "Sposta nell'album", "@albumPickPageTitleMove": {}, - "albumPickPageTitlePick": "Seleziona", + "albumPickPageTitlePick": "Seleziona album", "@albumPickPageTitlePick": {}, "albumCamera": "Fotocamera", "@albumCamera": {}, "albumDownload": "Scaricati", "@albumDownload": {}, - "albumScreenshots": "Screenshot", + "albumScreenshots": "Schermate", "@albumScreenshots": {}, "albumScreenRecordings": "Registrazioni schermo", "@albumScreenRecordings": {}, - "albumVideoCaptures": "Scatti nei video", + "albumVideoCaptures": "Catture video", "@albumVideoCaptures": {}, "albumPageTitle": "Album", "@albumPageTitle": {}, @@ -701,7 +701,7 @@ "@tagEmpty": {}, "binPageTitle": "Cestino", "@binPageTitle": {}, - "searchCollectionFieldHint": "Cerca raccolta", + "searchCollectionFieldHint": "Cerca collezione", "@searchCollectionFieldHint": {}, "searchRecentSectionTitle": "Recenti", "@searchRecentSectionTitle": {}, @@ -721,9 +721,9 @@ "@searchMetadataSectionTitle": {}, "settingsPageTitle": "Impostazioni", "@settingsPageTitle": {}, - "settingsSystemDefault": "Sistema", + "settingsSystemDefault": "Predefinito sistema", "@settingsSystemDefault": {}, - "settingsDefault": "Predefinite", + "settingsDefault": "Predefinito", "@settingsDefault": {}, "settingsDisabled": "Disabilitato", "@settingsDisabled": {}, @@ -751,17 +751,17 @@ "@settingsHomeTile": {}, "settingsHomeDialogTitle": "Pagina iniziale", "@settingsHomeDialogTitle": {}, - "settingsShowBottomNavigationBar": "Mostra la barra di navigazione in basso", + "settingsShowBottomNavigationBar": "Visualizza barra navigazione in basso", "@settingsShowBottomNavigationBar": {}, "settingsKeepScreenOnTile": "Mantieni acceso lo schermo", "@settingsKeepScreenOnTile": {}, - "settingsKeepScreenOnDialogTitle": "Illuminazione schermo", + "settingsKeepScreenOnDialogTitle": "Mantieni schermo acceso", "@settingsKeepScreenOnDialogTitle": {}, "settingsDoubleBackExit": "Tocca «indietro» due volte per uscire", "@settingsDoubleBackExit": {}, - "settingsConfirmationTile": "Richieste di conferma", + "settingsConfirmationTile": "Richieste conferma", "@settingsConfirmationTile": {}, - "settingsConfirmationDialogTitle": "Richieste di conferma", + "settingsConfirmationDialogTitle": "Richieste conferma", "@settingsConfirmationDialogTitle": {}, "settingsConfirmationBeforeDeleteItems": "Chiedi prima di eliminare gli elementi definitivamente", "@settingsConfirmationBeforeDeleteItems": {}, @@ -769,11 +769,11 @@ "@settingsConfirmationBeforeMoveToBinItems": {}, "settingsConfirmationBeforeMoveUndatedItems": "Chiedi prima di spostare gli elementi senza data", "@settingsConfirmationBeforeMoveUndatedItems": {}, - "settingsConfirmationAfterMoveToBinItems": "Mostra un messaggio dopo aver spostato gli elementi nel cestino", + "settingsConfirmationAfterMoveToBinItems": "Visualizza un messaggio dopo aver spostato gli elementi nel cestino", "@settingsConfirmationAfterMoveToBinItems": {}, - "settingsNavigationDrawerTile": "Menu di navigazione", + "settingsNavigationDrawerTile": "Menu navigazione", "@settingsNavigationDrawerTile": {}, - "settingsNavigationDrawerEditorPageTitle": "Menu di navigazione", + "settingsNavigationDrawerEditorPageTitle": "Menu navigazione", "@settingsNavigationDrawerEditorPageTitle": {}, "settingsNavigationDrawerBanner": "Tocca e tieni premuto per spostare e riordinare gli elementi del menu.", "@settingsNavigationDrawerBanner": {}, @@ -791,19 +791,19 @@ "@settingsThumbnailOverlayTile": {}, "settingsThumbnailOverlayPageTitle": "Sovrapposizione", "@settingsThumbnailOverlayPageTitle": {}, - "settingsThumbnailShowFavouriteIcon": "Mostra l’icona Preferiti", + "settingsThumbnailShowFavouriteIcon": "Visualizza icona Preferiti", "@settingsThumbnailShowFavouriteIcon": {}, - "settingsThumbnailShowTagIcon": "Mostra l’icona Etichetta", + "settingsThumbnailShowTagIcon": "Visualizza icona Etichetta", "@settingsThumbnailShowTagIcon": {}, - "settingsThumbnailShowLocationIcon": "Mostra l’icona Posizione", + "settingsThumbnailShowLocationIcon": "Visualizza icona Posizione", "@settingsThumbnailShowLocationIcon": {}, - "settingsThumbnailShowMotionPhotoIcon": "Mostra l’icona Foto in movimento", + "settingsThumbnailShowMotionPhotoIcon": "Viusalizza icona Foto in movimento", "@settingsThumbnailShowMotionPhotoIcon": {}, - "settingsThumbnailShowRating": "Mostra la valutazione", + "settingsThumbnailShowRating": "Visualizza Valutazione", "@settingsThumbnailShowRating": {}, - "settingsThumbnailShowRawIcon": "Mostra icona Raw", + "settingsThumbnailShowRawIcon": "Visualizza icona Raw", "@settingsThumbnailShowRawIcon": {}, - "settingsThumbnailShowVideoDuration": "Mostra la durata del video", + "settingsThumbnailShowVideoDuration": "Visualizza durata video", "@settingsThumbnailShowVideoDuration": {}, "settingsCollectionQuickActionsTile": "Azioni rapide", "@settingsCollectionQuickActionsTile": {}, @@ -821,11 +821,11 @@ "@settingsViewerSectionTitle": {}, "settingsViewerGestureSideTapNext": "Tocca i bordi dello schermo per visualizzare l’elemento precedente/successivo", "@settingsViewerGestureSideTapNext": {}, - "settingsViewerUseCutout": "Usa area di ritaglio", + "settingsViewerUseCutout": "Usa area ritagliata", "@settingsViewerUseCutout": {}, "settingsViewerMaximumBrightness": "Luminosità massima", "@settingsViewerMaximumBrightness": {}, - "settingsMotionPhotoAutoPlay": "Riproduzione automatica delle foto in movimento", + "settingsMotionPhotoAutoPlay": "Riproduzione automatica foto in movimento", "@settingsMotionPhotoAutoPlay": {}, "settingsImageBackground": "Sfondo immagine", "@settingsImageBackground": {}, @@ -833,7 +833,7 @@ "@settingsViewerQuickActionsTile": {}, "settingsViewerQuickActionEditorPageTitle": "Azioni rapide", "@settingsViewerQuickActionEditorPageTitle": {}, - "settingsViewerQuickActionEditorBanner": "Tocca e tieni premuto per spostare i pulsanti e selezionare quali azioni vengono mostrate durante la visualizione.", + "settingsViewerQuickActionEditorBanner": "Tocca e tieni premuto per spostare i pulsanti e selezionare quali azioni vengono visualizzate nel visualizzatore.", "@settingsViewerQuickActionEditorBanner": {}, "settingsViewerQuickActionEditorDisplayedButtonsSectionTitle": "Pulsanti visualizzati", "@settingsViewerQuickActionEditorDisplayedButtonsSectionTitle": {}, @@ -845,17 +845,17 @@ "@settingsViewerOverlayTile": {}, "settingsViewerOverlayPageTitle": "Sovrapposizione", "@settingsViewerOverlayPageTitle": {}, - "settingsViewerShowOverlayOnOpening": "Mostra all’apertura", + "settingsViewerShowOverlayOnOpening": "Visualizza all’apertura", "@settingsViewerShowOverlayOnOpening": {}, - "settingsViewerShowMinimap": "Mostra la minimappa", + "settingsViewerShowMinimap": "Visualizza minimappa", "@settingsViewerShowMinimap": {}, - "settingsViewerShowInformation": "Mostra informazioni", + "settingsViewerShowInformation": "Visualizza informazioni", "@settingsViewerShowInformation": {}, - "settingsViewerShowInformationSubtitle": "Mostra titolo, data, posizione, ecc.", + "settingsViewerShowInformationSubtitle": "Visualizza titolo, data, posizione, ecc.", "@settingsViewerShowInformationSubtitle": {}, - "settingsViewerShowShootingDetails": "Mostra i dettagli dello scatto", + "settingsViewerShowShootingDetails": "Visualizza dettagli scatto", "@settingsViewerShowShootingDetails": {}, - "settingsViewerShowOverlayThumbnails": "Mostra le miniature", + "settingsViewerShowOverlayThumbnails": "Visualizza miniature", "@settingsViewerShowOverlayThumbnails": {}, "settingsViewerEnableOverlayBlurEffect": "Effetto sfocatura", "@settingsViewerEnableOverlayBlurEffect": {}, @@ -883,7 +883,7 @@ "@settingsVideoPageTitle": {}, "settingsVideoSectionTitle": "Video", "@settingsVideoSectionTitle": {}, - "settingsVideoShowVideos": "Mostra video", + "settingsVideoShowVideos": "Visualizza video", "@settingsVideoShowVideos": {}, "settingsVideoEnableHardwareAcceleration": "Accelerazione hardware", "@settingsVideoEnableHardwareAcceleration": {}, @@ -899,21 +899,21 @@ "@settingsSubtitleThemePageTitle": {}, "settingsSubtitleThemeSample": "Questo è un campione.", "@settingsSubtitleThemeSample": {}, - "settingsSubtitleThemeTextAlignmentTile": "Allineamento del testo", + "settingsSubtitleThemeTextAlignmentTile": "Allineamento testo", "@settingsSubtitleThemeTextAlignmentTile": {}, - "settingsSubtitleThemeTextAlignmentDialogTitle": "Allineamento del testo", + "settingsSubtitleThemeTextAlignmentDialogTitle": "Allineamento testo", "@settingsSubtitleThemeTextAlignmentDialogTitle": {}, - "settingsSubtitleThemeTextSize": "Dimensione del testo", + "settingsSubtitleThemeTextSize": "Dimensione testo", "@settingsSubtitleThemeTextSize": {}, - "settingsSubtitleThemeShowOutline": "Mostra contorno e ombra", + "settingsSubtitleThemeShowOutline": "Visualizza contorno e ombra", "@settingsSubtitleThemeShowOutline": {}, - "settingsSubtitleThemeTextColor": "Colore del testo", + "settingsSubtitleThemeTextColor": "Colore testo", "@settingsSubtitleThemeTextColor": {}, - "settingsSubtitleThemeTextOpacity": "Opacità del testo", + "settingsSubtitleThemeTextOpacity": "Opacità testo", "@settingsSubtitleThemeTextOpacity": {}, - "settingsSubtitleThemeBackgroundColor": "Colore di sfondo", + "settingsSubtitleThemeBackgroundColor": "Colore sfondo", "@settingsSubtitleThemeBackgroundColor": {}, - "settingsSubtitleThemeBackgroundOpacity": "Opacità dello sfondo", + "settingsSubtitleThemeBackgroundOpacity": "Opacità sfondo", "@settingsSubtitleThemeBackgroundOpacity": {}, "settingsSubtitleThemeTextAlignmentLeft": "Sinistra", "@settingsSubtitleThemeTextAlignmentLeft": {}, @@ -927,29 +927,29 @@ "@settingsVideoControlsPageTitle": {}, "settingsVideoButtonsTile": "Pulsanti", "@settingsVideoButtonsTile": {}, - "settingsVideoGestureDoubleTapTogglePlay": "Doppio tocco per play/pausa", + "settingsVideoGestureDoubleTapTogglePlay": "Doppio tocco riproduci/pausa", "@settingsVideoGestureDoubleTapTogglePlay": {}, "settingsVideoGestureSideDoubleTapSeek": "Doppio tocco sui bordi dello schermo per cercare avanti/indietro", "@settingsVideoGestureSideDoubleTapSeek": {}, "settingsPrivacySectionTitle": "Privacy", "@settingsPrivacySectionTitle": {}, - "settingsAllowInstalledAppAccess": "Consentire l’accesso all’inventario delle app", + "settingsAllowInstalledAppAccess": "Consenti l’accesso all’inventario app", "@settingsAllowInstalledAppAccess": {}, - "settingsAllowInstalledAppAccessSubtitle": "Utilizzato per migliorare la visualizzazione degli album", + "settingsAllowInstalledAppAccessSubtitle": "Usato per migliorare la visualizzazione album", "@settingsAllowInstalledAppAccessSubtitle": {}, - "settingsAllowErrorReporting": "Consenti segnalazione anonima degli errori", + "settingsAllowErrorReporting": "Consenti segnalazione anonima errori", "@settingsAllowErrorReporting": {}, - "settingsSaveSearchHistory": "Salva la cronologia delle ricerche", + "settingsSaveSearchHistory": "Salva cronologia ricerche", "@settingsSaveSearchHistory": {}, - "settingsEnableBin": "Usa il cestino", + "settingsEnableBin": "Usa cestino", "@settingsEnableBin": {}, - "settingsEnableBinSubtitle": "Conserva gli elementi eliminati per 30 giorni", + "settingsEnableBinSubtitle": "Conserva elementi eliminati per 30 giorni", "@settingsEnableBinSubtitle": {}, "settingsHiddenItemsTile": "Elementi nascosti", "@settingsHiddenItemsTile": {}, "settingsHiddenItemsPageTitle": "Elementi nascosti", "@settingsHiddenItemsPageTitle": {}, - "settingsHiddenFiltersBanner": "Le foto e i video che corrispondono ai filtri nascosti non appariranno nella tua collezione.", + "settingsHiddenFiltersBanner": "Le foto e i video che corrispondono ai filtri nascosti non appariranno nella collezione.", "@settingsHiddenFiltersBanner": {}, "settingsHiddenFiltersEmpty": "Nessun filtro nascosto", "@settingsHiddenFiltersEmpty": {}, @@ -957,7 +957,7 @@ "@settingsStorageAccessTile": {}, "settingsStorageAccessPageTitle": "Accesso a tutti i file", "@settingsStorageAccessPageTitle": {}, - "settingsStorageAccessBanner": "Alcune cartelle richiedono una concessione di accesso esplicita per modificare i file al loro interno. Puoi rivedere qui le cartelle a cui hai dato accesso in precedenza.", + "settingsStorageAccessBanner": "Alcune cartelle per modificare i file al loro interno richiedono una concessione di accesso esplicita. Puoi rivedere qui le cartelle a cui hai dato accesso in precedenza.", "@settingsStorageAccessBanner": {}, "settingsStorageAccessEmpty": "Nessuna autorizzazione concessa", "@settingsStorageAccessEmpty": {}, @@ -969,7 +969,7 @@ "@settingsRemoveAnimationsTile": {}, "settingsRemoveAnimationsDialogTitle": "Rimuovi animazioni", "@settingsRemoveAnimationsDialogTitle": {}, - "settingsTimeToTakeActionTile": "Tempo di reazione", + "settingsTimeToTakeActionTile": "Tempo reazione", "@settingsTimeToTakeActionTile": {}, "settingsDisplaySectionTitle": "Schermo", "@settingsDisplaySectionTitle": {}, @@ -981,9 +981,9 @@ "@settingsThemeColorHighlights": {}, "settingsThemeEnableDynamicColor": "Colori dinamici", "@settingsThemeEnableDynamicColor": {}, - "settingsDisplayRefreshRateModeTile": "Frequenza di aggiornamento dello schermo", + "settingsDisplayRefreshRateModeTile": "Frequenza aggiornamento schermo", "@settingsDisplayRefreshRateModeTile": {}, - "settingsDisplayRefreshRateModeDialogTitle": "Frequenza di aggiornamento", + "settingsDisplayRefreshRateModeDialogTitle": "Frequenza aggiornamento", "@settingsDisplayRefreshRateModeDialogTitle": {}, "settingsLanguageSectionTitle": "Lingua e formati", "@settingsLanguageSectionTitle": {}, @@ -1005,7 +1005,7 @@ "@settingsWidgetPageTitle": {}, "settingsWidgetShowOutline": "Contorno", "@settingsWidgetShowOutline": {}, - "settingsWidgetOpenPage": "Se tocchi il widget", + "settingsWidgetOpenPage": "Quando tocchi il widget", "@settingsWidgetOpenPage": {}, "settingsCollectionTile": "Collezione", "@settingsCollectionTile": {}, @@ -1051,15 +1051,15 @@ "@viewerInfoLabelPath": {}, "viewerInfoLabelDuration": "Durata", "@viewerInfoLabelDuration": {}, - "viewerInfoLabelOwner": "Di proprietà di", + "viewerInfoLabelOwner": "Proprietario", "@viewerInfoLabelOwner": {}, "viewerInfoLabelCoordinates": "Coordinate", "@viewerInfoLabelCoordinates": {}, "viewerInfoLabelAddress": "Indirizzo", "@viewerInfoLabelAddress": {}, - "mapStyleDialogTitle": "Stile Mappa", + "mapStyleDialogTitle": "Stile mappa", "@mapStyleDialogTitle": {}, - "mapStyleTooltip": "Seleziona lo stile della mappa", + "mapStyleTooltip": "Seleziona stile mappa", "@mapStyleTooltip": {}, "mapZoomInTooltip": "Ingrandisci", "@mapZoomInTooltip": {}, @@ -1071,11 +1071,11 @@ "@mapAttributionOsmHot": {}, "mapAttributionStamen": "Titoli di [Stamen Design](https://stamen.com), [CC BY 3.0](https://creativecommons.org/licenses/by/3.0)", "@mapAttributionStamen": {}, - "openMapPageTooltip": "Visualizza sulla pagina della mappa", + "openMapPageTooltip": "Visualizza nella pagina della mappa", "@openMapPageTooltip": {}, "mapEmptyRegion": "Nessuna immagine in questa regione", "@mapEmptyRegion": {}, - "viewerInfoOpenEmbeddedFailureFeedback": "Fallita l’estrazione dei dati incorporati", + "viewerInfoOpenEmbeddedFailureFeedback": "Estrazione dati incorporati fallita", "@viewerInfoOpenEmbeddedFailureFeedback": {}, "viewerInfoOpenLinkText": "Apri", "@viewerInfoOpenLinkText": {}, @@ -1103,17 +1103,17 @@ "@tagEditorPageNewTagFieldLabel": {}, "tagEditorPageAddTagTooltip": "Aggiungi etichetta", "@tagEditorPageAddTagTooltip": {}, - "tagEditorSectionRecent": "Aggiunti di recente", + "tagEditorSectionRecent": "Recenti", "@tagEditorSectionRecent": {}, - "panoramaEnableSensorControl": "Abilita il controllo del sensore", + "panoramaEnableSensorControl": "Abilita controllo sensore", "@panoramaEnableSensorControl": {}, - "panoramaDisableSensorControl": "Disabilita il controllo del sensore", + "panoramaDisableSensorControl": "Disabilita controllo sensore", "@panoramaDisableSensorControl": {}, "sourceViewerPageTitle": "Codice sorgente", "@sourceViewerPageTitle": {}, - "filePickerShowHiddenFiles": "Mostra i file nascosti", + "filePickerShowHiddenFiles": "Visualizza file nascosti", "@filePickerShowHiddenFiles": {}, - "filePickerDoNotShowHiddenFiles": "Non mostrare i file nascosti", + "filePickerDoNotShowHiddenFiles": "Non visualizzare i file nascosti", "@filePickerDoNotShowHiddenFiles": {}, "filePickerOpenFrom": "Apri da", "@filePickerOpenFrom": {}, @@ -1123,7 +1123,7 @@ "@filePickerUseThisFolder": {}, "durationDialogSeconds": "Secondi", "@durationDialogSeconds": {}, - "settingsAllowMediaManagement": "Consenti la gestione dei media", + "settingsAllowMediaManagement": "Consenti gestione media", "@settingsAllowMediaManagement": {}, "tagEditorSectionPlaceholders": "Segnaposti", "@tagEditorSectionPlaceholders": {}, @@ -1137,7 +1137,7 @@ "@editEntryLocationDialogSetCustom": {}, "entryInfoActionExportMetadata": "Esporta metadati", "@entryInfoActionExportMetadata": {}, - "subtitlePositionTop": "In cima", + "subtitlePositionTop": "In alto", "@subtitlePositionTop": {}, "widgetDisplayedItemMostRecent": "Più recente", "@widgetDisplayedItemMostRecent": {}, @@ -1151,7 +1151,7 @@ "@settingsSubtitleThemeTextPositionDialogTitle": {}, "settingsWidgetDisplayedItem": "Elemento visualizzato", "@settingsWidgetDisplayedItem": {}, - "settingsViewerShowRatingTags": "Mostra valutazione & etichette", + "settingsViewerShowRatingTags": "Visualizza valutazione e etichette", "@settingsViewerShowRatingTags": {}, "columnCount": "{count, plural, =1{{count} colonna} other{{count} colonne}}", "@columnCount": { @@ -1165,9 +1165,9 @@ "@filterAspectRatioLandscapeLabel": {}, "filterAspectRatioPortraitLabel": "Verticale", "@filterAspectRatioPortraitLabel": {}, - "keepScreenOnVideoPlayback": "Durante la riproduzione video", + "keepScreenOnVideoPlayback": "Durante riproduzione video", "@keepScreenOnVideoPlayback": {}, - "settingsAccessibilityShowPinchGestureAlternatives": "Mostra gesti multi-touch alternativi", + "settingsAccessibilityShowPinchGestureAlternatives": "Visualizza gesti multi touch alternativi", "@settingsAccessibilityShowPinchGestureAlternatives": {}, "entryActionShareImageOnly": "Condividi solo immagine", "@entryActionShareImageOnly": {}, @@ -1179,15 +1179,15 @@ "@filterLocatedLabel": {}, "filterTaggedLabel": "Etichettato", "@filterTaggedLabel": {}, - "settingsModificationWarningDialogMessage": "Le altre impostazioni saranno modificate.", + "settingsModificationWarningDialogMessage": "Saranno modificate le altre impostazioni.", "@settingsModificationWarningDialogMessage": {}, "settingsDisplayUseTvInterface": "Interfaccia Android TV", "@settingsDisplayUseTvInterface": {}, - "settingsViewerShowDescription": "Mostra la descrizione", + "settingsViewerShowDescription": "Visualizza descrizione", "@settingsViewerShowDescription": {}, "tooManyItemsErrorDialogMessage": "Riprova con meno elementi.", "@tooManyItemsErrorDialogMessage": {}, - "settingsVideoGestureVerticalDragBrightnessVolume": "Trascina su o giù per aggiustare luminosità/volume", + "settingsVideoGestureVerticalDragBrightnessVolume": "Trascina su o giù per regolare luminosità/volume", "@settingsVideoGestureVerticalDragBrightnessVolume": {}, "vaultDialogLockModeWhenScreenOff": "Blocca allo spegnimento dello schermo", "@vaultDialogLockModeWhenScreenOff": {}, @@ -1203,7 +1203,7 @@ "@vaultLockTypePin": {}, "vaultLockTypePassword": "Password", "@vaultLockTypePassword": {}, - "newVaultWarningDialogMessage": "Gli elementi nelle casseforti sono disponibili solo per questa app e non per altre.\n\nSe disinstalli l'app o ne cancelli i dati, perderai tutti questi elementi.", + "newVaultWarningDialogMessage": "Gli elementi nelle cassaforti sono disponibili solo per questa app e non per altre.\n\nSe disinstalli l'app o cancelli i relativi dati, perderai tutti questi elementi.", "@newVaultWarningDialogMessage": {}, "newVaultDialogTitle": "Nuova Cassaforte", "@newVaultDialogTitle": {}, @@ -1223,7 +1223,7 @@ "@passwordDialogEnter": {}, "passwordDialogConfirm": "Conferma password", "@passwordDialogConfirm": {}, - "settingsConfirmationVaultDataLoss": "Mostra avviso di perdita dati delle casseforti", + "settingsConfirmationVaultDataLoss": "Visualizza avviso perdita dati delle casseforti", "@settingsConfirmationVaultDataLoss": {}, "settingsDisablingBinWarningDialogMessage": "Gli elementi nel cestino verranno eliminati permanentemente.", "@settingsDisablingBinWarningDialogMessage": {}, @@ -1231,7 +1231,7 @@ "@configureVaultDialogTitle": {}, "exportEntryDialogWriteMetadata": "Scrivi metadati", "@exportEntryDialogWriteMetadata": {}, - "chipActionGoToPlacePage": "Mostra nei Luoghi", + "chipActionGoToPlacePage": "Visualizza nei Luoghi", "@chipActionGoToPlacePage": {}, "lengthUnitPercent": "%", "@lengthUnitPercent": {}, @@ -1249,7 +1249,7 @@ "@placePageTitle": {}, "settingsVideoBackgroundMode": "Modalità sottofondo", "@settingsVideoBackgroundMode": {}, - "settingsVideoBackgroundModeDialogTitle": "Modalità Sottofondo", + "settingsVideoBackgroundModeDialogTitle": "Modalità sottofondo", "@settingsVideoBackgroundModeDialogTitle": {}, "settingsVideoEnablePip": "Picture-in-picture", "@settingsVideoEnablePip": {}, @@ -1265,7 +1265,7 @@ "@tagPlaceholderState": {}, "settingsCollectionBurstPatternsNone": "Nessuno", "@settingsCollectionBurstPatternsNone": {}, - "chipActionShowCountryStates": "Mostra stati", + "chipActionShowCountryStates": "Visualizza stati", "@chipActionShowCountryStates": {}, "statePageTitle": "Stati", "@statePageTitle": {}, @@ -1283,7 +1283,7 @@ "@videoResumptionModeNever": {}, "videoResumptionModeAlways": "Sempre", "@videoResumptionModeAlways": {}, - "settingsVideoResumptionModeDialogTitle": "Riprendi Riproduzione", + "settingsVideoResumptionModeDialogTitle": "Riprendi riproduzione", "@settingsVideoResumptionModeDialogTitle": {}, "tagEditorDiscardDialogMessage": "Vuoi scartare le modifiche?", "@tagEditorDiscardDialogMessage": {}, @@ -1295,7 +1295,7 @@ "@maxBrightnessAlways": {}, "settingsVideoPlaybackTile": "Riproduzione", "@settingsVideoPlaybackTile": {}, - "settingsCollectionBurstPatternsTile": "Modelli di burst", + "settingsCollectionBurstPatternsTile": "Modelli burst", "@settingsCollectionBurstPatternsTile": {}, "saveCopyButtonLabel": "SALVA COPIA", "@saveCopyButtonLabel": {}, @@ -1307,7 +1307,7 @@ "@editorTransformCrop": {}, "editorTransformRotate": "Ruota", "@editorTransformRotate": {}, - "cropAspectRatioFree": "Libero", + "cropAspectRatioFree": "Liberi", "@cropAspectRatioFree": {}, "cropAspectRatioOriginal": "Originale", "@cropAspectRatioOriginal": {}, @@ -1321,7 +1321,7 @@ "@aboutDataUsageMisc": {}, "aboutDataUsageDatabase": "Database", "@aboutDataUsageDatabase": {}, - "aboutDataUsageSectionTitle": "Utilizzo dati", + "aboutDataUsageSectionTitle": "Uso dati", "@aboutDataUsageSectionTitle": {}, "aboutDataUsageData": "Dati", "@aboutDataUsageData": {}, @@ -1333,15 +1333,15 @@ "@overlayHistogramNone": {}, "overlayHistogramLuminance": "Luminanza", "@overlayHistogramLuminance": {}, - "settingsViewerShowHistogram": "Mostra istogramma", + "settingsViewerShowHistogram": "Visualizza istogramma", "@settingsViewerShowHistogram": {}, "overlayHistogramRGB": "RGB", "@overlayHistogramRGB": {}, "entryActionCast": "Cast", "@entryActionCast": {}, - "aboutDataUsageClearCache": "Pulisci Cache", + "aboutDataUsageClearCache": "Svuota cache", "@aboutDataUsageClearCache": {}, - "castDialogTitle": "Dispositivi per Cast", + "castDialogTitle": "Dispositivi cast", "@castDialogTitle": {}, "stopTooltip": "Ferma", "@stopTooltip": {}, @@ -1351,11 +1351,11 @@ "@videoRepeatActionSetStart": {}, "videoRepeatActionSetEnd": "Imposta fine", "@videoRepeatActionSetEnd": {}, - "settingsThumbnailShowHdrIcon": "Mostra icona HDR", + "settingsThumbnailShowHdrIcon": "Visualizza icona HDR", "@settingsThumbnailShowHdrIcon": {}, "collectionActionSetHome": "Imposta come pagina iniziale", "@collectionActionSetHome": {}, - "chipActionShowCollection": "Mostra nella Collezione", + "chipActionShowCollection": "Visualizza nella Collezione", "@chipActionShowCollection": {}, "renameProcessorHash": "Hash", "@renameProcessorHash": {}, @@ -1367,15 +1367,15 @@ "@sortOrderLongestFirst": {}, "sortOrderShortestFirst": "Dal più corto", "@sortOrderShortestFirst": {}, - "explorerPageTitle": "Esploratore", + "explorerPageTitle": "Gestione file", "@explorerPageTitle": {}, - "explorerActionSelectStorageVolume": "Seleziona il supporto", + "explorerActionSelectStorageVolume": "Seleziona supporto", "@explorerActionSelectStorageVolume": {}, - "selectStorageVolumeDialogTitle": "Seleziona Supporto", + "selectStorageVolumeDialogTitle": "Seleziona supporto", "@selectStorageVolumeDialogTitle": {}, "setHomeCustom": "Personalizzato", "@setHomeCustom": {}, - "chipActionGoToExplorerPage": "Mostra nell'Esploratore", + "chipActionGoToExplorerPage": "Mostra in Gestione file", "@chipActionGoToExplorerPage": {}, "mapAttributionOsmData": "Dati della mappa © collaboratori di [OpenStreetMap](https://www.openstreetmap.org/copyright)", "@mapAttributionOsmData": {}, @@ -1383,15 +1383,15 @@ "@newAlbumDialogAlbumAlreadyExistsHelper": {}, "chipActionRemove": "Rimuovi", "@chipActionRemove": {}, - "videoActionShowPreviousFrame": "Mostra fotogramma precedente", + "videoActionShowPreviousFrame": "Visualizza fotogramma precedente", "@videoActionShowPreviousFrame": {}, - "videoActionShowNextFrame": "Mostra fotogramma successivo", + "videoActionShowNextFrame": "Visualizza fotogramma successivo", "@videoActionShowNextFrame": {}, "albumTierDynamic": "Dinamico", "@albumTierDynamic": {}, - "newDynamicAlbumDialogTitle": "Nuovo Album Dinamico", + "newDynamicAlbumDialogTitle": "Nuovo album dinamico", "@newDynamicAlbumDialogTitle": {}, - "collectionActionAddDynamicAlbum": "Aggiunti album dinamico", + "collectionActionAddDynamicAlbum": "Aggiungi album dinamico", "@collectionActionAddDynamicAlbum": {}, "appExportDynamicAlbums": "Album dinamici", "@appExportDynamicAlbums": {}, diff --git a/lib/l10n/app_pt.arb b/lib/l10n/app_pt.arb index e1132b8b6..4153911c7 100644 --- a/lib/l10n/app_pt.arb +++ b/lib/l10n/app_pt.arb @@ -1392,5 +1392,17 @@ "newAlbumDialogAlbumAlreadyExistsHelper": "O álbum já existe", "@newAlbumDialogAlbumAlreadyExistsHelper": {}, "videoActionShowPreviousFrame": "Mostrar quadro anterior", - "@videoActionShowPreviousFrame": {} + "@videoActionShowPreviousFrame": {}, + "chipActionRemove": "Remover", + "@chipActionRemove": {}, + "albumTierDynamic": "Dinâmico", + "@albumTierDynamic": {}, + "newDynamicAlbumDialogTitle": "Novo Álbum Dinâmico", + "@newDynamicAlbumDialogTitle": {}, + "dynamicAlbumAlreadyExists": "O álbum dinâmico já existe", + "@dynamicAlbumAlreadyExists": {}, + "collectionActionAddDynamicAlbum": "Adicionar álbum dinâmico", + "@collectionActionAddDynamicAlbum": {}, + "appExportDynamicAlbums": "Álbuns dinâmicos", + "@appExportDynamicAlbums": {} } diff --git a/lib/l10n/app_ta.arb b/lib/l10n/app_ta.arb index e98faebdc..55197e011 100644 --- a/lib/l10n/app_ta.arb +++ b/lib/l10n/app_ta.arb @@ -57,7 +57,7 @@ "@menuActionSelectNone": {}, "menuActionMap": "வரைபடம்", "@menuActionMap": {}, - "menuActionSlideshow": "ச்லைடுசோ", + "menuActionSlideshow": "வில்லைக்காட்சி", "@menuActionSlideshow": {}, "menuActionStats": "புள்ளிவிவரங்கள்", "@menuActionStats": {}, @@ -65,25 +65,25 @@ "@viewDialogSortSectionTitle": {}, "viewDialogGroupSectionTitle": "குழு", "@viewDialogGroupSectionTitle": {}, - "viewDialogLayoutSectionTitle": "மனையமைவு", + "viewDialogLayoutSectionTitle": "இடுவெளி", "@viewDialogLayoutSectionTitle": {}, "viewDialogReverseSortOrder": "தலைகீழ் வரிசை முறை", "@viewDialogReverseSortOrder": {}, "tileLayoutMosaic": "மொசைக்", "@tileLayoutMosaic": {}, - "tileLayoutGrid": "வலைவாய்", + "tileLayoutGrid": "சல்லடை", "@tileLayoutGrid": {}, "tileLayoutList": "பட்டியல்", "@tileLayoutList": {}, - "castDialogTitle": "நடிகர்கள் சாதனங்கள்", + "castDialogTitle": "தூக்கிஎறி சாதனங்கள்", "@castDialogTitle": {}, - "coverDialogTabCover": "கவர்", + "coverDialogTabCover": "அட்டை", "@coverDialogTabCover": {}, "coverDialogTabApp": "பயன்பாடு", "@coverDialogTabApp": {}, "coverDialogTabColor": "நிறம்", "@coverDialogTabColor": {}, - "appPickDialogTitle": "பயன்பாட்டைத் தேர்ந்தெடுங்கள்", + "appPickDialogTitle": "பயன்பாட்டை எடு", "@appPickDialogTitle": {}, "appPickDialogNone": "எதுவுமில்லை", "@appPickDialogNone": {}, @@ -99,11 +99,11 @@ "@aboutBugReportInstruction": {}, "aboutBugReportButton": "அறிக்கை", "@aboutBugReportButton": {}, - "aboutDataUsageSectionTitle": "தரவு பயன்பாடு", + "aboutDataUsageSectionTitle": "தரவுப் பயன்பாடு", "@aboutDataUsageSectionTitle": {}, - "aboutDataUsageData": "தகவல்கள்", + "aboutDataUsageData": "தரவு", "@aboutDataUsageData": {}, - "aboutDataUsageCache": "கேச்", + "aboutDataUsageCache": "தேக்ககம்", "@aboutDataUsageCache": {}, "aboutDataUsageDatabase": "தரவுத்தளம்", "@aboutDataUsageDatabase": {}, @@ -113,25 +113,25 @@ "@aboutDataUsageInternal": {}, "aboutDataUsageExternal": "வெளிப்புறம்", "@aboutDataUsageExternal": {}, - "aboutDataUsageClearCache": "தெளிவான தற்காலிக சேமிப்பு", + "aboutDataUsageClearCache": "தற்காலிக சேமிப்பு துடை", "@aboutDataUsageClearCache": {}, - "aboutCreditsSectionTitle": "வரவு", + "aboutCreditsSectionTitle": "நன்றி", "@aboutCreditsSectionTitle": {}, - "aboutCreditsWorldAtlas1": "இந்த பயன்பாடு ஒரு டோபோச்சன் கோப்பைப் பயன்படுத்துகிறது", + "aboutCreditsWorldAtlas1": "இந்தப் பயன்பாடு ஒரு டோபோச்சன் கோப்பைப் பயன்படுத்துகிறது", "@aboutCreditsWorldAtlas1": {}, - "aboutCreditsWorldAtlas2": "ஐ.எச்.சி உரிமத்தின் கீழ்.", + "aboutCreditsWorldAtlas2": "ஐஎச்சி உரிமத்தின் கீழ்.", "@aboutCreditsWorldAtlas2": {}, "aboutTranslatorsSectionTitle": "மொழிபெயர்ப்பாளர்கள்", "@aboutTranslatorsSectionTitle": {}, "aboutLicensesSectionTitle": "திறந்த மூல உரிமங்கள்", "@aboutLicensesSectionTitle": {}, - "aboutLicensesBanner": "இந்த பயன்பாடு பின்வரும் திறந்த மூல தொகுப்புகள் மற்றும் நூலகங்களைப் பயன்படுத்துகிறது.", + "aboutLicensesBanner": "இந்தப் பயன்பாடு பின்வரும் திறந்த மூல தொகுப்புகள் மற்றும் நூலகங்களைப் பயன்படுத்துகிறது.", "@aboutLicensesBanner": {}, "aboutLicensesAndroidLibrariesSectionTitle": "ஆண்ட்ராய்டு நூலகங்கள்", "@aboutLicensesAndroidLibrariesSectionTitle": {}, - "aboutLicensesFlutterPluginsSectionTitle": "Flutter செருகுநிரல்கள்", + "aboutLicensesFlutterPluginsSectionTitle": "ப்லுட்டர் செருகுநிரல்கள்", "@aboutLicensesFlutterPluginsSectionTitle": {}, - "aboutLicensesFlutterPackagesSectionTitle": "Flutter தொகுப்புகள்", + "aboutLicensesFlutterPackagesSectionTitle": "ப்லுட்டர் தொகுப்புகள்", "@aboutLicensesFlutterPackagesSectionTitle": {}, "aboutLicensesDartPackagesSectionTitle": "டார்ட் தொகுப்புகள்", "@aboutLicensesDartPackagesSectionTitle": {}, @@ -141,41 +141,41 @@ "@policyPageTitle": {}, "collectionPageTitle": "சேகரிப்பு", "@collectionPageTitle": {}, - "collectionPickPageTitle": "தேர்ந்தெடு", + "collectionPickPageTitle": "எடு", "@collectionPickPageTitle": {}, - "collectionSelectPageTitle": "உருப்படிகளைத் தேர்ந்தெடுக்கவும்", + "collectionSelectPageTitle": "உருப்படிகளைத் தேர்ந்தெடு", "@collectionSelectPageTitle": {}, "collectionActionShowTitleSearch": "தலைப்பு வடிகட்டியைக் காட்டு", "@collectionActionShowTitleSearch": {}, - "collectionActionHideTitleSearch": "தலைப்பு வடிகட்டியை மறைக்கவும்", + "collectionActionHideTitleSearch": "தலைப்பு வடிகட்டியை மறை", "@collectionActionHideTitleSearch": {}, - "collectionActionAddDynamicAlbum": "மாறும் ஆல்பத்தைச் சேர்க்கவும்", + "collectionActionAddDynamicAlbum": "மாறும் தொகுப்பைச் சேர்", "@collectionActionAddDynamicAlbum": {}, - "collectionActionEmptyBin": "வெற்று பின்", + "collectionActionEmptyBin": "வெற்று தொட்டி", "@collectionActionEmptyBin": {}, - "collectionActionCopy": "ஆல்பத்திற்கு நகலெடுக்கவும்", + "collectionActionCopy": "தொகுப்பிற்கு நகலெடு", "@collectionActionCopy": {}, - "collectionActionMove": "ஆல்பத்திற்கு நகர்த்தவும்", + "collectionActionMove": "தொகுப்பிற்கு நகர்த்து", "@collectionActionMove": {}, - "collectionActionRescan": "ரெச்கான்", + "collectionActionRescan": "மறுவருடல்", "@collectionActionRescan": {}, "collectionActionEdit": "தொகு", "@collectionActionEdit": {}, - "collectionGroupAlbum": "ஆல்பத்தால்", + "collectionGroupAlbum": "தொகுப்பால்", "@collectionGroupAlbum": {}, - "collectionGroupMonth": "மாதத்திற்குள்", + "collectionGroupMonth": "திங்களால்", "@collectionGroupMonth": {}, - "collectionGroupDay": "நாளுக்குள்", + "collectionGroupDay": "நாளால்", "@collectionGroupDay": {}, "collectionGroupNone": "குழு வேண்டாம்", "@collectionGroupNone": {}, - "sectionUnknown": "தெரியவில்லை", + "sectionUnknown": "தெரியாத", "@sectionUnknown": {}, "dateToday": "இன்று", "@dateToday": {}, "dateYesterday": "நேற்று", "@dateYesterday": {}, - "dateThisMonth": "இந்த மாதம்", + "dateThisMonth": "இந்தத் திங்கள்", "@dateThisMonth": {}, "appName": "ஏவ்ச்", "@appName": {}, @@ -243,15 +243,15 @@ }, "collectionEmptyFavourites": "பிடித்தவை இல்லை", "@collectionEmptyFavourites": {}, - "collectionEmptyVideos": "வீடியோக்கள் இல்லை", + "collectionEmptyVideos": "காணொளிகள் இல்லை", "@collectionEmptyVideos": {}, "collectionEmptyImages": "படங்கள் இல்லை", "@collectionEmptyImages": {}, - "collectionEmptyGrantAccessButtonLabel": "அணுகல் வழங்கவும்", + "collectionEmptyGrantAccessButtonLabel": "அணுகல் வழங்கு", "@collectionEmptyGrantAccessButtonLabel": {}, - "collectionSelectSectionTooltip": "பிரிவைத் தேர்ந்தெடுக்கவும்", + "collectionSelectSectionTooltip": "பிரிவைத் தேர்ந்தெடு", "@collectionSelectSectionTooltip": {}, - "collectionDeselectSectionTooltip": "பிரிவு தேர்வு", + "collectionDeselectSectionTooltip": "தேர்வு நீக்கு", "@collectionDeselectSectionTooltip": {}, "drawerAboutButton": "பற்றி", "@drawerAboutButton": {}, @@ -263,19 +263,19 @@ "@drawerCollectionFavourites": {}, "drawerCollectionImages": "படங்கள்", "@drawerCollectionImages": {}, - "drawerCollectionVideos": "வீடியோக்கள்", + "drawerCollectionVideos": "காணொளிகள்", "@drawerCollectionVideos": {}, "drawerCollectionPanoramas": "பனோரமாக்கள்", "@drawerCollectionPanoramas": {}, - "drawerCollectionAnimated": "அனிமேசன்", + "drawerCollectionAnimated": "அசைவூட்டபட்டது", "@drawerCollectionAnimated": {}, - "drawerCollectionMotionPhotos": "இயக்க புகைப்படங்கள்", + "drawerCollectionMotionPhotos": "இயக்கப் புகைப்படங்கள்", "@drawerCollectionMotionPhotos": {}, "drawerCollectionRaws": "மூல புகைப்படங்கள்", "@drawerCollectionRaws": {}, - "drawerCollectionSphericalVideos": "360 ° வீடியோக்கள்", + "drawerCollectionSphericalVideos": "360° காணொளிகள்", "@drawerCollectionSphericalVideos": {}, - "drawerAlbumPage": "ஆல்பம்", + "drawerAlbumPage": "தொகுப்புகள்", "@drawerAlbumPage": {}, "drawerCountryPage": "நாடுகள்", "@drawerCountryPage": {}, @@ -283,21 +283,21 @@ "@drawerPlacePage": {}, "drawerTagPage": "குறிச்சொற்கள்", "@drawerTagPage": {}, - "sortByDate": "தேதி", + "sortByDate": "தேதிமூலம்", "@sortByDate": {}, "sortByName": "பெயரால்", "@sortByName": {}, - "sortByItemCount": "உருப்படி எண்ணிக்கை மூலம்", + "sortByItemCount": "உருப்படி எண்ணிக்கைமூலம்", "@sortByItemCount": {}, - "sortBySize": "அளவு மூலம்", + "sortBySize": "அளவுமூலம்", "@sortBySize": {}, - "sortByAlbumFileName": "ஆல்பம் & கோப்பு பெயர்", + "sortByAlbumFileName": "தொகுப்பு & கோப்புப் பெயர்மூலம்", "@sortByAlbumFileName": {}, - "sortByRating": "மதிப்பீடு மூலம்", + "sortByRating": "மதிப்பீடுமூலம்", "@sortByRating": {}, "sortByDuration": "காலப்படி", "@sortByDuration": {}, - "sortOrderNewestFirst": "புதிய முதல்", + "sortOrderNewestFirst": "முதலில் புதியது", "@sortOrderNewestFirst": {}, "sortOrderOldestFirst": "முதலில் பழமையானது", "@sortOrderOldestFirst": {}, @@ -309,33 +309,33 @@ "@sortOrderHighestFirst": {}, "sortOrderLowestFirst": "முதலில் மிகக் குறைவு", "@sortOrderLowestFirst": {}, - "sortOrderLargestFirst": "முதல் பெரியது", + "sortOrderLargestFirst": "பெரியது முதலில்", "@sortOrderLargestFirst": {}, - "sortOrderSmallestFirst": "முதலில் சிறியது", + "sortOrderSmallestFirst": "சிறியது முதலில்", "@sortOrderSmallestFirst": {}, - "sortOrderShortestFirst": "சிறியது முதலில்", + "sortOrderShortestFirst": "சின்னது முதலில்", "@sortOrderShortestFirst": {}, "sortOrderLongestFirst": "முதலில் நீளமானது", "@sortOrderLongestFirst": {}, - "albumGroupTier": "வழங்கியவர்", + "albumGroupTier": "அடுக்குமூலம்", "@albumGroupTier": {}, - "albumGroupType": "வகை", + "albumGroupType": "வகைமூலம்", "@albumGroupType": {}, - "albumGroupVolume": "சேமிப்பக அளவு மூலம்", + "albumGroupVolume": "சேமிப்பக அளவுமூலம்", "@albumGroupVolume": {}, "albumGroupNone": "குழு வேண்டாம்", "@albumGroupNone": {}, "albumMimeTypeMixed": "கலப்பு", "@albumMimeTypeMixed": {}, - "albumPickPageTitleCopy": "ஆல்பத்திற்கு நகலெடுக்கவும்", + "albumPickPageTitleCopy": "ஆல்பத்திற்கு நகலெடு", "@albumPickPageTitleCopy": {}, - "albumPickPageTitleExport": "ஆல்பத்திற்கு ஏற்றுமதி", + "albumPickPageTitleExport": "தொகுப்பிற்கு ஏற்றுமதி", "@albumPickPageTitleExport": {}, - "albumPickPageTitleMove": "ஆல்பத்திற்கு நகர்த்தவும்", + "albumPickPageTitleMove": "தொகுப்பிற்கு நகர்த்து", "@albumPickPageTitleMove": {}, - "albumPickPageTitlePick": "ஆல்பத்தைத் தேர்ந்தெடுங்கள்", + "albumPickPageTitlePick": "தொகுப்பைத் தேர்ந்தெடு", "@albumPickPageTitlePick": {}, - "albumCamera": "கேமரா", + "albumCamera": "ஒளிப்படக்கருவி", "@albumCamera": {}, "albumDownload": "பதிவிறக்கம்", "@albumDownload": {}, @@ -343,11 +343,11 @@ "@albumScreenshots": {}, "albumScreenRecordings": "திரை பதிவுகள்", "@albumScreenRecordings": {}, - "albumVideoCaptures": "வீடியோ கைப்பற்றுகிறது", + "albumVideoCaptures": "காணொளி பதிவுகள்", "@albumVideoCaptures": {}, - "albumPageTitle": "ஆல்பம்", + "albumPageTitle": "தொகுப்புகள்", "@albumPageTitle": {}, - "albumEmpty": "ஆல்பங்கள் இல்லை", + "albumEmpty": "தொகுப்புகள் இல்லை", "@albumEmpty": {}, "createAlbumButtonLabel": "உருவாக்கு", "@createAlbumButtonLabel": {}, @@ -367,21 +367,21 @@ "@placeEmpty": {}, "tagEmpty": "குறிச்சொற்கள் இல்லை", "@tagEmpty": {}, - "binPageTitle": "மறுசுழற்சி பின்", + "binPageTitle": "மறுசுழற்சி தொட்டி", "@binPageTitle": {}, - "explorerPageTitle": "எக்ச்ப்ளோரர்", + "explorerPageTitle": "உலாவி", "@explorerPageTitle": {}, - "explorerActionSelectStorageVolume": "சேமிப்பிடத்தைத் தேர்ந்தெடுக்கவும்", + "explorerActionSelectStorageVolume": "சேமிப்பிடத்தைத் தேர்ந்தெடு", "@explorerActionSelectStorageVolume": {}, - "selectStorageVolumeDialogTitle": "சேமிப்பிடத்தைத் தேர்ந்தெடுக்கவும்", + "selectStorageVolumeDialogTitle": "சேமிப்பிடத்தைத் தேர்ந்தெடு", "@selectStorageVolumeDialogTitle": {}, - "searchCollectionFieldHint": "தேடல் சேகரிப்பு", + "searchCollectionFieldHint": "சேகரிப்பு தேடல்", "@searchCollectionFieldHint": {}, "searchRecentSectionTitle": "அண்மைக் கால", "@searchRecentSectionTitle": {}, "searchDateSectionTitle": "திகதி", "@searchDateSectionTitle": {}, - "searchAlbumsSectionTitle": "ஆல்பம்", + "searchAlbumsSectionTitle": "தொகுப்புகள்", "@searchAlbumsSectionTitle": {}, "searchCountriesSectionTitle": "நாடுகள்", "@searchCountriesSectionTitle": {}, @@ -403,11 +403,11 @@ "@settingsDefault": {}, "settingsDisabled": "முடக்கப்பட்டது", "@settingsDisabled": {}, - "settingsAskEverytime": "ஒவ்வொரு நேரத்திலும் கேளுங்கள்", + "settingsAskEverytime": "ஒவ்வொருமுறையும் கேளு", "@settingsAskEverytime": {}, "settingsModificationWarningDialogMessage": "மற்ற அமைப்புகள் மாற்றப்படும்.", "@settingsModificationWarningDialogMessage": {}, - "settingsSearchFieldLabel": "அமைப்புகளைத் தேடுங்கள்", + "settingsSearchFieldLabel": "அமைப்புகளைத் தேடு", "@settingsSearchFieldLabel": {}, "settingsSearchEmpty": "பொருந்தக்கூடிய அமைப்பு இல்லை", "@settingsSearchEmpty": {}, @@ -419,15 +419,15 @@ "@settingsActionImport": {}, "settingsActionImportDialogTitle": "இறக்குமதி", "@settingsActionImportDialogTitle": {}, - "appExportCovers": "மறையம்", + "appExportCovers": "அட்டைகள்", "@appExportCovers": {}, - "appExportDynamicAlbums": "மாறும் ஆல்பங்கள்", + "appExportDynamicAlbums": "மாறும் தொகுப்புகள்", "@appExportDynamicAlbums": {}, - "appExportFavourites": "பிடித்தவை", + "appExportFavourites": "பிடித்தவைகள்", "@appExportFavourites": {}, "appExportSettings": "அமைப்புகள்", "@appExportSettings": {}, - "settingsNavigationSectionTitle": "வானோடல்", + "settingsNavigationSectionTitle": "வழிசெலுத்தல்", "@settingsNavigationSectionTitle": {}, "settingsHomeTile": "வீடு", "@settingsHomeTile": {}, @@ -437,23 +437,23 @@ "@setHomeCustom": {}, "settingsShowBottomNavigationBar": "கீழே உள்ள வழிசெலுத்தல் பட்டியைக் காட்டு", "@settingsShowBottomNavigationBar": {}, - "settingsKeepScreenOnTile": "திரையை தொடர்ந்து வைத்திருங்கள்", + "settingsKeepScreenOnTile": "திரையைத் தொடர்ந்து வைத்திரு", "@settingsKeepScreenOnTile": {}, - "settingsKeepScreenOnDialogTitle": "திரையை தொடர்ந்து வைத்திருங்கள்", + "settingsKeepScreenOnDialogTitle": "திரையைத் தொடர்ந்து வைத்திரு", "@settingsKeepScreenOnDialogTitle": {}, "settingsConfirmationTile": "உறுதிப்படுத்தல் உரையாடல்கள்", "@settingsConfirmationTile": {}, "settingsConfirmationDialogTitle": "உறுதிப்படுத்தல் உரையாடல்கள்", "@settingsConfirmationDialogTitle": {}, - "settingsConfirmationBeforeDeleteItems": "பொருட்களை எப்போதும் நீக்குவதற்கு முன் கேளுங்கள்", + "settingsConfirmationBeforeDeleteItems": "பொருட்களை எப்போதும் நீக்குவதற்கு முன் கேளு", "@settingsConfirmationBeforeDeleteItems": {}, - "settingsConfirmationBeforeMoveToBinItems": "மறுசுழற்சி தொட்டியில் பொருட்களை நகர்த்துவதற்கு முன் கேளுங்கள்", + "settingsConfirmationBeforeMoveToBinItems": "மறுசுழற்சி தொட்டியில் பொருட்களை நகர்த்துவதற்கு முன் கேளு", "@settingsConfirmationBeforeMoveToBinItems": {}, - "settingsConfirmationBeforeMoveUndatedItems": "மதிப்பிடப்படாத பொருட்களை நகர்த்துவதற்கு முன் கேளுங்கள்", + "settingsConfirmationBeforeMoveUndatedItems": "மதிப்பிடப்படாத பொருட்களை நகர்த்துவதற்கு முன் கேளு", "@settingsConfirmationBeforeMoveUndatedItems": {}, "settingsConfirmationAfterMoveToBinItems": "மறுசுழற்சி தொட்டியில் உருப்படிகளை நகர்த்திய பின் செய்தியைக் காட்டு", "@settingsConfirmationAfterMoveToBinItems": {}, - "settingsConfirmationVaultDataLoss": "வால்ட் தரவு இழப்பு எச்சரிக்கையைக் காட்டு", + "settingsConfirmationVaultDataLoss": "பெட்டக தரவு இழப்பு எச்சரிக்கையைக் காட்டு", "@settingsConfirmationVaultDataLoss": {}, "settingsNavigationDrawerTile": "வழிசெலுத்தல் பட்டியல்", "@settingsNavigationDrawerTile": {}, @@ -463,11 +463,11 @@ "@settingsNavigationDrawerBanner": {}, "settingsNavigationDrawerTabTypes": "வகைகள்", "@settingsNavigationDrawerTabTypes": {}, - "settingsNavigationDrawerTabAlbums": "ஆல்பம்", + "settingsNavigationDrawerTabAlbums": "தொகுப்புகள்", "@settingsNavigationDrawerTabAlbums": {}, "settingsNavigationDrawerTabPages": "பக்கங்கள்", "@settingsNavigationDrawerTabPages": {}, - "settingsNavigationDrawerAddAlbum": "ஆல்பத்தைச் சேர்க்கவும்", + "settingsNavigationDrawerAddAlbum": "தொகுப்பைச் சேர்", "@settingsNavigationDrawerAddAlbum": {}, "settingsThumbnailSectionTitle": "சிறு உருவங்கள்", "@settingsThumbnailSectionTitle": {}, @@ -507,7 +507,7 @@ "@settingsViewerSectionTitle": {}, "settingsCollectionSelectionQuickActionEditorBanner": "பொத்தான்களை நகர்த்தவும், உருப்படிகளைத் தேர்ந்தெடுக்கும்போது எந்த நடவடிக்கைகள் காண்பிக்கப்படுகின்றன என்பதைத் தேர்ந்தெடுக்கவும்.", "@settingsCollectionSelectionQuickActionEditorBanner": {}, - "settingsViewerGestureSideTapNext": "முந்தைய/அடுத்த உருப்படியைக் காட்ட திரை விளிம்புகளில் தட்டவும்", + "settingsViewerGestureSideTapNext": "முந்தைய/அடுத்த உருப்படியைக் காட்ட திரை விளிம்புகளில் தட்டு", "@settingsViewerGestureSideTapNext": {}, "settingsViewerUseCutout": "கட்அவுட் பகுதியைப் பயன்படுத்தவும்", "@settingsViewerUseCutout": {}, @@ -515,7 +515,7 @@ "@settingsViewerMaximumBrightness": {}, "settingsMotionPhotoAutoPlay": "ஆட்டோ பிளே மோசன் புகைப்படங்கள்", "@settingsMotionPhotoAutoPlay": {}, - "settingsImageBackground": "பட பின்னணி", + "settingsImageBackground": "படப் பின்னணி", "@settingsImageBackground": {}, "settingsViewerQuickActionsTile": "விரைவான செயல்கள்", "@settingsViewerQuickActionsTile": {}, @@ -531,15 +531,15 @@ "@settingsViewerOverlayTile": {}, "settingsViewerOverlayPageTitle": "மேலடுக்கு", "@settingsViewerOverlayPageTitle": {}, - "settingsViewerShowOverlayOnOpening": "திறப்பதில் காட்டு", + "settingsViewerShowOverlayOnOpening": "திறக்கையில் காட்டு", "@settingsViewerShowOverlayOnOpening": {}, - "settingsViewerShowHistogram": "இச்டோகிராம் காட்டு", + "settingsViewerShowHistogram": "அலைவெண் செவ்வகப் படம் காட்டு", "@settingsViewerShowHistogram": {}, - "settingsViewerShowMinimap": "மினிமேப்பைக் காட்டு", + "settingsViewerShowMinimap": "சிறுவரைப்படம் காட்டு", "@settingsViewerShowMinimap": {}, "settingsViewerShowInformation": "தகவலைக் காட்டு", "@settingsViewerShowInformation": {}, - "settingsViewerShowInformationSubtitle": "தலைப்பு, தேதி, இடம் போன்றவற்றைக் காட்டு.", + "settingsViewerShowInformationSubtitle": "தலைப்பு, தேதி, இடம், போன்றவற்றைக் காட்டு.", "@settingsViewerShowInformationSubtitle": {}, "settingsViewerShowRatingTags": "மதிப்பீடு மற்றும் குறிச்சொற்களைக் காட்டு", "@settingsViewerShowRatingTags": {}, @@ -553,23 +553,23 @@ "@settingsViewerEnableOverlayBlurEffect": {}, "settingsSlideshowShuffle": "கலக்கு", "@settingsSlideshowShuffle": {}, - "settingsSlideshowFillScreen": "திரை நிரப்பவும்", + "settingsSlideshowFillScreen": "திரை நிரப்பு", "@settingsSlideshowFillScreen": {}, - "settingsSlideshowAnimatedZoomEffect": "அனிமேசன் சூம் விளைவு", + "settingsSlideshowAnimatedZoomEffect": "அசைவூட்டம் சூம் விளைவு", "@settingsSlideshowAnimatedZoomEffect": {}, "settingsSlideshowTransitionTile": "மாற்றம்", "@settingsSlideshowTransitionTile": {}, "settingsSlideshowIntervalTile": "இடைவேளை", "@settingsSlideshowIntervalTile": {}, - "settingsSlideshowVideoPlaybackTile": "வீடியோ பிளேபேக்", + "settingsSlideshowVideoPlaybackTile": "காணொளி பிளேபேக்", "@settingsSlideshowVideoPlaybackTile": {}, - "settingsSlideshowVideoPlaybackDialogTitle": "வீடியோ பிளேபேக்", + "settingsSlideshowVideoPlaybackDialogTitle": "காணொளி பிளேபேக்", "@settingsSlideshowVideoPlaybackDialogTitle": {}, - "settingsVideoPageTitle": "வீடியோ அமைப்புகள்", + "settingsVideoPageTitle": "காணொளி அமைப்புகள்", "@settingsVideoPageTitle": {}, - "settingsVideoSectionTitle": "ஒளிதோற்றம்", + "settingsVideoSectionTitle": "காணொளி", "@settingsVideoSectionTitle": {}, - "settingsVideoShowVideos": "வீடியோக்களைக் காட்டு", + "settingsVideoShowVideos": "காணொளிகளைக் காட்டு", "@settingsVideoShowVideos": {}, "settingsVideoPlaybackTile": "பின்னணி", "@settingsVideoPlaybackTile": {}, @@ -672,31 +672,31 @@ "@editEntryDialogCopyFromItem": {}, "durationDialogHours": "மணிகள்", "@durationDialogHours": {}, - "aboutBugSaveLogInstruction": "பயன்பாட்டு பதிவுகளை ஒரு கோப்பில் சேமிக்கவும்", + "aboutBugSaveLogInstruction": "பயன்பாட்டு பதிவுகளை ஒரு கோப்பில் சேமி", "@aboutBugSaveLogInstruction": {}, - "aboutBugCopyInfoInstruction": "கணினி தகவல்களை நகலெடுக்கவும்", + "aboutBugCopyInfoInstruction": "கணினி தகவல்களை நகலெடு", "@aboutBugCopyInfoInstruction": {}, "aboutBugCopyInfoButton": "நகலெடு", "@aboutBugCopyInfoButton": {}, - "collectionActionAddShortcut": "குறுக்குவழியைச் சேர்க்கவும்", + "collectionActionAddShortcut": "குறுக்குவழியைச் சேர்", "@collectionActionAddShortcut": {}, - "collectionActionSetHome": "வீட்டாக அமைக்கவும்", + "collectionActionSetHome": "வீட்டாக அமை", "@collectionActionSetHome": {}, - "collectionSearchTitlesHintText": "தலைப்புகளைத் தேடுங்கள்", + "collectionSearchTitlesHintText": "தலைப்புகளைத் தேடு", "@collectionSearchTitlesHintText": {}, "tagPageTitle": "குறிச்சொற்கள்", "@tagPageTitle": {}, - "settingsDoubleBackExit": "வெளியேற “பின்” என்பதை இரண்டு முறை தட்டவும்", + "settingsDoubleBackExit": "வெளியேற “பின்” என்பதை இரண்டு முறை தட்டு", "@settingsDoubleBackExit": {}, - "settingsCollectionBurstPatternsTile": "வெடிப்பு வடிவங்கள்", + "settingsCollectionBurstPatternsTile": "வடிவங்கள் வெடிப்பு", "@settingsCollectionBurstPatternsTile": {}, "settingsViewerQuickActionEmpty": "பொத்தான்கள் இல்லை", "@settingsViewerQuickActionEmpty": {}, - "settingsViewerSlideshowTile": "ச்லைடுசோ", + "settingsViewerSlideshowTile": "படவில்லைக் காட்சி", "@settingsViewerSlideshowTile": {}, - "settingsViewerSlideshowPageTitle": "ச்லைடுசோ", + "settingsViewerSlideshowPageTitle": "படவில்லைக் காட்சி", "@settingsViewerSlideshowPageTitle": {}, - "settingsSlideshowRepeat": "மீண்டும்", + "settingsSlideshowRepeat": "மறுசெய்கை", "@settingsSlideshowRepeat": {}, "settingsSubtitleThemeTile": "வசன வரிகள்", "@settingsSubtitleThemeTile": {}, @@ -1347,13 +1347,13 @@ "@editEntryDateDialogShift": {}, "settingsVideoAutoPlay": "ஆட்டோ நாடகம்", "@settingsVideoAutoPlay": {}, - "settingsVideoLoopModeTile": "லூப் பயன்முறை", + "settingsVideoLoopModeTile": "சுழல் பயன்முறை", "@settingsVideoLoopModeTile": {}, "settingsVideoPlaybackPageTitle": "பின்னணி", "@settingsVideoPlaybackPageTitle": {}, "settingsVideoEnableHardwareAcceleration": "வன்பொருள் முடுக்கம்", "@settingsVideoEnableHardwareAcceleration": {}, - "settingsVideoLoopModeDialogTitle": "லூப் பயன்முறை", + "settingsVideoLoopModeDialogTitle": "சுழல் பயன்முறை", "@settingsVideoLoopModeDialogTitle": {}, "settingsVideoResumptionModeTile": "பிளேபேக்கை மீண்டும் தொடங்குங்கள்", "@settingsVideoResumptionModeTile": {}, @@ -1407,31 +1407,31 @@ "@settingsSubtitleThemeTextAlignmentRight": {}, "settingsPrivacySectionTitle": "தனியுரிமை", "@settingsPrivacySectionTitle": {}, - "settingsAllowInstalledAppAccess": "பயன்பாட்டு சரக்குகளுக்கான அணுகலை அனுமதிக்கவும்", + "settingsAllowInstalledAppAccess": "பயன்பாட்டு சரக்குகளுக்கான அணுகலை அனுமதி", "@settingsAllowInstalledAppAccess": {}, - "settingsAllowInstalledAppAccessSubtitle": "ஆல்பம் காட்சியை மேம்படுத்த பயன்படுகிறது", + "settingsAllowInstalledAppAccessSubtitle": "தொகுப்புக் காட்சியை மேம்படுத்தப் பயன்படுகிறது", "@settingsAllowInstalledAppAccessSubtitle": {}, - "settingsAllowErrorReporting": "அநாமதேய பிழை அறிக்கையை அனுமதிக்கவும்", + "settingsAllowErrorReporting": "அநாமதேய பிழை அறிக்கையை அனுமதி", "@settingsAllowErrorReporting": {}, - "settingsSaveSearchHistory": "தேடல் வரலாற்றைச் சேமிக்கவும்", + "settingsSaveSearchHistory": "தேடல் வரலாற்றைச் சேமி", "@settingsSaveSearchHistory": {}, "settingsHiddenItemsTile": "மறைக்கப்பட்ட உருப்படிகள்", "@settingsHiddenItemsTile": {}, "settingsHiddenItemsPageTitle": "மறைக்கப்பட்ட உருப்படிகள்", "@settingsHiddenItemsPageTitle": {}, - "settingsHiddenFiltersBanner": "மறைக்கப்பட்ட வடிப்பான்களுடன் பொருந்தக்கூடிய புகைப்படங்கள் மற்றும் வீடியோக்கள் உங்கள் சேகரிப்பில் தோன்றாது.", + "settingsHiddenFiltersBanner": "மறைக்கப்பட்ட வடிப்பான்களுடன் பொருந்தக்கூடிய புகைப்படங்கள் மற்றும் காணொளிகள் உங்கள் சேகரிப்பில் தோன்றாது.", "@settingsHiddenFiltersBanner": {}, "settingsHiddenFiltersEmpty": "மறைக்கப்பட்ட வடிப்பான்கள் இல்லை", "@settingsHiddenFiltersEmpty": {}, "settingsStorageAccessTile": "சேமிப்பக அணுகல்", "@settingsStorageAccessTile": {}, - "settingsEnableBin": "மறுசுழற்சி தொட்டியைப் பயன்படுத்தவும்", + "settingsEnableBin": "மறுசுழற்சி தொட்டியைப் பயன்படுத்து", "@settingsEnableBin": {}, - "settingsEnableBinSubtitle": "நீக்கப்பட்ட பொருட்களை 30 நாட்களுக்கு வைத்திருங்கள்", + "settingsEnableBinSubtitle": "நீக்கப்பட்ட பொருட்களை 30 நாட்களுக்கு வைத்திரு", "@settingsEnableBinSubtitle": {}, "settingsDisablingBinWarningDialogMessage": "மறுசுழற்சி தொட்டியில் உள்ள உருப்படிகள் என்றென்றும் நீக்கப்படும்.", "@settingsDisablingBinWarningDialogMessage": {}, - "settingsAllowMediaManagement": "ஊடக நிர்வாகத்தை அனுமதிக்கவும்", + "settingsAllowMediaManagement": "ஊடக நிர்வாகத்தை அனுமதி", "@settingsAllowMediaManagement": {}, "settingsStorageAccessPageTitle": "சேமிப்பக அணுகல்", "@settingsStorageAccessPageTitle": {}, @@ -1441,15 +1441,15 @@ "@settingsStorageAccessEmpty": {}, "settingsStorageAccessRevokeTooltip": "ரத்து செய்யுங்கள்", "@settingsStorageAccessRevokeTooltip": {}, - "settingsAccessibilitySectionTitle": "அணுகல்", + "settingsAccessibilitySectionTitle": "அணுகுதிறன்", "@settingsAccessibilitySectionTitle": {}, - "settingsRemoveAnimationsTile": "அனிமேசன்களை அகற்று", + "settingsRemoveAnimationsTile": "அசைவூட்டங்களை அகற்று", "@settingsRemoveAnimationsTile": {}, - "settingsRemoveAnimationsDialogTitle": "அனிமேசன்களை அகற்று", + "settingsRemoveAnimationsDialogTitle": "அசைவூட்டங்களை அகற்று", "@settingsRemoveAnimationsDialogTitle": {}, "settingsTimeToTakeActionTile": "நடவடிக்கை எடுக்க வேண்டிய நேரம்", "@settingsTimeToTakeActionTile": {}, - "settingsAccessibilityShowPinchGestureAlternatives": "மல்டி-டச் சைகை மாற்றுகளைக் காட்டு", + "settingsAccessibilityShowPinchGestureAlternatives": "பல-தொடு சைகை மாற்றுகளைக் காட்டு", "@settingsAccessibilityShowPinchGestureAlternatives": {}, "settingsDisplaySectionTitle": "காட்சி", "@settingsDisplaySectionTitle": {}, @@ -1463,7 +1463,7 @@ "@settingsThemeEnableDynamicColor": {}, "settingsDisplayRefreshRateModeTile": "புதுப்பிப்பு வீதத்தைக் காண்பி", "@settingsDisplayRefreshRateModeTile": {}, - "settingsDisplayRefreshRateModeDialogTitle": "வீதத்தை புதுப்பிக்கவும்", + "settingsDisplayRefreshRateModeDialogTitle": "புதுப்பிப்பு வீதம்", "@settingsDisplayRefreshRateModeDialogTitle": {}, "settingsDisplayUseTvInterface": "ஆண்ட்ராய்டு டிவி இடைமுகம்", "@settingsDisplayUseTvInterface": {}, diff --git a/lib/l10n/app_uk.arb b/lib/l10n/app_uk.arb index faa04d9d2..f01bcd4bd 100644 --- a/lib/l10n/app_uk.arb +++ b/lib/l10n/app_uk.arb @@ -1548,5 +1548,19 @@ "videoActionShowPreviousFrame": "Показати попередній кадр", "@videoActionShowPreviousFrame": {}, "videoActionShowNextFrame": "Показати наступний кадр", - "@videoActionShowNextFrame": {} + "@videoActionShowNextFrame": {}, + "dynamicAlbumAlreadyExists": "Динамічний альбом уже існує", + "@dynamicAlbumAlreadyExists": {}, + "chipActionRemove": "видалити", + "@chipActionRemove": {}, + "albumTierDynamic": "Динамічний", + "@albumTierDynamic": {}, + "newAlbumDialogAlbumAlreadyExistsHelper": "Альбом вже існує", + "@newAlbumDialogAlbumAlreadyExistsHelper": {}, + "newDynamicAlbumDialogTitle": "Новий динамічний альбом", + "@newDynamicAlbumDialogTitle": {}, + "collectionActionAddDynamicAlbum": "Додати динамічний альбом", + "@collectionActionAddDynamicAlbum": {}, + "appExportDynamicAlbums": "Динамічні альбоми", + "@appExportDynamicAlbums": {} } diff --git a/lib/model/app/contributors.dart b/lib/model/app/contributors.dart index a02a10aa7..a73d919b6 100644 --- a/lib/model/app/contributors.dart +++ b/lib/model/app/contributors.dart @@ -116,13 +116,15 @@ class Contributors { Contributor('Thomas Di Cristofaro', 'hostedweblate.8347@tdc.akamail.it'), Contributor('Petrov', 'i_v_c@mail.ru'), Contributor('தமிழ்நேரம்', 'anishprabu.t@gmail.com'), + Contributor('bovirus', 'roberto.boriotti@canon.it'), + Contributor('Максим Горпиніч', 'mgorpinic2005@gmail.com'), + Contributor('Priit Jõerüüt', 'hwlate@joeruut.com'), // 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('Priit Jõerüüt', 'hwlate@joeruut.com'), // Estonian // 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/covers.dart b/lib/model/covers.dart index edf189280..835f359d9 100644 --- a/lib/model/covers.dart +++ b/lib/model/covers.dart @@ -9,6 +9,7 @@ import 'package:aves/model/vaults/vaults.dart'; import 'package:aves/services/common/services.dart'; import 'package:aves/utils/android_file_utils.dart'; import 'package:aves_model/aves_model.dart'; +import 'package:aves_utils/aves_utils.dart'; import 'package:collection/collection.dart'; import 'package:equatable/equatable.dart'; import 'package:flutter/foundation.dart'; @@ -178,14 +179,14 @@ class Covers { final volume = androidFileUtils.getStorageVolume(path)?.path; final relativePath = volume != null ? path?.substring(volume.length) : null; final packageName = row.packageName; - final colorValue = row.color?.value; + final colorJson = row.color?.toJson(); return { 'filter': row.filter.toJson(), if (volume != null) 'volume': volume, if (relativePath != null) 'relativePath': relativePath, if (packageName != null) 'packageName': packageName, - if (colorValue != null) 'color': colorValue, + if (colorJson != null) 'color': colorJson, }; }) .nonNulls @@ -201,33 +202,39 @@ class Covers { final visibleEntries = source.visibleEntries; jsonList.forEach((row) { - final filter = CollectionFilter.fromJson(row['filter']); - if (filter == null) { - debugPrint('failed to import cover for row=$row'); - return; - } + try { + final filter = CollectionFilter.fromJson(row['filter']); + if (filter == null) { + debugPrint('failed to import cover for row=$row'); + return; + } - final volume = row['volume'] as String?; - final relativePath = row['relativePath'] as String?; - final packageName = row['packageName'] as String?; - final colorValue = row['color'] as int?; - - AvesEntry? entry; - if (volume != null && relativePath != null) { - final path = pContext.join(volume, relativePath); - entry = visibleEntries.firstWhereOrNull((entry) => entry.path == path && filter.test(entry)); - if (entry == null) { - debugPrint('failed to import cover entry for path=$path, filter=$filter'); + final volume = row['volume'] as String?; + final relativePath = row['relativePath'] as String?; + final packageName = row['packageName'] as String?; + final color = row['color']; + // for backward compatibility, color used to be an `int`, now a `string` + final colorJson = color is String ? color : null; + + AvesEntry? entry; + if (volume != null && relativePath != null) { + final path = pContext.join(volume, relativePath); + entry = visibleEntries.firstWhereOrNull((entry) => entry.path == path && filter.test(entry)); + if (entry == null) { + debugPrint('failed to import cover entry for path=$path, filter=$filter'); + } } - } - if (entry != null || packageName != null || colorValue != null) { - set( - filter: filter, - entryId: entry?.id, - packageName: packageName, - color: colorValue != null ? Color(colorValue) : null, - ); + if (entry != null || packageName != null || colorJson != null) { + set( + filter: filter, + entryId: entry?.id, + packageName: packageName, + color: ExtraColor.fromJson(colorJson), + ); + } + } catch (error, stack) { + debugPrint('failed to import cover for row=$row with error=$error\n$stack'); } }); } @@ -254,13 +261,15 @@ class CoverRow extends Equatable { final filter = CollectionFilter.fromJson(map['filter']); if (filter == null) return null; - final colorValue = map['color'] as int?; - final color = colorValue != null ? Color(colorValue) : null; + final entryId = map['entryId'] as int?; + final packageName = map['packageName'] as String?; + final colorJson = map['color'] as String?; + return CoverRow( filter: filter, - entryId: map['entryId'] as int?, - packageName: map['packageName'] as String?, - color: color, + entryId: entryId, + packageName: packageName, + color: ExtraColor.fromJson(colorJson), ); } @@ -268,6 +277,6 @@ class CoverRow extends Equatable { 'filter': filter.toJson(), 'entryId': entryId, 'packageName': packageName, - 'color': color?.value, + 'color': color?.toJson(), }; } diff --git a/lib/model/db/db_sqflite.dart b/lib/model/db/db_sqflite.dart index cb5e51d9d..6fbf88fe8 100644 --- a/lib/model/db/db_sqflite.dart +++ b/lib/model/db/db_sqflite.dart @@ -33,7 +33,8 @@ class SqfliteLocalMediaDb implements LocalMediaDb { static const trashTable = 'trash'; static const videoPlaybackTable = 'videoPlayback'; - static const _queryCursorBufferSize = 1000; + static const _entryInsertSliceMaxCount = 10000; // number of entries + static const _queryCursorBufferSize = 1000; // number of rows static int _lastId = 0; @override @@ -93,7 +94,7 @@ class SqfliteLocalMediaDb implements LocalMediaDb { 'filter TEXT PRIMARY KEY' ', entryId INTEGER' ', packageName TEXT' - ', color INTEGER' + ', color TEXT' ')'); await db.execute('CREATE TABLE $dynamicAlbumTable(' 'name TEXT PRIMARY KEY' @@ -116,7 +117,7 @@ class SqfliteLocalMediaDb implements LocalMediaDb { ')'); }, onUpgrade: LocalMediaDbUpgrader.upgradeDb, - version: 12, + version: 13, ); final maxIdRows = await _db.rawQuery('SELECT MAX(id) AS maxId FROM $entryTable'); @@ -224,9 +225,15 @@ class SqfliteLocalMediaDb implements LocalMediaDb { Future insertEntries(Set entries) async { if (entries.isEmpty) return; final stopwatch = Stopwatch()..start(); - final batch = _db.batch(); - entries.forEach((entry) => _batchInsertEntry(batch, entry)); - await batch.commit(noResult: true); + // slice entries to avoid memory issues + int inserted = 0; + await Future.forEach(entries.slices(_entryInsertSliceMaxCount), (slice) async { + debugPrint('$runtimeType saveEntries inserting slice of [${inserted + 1}, ${inserted + slice.length}] entries'); + final batch = _db.batch(); + slice.forEach((entry) => _batchInsertEntry(batch, entry)); + await batch.commit(noResult: true); + inserted += slice.length; + }); debugPrint('$runtimeType saveEntries complete in ${stopwatch.elapsed.inMilliseconds}ms for ${entries.length} entries'); } diff --git a/lib/model/db/db_sqflite_upgrade.dart b/lib/model/db/db_sqflite_upgrade.dart index ab63f7564..0ce793b94 100644 --- a/lib/model/db/db_sqflite_upgrade.dart +++ b/lib/model/db/db_sqflite_upgrade.dart @@ -1,4 +1,8 @@ +import 'dart:ui'; + +import 'package:aves/model/covers.dart'; import 'package:aves/model/db/db_sqflite.dart'; +import 'package:aves/model/filters/filters.dart'; import 'package:flutter/foundation.dart'; import 'package:sqflite/sqflite.dart'; @@ -41,6 +45,8 @@ class LocalMediaDbUpgrader { await _upgradeFrom10(db); case 11: await _upgradeFrom11(db); + case 12: + await _upgradeFrom12(db); } oldVersion++; } @@ -388,4 +394,54 @@ class LocalMediaDbUpgrader { ', filter TEXT' ')'); } + + static Future _upgradeFrom12(Database db) async { + debugPrint('upgrading DB from v12'); + + // retrieve covers stored with `int` color value + final rows = {}; + final cursor = await db.queryCursor(coverTable); + while (await cursor.moveNext()) { + final Map map = cursor.current; + final filter = CollectionFilter.fromJson(map['filter']); + if (filter != null) { + final colorValue = map['color'] as int?; + final color = colorValue != null ? Color(colorValue) : null; + final row = CoverRow( + filter: filter, + entryId: map['entryId'] as int?, + packageName: map['packageName'] as String?, + color: color, + ); + rows.add(row); + } + } + + // convert `color` column type from value number to JSON string + await db.transaction((txn) async { + const newCoverTable = '${coverTable}TEMP'; + await db.execute('CREATE TABLE $newCoverTable(' + 'filter TEXT PRIMARY KEY' + ', entryId INTEGER' + ', packageName TEXT' + ', color TEXT' + ')'); + + // insert covers with `string` color value + if (rows.isNotEmpty) { + final batch = db.batch(); + rows.forEach((row) { + batch.insert( + newCoverTable, + row.toMap(), + conflictAlgorithm: ConflictAlgorithm.replace, + ); + }); + await batch.commit(noResult: true); + } + + await db.execute('DROP TABLE $coverTable;'); + await db.execute('ALTER TABLE $newCoverTable RENAME TO $coverTable;'); + }); + } } diff --git a/lib/model/filters/filters.dart b/lib/model/filters/filters.dart index a17eb11bd..e295d1c53 100644 --- a/lib/model/filters/filters.dart +++ b/lib/model/filters/filters.dart @@ -99,18 +99,18 @@ abstract class CollectionFilter extends Equatable implements Comparable) { return _fromMap(jsonMap); } + debugPrint('failed to parse filter from json=$jsonString'); } catch (error, stack) { debugPrint('failed to parse filter from json=$jsonString error=$error\n$stack'); } - debugPrint('failed to parse filter from json=$jsonString'); return null; } diff --git a/lib/model/settings/settings.dart b/lib/model/settings/settings.dart index e1a52c276..87963e50c 100644 --- a/lib/model/settings/settings.dart +++ b/lib/model/settings/settings.dart @@ -368,8 +368,6 @@ class Settings with ChangeNotifier, SettingsAccess, AppSettings, DisplaySettings } } else { switch (key) { - case SettingKeys.subtitleTextColorKey: - case SettingKeys.subtitleBackgroundColorKey: case SettingKeys.convertQualityKey: case SettingKeys.screenSaverIntervalKey: case SettingKeys.slideshowIntervalKey: @@ -466,6 +464,8 @@ class Settings with ChangeNotifier, SettingsAccess, AppSettings, DisplaySettings case SettingKeys.videoResumptionModeKey: case SettingKeys.subtitleTextAlignmentKey: case SettingKeys.subtitleTextPositionKey: + case SettingKeys.subtitleTextColorKey: + case SettingKeys.subtitleBackgroundColorKey: case SettingKeys.tagEditorExpandedSectionKey: case SettingKeys.convertMimeTypeKey: case SettingKeys.mapStyleKey: diff --git a/lib/model/source/media_store_source.dart b/lib/model/source/media_store_source.dart index eac2270fb..83751b84d 100644 --- a/lib/model/source/media_store_source.dart +++ b/lib/model/source/media_store_source.dart @@ -209,7 +209,7 @@ class MediaStoreSource extends CollectionSource { }, onDone: () async { if (newEntries.isNotEmpty) { - debugPrint('$runtimeType load ${stopwatch.elapsed} save new entries'); + debugPrint('$runtimeType load ${stopwatch.elapsed} save ${newEntries.length} new entries'); await localMediaDb.insertEntries(newEntries); // TODO TLAD find duplication cause diff --git a/lib/ref/unicode.dart b/lib/ref/unicode.dart index 9220d9fb2..4da540a0e 100644 --- a/lib/ref/unicode.dart +++ b/lib/ref/unicode.dart @@ -135,6 +135,75 @@ class EmojiStateCodes { inWestBengal, }; + // MX + static const mxAguascalientes = 'mxagu'; + static const mxBajaCalifornia = 'mxbcn'; + static const mxBajaCaliforniaSur = 'mxbcs'; + static const mxCampeche = 'mxcam'; + static const mxChiapas = 'mxchp'; + static const mxChihuahua = 'mxchh'; + static const mxCiudadDeMexico = 'mxcmx'; + static const mxCoahuila = 'mxcoa'; + static const mxColima = 'mxcol'; + static const mxDurango = 'mxdur'; + static const mxGuanajuato = 'mxgua'; + static const mxGuerrero = 'mxgro'; + static const mxHidalgo = 'mxhid'; + static const mxJalisco = 'mxjal'; + static const mxMexicoState = 'mxmex'; + static const mxMichoacan = 'mxmic'; + static const mxMorelos = 'mxmor'; + static const mxNayarit = 'mxnay'; + static const mxNuevoLeon = 'mxnle'; + static const mxOaxaca = 'mxoax'; + static const mxPuebla = 'mxpue'; + static const mxQueretaro = 'mxque'; + static const mxQuintanaRoo = 'mxroo'; + static const mxSanLuisPotosi = 'mxslp'; + static const mxSinaloa = 'mxsin'; + static const mxSonora = 'mxson'; + static const mxTabasco = 'mxtab'; + static const mxTamaulipas = 'mxtam'; + static const mxTlaxcala = 'mxtla'; + static const mxVeracruz = 'mxver'; + static const mxYucatan = 'mxyuc'; + static const mxZacatecas = 'mxzac'; + + static const mex = { + mxAguascalientes, + mxBajaCalifornia, + mxBajaCaliforniaSur, + mxCampeche, + mxChiapas, + mxChihuahua, + mxCiudadDeMexico, + mxCoahuila, + mxColima, + mxDurango, + mxGuanajuato, + mxGuerrero, + mxHidalgo, + mxJalisco, + mxMexicoState, + mxMichoacan, + mxMorelos, + mxNayarit, + mxNuevoLeon, + mxOaxaca, + mxPuebla, + mxQueretaro, + mxQuintanaRoo, + mxSanLuisPotosi, + mxSinaloa, + mxSonora, + mxTabasco, + mxTamaulipas, + mxTlaxcala, + mxVeracruz, + mxYucatan, + mxZacatecas, + }; + // US static const usAlabama = 'usal'; static const usAlaska = 'usak'; diff --git a/lib/theme/themes.dart b/lib/theme/themes.dart index 843fad424..b77ea96f8 100644 --- a/lib/theme/themes.dart +++ b/lib/theme/themes.dart @@ -41,11 +41,11 @@ class Themes { static Color _schemeThirdLayer(ColorScheme colors) => _isDarkTheme(colors) ? colors.surfaceContainerHighest : colors.surfaceContainerHigh; - static Color _unselectedWidgetColor(ColorScheme colors) => colors.onSurface.withAlpha((255.0 * .6).round()); + static Color _unselectedWidgetColor(ColorScheme colors) => colors.onSurface.withValues(alpha: .6); static Color backgroundTextColor(BuildContext context) { final colors = Theme.of(context).colorScheme; - return Color.alphaBlend(colors.surfaceTint, colors.onSurface).withAlpha((255.0 * .5).round()); + return Color.alphaBlend(colors.surfaceTint, colors.onSurface).withValues(alpha: .5); } static final _typography = Typography.material2021(platform: TargetPlatform.android); @@ -98,7 +98,7 @@ class Themes { // adapted from M3 defaults final TextStyle style = textTheme.labelLarge!; if (states.contains(WidgetState.disabled)) { - return style.apply(color: colors.onSurface.withAlpha((255.0 * .38).round())); + return style.apply(color: colors.onSurface.withValues(alpha: .38)); } return style.apply(color: colors.onSurface); }), @@ -118,12 +118,12 @@ class Themes { fillColor: WidgetStateProperty.resolveWith((states) { if (states.contains(WidgetState.selected)) { if (states.contains(WidgetState.disabled)) { - return colors.onSurface.withAlpha((255.0 * .38).round()); + return colors.onSurface.withValues(alpha: .38); } return colors.primary; } if (states.contains(WidgetState.disabled)) { - return colors.onSurface.withAlpha((255.0 * .38).round()); + return colors.onSurface.withValues(alpha: .38); } if (states.contains(WidgetState.pressed)) { return colors.onSurface; @@ -139,7 +139,7 @@ class Themes { ); static SliderThemeData _sliderTheme(ColorScheme colors) => SliderThemeData( - inactiveTrackColor: colors.primary.withAlpha((255.0 * .24).round()), + inactiveTrackColor: colors.primary.withValues(alpha: .24), ); static SnackBarThemeData _snackBarTheme(ColorScheme colors) => SnackBarThemeData( diff --git a/lib/widgets/about/about_tv_page.dart b/lib/widgets/about/about_tv_page.dart index d61590307..34b8333b6 100644 --- a/lib/widgets/about/about_tv_page.dart +++ b/lib/widgets/about/about_tv_page.dart @@ -103,7 +103,7 @@ class _ContentState extends State<_Content> { return ListTile( title: DefaultTextStyle( style: theme.textTheme.bodyLarge!.copyWith( - color: isSelected ? colors.primary : colors.onSurface.withAlpha((255.0 * .64).round()), + color: isSelected ? colors.primary : colors.onSurface.withValues(alpha: .64), ), child: _getTitle(_Section.values[index]), ), diff --git a/lib/widgets/about/translators.dart b/lib/widgets/about/translators.dart index 9bfe976e2..6f935e204 100644 --- a/lib/widgets/about/translators.dart +++ b/lib/widgets/about/translators.dart @@ -62,19 +62,19 @@ class _RandomTextSpanHighlighterState extends State<_RandomTextSpanHighlighter> final color = widget.color; _baseStyle = TextStyle( - color: color.withAlpha((255.0 * .7).round()), + color: color.withValues(alpha: .7), shadows: [ Shadow( - color: color.withAlpha(0), + color: color.withValues(alpha: 0), blurRadius: 0, ) ], ); final highlightStyle = TextStyle( - color: color.withAlpha(255), + color: color.withValues(alpha: 1), shadows: [ Shadow( - color: color.withAlpha(255), + color: color.withValues(alpha: 1), blurRadius: 3, ) ], diff --git a/lib/widgets/aves_app.dart b/lib/widgets/aves_app.dart index 6c38f9a65..fa7eec2b0 100644 --- a/lib/widgets/aves_app.dart +++ b/lib/widgets/aves_app.dart @@ -68,7 +68,6 @@ class AvesApp extends StatefulWidget { 'bn', // Bengali 'ckb', // Kurdish (Central) 'da', // Danish - 'et', // Estonian 'fi', // Finnish 'gl', // Galician 'he', // Hebrew diff --git a/lib/widgets/collection/collection_grid.dart b/lib/widgets/collection/collection_grid.dart index b6236a80d..016f96b85 100644 --- a/lib/widgets/collection/collection_grid.dart +++ b/lib/widgets/collection/collection_grid.dart @@ -426,7 +426,7 @@ class _CollectionScaler extends StatelessWidget { ), mosaicItemBuilder: (index, targetExtent) => DecoratedBox( decoration: BoxDecoration( - color: ThumbnailImage.computeLoadingBackgroundColor(index * 10, brightness).withAlpha((255.0 * .9).round()), + color: ThumbnailImage.computeLoadingBackgroundColor(index * 10, brightness).withValues(alpha: .9), border: Border.all( color: borderColor, width: borderWidth, diff --git a/lib/widgets/common/action_mixins/feedback.dart b/lib/widgets/common/action_mixins/feedback.dart index 10de21fbb..6666ed606 100644 --- a/lib/widgets/common/action_mixins/feedback.dart +++ b/lib/widgets/common/action_mixins/feedback.dart @@ -257,7 +257,7 @@ class _ReportOverlayState extends State> with SingleTickerPr percent: percent, lineWidth: strokeWidth, radius: diameter / 2, - backgroundColor: colorScheme.onSurface.withAlpha((255.0 * .2).round()), + backgroundColor: colorScheme.onSurface.withValues(alpha: .2), progressColor: progressColor, animation: animate, center: total != null @@ -314,7 +314,7 @@ class ReportProgressIndicator extends StatelessWidget { height: diameter, padding: const EdgeInsets.all(strokeWidth / 2), child: CircularProgressIndicator( - color: progressColor.withAlpha((255.0 * opacity).round()), + color: progressColor.withValues(alpha: opacity), strokeWidth: strokeWidth, ), ); diff --git a/lib/widgets/common/app_bar/sliver_app_bar_title.dart b/lib/widgets/common/app_bar/sliver_app_bar_title.dart index 40fb64145..08b15cfea 100644 --- a/lib/widgets/common/app_bar/sliver_app_bar_title.dart +++ b/lib/widgets/common/app_bar/sliver_app_bar_title.dart @@ -16,7 +16,7 @@ class SliverAppBarTitleWrapper extends StatelessWidget { final toolbarOpacity = context.dependOnInheritedWidgetOfExactType()!.toolbarOpacity; final baseColor = (DefaultTextStyle.of(context).style.color ?? Theme.of(context).textTheme.titleLarge!.color!); return DefaultTextStyle.merge( - style: TextStyle(color: baseColor.withAlpha((255.0 * toolbarOpacity).round())), + style: TextStyle(color: baseColor.withValues(alpha: toolbarOpacity)), child: child, ); } diff --git a/lib/widgets/common/basic/text/background_painter.dart b/lib/widgets/common/basic/text/background_painter.dart index d6a4254e1..e3757c1b8 100644 --- a/lib/widgets/common/basic/text/background_painter.dart +++ b/lib/widgets/common/basic/text/background_painter.dart @@ -23,7 +23,7 @@ class TextBackgroundPainter extends StatelessWidget { @override Widget build(BuildContext context) { final backgroundColor = style.backgroundColor; - if (backgroundColor == null || backgroundColor.alpha == 0) { + if (backgroundColor == null || backgroundColor.a == 0) { return child; } diff --git a/lib/widgets/common/basic/wheel.dart b/lib/widgets/common/basic/wheel.dart index 5cc7d9a34..a5c6dff0c 100644 --- a/lib/widgets/common/basic/wheel.dart +++ b/lib/widgets/common/basic/wheel.dart @@ -81,7 +81,7 @@ class _WheelSelectorState extends State> { height: itemSize.height, duration: transitionDuration, decoration: BoxDecoration( - color: foreground.withAlpha((255.0 * (focused ? .2 : 0)).round()), + color: foreground.withValues(alpha: focused ? .2 : 0), borderRadius: const BorderRadius.all(Radius.circular(8)), ), ); diff --git a/lib/widgets/common/grid/overlay.dart b/lib/widgets/common/grid/overlay.dart index e897cbcb0..8d0149d44 100644 --- a/lib/widgets/common/grid/overlay.dart +++ b/lib/widgets/common/grid/overlay.dart @@ -31,7 +31,7 @@ class GridItemSelectionOverlay extends StatelessWidget { alignment: AlignmentDirectional.topEnd, padding: padding, decoration: BoxDecoration( - color: isSelected ? Theme.of(context).colorScheme.primary.withAlpha((255.0 * .6).round()) : Colors.transparent, + color: isSelected ? Theme.of(context).colorScheme.primary.withValues(alpha: .6) : Colors.transparent, borderRadius: borderRadius, ), duration: duration, diff --git a/lib/widgets/common/grid/sections/fixed/scale_grid.dart b/lib/widgets/common/grid/sections/fixed/scale_grid.dart index ed89640d8..c31b6ea2a 100644 --- a/lib/widgets/common/grid/sections/fixed/scale_grid.dart +++ b/lib/widgets/common/grid/sections/fixed/scale_grid.dart @@ -77,7 +77,7 @@ class FixedExtentGridPainter extends CustomPainter { ..shader = strokeShader; final fillPaint = Paint() ..style = PaintingStyle.fill - ..color = color.withAlpha((255.0 * .25).round()); + ..color = color.withValues(alpha: .25); final chipWidth = chipSize.width; final chipHeight = chipSize.height; diff --git a/lib/widgets/common/grid/sections/mosaic/scale_overlay.dart b/lib/widgets/common/grid/sections/mosaic/scale_overlay.dart index 6fb215e2c..1e44634b4 100644 --- a/lib/widgets/common/grid/sections/mosaic/scale_overlay.dart +++ b/lib/widgets/common/grid/sections/mosaic/scale_overlay.dart @@ -51,7 +51,7 @@ class MosaicScaleOverlay extends StatelessWidget { child: Stack( alignment: Alignment.center, children: [ - _buildBar(extentMax, colorScheme.onSurface.withAlpha((255.0 * .2).round())), + _buildBar(extentMax, colorScheme.onSurface.withValues(alpha: .2)), _buildBar(scaledSize.width, colorScheme.primary), ], ), diff --git a/lib/widgets/common/identity/aves_app_bar.dart b/lib/widgets/common/identity/aves_app_bar.dart index 9089a2bc8..ed1b288fe 100644 --- a/lib/widgets/common/identity/aves_app_bar.dart +++ b/lib/widgets/common/identity/aves_app_bar.dart @@ -274,7 +274,7 @@ class _AvesFloatingBarState extends State with RouteAware { borderRadius: AvesFloatingBar.borderRadius, child: widget.builder( context, - blurred ? backgroundColor.withAlpha((255.0 * .85).round()) : backgroundColor, + blurred ? backgroundColor.withValues(alpha: .85) : backgroundColor, widget.child, ), ), diff --git a/lib/widgets/common/identity/buttons/captioned_button.dart b/lib/widgets/common/identity/buttons/captioned_button.dart index e98ca2b5c..4d6df9232 100644 --- a/lib/widgets/common/identity/buttons/captioned_button.dart +++ b/lib/widgets/common/identity/buttons/captioned_button.dart @@ -164,7 +164,7 @@ class CaptionedButtonText extends StatelessWidget { Widget build(BuildContext context) { var style = DefaultTextStyle.of(context).style; if (!enabled) { - style = style.copyWith(color: style.color!.withAlpha((255.0 * .2).round())); + style = style.copyWith(color: style.color!.withValues(alpha: .2)); } return Text( diff --git a/lib/widgets/common/identity/buttons/outlined_button.dart b/lib/widgets/common/identity/buttons/outlined_button.dart index 428089ab9..851ef9380 100644 --- a/lib/widgets/common/identity/buttons/outlined_button.dart +++ b/lib/widgets/common/identity/buttons/outlined_button.dart @@ -15,15 +15,17 @@ class AvesOutlinedButton extends StatelessWidget { @override Widget build(BuildContext context) { final theme = Theme.of(context); + final foreground = WidgetStateProperty.resolveWith((states) { + return states.contains(WidgetState.disabled) ? theme.disabledColor : theme.colorScheme.onSurface; + }); final style = ButtonStyle( + foregroundColor: foreground, + iconColor: foreground, side: WidgetStateProperty.resolveWith((states) { return BorderSide( color: states.contains(WidgetState.disabled) ? theme.disabledColor : theme.colorScheme.primary, ); }), - foregroundColor: WidgetStateProperty.resolveWith((states) { - return states.contains(WidgetState.disabled) ? theme.disabledColor : theme.colorScheme.onSurface; - }), ); return icon != null ? OutlinedButton.icon( diff --git a/lib/widgets/common/identity/buttons/overlay_button.dart b/lib/widgets/common/identity/buttons/overlay_button.dart index 4fca3ccf0..17fdc1633 100644 --- a/lib/widgets/common/identity/buttons/overlay_button.dart +++ b/lib/widgets/common/identity/buttons/overlay_button.dart @@ -167,6 +167,7 @@ class OverlayTextButton extends StatelessWidget { Widget build(BuildContext context) { final blurred = settings.enableBlurEffect; final theme = Theme.of(context); + final foreground = theme.colorScheme.onSurface; return BlurredRRect.all( enabled: blurred, borderRadius: _borderRadius, @@ -174,9 +175,10 @@ class OverlayTextButton extends StatelessWidget { onPressed: onPressed, style: ButtonStyle( backgroundColor: WidgetStateProperty.all(Themes.overlayBackgroundColor(brightness: theme.brightness, blurred: blurred)), - foregroundColor: WidgetStateProperty.all(theme.colorScheme.onSurface), - overlayColor: theme.isDark ? WidgetStateProperty.all(Colors.white.withAlpha((255.0 * .12).round())) : null, + foregroundColor: WidgetStateProperty.all(foreground), + overlayColor: theme.isDark ? WidgetStateProperty.all(Colors.white.withValues(alpha: .12)) : null, minimumSize: _minSize, + iconColor: WidgetStateProperty.all(foreground), side: WidgetStateProperty.all(AvesBorder.curvedSide(context)), shape: WidgetStateProperty.all(const RoundedRectangleBorder( borderRadius: BorderRadius.all(Radius.circular(_borderRadius)), diff --git a/lib/widgets/common/identity/empty.dart b/lib/widgets/common/identity/empty.dart index 43c51bd68..458d7a897 100644 --- a/lib/widgets/common/identity/empty.dart +++ b/lib/widgets/common/identity/empty.dart @@ -25,7 +25,7 @@ class EmptyContent extends StatelessWidget { @override Widget build(BuildContext context) { - final color = Theme.of(context).colorScheme.primary.withAlpha((255.0 * .5).round()); + final color = Theme.of(context).colorScheme.primary.withValues(alpha: .5); final durations = context.watch(); return Padding( padding: safeBottom diff --git a/lib/widgets/common/map/compass.dart b/lib/widgets/common/map/compass.dart index da4b33652..2563ecf9c 100644 --- a/lib/widgets/common/map/compass.dart +++ b/lib/widgets/common/map/compass.dart @@ -26,7 +26,7 @@ class CompassPainter extends CustomPainter { final fillPaint = Paint() ..style = PaintingStyle.fill - ..color = color.withAlpha((255.0 * .6).round()); + ..color = color.withValues(alpha: .6); final strokePaint = Paint() ..style = PaintingStyle.stroke ..color = color diff --git a/lib/widgets/common/map/leaflet/tile_layers.dart b/lib/widgets/common/map/leaflet/tile_layers.dart index fd7d5085c..6ae3e845c 100644 --- a/lib/widgets/common/map/leaflet/tile_layers.dart +++ b/lib/widgets/common/map/leaflet/tile_layers.dart @@ -82,7 +82,7 @@ class _OsmLibertyLayerState extends State { void initState() { super.initState(); - _tileProviderFuture = StyleReaderExtra.readProviderByName( + _tileProviderFuture = ExtraStyleReader.readProviderByName( { _openMapTileProviderSource: { 'url': _americanaTileProviderUri, diff --git a/lib/widgets/common/map/leaflet/vector_style_reader_extra.dart b/lib/widgets/common/map/leaflet/vector_style_reader_extra.dart index 4f7649b0e..fa9b162c4 100644 --- a/lib/widgets/common/map/leaflet/vector_style_reader_extra.dart +++ b/lib/widgets/common/map/leaflet/vector_style_reader_extra.dart @@ -6,7 +6,7 @@ import 'package:latlong2/latlong.dart'; import 'package:vector_map_tiles/vector_map_tiles.dart'; import 'package:vector_tile_renderer/vector_tile_renderer.dart'; -extension StyleReaderExtra on StyleReader { +extension ExtraStyleReader on StyleReader { Future