#268 album grouping (WIP)

This commit is contained in:
Thibault Deckers 2025-05-05 19:14:40 +02:00
parent 89dee8d508
commit c31b64535d
156 changed files with 3941 additions and 1914 deletions

View file

@ -1007,7 +1007,7 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler {
result.success(metadataMap) result.success(metadataMap)
} }
// return description from these fields (by precedence): // returns description from these fields (by precedence):
// - XMP / dc:description // - XMP / dc:description
// - IPTC / caption-abstract // - IPTC / caption-abstract
// - Exif / UserComment // - Exif / UserComment
@ -1192,8 +1192,8 @@ class MetadataFetchHandler(private val context: Context) : MethodCallHandler {
result.success(null) result.success(null)
} }
// return XMP components // returns XMP components
// return an empty list if there is no XMP // returns an empty list if there is no XMP
private fun getXmp(call: MethodCall, result: MethodChannel.Result) { private fun getXmp(call: MethodCall, result: MethodChannel.Result) {
val mimeType = call.argument<String>("mimeType") val mimeType = call.argument<String>("mimeType")
val uri = call.argument<String>("uri")?.toUri() val uri = call.argument<String>("uri")?.toUri()

View file

@ -31,7 +31,7 @@ import kotlin.math.roundToInt
class RegionFetcher internal constructor( class RegionFetcher internal constructor(
private val context: Context, private val context: Context,
) { ) {
// return decoded bytes in ARGB_8888, with trailer bytes: // returns decoded bytes in ARGB_8888, with trailer bytes:
// - width (int32) // - width (int32)
// - height (int32) // - height (int32)
fun fetch( fun fetch(

View file

@ -60,6 +60,7 @@
}, },
"applyButtonLabel": "APPLY", "applyButtonLabel": "APPLY",
"createButtonLabel": "CREATE",
"deleteButtonLabel": "DELETE", "deleteButtonLabel": "DELETE",
"nextButtonLabel": "NEXT", "nextButtonLabel": "NEXT",
"showButtonLabel": "SHOW", "showButtonLabel": "SHOW",
@ -104,9 +105,11 @@
"chipActionLock": "Lock", "chipActionLock": "Lock",
"chipActionPin": "Pin to top", "chipActionPin": "Pin to top",
"chipActionUnpin": "Unpin from top", "chipActionUnpin": "Unpin from top",
"chipActionGroup": "Group",
"chipActionRename": "Rename", "chipActionRename": "Rename",
"chipActionSetCover": "Set cover", "chipActionSetCover": "Set cover",
"chipActionShowCountryStates": "Show states", "chipActionShowCountryStates": "Show states",
"chipActionCreateGroup": "Create group",
"chipActionCreateAlbum": "Create album", "chipActionCreateAlbum": "Create album",
"chipActionCreateVault": "Create vault", "chipActionCreateVault": "Create vault",
"chipActionConfigureVault": "Configure vault", "chipActionConfigureVault": "Configure vault",
@ -208,6 +211,7 @@
"albumTierNew": "New", "albumTierNew": "New",
"albumTierPinned": "Pinned", "albumTierPinned": "Pinned",
"albumTierGroups": "Groups",
"albumTierSpecial": "Common", "albumTierSpecial": "Common",
"albumTierApps": "Apps", "albumTierApps": "Apps",
"albumTierVaults": "Vaults", "albumTierVaults": "Vaults",
@ -443,6 +447,14 @@
"newDynamicAlbumDialogTitle": "New Dynamic Album", "newDynamicAlbumDialogTitle": "New Dynamic Album",
"dynamicAlbumAlreadyExists": "Dynamic album already exists", "dynamicAlbumAlreadyExists": "Dynamic album already exists",
"newGroupDialogTitle": "New Group",
"newGroupDialogNameLabel": "Group name",
"groupAlreadyExists": "Group already exists",
"groupEmpty": "No groups",
"ungrouped": "Ungrouped",
"groupPickerTitle": "Pick Group",
"groupPickerUseThisGroupButton": "Use this group",
"newVaultWarningDialogMessage": "Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.", "newVaultWarningDialogMessage": "Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.",
"newVaultDialogTitle": "New Vault", "newVaultDialogTitle": "New Vault",
"configureVaultDialogTitle": "Configure Vault", "configureVaultDialogTitle": "Configure Vault",
@ -558,7 +570,7 @@
"menuActionStats": "Stats", "menuActionStats": "Stats",
"viewDialogSortSectionTitle": "Sort", "viewDialogSortSectionTitle": "Sort",
"viewDialogGroupSectionTitle": "Group", "viewDialogGroupSectionTitle": "Sections",
"viewDialogLayoutSectionTitle": "Layout", "viewDialogLayoutSectionTitle": "Layout",
"viewDialogReverseSortOrder": "Reverse sort order", "viewDialogReverseSortOrder": "Reverse sort order",
@ -630,8 +642,8 @@
"collectionGroupAlbum": "By album", "collectionGroupAlbum": "By album",
"collectionGroupMonth": "By month", "collectionGroupMonth": "By month",
"collectionGroupDay": "By day", "collectionGroupDay": "By day",
"collectionGroupNone": "Do not group",
"sectionNone": "No sections",
"sectionUnknown": "Unknown", "sectionUnknown": "Unknown",
"dateToday": "Today", "dateToday": "Today",
"dateYesterday": "Yesterday", "dateYesterday": "Yesterday",
@ -774,7 +786,6 @@
"albumGroupTier": "By tier", "albumGroupTier": "By tier",
"albumGroupType": "By type", "albumGroupType": "By type",
"albumGroupVolume": "By storage volume", "albumGroupVolume": "By storage volume",
"albumGroupNone": "Do not group",
"albumMimeTypeMixed": "Mixed", "albumMimeTypeMixed": "Mixed",
@ -1101,11 +1112,5 @@
"panoramaEnableSensorControl": "Enable sensor control", "panoramaEnableSensorControl": "Enable sensor control",
"panoramaDisableSensorControl": "Disable sensor control", "panoramaDisableSensorControl": "Disable sensor control",
"sourceViewerPageTitle": "Source", "sourceViewerPageTitle": "Source"
"filePickerShowHiddenFiles": "Show hidden files",
"filePickerDoNotShowHiddenFiles": "Dont show hidden files",
"filePickerOpenFrom": "Open from",
"filePickerNoItems": "No items",
"filePickerUseThisFolder": "Use this folder"
} }

View file

@ -263,6 +263,12 @@ abstract class AppLocalizations {
/// **'APPLY'** /// **'APPLY'**
String get applyButtonLabel; String get applyButtonLabel;
/// No description provided for @createButtonLabel.
///
/// In en, this message translates to:
/// **'CREATE'**
String get createButtonLabel;
/// No description provided for @deleteButtonLabel. /// No description provided for @deleteButtonLabel.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -503,6 +509,12 @@ abstract class AppLocalizations {
/// **'Unpin from top'** /// **'Unpin from top'**
String get chipActionUnpin; String get chipActionUnpin;
/// No description provided for @chipActionGroup.
///
/// In en, this message translates to:
/// **'Group'**
String get chipActionGroup;
/// No description provided for @chipActionRename. /// No description provided for @chipActionRename.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -521,6 +533,12 @@ abstract class AppLocalizations {
/// **'Show states'** /// **'Show states'**
String get chipActionShowCountryStates; String get chipActionShowCountryStates;
/// No description provided for @chipActionCreateGroup.
///
/// In en, this message translates to:
/// **'Create group'**
String get chipActionCreateGroup;
/// No description provided for @chipActionCreateAlbum. /// No description provided for @chipActionCreateAlbum.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -1055,6 +1073,12 @@ abstract class AppLocalizations {
/// **'Pinned'** /// **'Pinned'**
String get albumTierPinned; String get albumTierPinned;
/// No description provided for @albumTierGroups.
///
/// In en, this message translates to:
/// **'Groups'**
String get albumTierGroups;
/// No description provided for @albumTierSpecial. /// No description provided for @albumTierSpecial.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -1667,6 +1691,48 @@ abstract class AppLocalizations {
/// **'Dynamic album already exists'** /// **'Dynamic album already exists'**
String get dynamicAlbumAlreadyExists; String get dynamicAlbumAlreadyExists;
/// No description provided for @newGroupDialogTitle.
///
/// In en, this message translates to:
/// **'New Group'**
String get newGroupDialogTitle;
/// No description provided for @newGroupDialogNameLabel.
///
/// In en, this message translates to:
/// **'Group name'**
String get newGroupDialogNameLabel;
/// No description provided for @groupAlreadyExists.
///
/// In en, this message translates to:
/// **'Group already exists'**
String get groupAlreadyExists;
/// No description provided for @groupEmpty.
///
/// In en, this message translates to:
/// **'No groups'**
String get groupEmpty;
/// No description provided for @ungrouped.
///
/// In en, this message translates to:
/// **'Ungrouped'**
String get ungrouped;
/// No description provided for @groupPickerTitle.
///
/// In en, this message translates to:
/// **'Pick Group'**
String get groupPickerTitle;
/// No description provided for @groupPickerUseThisGroupButton.
///
/// In en, this message translates to:
/// **'Use this group'**
String get groupPickerUseThisGroupButton;
/// No description provided for @newVaultWarningDialogMessage. /// No description provided for @newVaultWarningDialogMessage.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -2114,7 +2180,7 @@ abstract class AppLocalizations {
/// No description provided for @viewDialogGroupSectionTitle. /// No description provided for @viewDialogGroupSectionTitle.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
/// **'Group'** /// **'Sections'**
String get viewDialogGroupSectionTitle; String get viewDialogGroupSectionTitle;
/// No description provided for @viewDialogLayoutSectionTitle. /// No description provided for @viewDialogLayoutSectionTitle.
@ -2459,11 +2525,11 @@ abstract class AppLocalizations {
/// **'By day'** /// **'By day'**
String get collectionGroupDay; String get collectionGroupDay;
/// No description provided for @collectionGroupNone. /// No description provided for @sectionNone.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
/// **'Do not group'** /// **'No sections'**
String get collectionGroupNone; String get sectionNone;
/// No description provided for @sectionUnknown. /// No description provided for @sectionUnknown.
/// ///
@ -2801,12 +2867,6 @@ abstract class AppLocalizations {
/// **'By storage volume'** /// **'By storage volume'**
String get albumGroupVolume; String get albumGroupVolume;
/// No description provided for @albumGroupNone.
///
/// In en, this message translates to:
/// **'Do not group'**
String get albumGroupNone;
/// No description provided for @albumMimeTypeMixed. /// No description provided for @albumMimeTypeMixed.
/// ///
/// In en, this message translates to: /// In en, this message translates to:
@ -4414,36 +4474,6 @@ abstract class AppLocalizations {
/// In en, this message translates to: /// In en, this message translates to:
/// **'Source'** /// **'Source'**
String get sourceViewerPageTitle; String get sourceViewerPageTitle;
/// No description provided for @filePickerShowHiddenFiles.
///
/// In en, this message translates to:
/// **'Show hidden files'**
String get filePickerShowHiddenFiles;
/// No description provided for @filePickerDoNotShowHiddenFiles.
///
/// In en, this message translates to:
/// **'Dont show hidden files'**
String get filePickerDoNotShowHiddenFiles;
/// No description provided for @filePickerOpenFrom.
///
/// In en, this message translates to:
/// **'Open from'**
String get filePickerOpenFrom;
/// No description provided for @filePickerNoItems.
///
/// In en, this message translates to:
/// **'No items'**
String get filePickerNoItems;
/// No description provided for @filePickerUseThisFolder.
///
/// In en, this message translates to:
/// **'Use this folder'**
String get filePickerUseThisFolder;
} }
class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> { class _AppLocalizationsDelegate extends LocalizationsDelegate<AppLocalizations> {

View file

@ -92,6 +92,9 @@ class AppLocalizationsAr extends AppLocalizations {
@override @override
String get applyButtonLabel => 'تأكيد'; String get applyButtonLabel => 'تأكيد';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'حذف'; String get deleteButtonLabel => 'حذف';
@ -212,6 +215,9 @@ class AppLocalizationsAr extends AppLocalizations {
@override @override
String get chipActionUnpin => 'إلغاء التثبيت في الأعلى'; String get chipActionUnpin => 'إلغاء التثبيت في الأعلى';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'إعادة تسمية'; String get chipActionRename => 'إعادة تسمية';
@ -221,6 +227,9 @@ class AppLocalizationsAr extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'عرض الولايات'; String get chipActionShowCountryStates => 'عرض الولايات';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'إنشاء ألبوم'; String get chipActionCreateAlbum => 'إنشاء ألبوم';
@ -488,6 +497,9 @@ class AppLocalizationsAr extends AppLocalizations {
@override @override
String get albumTierPinned => 'مثبت'; String get albumTierPinned => 'مثبت';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'شائع'; String get albumTierSpecial => 'شائع';
@ -830,6 +842,27 @@ class AppLocalizationsAr extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'الألبوم الديناميكي موجود بالفعل'; String get dynamicAlbumAlreadyExists => 'الألبوم الديناميكي موجود بالفعل';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'العناصر الموجودة في الخزائن متاحة فقط لهذا التطبيق وليس للتطبيقات الأخرى.\n\nإذا قمت بإلغاء تثبيت هذا التطبيق، أو قمت بحذف بيانات هذا التطبيق، فسوف تفقد كل هذه العناصر.'; String get newVaultWarningDialogMessage => 'العناصر الموجودة في الخزائن متاحة فقط لهذا التطبيق وليس للتطبيقات الأخرى.\n\nإذا قمت بإلغاء تثبيت هذا التطبيق، أو قمت بحذف بيانات هذا التطبيق، فسوف تفقد كل هذه العناصر.';
@ -1243,7 +1276,7 @@ class AppLocalizationsAr extends AppLocalizations {
String get collectionGroupDay => 'حسب اليوم'; String get collectionGroupDay => 'حسب اليوم';
@override @override
String get collectionGroupNone => 'لا تجمع'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'مجهول'; String get sectionUnknown => 'مجهول';
@ -1493,9 +1526,6 @@ class AppLocalizationsAr extends AppLocalizations {
@override @override
String get albumGroupVolume => 'حسب حجم التخزين'; String get albumGroupVolume => 'حسب حجم التخزين';
@override
String get albumGroupNone => 'لا تجمع';
@override @override
String get albumMimeTypeMixed => 'مختلط'; String get albumMimeTypeMixed => 'مختلط';
@ -2307,19 +2337,4 @@ class AppLocalizationsAr extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'المصدر'; String get sourceViewerPageTitle => 'المصدر';
@override
String get filePickerShowHiddenFiles => 'إظهار الملفات المخفية';
@override
String get filePickerDoNotShowHiddenFiles => 'عدم إظهار الملفات المخفية';
@override
String get filePickerOpenFrom => 'فتح من';
@override
String get filePickerNoItems => 'لا توجد عناصر';
@override
String get filePickerUseThisFolder => 'إستخدام هذا المجلد';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsAz extends AppLocalizations {
@override @override
String get applyButtonLabel => 'TƏTBİQ ET'; String get applyButtonLabel => 'TƏTBİQ ET';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'SİL'; String get deleteButtonLabel => 'SİL';
@ -218,6 +221,9 @@ class AppLocalizationsAz extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Sabitləməyin'; String get chipActionUnpin => 'Sabitləməyin';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Bir də adlandır'; String get chipActionRename => 'Bir də adlandır';
@ -227,6 +233,9 @@ class AppLocalizationsAz extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Create album'; String get chipActionCreateAlbum => 'Create album';
@ -494,6 +503,9 @@ class AppLocalizationsAz extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pinned'; String get albumTierPinned => 'Pinned';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Common'; String get albumTierSpecial => 'Common';
@ -842,6 +854,27 @@ class AppLocalizationsAz extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1087,7 +1120,7 @@ class AppLocalizationsAz extends AppLocalizations {
String get viewDialogSortSectionTitle => 'Sort'; String get viewDialogSortSectionTitle => 'Sort';
@override @override
String get viewDialogGroupSectionTitle => 'Group'; String get viewDialogGroupSectionTitle => 'Sections';
@override @override
String get viewDialogLayoutSectionTitle => 'Layout'; String get viewDialogLayoutSectionTitle => 'Layout';
@ -1261,7 +1294,7 @@ class AppLocalizationsAz extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1541,9 +1574,6 @@ class AppLocalizationsAz extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2358,19 +2388,4 @@ class AppLocalizationsAz extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -96,6 +96,9 @@ class AppLocalizationsBe extends AppLocalizations {
@override @override
String get applyButtonLabel => 'УЖЫВАЦЬ'; String get applyButtonLabel => 'УЖЫВАЦЬ';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'ВЫДАЛІЦЬ'; String get deleteButtonLabel => 'ВЫДАЛІЦЬ';
@ -216,6 +219,9 @@ class AppLocalizationsBe extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Адмацаваць зверху'; String get chipActionUnpin => 'Адмацаваць зверху';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Перайменаваць'; String get chipActionRename => 'Перайменаваць';
@ -225,6 +231,9 @@ class AppLocalizationsBe extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Паказаць дзяржавы'; String get chipActionShowCountryStates => 'Паказаць дзяржавы';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Стварыць альбом'; String get chipActionCreateAlbum => 'Стварыць альбом';
@ -492,6 +501,9 @@ class AppLocalizationsBe extends AppLocalizations {
@override @override
String get albumTierPinned => 'Замацаваны'; String get albumTierPinned => 'Замацаваны';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Стандартныя'; String get albumTierSpecial => 'Стандартныя';
@ -836,6 +848,27 @@ class AppLocalizationsBe extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Элементы ў сховішчах даступныя толькі гэтай праграме і нікому больш.\n\nКалі вы выдаліце гэту праграму або ачысціце даныя праграмы, вы страціце ўсе гэтыя элементы.'; String get newVaultWarningDialogMessage => 'Элементы ў сховішчах даступныя толькі гэтай праграме і нікому больш.\n\nКалі вы выдаліце гэту праграму або ачысціце даныя праграмы, вы страціце ўсе гэтыя элементы.';
@ -1251,7 +1284,7 @@ class AppLocalizationsBe extends AppLocalizations {
String get collectionGroupDay => 'Па днях'; String get collectionGroupDay => 'Па днях';
@override @override
String get collectionGroupNone => 'Не групаваць'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Невядома'; String get sectionUnknown => 'Невядома';
@ -1511,9 +1544,6 @@ class AppLocalizationsBe extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Па аб\'ёме захоўвання'; String get albumGroupVolume => 'Па аб\'ёме захоўвання';
@override
String get albumGroupNone => 'Не групаваць';
@override @override
String get albumMimeTypeMixed => 'Змешаны'; String get albumMimeTypeMixed => 'Змешаны';
@ -2326,19 +2356,4 @@ class AppLocalizationsBe extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Крыніца'; String get sourceViewerPageTitle => 'Крыніца';
@override
String get filePickerShowHiddenFiles => 'Паказаць схаваныя файлы';
@override
String get filePickerDoNotShowHiddenFiles => 'Не паказваць схаваныя файлы';
@override
String get filePickerOpenFrom => 'Адкрыць з';
@override
String get filePickerNoItems => 'Няма элементаў';
@override
String get filePickerUseThisFolder => 'Выкарыстоўваць гэтую тэчку';
} }

View file

@ -102,6 +102,9 @@ class AppLocalizationsBg extends AppLocalizations {
@override @override
String get applyButtonLabel => 'ПРИЕМАМ'; String get applyButtonLabel => 'ПРИЕМАМ';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'ИЗТРИЙ'; String get deleteButtonLabel => 'ИЗТРИЙ';
@ -222,6 +225,9 @@ class AppLocalizationsBg extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Откачи от закачени'; String get chipActionUnpin => 'Откачи от закачени';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Преименувайте'; String get chipActionRename => 'Преименувайте';
@ -231,6 +237,9 @@ class AppLocalizationsBg extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Показване на държава'; String get chipActionShowCountryStates => 'Показване на държава';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Създайте албум'; String get chipActionCreateAlbum => 'Създайте албум';
@ -498,6 +507,9 @@ class AppLocalizationsBg extends AppLocalizations {
@override @override
String get albumTierPinned => 'Закачени'; String get albumTierPinned => 'Закачени';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Стандартни'; String get albumTierSpecial => 'Стандартни';
@ -846,6 +858,27 @@ class AppLocalizationsBg extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Динамични албум вече съществува'; String get dynamicAlbumAlreadyExists => 'Динамични албум вече съществува';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Елементите в трезорите са достъпни само за това приложение и за никое друго.\n\nАко деинсталирате или изчистите данните на това приложение, ще загубите цялото съдържание на трезора.'; String get newVaultWarningDialogMessage => 'Елементите в трезорите са достъпни само за това приложение и за никое друго.\n\nАко деинсталирате или изчистите данните на това приложение, ще загубите цялото съдържание на трезора.';
@ -1265,7 +1298,7 @@ class AppLocalizationsBg extends AppLocalizations {
String get collectionGroupDay => 'По дни'; String get collectionGroupDay => 'По дни';
@override @override
String get collectionGroupNone => 'Не групирай'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Неизвестно'; String get sectionUnknown => 'Неизвестно';
@ -1545,9 +1578,6 @@ class AppLocalizationsBg extends AppLocalizations {
@override @override
String get albumGroupVolume => 'По обем на съхранение'; String get albumGroupVolume => 'По обем на съхранение';
@override
String get albumGroupNone => 'Без групиране';
@override @override
String get albumMimeTypeMixed => 'Разни'; String get albumMimeTypeMixed => 'Разни';
@ -2362,19 +2392,4 @@ class AppLocalizationsBg extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Источник'; String get sourceViewerPageTitle => 'Источник';
@override
String get filePickerShowHiddenFiles => 'Показване на скритите файлове';
@override
String get filePickerDoNotShowHiddenFiles => 'Не показвай скритите файлове';
@override
String get filePickerOpenFrom => 'Отворете от';
@override
String get filePickerNoItems => 'Не откривам нищо';
@override
String get filePickerUseThisFolder => 'Използвай тази папка';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsBn extends AppLocalizations {
@override @override
String get applyButtonLabel => 'প্রয়োগ করুন'; String get applyButtonLabel => 'প্রয়োগ করুন';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'ডিলিট'; String get deleteButtonLabel => 'ডিলিট';
@ -218,6 +221,9 @@ class AppLocalizationsBn extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Unpin from top'; String get chipActionUnpin => 'Unpin from top';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Rename'; String get chipActionRename => 'Rename';
@ -227,6 +233,9 @@ class AppLocalizationsBn extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Create album'; String get chipActionCreateAlbum => 'Create album';
@ -494,6 +503,9 @@ class AppLocalizationsBn extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pinned'; String get albumTierPinned => 'Pinned';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Common'; String get albumTierSpecial => 'Common';
@ -842,6 +854,27 @@ class AppLocalizationsBn extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1087,7 +1120,7 @@ class AppLocalizationsBn extends AppLocalizations {
String get viewDialogSortSectionTitle => 'Sort'; String get viewDialogSortSectionTitle => 'Sort';
@override @override
String get viewDialogGroupSectionTitle => 'Group'; String get viewDialogGroupSectionTitle => 'Sections';
@override @override
String get viewDialogLayoutSectionTitle => 'Layout'; String get viewDialogLayoutSectionTitle => 'Layout';
@ -1261,7 +1294,7 @@ class AppLocalizationsBn extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1541,9 +1574,6 @@ class AppLocalizationsBn extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2358,19 +2388,4 @@ class AppLocalizationsBn extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -92,6 +92,9 @@ class AppLocalizationsCa extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APLICAR'; String get applyButtonLabel => 'APLICAR';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'SUPRIMEIX'; String get deleteButtonLabel => 'SUPRIMEIX';
@ -212,6 +215,9 @@ class AppLocalizationsCa extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Desancora de dalt'; String get chipActionUnpin => 'Desancora de dalt';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Canviar nom'; String get chipActionRename => 'Canviar nom';
@ -221,6 +227,9 @@ class AppLocalizationsCa extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Mostrar estats'; String get chipActionShowCountryStates => 'Mostrar estats';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Crear àlbum'; String get chipActionCreateAlbum => 'Crear àlbum';
@ -488,6 +497,9 @@ class AppLocalizationsCa extends AppLocalizations {
@override @override
String get albumTierPinned => 'Fixat'; String get albumTierPinned => 'Fixat';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Comú'; String get albumTierSpecial => 'Comú';
@ -830,6 +842,27 @@ class AppLocalizationsCa extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Làlbum dinàmic ja existeix'; String get dynamicAlbumAlreadyExists => 'Làlbum dinàmic ja existeix';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Els elements en caixes fortes només son disponibles des daquesta aplicació.\n\nSi desinstaŀles aquesta aplicació o en borres les dades, perdràs aquests elements.'; String get newVaultWarningDialogMessage => 'Els elements en caixes fortes només son disponibles des daquesta aplicació.\n\nSi desinstaŀles aquesta aplicació o en borres les dades, perdràs aquests elements.';
@ -1243,7 +1276,7 @@ class AppLocalizationsCa extends AppLocalizations {
String get collectionGroupDay => 'Per dia'; String get collectionGroupDay => 'Per dia';
@override @override
String get collectionGroupNone => 'No per grup'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Desconegut'; String get sectionUnknown => 'Desconegut';
@ -1493,9 +1526,6 @@ class AppLocalizationsCa extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Per volum demmagatzematge'; String get albumGroupVolume => 'Per volum demmagatzematge';
@override
String get albumGroupNone => 'No agrupar';
@override @override
String get albumMimeTypeMixed => 'Barrejat'; String get albumMimeTypeMixed => 'Barrejat';
@ -2307,19 +2337,4 @@ class AppLocalizationsCa extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Font'; String get sourceViewerPageTitle => 'Font';
@override
String get filePickerShowHiddenFiles => 'Mostra arxius amagats';
@override
String get filePickerDoNotShowHiddenFiles => 'No mostris arxius amagats';
@override
String get filePickerOpenFrom => 'Obrir des de';
@override
String get filePickerNoItems => 'Sense element';
@override
String get filePickerUseThisFolder => 'Utilitza aquesta carpeta';
} }

View file

@ -87,6 +87,9 @@ class AppLocalizationsCkb extends AppLocalizations {
@override @override
String get applyButtonLabel => 'جێبەجێکردن'; String get applyButtonLabel => 'جێبەجێکردن';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'سڕینەوە'; String get deleteButtonLabel => 'سڕینەوە';
@ -207,6 +210,9 @@ class AppLocalizationsCkb extends AppLocalizations {
@override @override
String get chipActionUnpin => 'لابردنی جێگیری'; String get chipActionUnpin => 'لابردنی جێگیری';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'ناوگۆڕین'; String get chipActionRename => 'ناوگۆڕین';
@ -216,6 +222,9 @@ class AppLocalizationsCkb extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'دروستکردنی ئەلبوم'; String get chipActionCreateAlbum => 'دروستکردنی ئەلبوم';
@ -483,6 +492,9 @@ class AppLocalizationsCkb extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pinned'; String get albumTierPinned => 'Pinned';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'باو'; String get albumTierSpecial => 'باو';
@ -831,6 +843,27 @@ class AppLocalizationsCkb extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1076,7 +1109,7 @@ class AppLocalizationsCkb extends AppLocalizations {
String get viewDialogSortSectionTitle => 'Sort'; String get viewDialogSortSectionTitle => 'Sort';
@override @override
String get viewDialogGroupSectionTitle => 'Group'; String get viewDialogGroupSectionTitle => 'Sections';
@override @override
String get viewDialogLayoutSectionTitle => 'Layout'; String get viewDialogLayoutSectionTitle => 'Layout';
@ -1250,7 +1283,7 @@ class AppLocalizationsCkb extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1530,9 +1563,6 @@ class AppLocalizationsCkb extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2347,19 +2377,4 @@ class AppLocalizationsCkb extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -97,6 +97,9 @@ class AppLocalizationsCs extends AppLocalizations {
@override @override
String get applyButtonLabel => 'POUŽÍT'; String get applyButtonLabel => 'POUŽÍT';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'SMAZAT'; String get deleteButtonLabel => 'SMAZAT';
@ -217,6 +220,9 @@ class AppLocalizationsCs extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Odepnout seshora'; String get chipActionUnpin => 'Odepnout seshora';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Přejmenovat'; String get chipActionRename => 'Přejmenovat';
@ -226,6 +232,9 @@ class AppLocalizationsCs extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Zobrazit země'; String get chipActionShowCountryStates => 'Zobrazit země';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Vytvořit album'; String get chipActionCreateAlbum => 'Vytvořit album';
@ -493,6 +502,9 @@ class AppLocalizationsCs extends AppLocalizations {
@override @override
String get albumTierPinned => 'Připnuté'; String get albumTierPinned => 'Připnuté';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Společné'; String get albumTierSpecial => 'Společné';
@ -837,6 +849,27 @@ class AppLocalizationsCs extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamické album již existuje'; String get dynamicAlbumAlreadyExists => 'Dynamické album již existuje';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Položky v trezorech jsou přístupné pouze této aplikaci a žádné jiné.\n\nPokud tuto aplikaci odinstalujete, nebo smažete její data, o všechny tyto položky přijdete.'; String get newVaultWarningDialogMessage => 'Položky v trezorech jsou přístupné pouze této aplikaci a žádné jiné.\n\nPokud tuto aplikaci odinstalujete, nebo smažete její data, o všechny tyto položky přijdete.';
@ -1252,7 +1285,7 @@ class AppLocalizationsCs extends AppLocalizations {
String get collectionGroupDay => 'Podle dne'; String get collectionGroupDay => 'Podle dne';
@override @override
String get collectionGroupNone => 'Neseskupovat'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Neznámý'; String get sectionUnknown => 'Neznámý';
@ -1506,9 +1539,6 @@ class AppLocalizationsCs extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Podle úložiště'; String get albumGroupVolume => 'Podle úložiště';
@override
String get albumGroupNone => 'Neseskupovat';
@override @override
String get albumMimeTypeMixed => 'Smíšené'; String get albumMimeTypeMixed => 'Smíšené';
@ -2321,19 +2351,4 @@ class AppLocalizationsCs extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Zdroj'; String get sourceViewerPageTitle => 'Zdroj';
@override
String get filePickerShowHiddenFiles => 'Zobrazit skryté soubory';
@override
String get filePickerDoNotShowHiddenFiles => 'Nezobrazovat skryté soubory';
@override
String get filePickerOpenFrom => 'Otevřít z';
@override
String get filePickerNoItems => 'Žádné položky';
@override
String get filePickerUseThisFolder => 'Použít tuto složku';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsDa extends AppLocalizations {
@override @override
String get applyButtonLabel => 'ANVEND'; String get applyButtonLabel => 'ANVEND';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'SLET'; String get deleteButtonLabel => 'SLET';
@ -218,6 +221,9 @@ class AppLocalizationsDa extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Frigør fra toppen'; String get chipActionUnpin => 'Frigør fra toppen';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Omdøb'; String get chipActionRename => 'Omdøb';
@ -227,6 +233,9 @@ class AppLocalizationsDa extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Vis stater'; String get chipActionShowCountryStates => 'Vis stater';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Opret album'; String get chipActionCreateAlbum => 'Opret album';
@ -494,6 +503,9 @@ class AppLocalizationsDa extends AppLocalizations {
@override @override
String get albumTierPinned => 'Fastgjort'; String get albumTierPinned => 'Fastgjort';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Almindelig'; String get albumTierSpecial => 'Almindelig';
@ -842,6 +854,27 @@ class AppLocalizationsDa extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamisk album findes allerede'; String get dynamicAlbumAlreadyExists => 'Dynamisk album findes allerede';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Elementer i bokse er kun tilgængelige for denne app og ingen andre.\n\nHvis du afinstallerer appen eller rydder dens data, mister du alle disse elementer.'; String get newVaultWarningDialogMessage => 'Elementer i bokse er kun tilgængelige for denne app og ingen andre.\n\nHvis du afinstallerer appen eller rydder dens data, mister du alle disse elementer.';
@ -1261,7 +1294,7 @@ class AppLocalizationsDa extends AppLocalizations {
String get collectionGroupDay => 'Efter dag'; String get collectionGroupDay => 'Efter dag';
@override @override
String get collectionGroupNone => 'Gruppér ikke'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Ukendt'; String get sectionUnknown => 'Ukendt';
@ -1541,9 +1574,6 @@ class AppLocalizationsDa extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Efter lagervolume'; String get albumGroupVolume => 'Efter lagervolume';
@override
String get albumGroupNone => 'Gruppér ikke';
@override @override
String get albumMimeTypeMixed => 'Blandet'; String get albumMimeTypeMixed => 'Blandet';
@ -2358,19 +2388,4 @@ class AppLocalizationsDa extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Kilde'; String get sourceViewerPageTitle => 'Kilde';
@override
String get filePickerShowHiddenFiles => 'Vis skjulte filer';
@override
String get filePickerDoNotShowHiddenFiles => 'Vis ikke skjulte filer';
@override
String get filePickerOpenFrom => 'Åbn fra';
@override
String get filePickerNoItems => 'Ingen elementer';
@override
String get filePickerUseThisFolder => 'Brug denne mappe';
} }

View file

@ -95,6 +95,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get applyButtonLabel => 'ANWENDEN'; String get applyButtonLabel => 'ANWENDEN';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'LÖSCHEN'; String get deleteButtonLabel => 'LÖSCHEN';
@ -215,6 +218,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Nicht mehr Anpinen'; String get chipActionUnpin => 'Nicht mehr Anpinen';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Umbenennen'; String get chipActionRename => 'Umbenennen';
@ -224,6 +230,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Staaten anzeigen'; String get chipActionShowCountryStates => 'Staaten anzeigen';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Album erstellen'; String get chipActionCreateAlbum => 'Album erstellen';
@ -491,6 +500,9 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get albumTierPinned => 'Angeheftet'; String get albumTierPinned => 'Angeheftet';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Häufig verwendet'; String get albumTierSpecial => 'Häufig verwendet';
@ -839,6 +851,27 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamisches Album existiert bereits'; String get dynamicAlbumAlreadyExists => 'Dynamisches Album existiert bereits';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Elemente in Tresoren sind nur für diese App verfügbar und nicht in anderen.\n\nWenn Sie diese App deinstallieren oder die Daten dieser App löschen, gehen alle diese Elemente verloren.'; String get newVaultWarningDialogMessage => 'Elemente in Tresoren sind nur für diese App verfügbar und nicht in anderen.\n\nWenn Sie diese App deinstallieren oder die Daten dieser App löschen, gehen alle diese Elemente verloren.';
@ -1258,7 +1291,7 @@ class AppLocalizationsDe extends AppLocalizations {
String get collectionGroupDay => 'Nach Tag'; String get collectionGroupDay => 'Nach Tag';
@override @override
String get collectionGroupNone => 'Nicht gruppieren'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unbekannt'; String get sectionUnknown => 'Unbekannt';
@ -1538,9 +1571,6 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Nach Speichervolumen'; String get albumGroupVolume => 'Nach Speichervolumen';
@override
String get albumGroupNone => 'Nicht gruppieren';
@override @override
String get albumMimeTypeMixed => 'Gemischt'; String get albumMimeTypeMixed => 'Gemischt';
@ -2355,19 +2385,4 @@ class AppLocalizationsDe extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Quelle'; String get sourceViewerPageTitle => 'Quelle';
@override
String get filePickerShowHiddenFiles => 'Versteckte Dateien anzeigen';
@override
String get filePickerDoNotShowHiddenFiles => 'Versteckte Dateien nicht anzeigen';
@override
String get filePickerOpenFrom => 'Öffnen von';
@override
String get filePickerNoItems => 'Keine Elemente';
@override
String get filePickerUseThisFolder => 'Diesen Ordner verwenden';
} }

View file

@ -95,6 +95,9 @@ class AppLocalizationsEl extends AppLocalizations {
@override @override
String get applyButtonLabel => 'ΕΦΑΡΜΟΓΗ'; String get applyButtonLabel => 'ΕΦΑΡΜΟΓΗ';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'ΔΙΑΓΡΑΦΗ'; String get deleteButtonLabel => 'ΔΙΑΓΡΑΦΗ';
@ -215,6 +218,9 @@ class AppLocalizationsEl extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Ξέκαρφίτσωμα από την κορυφή'; String get chipActionUnpin => 'Ξέκαρφίτσωμα από την κορυφή';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Μετονομασία'; String get chipActionRename => 'Μετονομασία';
@ -224,6 +230,9 @@ class AppLocalizationsEl extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Εμφάνιση πολιτειών'; String get chipActionShowCountryStates => 'Εμφάνιση πολιτειών';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Δημιουργία άλμπουμ'; String get chipActionCreateAlbum => 'Δημιουργία άλμπουμ';
@ -491,6 +500,9 @@ class AppLocalizationsEl extends AppLocalizations {
@override @override
String get albumTierPinned => 'Καρφιτσωμένα'; String get albumTierPinned => 'Καρφιτσωμένα';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Συστήματος'; String get albumTierSpecial => 'Συστήματος';
@ -839,6 +851,27 @@ class AppLocalizationsEl extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Το δυναμικό άλμπουμ υπάρχει ήδη'; String get dynamicAlbumAlreadyExists => 'Το δυναμικό άλμπουμ υπάρχει ήδη';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Τα αρχεία στα θησαυροφυλάκια είναι διαθέσιμα μόνο σε αυτή την εφαρμογή και σε καμία άλλη.\n\nΑν απεγκαταστήσετε την εφαρμογή ή έστω διαγράψετε τα δεδομένα της εφαρμογής, θα χάσετε όλα σας τα κρυφά αρχεία.'; String get newVaultWarningDialogMessage => 'Τα αρχεία στα θησαυροφυλάκια είναι διαθέσιμα μόνο σε αυτή την εφαρμογή και σε καμία άλλη.\n\nΑν απεγκαταστήσετε την εφαρμογή ή έστω διαγράψετε τα δεδομένα της εφαρμογής, θα χάσετε όλα σας τα κρυφά αρχεία.';
@ -1258,7 +1291,7 @@ class AppLocalizationsEl extends AppLocalizations {
String get collectionGroupDay => 'Ανά ημέρα'; String get collectionGroupDay => 'Ανά ημέρα';
@override @override
String get collectionGroupNone => 'Να μην γίνει ομαδοποίηση'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Χωρίς λεπτομέρειες'; String get sectionUnknown => 'Χωρίς λεπτομέρειες';
@ -1538,9 +1571,6 @@ class AppLocalizationsEl extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Ανά αποθηκευτική μονάδα'; String get albumGroupVolume => 'Ανά αποθηκευτική μονάδα';
@override
String get albumGroupNone => 'Να μην γίνει ομαδοποίηση';
@override @override
String get albumMimeTypeMixed => 'Μικτα'; String get albumMimeTypeMixed => 'Μικτα';
@ -2355,19 +2385,4 @@ class AppLocalizationsEl extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Πηγη'; String get sourceViewerPageTitle => 'Πηγη';
@override
String get filePickerShowHiddenFiles => 'Εμφάνιση κρυφών αρχείων';
@override
String get filePickerDoNotShowHiddenFiles => 'Να μην εμφανίζονται τα κρυφά αρχεία';
@override
String get filePickerOpenFrom => 'Άνοιγμα από';
@override
String get filePickerNoItems => 'Κανένα στοιχείο';
@override
String get filePickerUseThisFolder => 'Χρησιμοποιήστε αυτόν τον φάκελο';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APPLY'; String get applyButtonLabel => 'APPLY';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'DELETE'; String get deleteButtonLabel => 'DELETE';
@ -218,6 +221,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Unpin from top'; String get chipActionUnpin => 'Unpin from top';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Rename'; String get chipActionRename => 'Rename';
@ -227,6 +233,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Create album'; String get chipActionCreateAlbum => 'Create album';
@ -494,6 +503,9 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pinned'; String get albumTierPinned => 'Pinned';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Common'; String get albumTierSpecial => 'Common';
@ -842,6 +854,27 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1087,7 +1120,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get viewDialogSortSectionTitle => 'Sort'; String get viewDialogSortSectionTitle => 'Sort';
@override @override
String get viewDialogGroupSectionTitle => 'Group'; String get viewDialogGroupSectionTitle => 'Sections';
@override @override
String get viewDialogLayoutSectionTitle => 'Layout'; String get viewDialogLayoutSectionTitle => 'Layout';
@ -1261,7 +1294,7 @@ class AppLocalizationsEn extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1541,9 +1574,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2358,21 +2388,6 @@ class AppLocalizationsEn extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }
/// The translations for English, using the Shavian Shaw script (`en_Shaw`). /// The translations for English, using the Shavian Shaw script (`en_Shaw`).
@ -3601,9 +3616,6 @@ class AppLocalizationsEnShaw extends AppLocalizationsEn {
@override @override
String get collectionGroupDay => '𐑚𐑲 𐑛𐑱'; String get collectionGroupDay => '𐑚𐑲 𐑛𐑱';
@override
String get collectionGroupNone => '𐑛𐑵 𐑯𐑪𐑑 𐑜𐑮𐑵𐑐';
@override @override
String get sectionUnknown => '𐑳𐑯𐑯𐑴𐑯'; String get sectionUnknown => '𐑳𐑯𐑯𐑴𐑯';
@ -3879,9 +3891,6 @@ class AppLocalizationsEnShaw extends AppLocalizationsEn {
@override @override
String get albumGroupVolume => '𐑚𐑲 𐑕𐑑𐑹𐑦𐑡 𐑝𐑪𐑤𐑿𐑥'; String get albumGroupVolume => '𐑚𐑲 𐑕𐑑𐑹𐑦𐑡 𐑝𐑪𐑤𐑿𐑥';
@override
String get albumGroupNone => '𐑛𐑵 𐑯𐑪𐑑 𐑜𐑮𐑵𐑐';
@override @override
String get albumMimeTypeMixed => '𐑥𐑦𐑒𐑕𐑑'; String get albumMimeTypeMixed => '𐑥𐑦𐑒𐑕𐑑';
@ -4690,19 +4699,4 @@ class AppLocalizationsEnShaw extends AppLocalizationsEn {
@override @override
String get sourceViewerPageTitle => '𐑕𐑹𐑕'; String get sourceViewerPageTitle => '𐑕𐑹𐑕';
@override
String get filePickerShowHiddenFiles => '𐑖𐑴 𐑣𐑦𐑛𐑩𐑯 𐑓𐑲𐑤𐑟';
@override
String get filePickerDoNotShowHiddenFiles => '𐑛𐑴𐑯\'𐑑 𐑖𐑴 𐑣𐑦𐑛𐑩𐑯 𐑓𐑲𐑤𐑟';
@override
String get filePickerOpenFrom => '𐑴𐑐𐑩𐑯 𐑓𐑮𐑪𐑥';
@override
String get filePickerNoItems => '𐑯𐑴 𐑲𐑑𐑩𐑥𐑟';
@override
String get filePickerUseThisFolder => '𐑿𐑟 𐑞𐑦𐑕 𐑓𐑴𐑤𐑛𐑼';
} }

View file

@ -95,6 +95,9 @@ class AppLocalizationsEs extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APLICAR'; String get applyButtonLabel => 'APLICAR';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'BORRAR'; String get deleteButtonLabel => 'BORRAR';
@ -215,6 +218,9 @@ class AppLocalizationsEs extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Dejar de fijar'; String get chipActionUnpin => 'Dejar de fijar';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Renombrar'; String get chipActionRename => 'Renombrar';
@ -224,6 +230,9 @@ class AppLocalizationsEs extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Mostrar los estados'; String get chipActionShowCountryStates => 'Mostrar los estados';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Crear álbum'; String get chipActionCreateAlbum => 'Crear álbum';
@ -491,6 +500,9 @@ class AppLocalizationsEs extends AppLocalizations {
@override @override
String get albumTierPinned => 'Fijado'; String get albumTierPinned => 'Fijado';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Común'; String get albumTierSpecial => 'Común';
@ -839,6 +851,27 @@ class AppLocalizationsEs extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'El álbum dinámico ya existe'; String get dynamicAlbumAlreadyExists => 'El álbum dinámico ya existe';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Los elementos de la caja fuerte sólo están disponibles para esta aplicación y no para otras.\n\nSi desinstalas esta aplicación o borras sus datos, perderás todos estos elementos.'; String get newVaultWarningDialogMessage => 'Los elementos de la caja fuerte sólo están disponibles para esta aplicación y no para otras.\n\nSi desinstalas esta aplicación o borras sus datos, perderás todos estos elementos.';
@ -1258,7 +1291,7 @@ class AppLocalizationsEs extends AppLocalizations {
String get collectionGroupDay => 'Por día'; String get collectionGroupDay => 'Por día';
@override @override
String get collectionGroupNone => 'No agrupar'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Desconocido'; String get sectionUnknown => 'Desconocido';
@ -1538,9 +1571,6 @@ class AppLocalizationsEs extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Por volumen de almacenamiento'; String get albumGroupVolume => 'Por volumen de almacenamiento';
@override
String get albumGroupNone => 'No agrupar';
@override @override
String get albumMimeTypeMixed => 'Mezclado'; String get albumMimeTypeMixed => 'Mezclado';
@ -2355,19 +2385,4 @@ class AppLocalizationsEs extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Fuente'; String get sourceViewerPageTitle => 'Fuente';
@override
String get filePickerShowHiddenFiles => 'Mostrar archivos ocultos';
@override
String get filePickerDoNotShowHiddenFiles => 'No mostrar archivos ocultos';
@override
String get filePickerOpenFrom => 'Abrir desde';
@override
String get filePickerNoItems => 'Sin elementos';
@override
String get filePickerUseThisFolder => 'Usar esta carpeta';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsEt extends AppLocalizations {
@override @override
String get applyButtonLabel => 'RAKENDA'; String get applyButtonLabel => 'RAKENDA';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'KUSTUTA'; String get deleteButtonLabel => 'KUSTUTA';
@ -218,6 +221,9 @@ class AppLocalizationsEt extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Eemalda ülalt äärest'; String get chipActionUnpin => 'Eemalda ülalt äärest';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Muuda nime'; String get chipActionRename => 'Muuda nime';
@ -227,6 +233,9 @@ class AppLocalizationsEt extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Näita osariike'; String get chipActionShowCountryStates => 'Näita osariike';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Loo album'; String get chipActionCreateAlbum => 'Loo album';
@ -494,6 +503,9 @@ class AppLocalizationsEt extends AppLocalizations {
@override @override
String get albumTierPinned => 'Esiletõstetud'; String get albumTierPinned => 'Esiletõstetud';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Üldised'; String get albumTierSpecial => 'Üldised';
@ -842,6 +854,27 @@ class AppLocalizationsEt extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Selline dünaamiline album on juba olemas'; String get dynamicAlbumAlreadyExists => 'Selline dünaamiline album on juba olemas';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Turvaruumis asuvad objektid on nähtavad vaid sellele rakendusele ja mitte ühelgi muul viisil.\n\nKui sa eemaldad nutiseadmest selle rakenduse või kustutad rakenduse andmed, siis kaob igasugune ligipääs nendele objektidele.'; String get newVaultWarningDialogMessage => 'Turvaruumis asuvad objektid on nähtavad vaid sellele rakendusele ja mitte ühelgi muul viisil.\n\nKui sa eemaldad nutiseadmest selle rakenduse või kustutad rakenduse andmed, siis kaob igasugune ligipääs nendele objektidele.';
@ -1261,7 +1294,7 @@ class AppLocalizationsEt extends AppLocalizations {
String get collectionGroupDay => 'Päevade kaupa'; String get collectionGroupDay => 'Päevade kaupa';
@override @override
String get collectionGroupNone => 'Ära rühmita'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Teadmata'; String get sectionUnknown => 'Teadmata';
@ -1541,9 +1574,6 @@ class AppLocalizationsEt extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Andmemahu alusel'; String get albumGroupVolume => 'Andmemahu alusel';
@override
String get albumGroupNone => 'Ära rühmita';
@override @override
String get albumMimeTypeMixed => 'Erinev sisu'; String get albumMimeTypeMixed => 'Erinev sisu';
@ -2358,19 +2388,4 @@ class AppLocalizationsEt extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Allikas'; String get sourceViewerPageTitle => 'Allikas';
@override
String get filePickerShowHiddenFiles => 'Näita peidetud faile';
@override
String get filePickerDoNotShowHiddenFiles => 'Ära näita peidetud faile';
@override
String get filePickerOpenFrom => 'Ava asukohast';
@override
String get filePickerNoItems => 'Meediafaile pole';
@override
String get filePickerUseThisFolder => 'Kasuta seda kausta';
} }

View file

@ -92,6 +92,9 @@ class AppLocalizationsEu extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APLIKATU'; String get applyButtonLabel => 'APLIKATU';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'EZABATU'; String get deleteButtonLabel => 'EZABATU';
@ -212,6 +215,9 @@ class AppLocalizationsEu extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Desfinkatu goitik'; String get chipActionUnpin => 'Desfinkatu goitik';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Aldatu izena'; String get chipActionRename => 'Aldatu izena';
@ -221,6 +227,9 @@ class AppLocalizationsEu extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Erakutsi egoerak'; String get chipActionShowCountryStates => 'Erakutsi egoerak';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Sortu albuma'; String get chipActionCreateAlbum => 'Sortu albuma';
@ -488,6 +497,9 @@ class AppLocalizationsEu extends AppLocalizations {
@override @override
String get albumTierPinned => 'Finkatua'; String get albumTierPinned => 'Finkatua';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Ohiko'; String get albumTierSpecial => 'Ohiko';
@ -830,6 +842,27 @@ class AppLocalizationsEu extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Kutxa gotorreko elementuak aplikazio honetarako soilik daude eskuragarri eta ez beste edozeinetarako.\n\nAplikazio hau desinstalatzen baduzu, edo aplikazio honen datuak garbitu, elementu guzti hauek galduko dituzu.'; String get newVaultWarningDialogMessage => 'Kutxa gotorreko elementuak aplikazio honetarako soilik daude eskuragarri eta ez beste edozeinetarako.\n\nAplikazio hau desinstalatzen baduzu, edo aplikazio honen datuak garbitu, elementu guzti hauek galduko dituzu.';
@ -1243,7 +1276,7 @@ class AppLocalizationsEu extends AppLocalizations {
String get collectionGroupDay => 'Egunaren arabera'; String get collectionGroupDay => 'Egunaren arabera';
@override @override
String get collectionGroupNone => 'Ez taldekatu'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Ezezaguna'; String get sectionUnknown => 'Ezezaguna';
@ -1493,9 +1526,6 @@ class AppLocalizationsEu extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Biltegiratze-tamainaren arabera'; String get albumGroupVolume => 'Biltegiratze-tamainaren arabera';
@override
String get albumGroupNone => 'Ez taldekatu';
@override @override
String get albumMimeTypeMixed => 'Nahastua'; String get albumMimeTypeMixed => 'Nahastua';
@ -2307,19 +2337,4 @@ class AppLocalizationsEu extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Iturria'; String get sourceViewerPageTitle => 'Iturria';
@override
String get filePickerShowHiddenFiles => 'Erakutsi ezkutuko fitxategiak';
@override
String get filePickerDoNotShowHiddenFiles => 'Ez erakutsi ezkutuko fitxategiak';
@override
String get filePickerOpenFrom => 'Ireki hemendik';
@override
String get filePickerNoItems => 'Elementurik ez';
@override
String get filePickerUseThisFolder => 'Erabili karpeta hau';
} }

View file

@ -89,6 +89,9 @@ class AppLocalizationsFa extends AppLocalizations {
@override @override
String get applyButtonLabel => 'اعمال'; String get applyButtonLabel => 'اعمال';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'پاک کردن'; String get deleteButtonLabel => 'پاک کردن';
@ -209,6 +212,9 @@ class AppLocalizationsFa extends AppLocalizations {
@override @override
String get chipActionUnpin => 'برداشتن سنجاق از بالا'; String get chipActionUnpin => 'برداشتن سنجاق از بالا';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'تغییر نام فایل'; String get chipActionRename => 'تغییر نام فایل';
@ -218,6 +224,9 @@ class AppLocalizationsFa extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'نمایش شهر‌ها'; String get chipActionShowCountryStates => 'نمایش شهر‌ها';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'ساخت البوم'; String get chipActionCreateAlbum => 'ساخت البوم';
@ -485,6 +494,9 @@ class AppLocalizationsFa extends AppLocalizations {
@override @override
String get albumTierPinned => 'سنجاق شده'; String get albumTierPinned => 'سنجاق شده';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'مشترک'; String get albumTierSpecial => 'مشترک';
@ -827,6 +839,27 @@ class AppLocalizationsFa extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'آلبوم پویا از پیش موجود است'; String get dynamicAlbumAlreadyExists => 'آلبوم پویا از پیش موجود است';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'موارد موجود در گاوصندوق تنها برای این برنامه در دسترس هستند و در هیچ برنامه دیگری وجود ندارد.\n\nاگر این برنامه را پاک کنید، یا داده‌های برنامه را پاک کنید، همه این موارد را از دست خواهید داد.'; String get newVaultWarningDialogMessage => 'موارد موجود در گاوصندوق تنها برای این برنامه در دسترس هستند و در هیچ برنامه دیگری وجود ندارد.\n\nاگر این برنامه را پاک کنید، یا داده‌های برنامه را پاک کنید، همه این موارد را از دست خواهید داد.';
@ -1240,7 +1273,7 @@ class AppLocalizationsFa extends AppLocalizations {
String get collectionGroupDay => 'با روز'; String get collectionGroupDay => 'با روز';
@override @override
String get collectionGroupNone => 'گروه نکن'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'ناشناس'; String get sectionUnknown => 'ناشناس';
@ -1490,9 +1523,6 @@ class AppLocalizationsFa extends AppLocalizations {
@override @override
String get albumGroupVolume => 'با حجم ذخیره سازی'; String get albumGroupVolume => 'با حجم ذخیره سازی';
@override
String get albumGroupNone => 'گروه نکن';
@override @override
String get albumMimeTypeMixed => 'ترکیبی'; String get albumMimeTypeMixed => 'ترکیبی';
@ -2304,19 +2334,4 @@ class AppLocalizationsFa extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'منبع'; String get sourceViewerPageTitle => 'منبع';
@override
String get filePickerShowHiddenFiles => 'نمایش پرونده‌های پنهان';
@override
String get filePickerDoNotShowHiddenFiles => 'پرونده‌های پنهان را نمایش نده';
@override
String get filePickerOpenFrom => 'بازکردن از';
@override
String get filePickerNoItems => 'چیزی نیست';
@override
String get filePickerUseThisFolder => 'استفاده از این پوشه';
} }

View file

@ -92,6 +92,9 @@ class AppLocalizationsFi extends AppLocalizations {
@override @override
String get applyButtonLabel => 'KÄYTÄ'; String get applyButtonLabel => 'KÄYTÄ';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'POISTA'; String get deleteButtonLabel => 'POISTA';
@ -212,6 +215,9 @@ class AppLocalizationsFi extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Irrota kiinnitys ylhäältä'; String get chipActionUnpin => 'Irrota kiinnitys ylhäältä';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Nimeä uudelleen'; String get chipActionRename => 'Nimeä uudelleen';
@ -221,6 +227,9 @@ class AppLocalizationsFi extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Näytä maat'; String get chipActionShowCountryStates => 'Näytä maat';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Luo albumi'; String get chipActionCreateAlbum => 'Luo albumi';
@ -488,6 +497,9 @@ class AppLocalizationsFi extends AppLocalizations {
@override @override
String get albumTierPinned => 'Kiinnitetty'; String get albumTierPinned => 'Kiinnitetty';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Yleistä'; String get albumTierSpecial => 'Yleistä';
@ -836,6 +848,27 @@ class AppLocalizationsFi extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1081,7 +1114,7 @@ class AppLocalizationsFi extends AppLocalizations {
String get viewDialogSortSectionTitle => 'Sort'; String get viewDialogSortSectionTitle => 'Sort';
@override @override
String get viewDialogGroupSectionTitle => 'Group'; String get viewDialogGroupSectionTitle => 'Sections';
@override @override
String get viewDialogLayoutSectionTitle => 'Layout'; String get viewDialogLayoutSectionTitle => 'Layout';
@ -1255,7 +1288,7 @@ class AppLocalizationsFi extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1535,9 +1568,6 @@ class AppLocalizationsFi extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2352,19 +2382,4 @@ class AppLocalizationsFi extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsFr extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APPLIQUER'; String get applyButtonLabel => 'APPLIQUER';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'SUPPRIMER'; String get deleteButtonLabel => 'SUPPRIMER';
@ -218,6 +221,9 @@ class AppLocalizationsFr extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Retirer'; String get chipActionUnpin => 'Retirer';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Renommer'; String get chipActionRename => 'Renommer';
@ -227,6 +233,9 @@ class AppLocalizationsFr extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Afficher les États'; String get chipActionShowCountryStates => 'Afficher les États';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Créer un album'; String get chipActionCreateAlbum => 'Créer un album';
@ -494,6 +503,9 @@ class AppLocalizationsFr extends AppLocalizations {
@override @override
String get albumTierPinned => 'Épinglés'; String get albumTierPinned => 'Épinglés';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Standards'; String get albumTierSpecial => 'Standards';
@ -842,6 +854,27 @@ class AppLocalizationsFr extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Lalbum dynamique existe déjà'; String get dynamicAlbumAlreadyExists => 'Lalbum dynamique existe déjà';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Les éléments dans les coffres-forts ne sont visibles que dans cette app et nulle autre.\n\nSi vous désinstallez cette app, ou que vous supprimez ses données, vous perdrez tous ces éléments.'; String get newVaultWarningDialogMessage => 'Les éléments dans les coffres-forts ne sont visibles que dans cette app et nulle autre.\n\nSi vous désinstallez cette app, ou que vous supprimez ses données, vous perdrez tous ces éléments.';
@ -1261,7 +1294,7 @@ class AppLocalizationsFr extends AppLocalizations {
String get collectionGroupDay => 'par jour'; String get collectionGroupDay => 'par jour';
@override @override
String get collectionGroupNone => 'ne pas grouper'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Inconnu'; String get sectionUnknown => 'Inconnu';
@ -1541,9 +1574,6 @@ class AppLocalizationsFr extends AppLocalizations {
@override @override
String get albumGroupVolume => 'par volume de stockage'; String get albumGroupVolume => 'par volume de stockage';
@override
String get albumGroupNone => 'ne pas grouper';
@override @override
String get albumMimeTypeMixed => 'Mixte'; String get albumMimeTypeMixed => 'Mixte';
@ -2358,19 +2388,4 @@ class AppLocalizationsFr extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Code source'; String get sourceViewerPageTitle => 'Code source';
@override
String get filePickerShowHiddenFiles => 'Afficher les fichiers masqués';
@override
String get filePickerDoNotShowHiddenFiles => 'Ne pas afficher les fichiers masqués';
@override
String get filePickerOpenFrom => 'Ouvrir à partir de';
@override
String get filePickerNoItems => 'Aucun élément';
@override
String get filePickerUseThisFolder => 'Utiliser ce dossier';
} }

View file

@ -95,6 +95,9 @@ class AppLocalizationsGl extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APLICAR'; String get applyButtonLabel => 'APLICAR';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'ELIMINAR'; String get deleteButtonLabel => 'ELIMINAR';
@ -215,6 +218,9 @@ class AppLocalizationsGl extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Desbloquear dende arriba'; String get chipActionUnpin => 'Desbloquear dende arriba';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Cambiar o nome'; String get chipActionRename => 'Cambiar o nome';
@ -224,6 +230,9 @@ class AppLocalizationsGl extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Amosar estados'; String get chipActionShowCountryStates => 'Amosar estados';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Crear álbum'; String get chipActionCreateAlbum => 'Crear álbum';
@ -491,6 +500,9 @@ class AppLocalizationsGl extends AppLocalizations {
@override @override
String get albumTierPinned => 'Fixado'; String get albumTierPinned => 'Fixado';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Común'; String get albumTierSpecial => 'Común';
@ -839,6 +851,27 @@ class AppLocalizationsGl extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Xa existe o álbum dinámico'; String get dynamicAlbumAlreadyExists => 'Xa existe o álbum dinámico';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Os elementos en cofres só están dispoñibles para esta aplicación.\n\nPerderanse ao desinstalala ou ao borrar os seus datos.'; String get newVaultWarningDialogMessage => 'Os elementos en cofres só están dispoñibles para esta aplicación.\n\nPerderanse ao desinstalala ou ao borrar os seus datos.';
@ -1258,7 +1291,7 @@ class AppLocalizationsGl extends AppLocalizations {
String get collectionGroupDay => 'Por día'; String get collectionGroupDay => 'Por día';
@override @override
String get collectionGroupNone => 'Non agrupar'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Descoñecido'; String get sectionUnknown => 'Descoñecido';
@ -1538,9 +1571,6 @@ class AppLocalizationsGl extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Por volume de almacenaxe'; String get albumGroupVolume => 'Por volume de almacenaxe';
@override
String get albumGroupNone => 'Non agrupar';
@override @override
String get albumMimeTypeMixed => 'Mesturado'; String get albumMimeTypeMixed => 'Mesturado';
@ -2355,19 +2385,4 @@ class AppLocalizationsGl extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Fonte'; String get sourceViewerPageTitle => 'Fonte';
@override
String get filePickerShowHiddenFiles => 'Amosar arquivos agochados';
@override
String get filePickerDoNotShowHiddenFiles => 'Non amosar arquivos agochados';
@override
String get filePickerOpenFrom => 'Abrir dende';
@override
String get filePickerNoItems => 'Sen elementos';
@override
String get filePickerUseThisFolder => 'Usar este cartafol';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsHe extends AppLocalizations {
@override @override
String get applyButtonLabel => 'החל'; String get applyButtonLabel => 'החל';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'מחק'; String get deleteButtonLabel => 'מחק';
@ -218,6 +221,9 @@ class AppLocalizationsHe extends AppLocalizations {
@override @override
String get chipActionUnpin => 'בטל הצמד למעלה'; String get chipActionUnpin => 'בטל הצמד למעלה';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'שנה שם'; String get chipActionRename => 'שנה שם';
@ -227,6 +233,9 @@ class AppLocalizationsHe extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Create album'; String get chipActionCreateAlbum => 'Create album';
@ -494,6 +503,9 @@ class AppLocalizationsHe extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pinned'; String get albumTierPinned => 'Pinned';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Common'; String get albumTierSpecial => 'Common';
@ -842,6 +854,27 @@ class AppLocalizationsHe extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1087,7 +1120,7 @@ class AppLocalizationsHe extends AppLocalizations {
String get viewDialogSortSectionTitle => 'Sort'; String get viewDialogSortSectionTitle => 'Sort';
@override @override
String get viewDialogGroupSectionTitle => 'Group'; String get viewDialogGroupSectionTitle => 'Sections';
@override @override
String get viewDialogLayoutSectionTitle => 'Layout'; String get viewDialogLayoutSectionTitle => 'Layout';
@ -1261,7 +1294,7 @@ class AppLocalizationsHe extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1541,9 +1574,6 @@ class AppLocalizationsHe extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2358,19 +2388,4 @@ class AppLocalizationsHe extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -89,6 +89,9 @@ class AppLocalizationsHi extends AppLocalizations {
@override @override
String get applyButtonLabel => 'लगाऐ'; String get applyButtonLabel => 'लगाऐ';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'मिटाए'; String get deleteButtonLabel => 'मिटाए';
@ -209,6 +212,9 @@ class AppLocalizationsHi extends AppLocalizations {
@override @override
String get chipActionUnpin => 'शीर्ष से अनपिन करें'; String get chipActionUnpin => 'शीर्ष से अनपिन करें';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'नाम बदले'; String get chipActionRename => 'नाम बदले';
@ -218,6 +224,9 @@ class AppLocalizationsHi extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'राज्यों को दिखाएं'; String get chipActionShowCountryStates => 'राज्यों को दिखाएं';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'एल्बम बनाएं'; String get chipActionCreateAlbum => 'एल्बम बनाएं';
@ -485,6 +494,9 @@ class AppLocalizationsHi extends AppLocalizations {
@override @override
String get albumTierPinned => 'पिन किया गया'; String get albumTierPinned => 'पिन किया गया';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'कॉमन'; String get albumTierSpecial => 'कॉमन';
@ -833,6 +845,27 @@ class AppLocalizationsHi extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'डायनेमिक एल्बम पहले से ही मौजूद है'; String get dynamicAlbumAlreadyExists => 'डायनेमिक एल्बम पहले से ही मौजूद है';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'वॉल्ट में आइटम केवल इस ऐप के लिए व अन्य के लिए नहीं उपलब्ध हैं।\n\nयदि आप इस ऐप को अनइंस्टॉल करते हैं, या इस ऐप डेटा को साफ़ करते हैं, तो आप इन सभी आइटम को खो देंगे।।'; String get newVaultWarningDialogMessage => 'वॉल्ट में आइटम केवल इस ऐप के लिए व अन्य के लिए नहीं उपलब्ध हैं।\n\nयदि आप इस ऐप को अनइंस्टॉल करते हैं, या इस ऐप डेटा को साफ़ करते हैं, तो आप इन सभी आइटम को खो देंगे।।';
@ -1252,7 +1285,7 @@ class AppLocalizationsHi extends AppLocalizations {
String get collectionGroupDay => 'दिन के अनुसार'; String get collectionGroupDay => 'दिन के अनुसार';
@override @override
String get collectionGroupNone => 'समूह न बनाएं'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'अज्ञात'; String get sectionUnknown => 'अज्ञात';
@ -1532,9 +1565,6 @@ class AppLocalizationsHi extends AppLocalizations {
@override @override
String get albumGroupVolume => 'स्टोरेज मात्रा के अनुसार'; String get albumGroupVolume => 'स्टोरेज मात्रा के अनुसार';
@override
String get albumGroupNone => 'ग्रुप न बनाए';
@override @override
String get albumMimeTypeMixed => 'मिक्सड'; String get albumMimeTypeMixed => 'मिक्सड';
@ -2349,19 +2379,4 @@ class AppLocalizationsHi extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -87,6 +87,9 @@ class AppLocalizationsHu extends AppLocalizations {
@override @override
String get applyButtonLabel => 'ALKALMAZ'; String get applyButtonLabel => 'ALKALMAZ';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'TÖRLÉS'; String get deleteButtonLabel => 'TÖRLÉS';
@ -207,6 +210,9 @@ class AppLocalizationsHu extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Kitűzés megszüntetése'; String get chipActionUnpin => 'Kitűzés megszüntetése';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Átnevezés'; String get chipActionRename => 'Átnevezés';
@ -216,6 +222,9 @@ class AppLocalizationsHu extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Megyék megjelenítése'; String get chipActionShowCountryStates => 'Megyék megjelenítése';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Új album'; String get chipActionCreateAlbum => 'Új album';
@ -483,6 +492,9 @@ class AppLocalizationsHu extends AppLocalizations {
@override @override
String get albumTierPinned => 'Kitűzött'; String get albumTierPinned => 'Kitűzött';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Gyakori'; String get albumTierSpecial => 'Gyakori';
@ -825,6 +837,27 @@ class AppLocalizationsHu extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'A dinamikus album már létezik'; String get dynamicAlbumAlreadyExists => 'A dinamikus album már létezik';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'A széfben lévő elemek csak ebben az alkalmazásban érhetőek el.\n\nHa eltávolítod az alkalmazást vagy törlöd az adatokat, ezeket az elemeket is elveszíted.'; String get newVaultWarningDialogMessage => 'A széfben lévő elemek csak ebben az alkalmazásban érhetőek el.\n\nHa eltávolítod az alkalmazást vagy törlöd az adatokat, ezeket az elemeket is elveszíted.';
@ -1238,7 +1271,7 @@ class AppLocalizationsHu extends AppLocalizations {
String get collectionGroupDay => 'Napok szerint'; String get collectionGroupDay => 'Napok szerint';
@override @override
String get collectionGroupNone => 'Nincs csoportositás'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Ismeretlen'; String get sectionUnknown => 'Ismeretlen';
@ -1488,9 +1521,6 @@ class AppLocalizationsHu extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Tárhely alapján'; String get albumGroupVolume => 'Tárhely alapján';
@override
String get albumGroupNone => 'Nincs csoportositás';
@override @override
String get albumMimeTypeMixed => 'Vegyesen'; String get albumMimeTypeMixed => 'Vegyesen';
@ -2301,19 +2331,4 @@ class AppLocalizationsHu extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Forrás'; String get sourceViewerPageTitle => 'Forrás';
@override
String get filePickerShowHiddenFiles => 'Rejtett fájlok mutatása';
@override
String get filePickerDoNotShowHiddenFiles => 'Ne mutassa a rejtett fájlokat';
@override
String get filePickerOpenFrom => 'Megnyitás innen';
@override
String get filePickerNoItems => 'Nincsenek elemek';
@override
String get filePickerUseThisFolder => 'Mappa használata';
} }

View file

@ -90,6 +90,9 @@ class AppLocalizationsId extends AppLocalizations {
@override @override
String get applyButtonLabel => 'TERAPKAN'; String get applyButtonLabel => 'TERAPKAN';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'BUANG'; String get deleteButtonLabel => 'BUANG';
@ -210,6 +213,9 @@ class AppLocalizationsId extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Lepas sematan dari atas'; String get chipActionUnpin => 'Lepas sematan dari atas';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Ganti nama'; String get chipActionRename => 'Ganti nama';
@ -219,6 +225,9 @@ class AppLocalizationsId extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Tampilkan wilayah'; String get chipActionShowCountryStates => 'Tampilkan wilayah';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Buat album'; String get chipActionCreateAlbum => 'Buat album';
@ -486,6 +495,9 @@ class AppLocalizationsId extends AppLocalizations {
@override @override
String get albumTierPinned => 'Disemat'; String get albumTierPinned => 'Disemat';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Biasa'; String get albumTierSpecial => 'Biasa';
@ -833,6 +845,27 @@ class AppLocalizationsId extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Album dinamis sudah ada'; String get dynamicAlbumAlreadyExists => 'Album dinamis sudah ada';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Item dalam brankas hanya tersedia untuk aplikasi ini dan bukan yang lain.\n\nJika Anda menghapus aplikasi ini, atau menghapus data aplikasi ini, Anda akan kehilangan semua item tersebut.'; String get newVaultWarningDialogMessage => 'Item dalam brankas hanya tersedia untuk aplikasi ini dan bukan yang lain.\n\nJika Anda menghapus aplikasi ini, atau menghapus data aplikasi ini, Anda akan kehilangan semua item tersebut.';
@ -1252,7 +1285,7 @@ class AppLocalizationsId extends AppLocalizations {
String get collectionGroupDay => 'Lewat hari'; String get collectionGroupDay => 'Lewat hari';
@override @override
String get collectionGroupNone => 'Jangan kelompokkan'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Tidak dikenal'; String get sectionUnknown => 'Tidak dikenal';
@ -1522,9 +1555,6 @@ class AppLocalizationsId extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Lewat volume penyimpanan'; String get albumGroupVolume => 'Lewat volume penyimpanan';
@override
String get albumGroupNone => 'Jangan kelompokkan';
@override @override
String get albumMimeTypeMixed => 'Tercampur'; String get albumMimeTypeMixed => 'Tercampur';
@ -2338,19 +2368,4 @@ class AppLocalizationsId extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Sumber'; String get sourceViewerPageTitle => 'Sumber';
@override
String get filePickerShowHiddenFiles => 'Tampilkan file tersembunyi';
@override
String get filePickerDoNotShowHiddenFiles => 'Jangan tampilkan file tersembunyi';
@override
String get filePickerOpenFrom => 'Buka dari';
@override
String get filePickerNoItems => 'Tidak ada benda';
@override
String get filePickerUseThisFolder => 'Gunakan folder ini';
} }

View file

@ -92,6 +92,9 @@ class AppLocalizationsIs extends AppLocalizations {
@override @override
String get applyButtonLabel => 'VIRKJA'; String get applyButtonLabel => 'VIRKJA';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'EYÐA'; String get deleteButtonLabel => 'EYÐA';
@ -212,6 +215,9 @@ class AppLocalizationsIs extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Losa af efri hluta'; String get chipActionUnpin => 'Losa af efri hluta';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Endurnefna'; String get chipActionRename => 'Endurnefna';
@ -221,6 +227,9 @@ class AppLocalizationsIs extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Birta héruð'; String get chipActionShowCountryStates => 'Birta héruð';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Búa til albúm'; String get chipActionCreateAlbum => 'Búa til albúm';
@ -488,6 +497,9 @@ class AppLocalizationsIs extends AppLocalizations {
@override @override
String get albumTierPinned => 'Fest'; String get albumTierPinned => 'Fest';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Algengt'; String get albumTierSpecial => 'Algengt';
@ -830,6 +842,27 @@ class AppLocalizationsIs extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Breytilegt albúm er þegar til staðar'; String get dynamicAlbumAlreadyExists => 'Breytilegt albúm er þegar til staðar';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Atriði í öryggisgeymslum eru einungis aðgengileg í þessu forriti og engum öðrum.\n\nEf þú fjarlægir þetta forrit, eða hreinsar gögn forritsins, muntu tapa öllum þessum atriðum.'; String get newVaultWarningDialogMessage => 'Atriði í öryggisgeymslum eru einungis aðgengileg í þessu forriti og engum öðrum.\n\nEf þú fjarlægir þetta forrit, eða hreinsar gögn forritsins, muntu tapa öllum þessum atriðum.';
@ -1243,7 +1276,7 @@ class AppLocalizationsIs extends AppLocalizations {
String get collectionGroupDay => 'Eftir dögum'; String get collectionGroupDay => 'Eftir dögum';
@override @override
String get collectionGroupNone => 'Ekki hópa'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Óþekkt'; String get sectionUnknown => 'Óþekkt';
@ -1493,9 +1526,6 @@ class AppLocalizationsIs extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Eftir gagnageymslu'; String get albumGroupVolume => 'Eftir gagnageymslu';
@override
String get albumGroupNone => 'Ekki hópa';
@override @override
String get albumMimeTypeMixed => 'Blandað'; String get albumMimeTypeMixed => 'Blandað';
@ -2307,19 +2337,4 @@ class AppLocalizationsIs extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Uppruni'; String get sourceViewerPageTitle => 'Uppruni';
@override
String get filePickerShowHiddenFiles => 'Birta faldar skrár';
@override
String get filePickerDoNotShowHiddenFiles => 'Ekki birta faldar skrár';
@override
String get filePickerOpenFrom => 'Opið frá';
@override
String get filePickerNoItems => 'Engir hlutir';
@override
String get filePickerUseThisFolder => 'Nota þessa möppu';
} }

View file

@ -95,6 +95,9 @@ class AppLocalizationsIt extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APPLICA'; String get applyButtonLabel => 'APPLICA';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'ELIMINA'; String get deleteButtonLabel => 'ELIMINA';
@ -215,6 +218,9 @@ class AppLocalizationsIt extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Rimuovi dallalto'; String get chipActionUnpin => 'Rimuovi dallalto';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Rinomina'; String get chipActionRename => 'Rinomina';
@ -224,6 +230,9 @@ class AppLocalizationsIt extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Visualizza stati'; String get chipActionShowCountryStates => 'Visualizza stati';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Crea album'; String get chipActionCreateAlbum => 'Crea album';
@ -491,6 +500,9 @@ class AppLocalizationsIt extends AppLocalizations {
@override @override
String get albumTierPinned => 'Fissati'; String get albumTierPinned => 'Fissati';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Frequenti'; String get albumTierSpecial => 'Frequenti';
@ -839,6 +851,27 @@ class AppLocalizationsIt extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Album dinamico già esistente'; String get dynamicAlbumAlreadyExists => 'Album dinamico già esistente';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Gli elementi nelle cassaforti sono disponibili solo per questa app e non per altre.\n\nSe disinstalli lapp o cancelli i relativi dati, perderai tutti questi elementi.'; String get newVaultWarningDialogMessage => 'Gli elementi nelle cassaforti sono disponibili solo per questa app e non per altre.\n\nSe disinstalli lapp o cancelli i relativi dati, perderai tutti questi elementi.';
@ -1258,7 +1291,7 @@ class AppLocalizationsIt extends AppLocalizations {
String get collectionGroupDay => 'Per giorno'; String get collectionGroupDay => 'Per giorno';
@override @override
String get collectionGroupNone => 'Non raggruppare'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Sconosciuto'; String get sectionUnknown => 'Sconosciuto';
@ -1538,9 +1571,6 @@ class AppLocalizationsIt extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Per volume archiviazione'; String get albumGroupVolume => 'Per volume archiviazione';
@override
String get albumGroupNone => 'Non raggruppare';
@override @override
String get albumMimeTypeMixed => 'Misto'; String get albumMimeTypeMixed => 'Misto';
@ -2355,19 +2385,4 @@ class AppLocalizationsIt extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Codice sorgente'; String get sourceViewerPageTitle => 'Codice sorgente';
@override
String get filePickerShowHiddenFiles => 'Visualizza file nascosti';
@override
String get filePickerDoNotShowHiddenFiles => 'Non visualizzare i file nascosti';
@override
String get filePickerOpenFrom => 'Apri da';
@override
String get filePickerNoItems => 'Nessun elemento';
@override
String get filePickerUseThisFolder => 'Usa questa cartella';
} }

View file

@ -90,6 +90,9 @@ class AppLocalizationsJa extends AppLocalizations {
@override @override
String get applyButtonLabel => '適用'; String get applyButtonLabel => '適用';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => '削除'; String get deleteButtonLabel => '削除';
@ -210,6 +213,9 @@ class AppLocalizationsJa extends AppLocalizations {
@override @override
String get chipActionUnpin => '一番上への固定を解除'; String get chipActionUnpin => '一番上への固定を解除';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => '名前を変更'; String get chipActionRename => '名前を変更';
@ -219,6 +225,9 @@ class AppLocalizationsJa extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => '地域を表示'; String get chipActionShowCountryStates => '地域を表示';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'アルバムを作成'; String get chipActionCreateAlbum => 'アルバムを作成';
@ -486,6 +495,9 @@ class AppLocalizationsJa extends AppLocalizations {
@override @override
String get albumTierPinned => '固定'; String get albumTierPinned => '固定';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => '全体'; String get albumTierSpecial => '全体';
@ -833,6 +845,27 @@ class AppLocalizationsJa extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'ダイナミックアルバムはすでに存在します'; String get dynamicAlbumAlreadyExists => 'ダイナミックアルバムはすでに存在します';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => '保管庫のアイテムはアプリ内のみで保存しているため、他のアプリでは利用できません。\n\nこのアプリをアンインストールしたり、データを消去したりすると、これらのアイテムはすべて失われます。'; String get newVaultWarningDialogMessage => '保管庫のアイテムはアプリ内のみで保存しているため、他のアプリでは利用できません。\n\nこのアプリをアンインストールしたり、データを消去したりすると、これらのアイテムはすべて失われます。';
@ -1252,7 +1285,7 @@ class AppLocalizationsJa extends AppLocalizations {
String get collectionGroupDay => '日別'; String get collectionGroupDay => '日別';
@override @override
String get collectionGroupNone => 'グループ化しない'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => '不明'; String get sectionUnknown => '不明';
@ -1522,9 +1555,6 @@ class AppLocalizationsJa extends AppLocalizations {
@override @override
String get albumGroupVolume => 'ストレージ ボリューム別'; String get albumGroupVolume => 'ストレージ ボリューム別';
@override
String get albumGroupNone => 'グループ化しない';
@override @override
String get albumMimeTypeMixed => '混合'; String get albumMimeTypeMixed => '混合';
@ -2338,19 +2368,4 @@ class AppLocalizationsJa extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'ソース'; String get sourceViewerPageTitle => 'ソース';
@override
String get filePickerShowHiddenFiles => '非表示のファイルを表示する';
@override
String get filePickerDoNotShowHiddenFiles => '非表示のファイルを表示しない';
@override
String get filePickerOpenFrom => '次から開く';
@override
String get filePickerNoItems => 'アイテムはありません';
@override
String get filePickerUseThisFolder => 'このフォルダを使用';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsKn extends AppLocalizations {
@override @override
String get applyButtonLabel => 'ಅನ್ವಯಿಸು'; String get applyButtonLabel => 'ಅನ್ವಯಿಸು';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'ಅಳಿಸಿ'; String get deleteButtonLabel => 'ಅಳಿಸಿ';
@ -218,6 +221,9 @@ class AppLocalizationsKn extends AppLocalizations {
@override @override
String get chipActionUnpin => 'ಪಿನ್ ತೆಗೆಯಿರಿ'; String get chipActionUnpin => 'ಪಿನ್ ತೆಗೆಯಿರಿ';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'ಮರುನಾಮಕರಣ'; String get chipActionRename => 'ಮರುನಾಮಕರಣ';
@ -227,6 +233,9 @@ class AppLocalizationsKn extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'ಅಂಕಿಅಂಶಗಳನ್ನು ತೋರಿಸಿ'; String get chipActionShowCountryStates => 'ಅಂಕಿಅಂಶಗಳನ್ನು ತೋರಿಸಿ';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'ಆಲ್ಬಮ್ ರಚಿಸಿ'; String get chipActionCreateAlbum => 'ಆಲ್ಬಮ್ ರಚಿಸಿ';
@ -494,6 +503,9 @@ class AppLocalizationsKn extends AppLocalizations {
@override @override
String get albumTierPinned => 'ಚುಚ್ಚಿರುವುದು'; String get albumTierPinned => 'ಚುಚ್ಚಿರುವುದು';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'ಸಾಮಾನ್ಯ'; String get albumTierSpecial => 'ಸಾಮಾನ್ಯ';
@ -842,6 +854,27 @@ class AppLocalizationsKn extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'ಡೈನಾಮಿಕ್ ಆಲ್ಬಮ್ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ'; String get dynamicAlbumAlreadyExists => 'ಡೈನಾಮಿಕ್ ಆಲ್ಬಮ್ ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'ನೆಲಮಾಳಿಗೆಯಲ್ಲಿನ ವಸ್ತುಗಳು ಈ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಮಾತ್ರ ಲಭ್ಯವಿದೆ ಮತ್ತು ಇತರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಇರುವುದಿಲ್ಲ.\n\nನೀವು ಈ ಅಪ್ಲಿಕೇಶನ್ ನನ್ನು ಅಸ್ಥಾಪಿಸಿದರೆ ಅಥವಾ ಈ ಅಪ್ಲಿಕೇಶನ್ ದತ್ತಾಂಶಗಳನ್ನು ತೆರವುಗೊಳಿಸಿದರೆ, ನೀವು ಈ ಎಲ್ಲ ವಸ್ತುಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ.'; String get newVaultWarningDialogMessage => 'ನೆಲಮಾಳಿಗೆಯಲ್ಲಿನ ವಸ್ತುಗಳು ಈ ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಮಾತ್ರ ಲಭ್ಯವಿದೆ ಮತ್ತು ಇತರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಇರುವುದಿಲ್ಲ.\n\nನೀವು ಈ ಅಪ್ಲಿಕೇಶನ್ ನನ್ನು ಅಸ್ಥಾಪಿಸಿದರೆ ಅಥವಾ ಈ ಅಪ್ಲಿಕೇಶನ್ ದತ್ತಾಂಶಗಳನ್ನು ತೆರವುಗೊಳಿಸಿದರೆ, ನೀವು ಈ ಎಲ್ಲ ವಸ್ತುಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ.';
@ -1261,7 +1294,7 @@ class AppLocalizationsKn extends AppLocalizations {
String get collectionGroupDay => 'ದಿನದಂತೆ'; String get collectionGroupDay => 'ದಿನದಂತೆ';
@override @override
String get collectionGroupNone => 'ಗುಂಪು ಮಾಡಬೇಡಿ'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'ಅಜ್ಞಾತ'; String get sectionUnknown => 'ಅಜ್ಞಾತ';
@ -1541,9 +1574,6 @@ class AppLocalizationsKn extends AppLocalizations {
@override @override
String get albumGroupVolume => 'ಸಂಗ್ರಹಣೆಯ ಗಾತ್ರದಂತೆ'; String get albumGroupVolume => 'ಸಂಗ್ರಹಣೆಯ ಗಾತ್ರದಂತೆ';
@override
String get albumGroupNone => 'ಗುಂಪು ಮಾಡಬೇಡಿ';
@override @override
String get albumMimeTypeMixed => 'ಮಿಶ್ರಿತ'; String get albumMimeTypeMixed => 'ಮಿಶ್ರಿತ';
@ -2358,19 +2388,4 @@ class AppLocalizationsKn extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'ಮೂಲ'; String get sourceViewerPageTitle => 'ಮೂಲ';
@override
String get filePickerShowHiddenFiles => 'ಮರೆಮಾಡಿದ ಕಡತಗಳನ್ನು ತೋರಿಸಿ';
@override
String get filePickerDoNotShowHiddenFiles => 'ಮರೆಮಾಡಿದ ಕಡತಗಳನ್ನು ತೋರಿಸಬೇಡಿ';
@override
String get filePickerOpenFrom => 'ಇಂದ ತೆರೆಯಿರಿ';
@override
String get filePickerNoItems => 'ವಸ್ತುಗಳಿಲ್ಲ';
@override
String get filePickerUseThisFolder => 'ಈ ಕೋಶವನ್ನು ಬಳಸಿ';
} }

View file

@ -90,6 +90,9 @@ class AppLocalizationsKo extends AppLocalizations {
@override @override
String get applyButtonLabel => '적용'; String get applyButtonLabel => '적용';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => '삭제'; String get deleteButtonLabel => '삭제';
@ -210,6 +213,9 @@ class AppLocalizationsKo extends AppLocalizations {
@override @override
String get chipActionUnpin => '고정 해제'; String get chipActionUnpin => '고정 해제';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => '이름 변경'; String get chipActionRename => '이름 변경';
@ -219,6 +225,9 @@ class AppLocalizationsKo extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => '주 보기'; String get chipActionShowCountryStates => '주 보기';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => '앨범 만들기'; String get chipActionCreateAlbum => '앨범 만들기';
@ -486,6 +495,9 @@ class AppLocalizationsKo extends AppLocalizations {
@override @override
String get albumTierPinned => '고정'; String get albumTierPinned => '고정';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => '기본'; String get albumTierSpecial => '기본';
@ -833,6 +845,27 @@ class AppLocalizationsKo extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => '동적 앨범이 이미 있습니다'; String get dynamicAlbumAlreadyExists => '동적 앨범이 이미 있습니다';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => '금고에 있는 항목들은 이 앱에서만 볼 수 있습니다.\n\n이 앱을 삭제 시, 또한 이 앱의 데이터를 삭제 시, 항목을 완전히 삭제될 것입니다.'; String get newVaultWarningDialogMessage => '금고에 있는 항목들은 이 앱에서만 볼 수 있습니다.\n\n이 앱을 삭제 시, 또한 이 앱의 데이터를 삭제 시, 항목을 완전히 삭제될 것입니다.';
@ -1250,7 +1283,7 @@ class AppLocalizationsKo extends AppLocalizations {
String get collectionGroupDay => '날짜별로'; String get collectionGroupDay => '날짜별로';
@override @override
String get collectionGroupNone => '묶음 없음'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => '없음'; String get sectionUnknown => '없음';
@ -1520,9 +1553,6 @@ class AppLocalizationsKo extends AppLocalizations {
@override @override
String get albumGroupVolume => '저장공간별로'; String get albumGroupVolume => '저장공간별로';
@override
String get albumGroupNone => '묶음 없음';
@override @override
String get albumMimeTypeMixed => '혼합'; String get albumMimeTypeMixed => '혼합';
@ -2336,19 +2366,4 @@ class AppLocalizationsKo extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => '소스 코드'; String get sourceViewerPageTitle => '소스 코드';
@override
String get filePickerShowHiddenFiles => '숨겨진 파일 표시';
@override
String get filePickerDoNotShowHiddenFiles => '숨겨진 파일 표시 안함';
@override
String get filePickerOpenFrom => '다음에서 열기:';
@override
String get filePickerNoItems => '항목 없음';
@override
String get filePickerUseThisFolder => '이 폴더 사용';
} }

View file

@ -99,6 +99,9 @@ class AppLocalizationsLt extends AppLocalizations {
@override @override
String get applyButtonLabel => 'TAIKYTI'; String get applyButtonLabel => 'TAIKYTI';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'IŠTRINTI'; String get deleteButtonLabel => 'IŠTRINTI';
@ -219,6 +222,9 @@ class AppLocalizationsLt extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Atsegti nuo viršaus'; String get chipActionUnpin => 'Atsegti nuo viršaus';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Pervadinti'; String get chipActionRename => 'Pervadinti';
@ -228,6 +234,9 @@ class AppLocalizationsLt extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Rodyti valstybes'; String get chipActionShowCountryStates => 'Rodyti valstybes';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Sukurti albumą'; String get chipActionCreateAlbum => 'Sukurti albumą';
@ -495,6 +504,9 @@ class AppLocalizationsLt extends AppLocalizations {
@override @override
String get albumTierPinned => 'Prisegti'; String get albumTierPinned => 'Prisegti';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Bendri'; String get albumTierSpecial => 'Bendri';
@ -837,6 +849,27 @@ class AppLocalizationsLt extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Daiktai saugyklose yra prieinami tik šiai programėlei ir jokiom kitom.\n\nJei pašalinsite šią programą arba išvalysite jos duomenis, jūs prarasite visus šiuos daiktus.'; String get newVaultWarningDialogMessage => 'Daiktai saugyklose yra prieinami tik šiai programėlei ir jokiom kitom.\n\nJei pašalinsite šią programą arba išvalysite jos duomenis, jūs prarasite visus šiuos daiktus.';
@ -1250,7 +1283,7 @@ class AppLocalizationsLt extends AppLocalizations {
String get collectionGroupDay => 'Pagal dieną'; String get collectionGroupDay => 'Pagal dieną';
@override @override
String get collectionGroupNone => 'Negrupuoti'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Nežinoma'; String get sectionUnknown => 'Nežinoma';
@ -1500,9 +1533,6 @@ class AppLocalizationsLt extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Pagal apimtį saugykloje'; String get albumGroupVolume => 'Pagal apimtį saugykloje';
@override
String get albumGroupNone => 'Negrupuoti';
@override @override
String get albumMimeTypeMixed => 'Mišrus'; String get albumMimeTypeMixed => 'Mišrus';
@ -2314,19 +2344,4 @@ class AppLocalizationsLt extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Šaltinis'; String get sourceViewerPageTitle => 'Šaltinis';
@override
String get filePickerShowHiddenFiles => 'Rodyti paslėptus failus';
@override
String get filePickerDoNotShowHiddenFiles => 'Nerodyti paslėptų failų';
@override
String get filePickerOpenFrom => 'Atidaryti iš';
@override
String get filePickerNoItems => 'Nėra elementų';
@override
String get filePickerUseThisFolder => 'Naudoti šį aplanką';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsMl extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APPLY'; String get applyButtonLabel => 'APPLY';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'DELETE'; String get deleteButtonLabel => 'DELETE';
@ -218,6 +221,9 @@ class AppLocalizationsMl extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Unpin from top'; String get chipActionUnpin => 'Unpin from top';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Rename'; String get chipActionRename => 'Rename';
@ -227,6 +233,9 @@ class AppLocalizationsMl extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Create album'; String get chipActionCreateAlbum => 'Create album';
@ -494,6 +503,9 @@ class AppLocalizationsMl extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pinned'; String get albumTierPinned => 'Pinned';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Common'; String get albumTierSpecial => 'Common';
@ -842,6 +854,27 @@ class AppLocalizationsMl extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1087,7 +1120,7 @@ class AppLocalizationsMl extends AppLocalizations {
String get viewDialogSortSectionTitle => 'Sort'; String get viewDialogSortSectionTitle => 'Sort';
@override @override
String get viewDialogGroupSectionTitle => 'Group'; String get viewDialogGroupSectionTitle => 'Sections';
@override @override
String get viewDialogLayoutSectionTitle => 'Layout'; String get viewDialogLayoutSectionTitle => 'Layout';
@ -1261,7 +1294,7 @@ class AppLocalizationsMl extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1541,9 +1574,6 @@ class AppLocalizationsMl extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2358,19 +2388,4 @@ class AppLocalizationsMl extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -87,6 +87,9 @@ class AppLocalizationsMy extends AppLocalizations {
@override @override
String get applyButtonLabel => 'လုပ်ဆောင်မည်'; String get applyButtonLabel => 'လုပ်ဆောင်မည်';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'ဖျက်မည်'; String get deleteButtonLabel => 'ဖျက်မည်';
@ -207,6 +210,9 @@ class AppLocalizationsMy extends AppLocalizations {
@override @override
String get chipActionUnpin => 'ထိပ်ဆုံးမှပင်ဖြုတ်ရန်'; String get chipActionUnpin => 'ထိပ်ဆုံးမှပင်ဖြုတ်ရန်';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'အမည်ပြောင်းရန်'; String get chipActionRename => 'အမည်ပြောင်းရန်';
@ -216,6 +222,9 @@ class AppLocalizationsMy extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'နိုင်ငံများပြရန်'; String get chipActionShowCountryStates => 'နိုင်ငံများပြရန်';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'အယ်လ်ဘမ်ဖန်တီးရန်'; String get chipActionCreateAlbum => 'အယ်လ်ဘမ်ဖန်တီးရန်';
@ -483,6 +492,9 @@ class AppLocalizationsMy extends AppLocalizations {
@override @override
String get albumTierPinned => 'ပင်တွဲထား'; String get albumTierPinned => 'ပင်တွဲထား';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'အကြည့်များ'; String get albumTierSpecial => 'အကြည့်များ';
@ -827,6 +839,27 @@ class AppLocalizationsMy extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'လျှို့ဝှက်သိုလှောင်ခန်းရှိ ဓာတ်ပုံနှင့်ဗီဒီယိုများကို ဤအက်ပ်တွင်သာမြင်ရမည်ဖြစ်ပြီး အခြားအက်ပ်များတွင် မမြင်ရနိုင်ပါ။\n\nဤအက်ပ်ကိုဖျက်လိုက်သည်ဖြစ်စေ၊ အက်ပ်ဒေတာကိုရှင်းလင်းလိုက်သည်ဖြစ်စေ ၎င်းဓာတ်ပုံနှင့်ဗီဒီယိုအားလုံးကို ဆုံးရှုံးသွားမည်ဖြစ်ပါသည်။'; String get newVaultWarningDialogMessage => 'လျှို့ဝှက်သိုလှောင်ခန်းရှိ ဓာတ်ပုံနှင့်ဗီဒီယိုများကို ဤအက်ပ်တွင်သာမြင်ရမည်ဖြစ်ပြီး အခြားအက်ပ်များတွင် မမြင်ရနိုင်ပါ။\n\nဤအက်ပ်ကိုဖျက်လိုက်သည်ဖြစ်စေ၊ အက်ပ်ဒေတာကိုရှင်းလင်းလိုက်သည်ဖြစ်စေ ၎င်းဓာတ်ပုံနှင့်ဗီဒီယိုအားလုံးကို ဆုံးရှုံးသွားမည်ဖြစ်ပါသည်။';
@ -1242,7 +1275,7 @@ class AppLocalizationsMy extends AppLocalizations {
String get collectionGroupDay => 'ရက်အလိုက်'; String get collectionGroupDay => 'ရက်အလိုက်';
@override @override
String get collectionGroupNone => 'စုမပြပါနှင့်'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'မသိထားသည်များ'; String get sectionUnknown => 'မသိထားသည်များ';
@ -1502,9 +1535,6 @@ class AppLocalizationsMy extends AppLocalizations {
@override @override
String get albumGroupVolume => 'သိုလှောင်မှုပမာဏအလိုက်'; String get albumGroupVolume => 'သိုလှောင်မှုပမာဏအလိုက်';
@override
String get albumGroupNone => 'စုမပြပါနှင့်';
@override @override
String get albumMimeTypeMixed => 'ရောထား'; String get albumMimeTypeMixed => 'ရောထား';
@ -2319,19 +2349,4 @@ class AppLocalizationsMy extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -92,6 +92,9 @@ class AppLocalizationsNb extends AppLocalizations {
@override @override
String get applyButtonLabel => 'BRUK'; String get applyButtonLabel => 'BRUK';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'SLETT'; String get deleteButtonLabel => 'SLETT';
@ -212,6 +215,9 @@ class AppLocalizationsNb extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Løsne fra toppen'; String get chipActionUnpin => 'Løsne fra toppen';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Gi nytt navn'; String get chipActionRename => 'Gi nytt navn';
@ -221,6 +227,9 @@ class AppLocalizationsNb extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Vis tilstander'; String get chipActionShowCountryStates => 'Vis tilstander';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Opprett album'; String get chipActionCreateAlbum => 'Opprett album';
@ -488,6 +497,9 @@ class AppLocalizationsNb extends AppLocalizations {
@override @override
String get albumTierPinned => 'Festet'; String get albumTierPinned => 'Festet';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Ofte åpnet'; String get albumTierSpecial => 'Ofte åpnet';
@ -830,6 +842,27 @@ class AppLocalizationsNb extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Elementer i hvelv er kun tilgjengelig for dette programmet, og ikke andre.\n\nHvis du avinstallerer dette programmet, eller tømmer denne programdataen vil du miste alle disse elementene.'; String get newVaultWarningDialogMessage => 'Elementer i hvelv er kun tilgjengelig for dette programmet, og ikke andre.\n\nHvis du avinstallerer dette programmet, eller tømmer denne programdataen vil du miste alle disse elementene.';
@ -1243,7 +1276,7 @@ class AppLocalizationsNb extends AppLocalizations {
String get collectionGroupDay => 'Etter dag'; String get collectionGroupDay => 'Etter dag';
@override @override
String get collectionGroupNone => 'Ikke grupper'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Ukjent'; String get sectionUnknown => 'Ukjent';
@ -1493,9 +1526,6 @@ class AppLocalizationsNb extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Etter lagringsdataområde'; String get albumGroupVolume => 'Etter lagringsdataområde';
@override
String get albumGroupNone => 'Ikke grupper';
@override @override
String get albumMimeTypeMixed => 'Blandet'; String get albumMimeTypeMixed => 'Blandet';
@ -2307,19 +2337,4 @@ class AppLocalizationsNb extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Kilde'; String get sourceViewerPageTitle => 'Kilde';
@override
String get filePickerShowHiddenFiles => 'Vis skjulte filer';
@override
String get filePickerDoNotShowHiddenFiles => 'Ikke vis skjulte filer';
@override
String get filePickerOpenFrom => 'Åpne fra';
@override
String get filePickerNoItems => 'Ingen elementer';
@override
String get filePickerUseThisFolder => 'Bruk denne mappen';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsNe extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APPLY'; String get applyButtonLabel => 'APPLY';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'DELETE'; String get deleteButtonLabel => 'DELETE';
@ -218,6 +221,9 @@ class AppLocalizationsNe extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Unpin from top'; String get chipActionUnpin => 'Unpin from top';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Rename'; String get chipActionRename => 'Rename';
@ -227,6 +233,9 @@ class AppLocalizationsNe extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Create album'; String get chipActionCreateAlbum => 'Create album';
@ -494,6 +503,9 @@ class AppLocalizationsNe extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pinned'; String get albumTierPinned => 'Pinned';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Common'; String get albumTierSpecial => 'Common';
@ -842,6 +854,27 @@ class AppLocalizationsNe extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1087,7 +1120,7 @@ class AppLocalizationsNe extends AppLocalizations {
String get viewDialogSortSectionTitle => 'Sort'; String get viewDialogSortSectionTitle => 'Sort';
@override @override
String get viewDialogGroupSectionTitle => 'Group'; String get viewDialogGroupSectionTitle => 'Sections';
@override @override
String get viewDialogLayoutSectionTitle => 'Layout'; String get viewDialogLayoutSectionTitle => 'Layout';
@ -1261,7 +1294,7 @@ class AppLocalizationsNe extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1541,9 +1574,6 @@ class AppLocalizationsNe extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2358,19 +2388,4 @@ class AppLocalizationsNe extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsNl extends AppLocalizations {
@override @override
String get applyButtonLabel => 'TOEPASSEN'; String get applyButtonLabel => 'TOEPASSEN';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'VERWIJDEREN'; String get deleteButtonLabel => 'VERWIJDEREN';
@ -218,6 +221,9 @@ class AppLocalizationsNl extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Unpinnen'; String get chipActionUnpin => 'Unpinnen';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Hernoemen'; String get chipActionRename => 'Hernoemen';
@ -227,6 +233,9 @@ class AppLocalizationsNl extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Staten tonen'; String get chipActionShowCountryStates => 'Staten tonen';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Album aanmaken'; String get chipActionCreateAlbum => 'Album aanmaken';
@ -494,6 +503,9 @@ class AppLocalizationsNl extends AppLocalizations {
@override @override
String get albumTierPinned => 'Gepint'; String get albumTierPinned => 'Gepint';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Veelgebruikt'; String get albumTierSpecial => 'Veelgebruikt';
@ -841,6 +853,27 @@ class AppLocalizationsNl extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamisch album bestaat al'; String get dynamicAlbumAlreadyExists => 'Dynamisch album bestaat al';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in kluizen zijn alleen beschikbaar voor deze app en niet voor andere.\n\nAls je deze app verwijdert of deze app-gegevens wist, verlies je al deze items.'; String get newVaultWarningDialogMessage => 'Items in kluizen zijn alleen beschikbaar voor deze app en niet voor andere.\n\nAls je deze app verwijdert of deze app-gegevens wist, verlies je al deze items.';
@ -1260,7 +1293,7 @@ class AppLocalizationsNl extends AppLocalizations {
String get collectionGroupDay => 'Op dag'; String get collectionGroupDay => 'Op dag';
@override @override
String get collectionGroupNone => 'Niet groeperen'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Onbekend'; String get sectionUnknown => 'Onbekend';
@ -1540,9 +1573,6 @@ class AppLocalizationsNl extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Op opslagvolume'; String get albumGroupVolume => 'Op opslagvolume';
@override
String get albumGroupNone => 'Niet groeperen';
@override @override
String get albumMimeTypeMixed => 'Gemengd'; String get albumMimeTypeMixed => 'Gemengd';
@ -2357,19 +2387,4 @@ class AppLocalizationsNl extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Verborgen bestanden weergeven';
@override
String get filePickerDoNotShowHiddenFiles => 'Verborgen bestanden niet tonen';
@override
String get filePickerOpenFrom => 'Openen van';
@override
String get filePickerNoItems => 'Geen items';
@override
String get filePickerUseThisFolder => 'Deze map gebruiken';
} }

View file

@ -90,6 +90,9 @@ class AppLocalizationsNn extends AppLocalizations {
@override @override
String get applyButtonLabel => 'NYTTA'; String get applyButtonLabel => 'NYTTA';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'SLETT'; String get deleteButtonLabel => 'SLETT';
@ -210,6 +213,9 @@ class AppLocalizationsNn extends AppLocalizations {
@override @override
String get chipActionUnpin => 'losna ifrå toppen'; String get chipActionUnpin => 'losna ifrå toppen';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Byt namn'; String get chipActionRename => 'Byt namn';
@ -219,6 +225,9 @@ class AppLocalizationsNn extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Vis landsdelar'; String get chipActionShowCountryStates => 'Vis landsdelar';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Lag eit album'; String get chipActionCreateAlbum => 'Lag eit album';
@ -486,6 +495,9 @@ class AppLocalizationsNn extends AppLocalizations {
@override @override
String get albumTierPinned => 'Festa'; String get albumTierPinned => 'Festa';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Ofte opna'; String get albumTierSpecial => 'Ofte opna';
@ -827,6 +839,27 @@ class AppLocalizationsNn extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Ting i kvelva er berre tilgjengelege for denne appen.\n\nOm du slettar denne appen eller tømmer dataa til denne appen, vil du missa alt som er i kvelva.'; String get newVaultWarningDialogMessage => 'Ting i kvelva er berre tilgjengelege for denne appen.\n\nOm du slettar denne appen eller tømmer dataa til denne appen, vil du missa alt som er i kvelva.';
@ -1240,7 +1273,7 @@ class AppLocalizationsNn extends AppLocalizations {
String get collectionGroupDay => 'Etter dag'; String get collectionGroupDay => 'Etter dag';
@override @override
String get collectionGroupNone => 'Ikkje hop'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Ukjend'; String get sectionUnknown => 'Ukjend';
@ -1482,9 +1515,6 @@ class AppLocalizationsNn extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Etter gøymestad'; String get albumGroupVolume => 'Etter gøymestad';
@override
String get albumGroupNone => 'Ikkje hop';
@override @override
String get albumMimeTypeMixed => 'Blanda'; String get albumMimeTypeMixed => 'Blanda';
@ -2295,19 +2325,4 @@ class AppLocalizationsNn extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Kjelde'; String get sourceViewerPageTitle => 'Kjelde';
@override
String get filePickerShowHiddenFiles => 'Vis skjulte filer';
@override
String get filePickerDoNotShowHiddenFiles => 'Ikkje vis skjulte filer';
@override
String get filePickerOpenFrom => 'Opne ifrå';
@override
String get filePickerNoItems => 'Ingen ting';
@override
String get filePickerUseThisFolder => 'Bruk denne mappa';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsOr extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APPLY'; String get applyButtonLabel => 'APPLY';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'DELETE'; String get deleteButtonLabel => 'DELETE';
@ -218,6 +221,9 @@ class AppLocalizationsOr extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Unpin from top'; String get chipActionUnpin => 'Unpin from top';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Rename'; String get chipActionRename => 'Rename';
@ -227,6 +233,9 @@ class AppLocalizationsOr extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Create album'; String get chipActionCreateAlbum => 'Create album';
@ -494,6 +503,9 @@ class AppLocalizationsOr extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pinned'; String get albumTierPinned => 'Pinned';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Common'; String get albumTierSpecial => 'Common';
@ -842,6 +854,27 @@ class AppLocalizationsOr extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1261,7 +1294,7 @@ class AppLocalizationsOr extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'ଅଜ୍ଞାତ'; String get sectionUnknown => 'ଅଜ୍ଞାତ';
@ -1541,9 +1574,6 @@ class AppLocalizationsOr extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2358,19 +2388,4 @@ class AppLocalizationsOr extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -97,6 +97,9 @@ class AppLocalizationsPl extends AppLocalizations {
@override @override
String get applyButtonLabel => 'ZASTOSUJ'; String get applyButtonLabel => 'ZASTOSUJ';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'USUŃ'; String get deleteButtonLabel => 'USUŃ';
@ -217,6 +220,9 @@ class AppLocalizationsPl extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Odepnij z góry'; String get chipActionUnpin => 'Odepnij z góry';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Zmień nazwę'; String get chipActionRename => 'Zmień nazwę';
@ -226,6 +232,9 @@ class AppLocalizationsPl extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Pokaż stany'; String get chipActionShowCountryStates => 'Pokaż stany';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Utwórz album'; String get chipActionCreateAlbum => 'Utwórz album';
@ -493,6 +502,9 @@ class AppLocalizationsPl extends AppLocalizations {
@override @override
String get albumTierPinned => 'Przypięty'; String get albumTierPinned => 'Przypięty';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Wspólne'; String get albumTierSpecial => 'Wspólne';
@ -835,6 +847,27 @@ class AppLocalizationsPl extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamiczny album już istnieje'; String get dynamicAlbumAlreadyExists => 'Dynamiczny album już istnieje';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Elementy w skarbcach są dostępne tylko dla tej aplikacji i żadnej innej.\n\nJeśli odinstalujesz tę aplikację lub wyczyścisz dane tej aplikacji, stracisz wszystkie te elementy.'; String get newVaultWarningDialogMessage => 'Elementy w skarbcach są dostępne tylko dla tej aplikacji i żadnej innej.\n\nJeśli odinstalujesz tę aplikację lub wyczyścisz dane tej aplikacji, stracisz wszystkie te elementy.';
@ -1250,7 +1283,7 @@ class AppLocalizationsPl extends AppLocalizations {
String get collectionGroupDay => 'Według dnia'; String get collectionGroupDay => 'Według dnia';
@override @override
String get collectionGroupNone => 'Nie grupuj'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Nieznany'; String get sectionUnknown => 'Nieznany';
@ -1503,9 +1536,6 @@ class AppLocalizationsPl extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Według pojemności magazynu'; String get albumGroupVolume => 'Według pojemności magazynu';
@override
String get albumGroupNone => 'Nie grupuj';
@override @override
String get albumMimeTypeMixed => 'Mieszane'; String get albumMimeTypeMixed => 'Mieszane';
@ -2318,19 +2348,4 @@ class AppLocalizationsPl extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Źródło'; String get sourceViewerPageTitle => 'Źródło';
@override
String get filePickerShowHiddenFiles => 'Pokaż ukryte pliki';
@override
String get filePickerDoNotShowHiddenFiles => 'Nie pokazuj ukrytych plików';
@override
String get filePickerOpenFrom => 'Otwórz z';
@override
String get filePickerNoItems => 'Brak elementów';
@override
String get filePickerUseThisFolder => 'Użyj tego katalogu';
} }

View file

@ -95,6 +95,9 @@ class AppLocalizationsPt extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APLICAR'; String get applyButtonLabel => 'APLICAR';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'EXCLUIR'; String get deleteButtonLabel => 'EXCLUIR';
@ -215,6 +218,9 @@ class AppLocalizationsPt extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Desafixar do topo'; String get chipActionUnpin => 'Desafixar do topo';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Renomear'; String get chipActionRename => 'Renomear';
@ -224,6 +230,9 @@ class AppLocalizationsPt extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Mostrar estados'; String get chipActionShowCountryStates => 'Mostrar estados';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Criar álbum'; String get chipActionCreateAlbum => 'Criar álbum';
@ -491,6 +500,9 @@ class AppLocalizationsPt extends AppLocalizations {
@override @override
String get albumTierPinned => 'Fixada'; String get albumTierPinned => 'Fixada';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Comum'; String get albumTierSpecial => 'Comum';
@ -839,6 +851,27 @@ class AppLocalizationsPt extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'O álbum dinâmico já existe'; String get dynamicAlbumAlreadyExists => 'O álbum dinâmico já existe';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Os itens nos cofres estão disponíveis apenas para este aplicativo e nenhum outro.\n\nSe você desinstalar este aplicativo ou limpar os dados do aplicativo, perderá todos esses itens.'; String get newVaultWarningDialogMessage => 'Os itens nos cofres estão disponíveis apenas para este aplicativo e nenhum outro.\n\nSe você desinstalar este aplicativo ou limpar os dados do aplicativo, perderá todos esses itens.';
@ -1258,7 +1291,7 @@ class AppLocalizationsPt extends AppLocalizations {
String get collectionGroupDay => 'Por dia'; String get collectionGroupDay => 'Por dia';
@override @override
String get collectionGroupNone => 'Não agrupe'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Desconhecido'; String get sectionUnknown => 'Desconhecido';
@ -1538,9 +1571,6 @@ class AppLocalizationsPt extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Por volume de armazenamento'; String get albumGroupVolume => 'Por volume de armazenamento';
@override
String get albumGroupNone => 'Não agrupe';
@override @override
String get albumMimeTypeMixed => 'Misturado'; String get albumMimeTypeMixed => 'Misturado';
@ -2355,19 +2385,4 @@ class AppLocalizationsPt extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Fonte'; String get sourceViewerPageTitle => 'Fonte';
@override
String get filePickerShowHiddenFiles => 'Mostrar arquivos ocultos';
@override
String get filePickerDoNotShowHiddenFiles => 'Não mostre arquivos ocultos';
@override
String get filePickerOpenFrom => 'Abrir de';
@override
String get filePickerNoItems => 'Nenhum itens';
@override
String get filePickerUseThisFolder => 'Usar esta pasta';
} }

View file

@ -92,6 +92,9 @@ class AppLocalizationsRo extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APLICA'; String get applyButtonLabel => 'APLICA';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'ȘTERGE'; String get deleteButtonLabel => 'ȘTERGE';
@ -212,6 +215,9 @@ class AppLocalizationsRo extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Anulați fixarea de sus'; String get chipActionUnpin => 'Anulați fixarea de sus';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Redenumiți'; String get chipActionRename => 'Redenumiți';
@ -221,6 +227,9 @@ class AppLocalizationsRo extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Afișare state'; String get chipActionShowCountryStates => 'Afișare state';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Creați album'; String get chipActionCreateAlbum => 'Creați album';
@ -488,6 +497,9 @@ class AppLocalizationsRo extends AppLocalizations {
@override @override
String get albumTierPinned => 'Fixat'; String get albumTierPinned => 'Fixat';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Uzual'; String get albumTierSpecial => 'Uzual';
@ -830,6 +842,27 @@ class AppLocalizationsRo extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Albumul dinamic există deja'; String get dynamicAlbumAlreadyExists => 'Albumul dinamic există deja';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Elementele din seifuri sunt disponibile doar pentru această aplicație și nu pentru altele.\n\nDacă dezinstalezi această aplicație sau ștergi datele acestei aplicații, vei pierde toate aceste elemente.'; String get newVaultWarningDialogMessage => 'Elementele din seifuri sunt disponibile doar pentru această aplicație și nu pentru altele.\n\nDacă dezinstalezi această aplicație sau ștergi datele acestei aplicații, vei pierde toate aceste elemente.';
@ -1243,7 +1276,7 @@ class AppLocalizationsRo extends AppLocalizations {
String get collectionGroupDay => 'După zi'; String get collectionGroupDay => 'După zi';
@override @override
String get collectionGroupNone => 'Nu grupați'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Necunoscut'; String get sectionUnknown => 'Necunoscut';
@ -1493,9 +1526,6 @@ class AppLocalizationsRo extends AppLocalizations {
@override @override
String get albumGroupVolume => 'După volumul de stocare'; String get albumGroupVolume => 'După volumul de stocare';
@override
String get albumGroupNone => 'Nu se grupează';
@override @override
String get albumMimeTypeMixed => 'Amestecat'; String get albumMimeTypeMixed => 'Amestecat';
@ -2307,19 +2337,4 @@ class AppLocalizationsRo extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Sursă'; String get sourceViewerPageTitle => 'Sursă';
@override
String get filePickerShowHiddenFiles => 'Afișare fișiere ascunse';
@override
String get filePickerDoNotShowHiddenFiles => 'Nu se afișează fișiere ascunse';
@override
String get filePickerOpenFrom => 'Deschidere din';
@override
String get filePickerNoItems => 'Fără articole';
@override
String get filePickerUseThisFolder => 'Utilizați acest dosar';
} }

View file

@ -100,6 +100,9 @@ class AppLocalizationsRu extends AppLocalizations {
@override @override
String get applyButtonLabel => 'ПРИМЕНИТЬ'; String get applyButtonLabel => 'ПРИМЕНИТЬ';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'УДАЛИТЬ'; String get deleteButtonLabel => 'УДАЛИТЬ';
@ -220,6 +223,9 @@ class AppLocalizationsRu extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Открепить'; String get chipActionUnpin => 'Открепить';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Переименовать'; String get chipActionRename => 'Переименовать';
@ -229,6 +235,9 @@ class AppLocalizationsRu extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Показать государства'; String get chipActionShowCountryStates => 'Показать государства';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Создать альбом'; String get chipActionCreateAlbum => 'Создать альбом';
@ -496,6 +505,9 @@ class AppLocalizationsRu extends AppLocalizations {
@override @override
String get albumTierPinned => 'Закрепленные'; String get albumTierPinned => 'Закрепленные';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Стандартные'; String get albumTierSpecial => 'Стандартные';
@ -846,6 +858,27 @@ class AppLocalizationsRu extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Динамический альбом уже существует'; String get dynamicAlbumAlreadyExists => 'Динамический альбом уже существует';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Элементы внутри хранилищ доступны только для этого приложения, и никакого другого.\n\nЕсли вы удалите приложение или очистите его данные, то вы потеряете все содержимое внутри хранилищ.'; String get newVaultWarningDialogMessage => 'Элементы внутри хранилищ доступны только для этого приложения, и никакого другого.\n\nЕсли вы удалите приложение или очистите его данные, то вы потеряете все содержимое внутри хранилищ.';
@ -1265,7 +1298,7 @@ class AppLocalizationsRu extends AppLocalizations {
String get collectionGroupDay => 'По дню'; String get collectionGroupDay => 'По дню';
@override @override
String get collectionGroupNone => 'Не группировать'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Неизвестно'; String get sectionUnknown => 'Неизвестно';
@ -1555,9 +1588,6 @@ class AppLocalizationsRu extends AppLocalizations {
@override @override
String get albumGroupVolume => 'По накопителю'; String get albumGroupVolume => 'По накопителю';
@override
String get albumGroupNone => 'Не группировать';
@override @override
String get albumMimeTypeMixed => 'Разное'; String get albumMimeTypeMixed => 'Разное';
@ -2373,19 +2403,4 @@ class AppLocalizationsRu extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Источник'; String get sourceViewerPageTitle => 'Источник';
@override
String get filePickerShowHiddenFiles => 'Показывать скрытые файлы';
@override
String get filePickerDoNotShowHiddenFiles => 'Не показывать скрытые файлы';
@override
String get filePickerOpenFrom => 'Открыть';
@override
String get filePickerNoItems => 'Ничего нет';
@override
String get filePickerUseThisFolder => 'Использовать эту папку';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsSat extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APPLY'; String get applyButtonLabel => 'APPLY';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'DELETE'; String get deleteButtonLabel => 'DELETE';
@ -218,6 +221,9 @@ class AppLocalizationsSat extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Unpin from top'; String get chipActionUnpin => 'Unpin from top';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Rename'; String get chipActionRename => 'Rename';
@ -227,6 +233,9 @@ class AppLocalizationsSat extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Create album'; String get chipActionCreateAlbum => 'Create album';
@ -494,6 +503,9 @@ class AppLocalizationsSat extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pinned'; String get albumTierPinned => 'Pinned';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Common'; String get albumTierSpecial => 'Common';
@ -842,6 +854,27 @@ class AppLocalizationsSat extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1087,7 +1120,7 @@ class AppLocalizationsSat extends AppLocalizations {
String get viewDialogSortSectionTitle => 'Sort'; String get viewDialogSortSectionTitle => 'Sort';
@override @override
String get viewDialogGroupSectionTitle => 'Group'; String get viewDialogGroupSectionTitle => 'Sections';
@override @override
String get viewDialogLayoutSectionTitle => 'Layout'; String get viewDialogLayoutSectionTitle => 'Layout';
@ -1261,7 +1294,7 @@ class AppLocalizationsSat extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1541,9 +1574,6 @@ class AppLocalizationsSat extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2358,19 +2388,4 @@ class AppLocalizationsSat extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -92,6 +92,9 @@ class AppLocalizationsSk extends AppLocalizations {
@override @override
String get applyButtonLabel => 'POUŽIŤ'; String get applyButtonLabel => 'POUŽIŤ';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'ODSTRÁNIŤ'; String get deleteButtonLabel => 'ODSTRÁNIŤ';
@ -212,6 +215,9 @@ class AppLocalizationsSk extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Odstrániť z pripnutia'; String get chipActionUnpin => 'Odstrániť z pripnutia';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Premenovať'; String get chipActionRename => 'Premenovať';
@ -221,6 +227,9 @@ class AppLocalizationsSk extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Zobraziť štáty'; String get chipActionShowCountryStates => 'Zobraziť štáty';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Vytvoriť album'; String get chipActionCreateAlbum => 'Vytvoriť album';
@ -488,6 +497,9 @@ class AppLocalizationsSk extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pripnuté'; String get albumTierPinned => 'Pripnuté';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Spoločné'; String get albumTierSpecial => 'Spoločné';
@ -830,6 +842,27 @@ class AppLocalizationsSk extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamický album už existuje'; String get dynamicAlbumAlreadyExists => 'Dynamický album už existuje';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Položky v trezoroch sú dostupné iba v tejto aplikácií\n\nAk aplikáciu odinštaluješ alebo vymažeš dáta aplikácie, stratíš všetky položky z trezorov.'; String get newVaultWarningDialogMessage => 'Položky v trezoroch sú dostupné iba v tejto aplikácií\n\nAk aplikáciu odinštaluješ alebo vymažeš dáta aplikácie, stratíš všetky položky z trezorov.';
@ -1243,7 +1276,7 @@ class AppLocalizationsSk extends AppLocalizations {
String get collectionGroupDay => 'Podľa dňa'; String get collectionGroupDay => 'Podľa dňa';
@override @override
String get collectionGroupNone => 'Nezoskupovať'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Neznáme'; String get sectionUnknown => 'Neznáme';
@ -1498,9 +1531,6 @@ class AppLocalizationsSk extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Podľa objemu pamäte'; String get albumGroupVolume => 'Podľa objemu pamäte';
@override
String get albumGroupNone => 'Nezoskupovať';
@override @override
String get albumMimeTypeMixed => 'Zmiešané'; String get albumMimeTypeMixed => 'Zmiešané';
@ -2312,19 +2342,4 @@ class AppLocalizationsSk extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Zdroj'; String get sourceViewerPageTitle => 'Zdroj';
@override
String get filePickerShowHiddenFiles => 'Ukázať skryté súbory';
@override
String get filePickerDoNotShowHiddenFiles => 'Neukazovať skryté súbory';
@override
String get filePickerOpenFrom => 'Otvoriť z';
@override
String get filePickerNoItems => 'Žiadne súbory';
@override
String get filePickerUseThisFolder => 'Použiť tento priečinok';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsSl extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APPLY'; String get applyButtonLabel => 'APPLY';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'DELETE'; String get deleteButtonLabel => 'DELETE';
@ -218,6 +221,9 @@ class AppLocalizationsSl extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Unpin from top'; String get chipActionUnpin => 'Unpin from top';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Rename'; String get chipActionRename => 'Rename';
@ -227,6 +233,9 @@ class AppLocalizationsSl extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Create album'; String get chipActionCreateAlbum => 'Create album';
@ -494,6 +503,9 @@ class AppLocalizationsSl extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pinned'; String get albumTierPinned => 'Pinned';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Common'; String get albumTierSpecial => 'Common';
@ -842,6 +854,27 @@ class AppLocalizationsSl extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1087,7 +1120,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get viewDialogSortSectionTitle => 'Sort'; String get viewDialogSortSectionTitle => 'Sort';
@override @override
String get viewDialogGroupSectionTitle => 'Group'; String get viewDialogGroupSectionTitle => 'Sections';
@override @override
String get viewDialogLayoutSectionTitle => 'Layout'; String get viewDialogLayoutSectionTitle => 'Layout';
@ -1261,7 +1294,7 @@ class AppLocalizationsSl extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1541,9 +1574,6 @@ class AppLocalizationsSl extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2358,19 +2388,4 @@ class AppLocalizationsSl extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsSr extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APPLY'; String get applyButtonLabel => 'APPLY';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'DELETE'; String get deleteButtonLabel => 'DELETE';
@ -218,6 +221,9 @@ class AppLocalizationsSr extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Unpin from top'; String get chipActionUnpin => 'Unpin from top';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Rename'; String get chipActionRename => 'Rename';
@ -227,6 +233,9 @@ class AppLocalizationsSr extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Create album'; String get chipActionCreateAlbum => 'Create album';
@ -494,6 +503,9 @@ class AppLocalizationsSr extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pinned'; String get albumTierPinned => 'Pinned';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Common'; String get albumTierSpecial => 'Common';
@ -842,6 +854,27 @@ class AppLocalizationsSr extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1087,7 +1120,7 @@ class AppLocalizationsSr extends AppLocalizations {
String get viewDialogSortSectionTitle => 'Sort'; String get viewDialogSortSectionTitle => 'Sort';
@override @override
String get viewDialogGroupSectionTitle => 'Group'; String get viewDialogGroupSectionTitle => 'Sections';
@override @override
String get viewDialogLayoutSectionTitle => 'Layout'; String get viewDialogLayoutSectionTitle => 'Layout';
@ -1261,7 +1294,7 @@ class AppLocalizationsSr extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1541,9 +1574,6 @@ class AppLocalizationsSr extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2358,19 +2388,4 @@ class AppLocalizationsSr extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -91,6 +91,9 @@ class AppLocalizationsSv extends AppLocalizations {
@override @override
String get applyButtonLabel => 'TILLÄMPA'; String get applyButtonLabel => 'TILLÄMPA';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'Ta bort'; String get deleteButtonLabel => 'Ta bort';
@ -211,6 +214,9 @@ class AppLocalizationsSv extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Släpp från fästet'; String get chipActionUnpin => 'Släpp från fästet';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Byt namn'; String get chipActionRename => 'Byt namn';
@ -220,6 +226,9 @@ class AppLocalizationsSv extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Visa delstater'; String get chipActionShowCountryStates => 'Visa delstater';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Skapa album'; String get chipActionCreateAlbum => 'Skapa album';
@ -487,6 +496,9 @@ class AppLocalizationsSv extends AppLocalizations {
@override @override
String get albumTierPinned => 'Fastnålad'; String get albumTierPinned => 'Fastnålad';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Vanliga'; String get albumTierSpecial => 'Vanliga';
@ -835,6 +847,27 @@ class AppLocalizationsSv extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamiskt album existerar redan'; String get dynamicAlbumAlreadyExists => 'Dynamiskt album existerar redan';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Objekt i valv är endast tillgängliga i denna app och inga andra.\n\nOm du avinstallerar den här appen eller rensar appens data kommer du att förlora alla dessa objekt.'; String get newVaultWarningDialogMessage => 'Objekt i valv är endast tillgängliga i denna app och inga andra.\n\nOm du avinstallerar den här appen eller rensar appens data kommer du att förlora alla dessa objekt.';
@ -1254,7 +1287,7 @@ class AppLocalizationsSv extends AppLocalizations {
String get collectionGroupDay => 'Efter dag'; String get collectionGroupDay => 'Efter dag';
@override @override
String get collectionGroupNone => 'Gruppera inte'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Okänd'; String get sectionUnknown => 'Okänd';
@ -1521,9 +1554,6 @@ class AppLocalizationsSv extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Efter lagringsmedia'; String get albumGroupVolume => 'Efter lagringsmedia';
@override
String get albumGroupNone => 'Gruppera inte';
@override @override
String get albumMimeTypeMixed => 'Blandat'; String get albumMimeTypeMixed => 'Blandat';
@ -2338,19 +2368,4 @@ class AppLocalizationsSv extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Källa'; String get sourceViewerPageTitle => 'Källa';
@override
String get filePickerShowHiddenFiles => 'Visa dolda filer';
@override
String get filePickerDoNotShowHiddenFiles => 'Visa inte dolda filer';
@override
String get filePickerOpenFrom => 'Öppna från';
@override
String get filePickerNoItems => 'Inga objekt';
@override
String get filePickerUseThisFolder => 'Använd denna katalog';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsTa extends AppLocalizations {
@override @override
String get applyButtonLabel => 'இடு'; String get applyButtonLabel => 'இடு';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'நீக்கு'; String get deleteButtonLabel => 'நீக்கு';
@ -218,6 +221,9 @@ class AppLocalizationsTa extends AppLocalizations {
@override @override
String get chipActionUnpin => 'மேலே இருந்து அவிழ்த்து விடு'; String get chipActionUnpin => 'மேலே இருந்து அவிழ்த்து விடு';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'மறுபெயரிடு'; String get chipActionRename => 'மறுபெயரிடு';
@ -227,6 +233,9 @@ class AppLocalizationsTa extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'நிலைகளைக் காட்டு'; String get chipActionShowCountryStates => 'நிலைகளைக் காட்டு';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'ஆல்பத்தை உருவாக்கு'; String get chipActionCreateAlbum => 'ஆல்பத்தை உருவாக்கு';
@ -494,6 +503,9 @@ class AppLocalizationsTa extends AppLocalizations {
@override @override
String get albumTierPinned => 'பின்செய்த்து'; String get albumTierPinned => 'பின்செய்த்து';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'பொது'; String get albumTierSpecial => 'பொது';
@ -842,6 +854,27 @@ class AppLocalizationsTa extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'மாறும் தொகுப்பு ஏற்கனவே உள்ளது'; String get dynamicAlbumAlreadyExists => 'மாறும் தொகுப்பு ஏற்கனவே உள்ளது';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'பெட்டகங்களில் உள்ள உருப்படிகள் இந்தப் பயன்பாட்டிற்கு மட்டுமே கிடைக்கின்றன, மற்றவைகளுக்கு இல்லை.\n\n இந்தப் பயன்பாட்டை நிறுவல் நீக்கினால் அல்லது இந்தப் பயன்பாட்டு தரவை அழித்தால், இந்த உருப்படிகள் அனைத்தையும் இழப்பீர்கள்.'; String get newVaultWarningDialogMessage => 'பெட்டகங்களில் உள்ள உருப்படிகள் இந்தப் பயன்பாட்டிற்கு மட்டுமே கிடைக்கின்றன, மற்றவைகளுக்கு இல்லை.\n\n இந்தப் பயன்பாட்டை நிறுவல் நீக்கினால் அல்லது இந்தப் பயன்பாட்டு தரவை அழித்தால், இந்த உருப்படிகள் அனைத்தையும் இழப்பீர்கள்.';
@ -1261,7 +1294,7 @@ class AppLocalizationsTa extends AppLocalizations {
String get collectionGroupDay => 'நாளால்'; String get collectionGroupDay => 'நாளால்';
@override @override
String get collectionGroupNone => 'குழு வேண்டாம்'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'தெரியாத'; String get sectionUnknown => 'தெரியாத';
@ -1541,9 +1574,6 @@ class AppLocalizationsTa extends AppLocalizations {
@override @override
String get albumGroupVolume => 'சேமிப்பக அளவுமூலம்'; String get albumGroupVolume => 'சேமிப்பக அளவுமூலம்';
@override
String get albumGroupNone => 'குழு வேண்டாம்';
@override @override
String get albumMimeTypeMixed => 'கலப்பு'; String get albumMimeTypeMixed => 'கலப்பு';
@ -2358,19 +2388,4 @@ class AppLocalizationsTa extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'மூலம்'; String get sourceViewerPageTitle => 'மூலம்';
@override
String get filePickerShowHiddenFiles => 'மறைக்கப்பட்ட கோப்புகளைக் காட்டு';
@override
String get filePickerDoNotShowHiddenFiles => 'மறைக்கப்பட்ட கோப்புகளைக் காட்ட வேண்டாம்';
@override
String get filePickerOpenFrom => 'இருந்து திறந்திருக்கும்';
@override
String get filePickerNoItems => 'உருப்படிகள் இல்லை';
@override
String get filePickerUseThisFolder => 'இந்தக் கோப்புறையைப் பயன்படுத்து';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsTh extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APPLY'; String get applyButtonLabel => 'APPLY';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'ลบ'; String get deleteButtonLabel => 'ลบ';
@ -218,6 +221,9 @@ class AppLocalizationsTh extends AppLocalizations {
@override @override
String get chipActionUnpin => 'ถอนหมุดออก'; String get chipActionUnpin => 'ถอนหมุดออก';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'เปลี่ยนชื่อใหม่'; String get chipActionRename => 'เปลี่ยนชื่อใหม่';
@ -227,6 +233,9 @@ class AppLocalizationsTh extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'สร้างอัลบั้ม'; String get chipActionCreateAlbum => 'สร้างอัลบั้ม';
@ -494,6 +503,9 @@ class AppLocalizationsTh extends AppLocalizations {
@override @override
String get albumTierPinned => 'ปักหมุด'; String get albumTierPinned => 'ปักหมุด';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'ทั่วไป'; String get albumTierSpecial => 'ทั่วไป';
@ -836,6 +848,27 @@ class AppLocalizationsTh extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1249,7 +1282,7 @@ class AppLocalizationsTh extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1529,9 +1562,6 @@ class AppLocalizationsTh extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2346,19 +2376,4 @@ class AppLocalizationsTh extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -90,6 +90,9 @@ class AppLocalizationsTr extends AppLocalizations {
@override @override
String get applyButtonLabel => 'UYGULA'; String get applyButtonLabel => 'UYGULA';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'SİL'; String get deleteButtonLabel => 'SİL';
@ -210,6 +213,9 @@ class AppLocalizationsTr extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Sabitlemeyi kaldır'; String get chipActionUnpin => 'Sabitlemeyi kaldır';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Yeniden adlandır'; String get chipActionRename => 'Yeniden adlandır';
@ -219,6 +225,9 @@ class AppLocalizationsTr extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Eyaletleri göster'; String get chipActionShowCountryStates => 'Eyaletleri göster';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Albüm oluştur'; String get chipActionCreateAlbum => 'Albüm oluştur';
@ -486,6 +495,9 @@ class AppLocalizationsTr extends AppLocalizations {
@override @override
String get albumTierPinned => 'Sabitlenmiş'; String get albumTierPinned => 'Sabitlenmiş';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Genel'; String get albumTierSpecial => 'Genel';
@ -834,6 +846,27 @@ class AppLocalizationsTr extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dinamik albüm zaten var'; String get dynamicAlbumAlreadyExists => 'Dinamik albüm zaten var';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Kilitli albümlere yalnızca bu uygulama erişebilir, başka herhangi bir uygulama erişemez.\n\nBu uygulamayı kaldırır veya verilerini silerseniz kilitli albümlerdeki bütün ögeleri kaybedersiniz.'; String get newVaultWarningDialogMessage => 'Kilitli albümlere yalnızca bu uygulama erişebilir, başka herhangi bir uygulama erişemez.\n\nBu uygulamayı kaldırır veya verilerini silerseniz kilitli albümlerdeki bütün ögeleri kaybedersiniz.';
@ -1253,7 +1286,7 @@ class AppLocalizationsTr extends AppLocalizations {
String get collectionGroupDay => 'Güne göre'; String get collectionGroupDay => 'Güne göre';
@override @override
String get collectionGroupNone => 'Gruplama'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Bilinmeyen'; String get sectionUnknown => 'Bilinmeyen';
@ -1533,9 +1566,6 @@ class AppLocalizationsTr extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Depolama hacmine göre'; String get albumGroupVolume => 'Depolama hacmine göre';
@override
String get albumGroupNone => 'Gruplama';
@override @override
String get albumMimeTypeMixed => 'Karışık'; String get albumMimeTypeMixed => 'Karışık';
@ -2350,19 +2380,4 @@ class AppLocalizationsTr extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Kaynak'; String get sourceViewerPageTitle => 'Kaynak';
@override
String get filePickerShowHiddenFiles => 'Gizli dosyaları göster';
@override
String get filePickerDoNotShowHiddenFiles => 'Gizli dosyaları gösterme';
@override
String get filePickerOpenFrom => 'Şuradan aç';
@override
String get filePickerNoItems => 'Öge yok';
@override
String get filePickerUseThisFolder => 'Bu klasörü kullan';
} }

View file

@ -97,6 +97,9 @@ class AppLocalizationsUk extends AppLocalizations {
@override @override
String get applyButtonLabel => 'ЗАСТОСУВАТИ'; String get applyButtonLabel => 'ЗАСТОСУВАТИ';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'ВИДАЛИТИ'; String get deleteButtonLabel => 'ВИДАЛИТИ';
@ -217,6 +220,9 @@ class AppLocalizationsUk extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Відкріпити'; String get chipActionUnpin => 'Відкріпити';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Перейменувати'; String get chipActionRename => 'Перейменувати';
@ -226,6 +232,9 @@ class AppLocalizationsUk extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Показати штати'; String get chipActionShowCountryStates => 'Показати штати';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Створити альбом'; String get chipActionCreateAlbum => 'Створити альбом';
@ -493,6 +502,9 @@ class AppLocalizationsUk extends AppLocalizations {
@override @override
String get albumTierPinned => 'Закріплені'; String get albumTierPinned => 'Закріплені';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Стандартні'; String get albumTierSpecial => 'Стандартні';
@ -837,6 +849,27 @@ class AppLocalizationsUk extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Динамічний альбом уже існує'; String get dynamicAlbumAlreadyExists => 'Динамічний альбом уже існує';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Елементи у сховищах доступні лише для цього додатка і ні для кого іншого.\n\nЯкщо ви видалите цей додаток або очистите дані додатку, ви втратите всі ці елементи.'; String get newVaultWarningDialogMessage => 'Елементи у сховищах доступні лише для цього додатка і ні для кого іншого.\n\nЯкщо ви видалите цей додаток або очистите дані додатку, ви втратите всі ці елементи.';
@ -1252,7 +1285,7 @@ class AppLocalizationsUk extends AppLocalizations {
String get collectionGroupDay => 'По дню'; String get collectionGroupDay => 'По дню';
@override @override
String get collectionGroupNone => 'Не групувати'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Невідомо'; String get sectionUnknown => 'Невідомо';
@ -1512,9 +1545,6 @@ class AppLocalizationsUk extends AppLocalizations {
@override @override
String get albumGroupVolume => 'За накопичувачем'; String get albumGroupVolume => 'За накопичувачем';
@override
String get albumGroupNone => 'Не групувати';
@override @override
String get albumMimeTypeMixed => 'Змішані'; String get albumMimeTypeMixed => 'Змішані';
@ -2327,19 +2357,4 @@ class AppLocalizationsUk extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Джерело'; String get sourceViewerPageTitle => 'Джерело';
@override
String get filePickerShowHiddenFiles => 'Показати приховані файли';
@override
String get filePickerDoNotShowHiddenFiles => 'Не показувати приховані файли';
@override
String get filePickerOpenFrom => 'Відкрити з';
@override
String get filePickerNoItems => 'Немає елементів';
@override
String get filePickerUseThisFolder => 'Використовувати цю теку';
} }

View file

@ -98,6 +98,9 @@ class AppLocalizationsUr extends AppLocalizations {
@override @override
String get applyButtonLabel => 'APPLY'; String get applyButtonLabel => 'APPLY';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'DELETE'; String get deleteButtonLabel => 'DELETE';
@ -218,6 +221,9 @@ class AppLocalizationsUr extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Unpin from top'; String get chipActionUnpin => 'Unpin from top';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Rename'; String get chipActionRename => 'Rename';
@ -227,6 +233,9 @@ class AppLocalizationsUr extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Show states'; String get chipActionShowCountryStates => 'Show states';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Create album'; String get chipActionCreateAlbum => 'Create album';
@ -494,6 +503,9 @@ class AppLocalizationsUr extends AppLocalizations {
@override @override
String get albumTierPinned => 'Pinned'; String get albumTierPinned => 'Pinned';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Common'; String get albumTierSpecial => 'Common';
@ -842,6 +854,27 @@ class AppLocalizationsUr extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Dynamic album already exists'; String get dynamicAlbumAlreadyExists => 'Dynamic album already exists';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.'; String get newVaultWarningDialogMessage => 'Items in vaults are only available to this app and no others.\n\nIf you uninstall this app, or clear this app data, you will lose all these items.';
@ -1087,7 +1120,7 @@ class AppLocalizationsUr extends AppLocalizations {
String get viewDialogSortSectionTitle => 'Sort'; String get viewDialogSortSectionTitle => 'Sort';
@override @override
String get viewDialogGroupSectionTitle => 'Group'; String get viewDialogGroupSectionTitle => 'Sections';
@override @override
String get viewDialogLayoutSectionTitle => 'Layout'; String get viewDialogLayoutSectionTitle => 'Layout';
@ -1261,7 +1294,7 @@ class AppLocalizationsUr extends AppLocalizations {
String get collectionGroupDay => 'By day'; String get collectionGroupDay => 'By day';
@override @override
String get collectionGroupNone => 'Do not group'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Unknown'; String get sectionUnknown => 'Unknown';
@ -1541,9 +1574,6 @@ class AppLocalizationsUr extends AppLocalizations {
@override @override
String get albumGroupVolume => 'By storage volume'; String get albumGroupVolume => 'By storage volume';
@override
String get albumGroupNone => 'Do not group';
@override @override
String get albumMimeTypeMixed => 'Mixed'; String get albumMimeTypeMixed => 'Mixed';
@ -2358,19 +2388,4 @@ class AppLocalizationsUr extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Source'; String get sourceViewerPageTitle => 'Source';
@override
String get filePickerShowHiddenFiles => 'Show hidden files';
@override
String get filePickerDoNotShowHiddenFiles => 'Dont show hidden files';
@override
String get filePickerOpenFrom => 'Open from';
@override
String get filePickerNoItems => 'No items';
@override
String get filePickerUseThisFolder => 'Use this folder';
} }

View file

@ -87,6 +87,9 @@ class AppLocalizationsVi extends AppLocalizations {
@override @override
String get applyButtonLabel => 'ÁP DỤNG'; String get applyButtonLabel => 'ÁP DỤNG';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => 'XÓA BỎ'; String get deleteButtonLabel => 'XÓA BỎ';
@ -207,6 +210,9 @@ class AppLocalizationsVi extends AppLocalizations {
@override @override
String get chipActionUnpin => 'Bỏ ghim khỏi đầu'; String get chipActionUnpin => 'Bỏ ghim khỏi đầu';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => 'Đổi tên'; String get chipActionRename => 'Đổi tên';
@ -216,6 +222,9 @@ class AppLocalizationsVi extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => 'Hiển thị tỉnh'; String get chipActionShowCountryStates => 'Hiển thị tỉnh';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => 'Tạo bộ sưu tập'; String get chipActionCreateAlbum => 'Tạo bộ sưu tập';
@ -483,6 +492,9 @@ class AppLocalizationsVi extends AppLocalizations {
@override @override
String get albumTierPinned => 'Đã ghim'; String get albumTierPinned => 'Đã ghim';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => 'Phổ biến'; String get albumTierSpecial => 'Phổ biến';
@ -825,6 +837,27 @@ class AppLocalizationsVi extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => 'Album động đã tồn tại'; String get dynamicAlbumAlreadyExists => 'Album động đã tồn tại';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => 'Các mục trong kho bí mật chỉ có sẵn cho ứng dụng này và không có sẵn cho ứng dụng khác.\n\nNếu bạn gỡ cài đặt ứng dụng này hoặc xóa dữ liệu ứng dụng này, bạn sẽ mất tất cả các mục này.'; String get newVaultWarningDialogMessage => 'Các mục trong kho bí mật chỉ có sẵn cho ứng dụng này và không có sẵn cho ứng dụng khác.\n\nNếu bạn gỡ cài đặt ứng dụng này hoặc xóa dữ liệu ứng dụng này, bạn sẽ mất tất cả các mục này.';
@ -1238,7 +1271,7 @@ class AppLocalizationsVi extends AppLocalizations {
String get collectionGroupDay => 'Theo ngày'; String get collectionGroupDay => 'Theo ngày';
@override @override
String get collectionGroupNone => 'Không kết hợp'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => 'Không biết'; String get sectionUnknown => 'Không biết';
@ -1488,9 +1521,6 @@ class AppLocalizationsVi extends AppLocalizations {
@override @override
String get albumGroupVolume => 'Theo dung lượng lưu trữ'; String get albumGroupVolume => 'Theo dung lượng lưu trữ';
@override
String get albumGroupNone => 'Không nhóm các mục';
@override @override
String get albumMimeTypeMixed => 'Trộn'; String get albumMimeTypeMixed => 'Trộn';
@ -2302,19 +2332,4 @@ class AppLocalizationsVi extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => 'Nguồn'; String get sourceViewerPageTitle => 'Nguồn';
@override
String get filePickerShowHiddenFiles => 'Hiển thị tệp ẩn';
@override
String get filePickerDoNotShowHiddenFiles => 'Đừng hiển thị tệp ẩn';
@override
String get filePickerOpenFrom => 'Mở từ';
@override
String get filePickerNoItems => 'Không có mục nào';
@override
String get filePickerUseThisFolder => 'Dùng thư mục này';
} }

View file

@ -90,6 +90,9 @@ class AppLocalizationsZh extends AppLocalizations {
@override @override
String get applyButtonLabel => '应用'; String get applyButtonLabel => '应用';
@override
String get createButtonLabel => 'CREATE';
@override @override
String get deleteButtonLabel => '删除'; String get deleteButtonLabel => '删除';
@ -210,6 +213,9 @@ class AppLocalizationsZh extends AppLocalizations {
@override @override
String get chipActionUnpin => '取消置顶'; String get chipActionUnpin => '取消置顶';
@override
String get chipActionGroup => 'Group';
@override @override
String get chipActionRename => '重命名'; String get chipActionRename => '重命名';
@ -219,6 +225,9 @@ class AppLocalizationsZh extends AppLocalizations {
@override @override
String get chipActionShowCountryStates => '显示区域'; String get chipActionShowCountryStates => '显示区域';
@override
String get chipActionCreateGroup => 'Create group';
@override @override
String get chipActionCreateAlbum => '创建相册'; String get chipActionCreateAlbum => '创建相册';
@ -486,6 +495,9 @@ class AppLocalizationsZh extends AppLocalizations {
@override @override
String get albumTierPinned => '钉选'; String get albumTierPinned => '钉选';
@override
String get albumTierGroups => 'Groups';
@override @override
String get albumTierSpecial => '普通'; String get albumTierSpecial => '普通';
@ -833,6 +845,27 @@ class AppLocalizationsZh extends AppLocalizations {
@override @override
String get dynamicAlbumAlreadyExists => '动态专辑已存在'; String get dynamicAlbumAlreadyExists => '动态专辑已存在';
@override
String get newGroupDialogTitle => 'New Group';
@override
String get newGroupDialogNameLabel => 'Group name';
@override
String get groupAlreadyExists => 'Group already exists';
@override
String get groupEmpty => 'No groups';
@override
String get ungrouped => 'Ungrouped';
@override
String get groupPickerTitle => 'Pick Group';
@override
String get groupPickerUseThisGroupButton => 'Use this group';
@override @override
String get newVaultWarningDialogMessage => '保险库中的项目仅供此应用使用,其他应用不可用。\n\n如果您卸载此应用或清除此应用数据,您将丢失所有这些项目。'; String get newVaultWarningDialogMessage => '保险库中的项目仅供此应用使用,其他应用不可用。\n\n如果您卸载此应用或清除此应用数据,您将丢失所有这些项目。';
@ -1252,7 +1285,7 @@ class AppLocalizationsZh extends AppLocalizations {
String get collectionGroupDay => '按天'; String get collectionGroupDay => '按天';
@override @override
String get collectionGroupNone => '不分组'; String get sectionNone => 'No sections';
@override @override
String get sectionUnknown => '未知'; String get sectionUnknown => '未知';
@ -1522,9 +1555,6 @@ class AppLocalizationsZh extends AppLocalizations {
@override @override
String get albumGroupVolume => '按存储卷'; String get albumGroupVolume => '按存储卷';
@override
String get albumGroupNone => '不分组';
@override @override
String get albumMimeTypeMixed => '混合'; String get albumMimeTypeMixed => '混合';
@ -2338,21 +2368,6 @@ class AppLocalizationsZh extends AppLocalizations {
@override @override
String get sourceViewerPageTitle => '源码'; String get sourceViewerPageTitle => '源码';
@override
String get filePickerShowHiddenFiles => '显示隐藏文件';
@override
String get filePickerDoNotShowHiddenFiles => '不显示隐藏文件';
@override
String get filePickerOpenFrom => '打开自';
@override
String get filePickerNoItems => '无项目';
@override
String get filePickerUseThisFolder => '使用此文件夹';
} }
/// The translations for Chinese, using the Han script (`zh_Hant`). /// The translations for Chinese, using the Han script (`zh_Hant`).
@ -3587,9 +3602,6 @@ class AppLocalizationsZhHant extends AppLocalizationsZh {
@override @override
String get collectionGroupDay => '依照日期'; String get collectionGroupDay => '依照日期';
@override
String get collectionGroupNone => '不分群組';
@override @override
String get sectionUnknown => '未知'; String get sectionUnknown => '未知';
@ -3825,9 +3837,6 @@ class AppLocalizationsZhHant extends AppLocalizationsZh {
@override @override
String get albumGroupVolume => '依儲存容量'; String get albumGroupVolume => '依儲存容量';
@override
String get albumGroupNone => '不分群組';
@override @override
String get albumMimeTypeMixed => '混合的'; String get albumMimeTypeMixed => '混合的';
@ -4636,19 +4645,4 @@ class AppLocalizationsZhHant extends AppLocalizationsZh {
@override @override
String get sourceViewerPageTitle => '原始碼'; String get sourceViewerPageTitle => '原始碼';
@override
String get filePickerShowHiddenFiles => '顯示隱藏檔案';
@override
String get filePickerDoNotShowHiddenFiles => '不顯示隱藏檔案';
@override
String get filePickerOpenFrom => '開啟自';
@override
String get filePickerNoItems => '沒有項目';
@override
String get filePickerUseThisFolder => '使用此資料夾';
} }

View file

@ -2,6 +2,7 @@ import 'dart:async';
import 'package:aves/model/app_inventory.dart'; import 'package:aves/model/app_inventory.dart';
import 'package:aves/model/entry/entry.dart'; import 'package:aves/model/entry/entry.dart';
import 'package:aves/model/filters/covered/album_group.dart';
import 'package:aves/model/filters/covered/stored_album.dart'; import 'package:aves/model/filters/covered/stored_album.dart';
import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/source/collection_source.dart'; import 'package:aves/model/source/collection_source.dart';
@ -94,8 +95,11 @@ class Covers {
bool notify = true, bool notify = true,
}) async { }) async {
// erase contextual properties from filters before saving them // erase contextual properties from filters before saving them
if (filter is StoredAlbumFilter) { switch (filter) {
case StoredAlbumFilter _:
filter = StoredAlbumFilter(filter.album, null); filter = StoredAlbumFilter(filter.album, null);
case AlbumGroupFilter _:
filter = AlbumGroupFilter.empty(filter.uri);
} }
final oldRows = _rows.where((row) => row.filter == filter).toSet(); final oldRows = _rows.where((row) => row.filter == filter).toSet();

View file

@ -214,7 +214,7 @@ class SqfliteLocalMediaDb implements LocalMediaDb {
if (duplicates.isNotEmpty) { if (duplicates.isNotEmpty) {
debugPrint('Found duplicates=$duplicates'); debugPrint('Found duplicates=$duplicates');
} }
// return most recent duplicate for each duplicated content ID // returns most recent duplicate for each duplicated content ID
return duplicates; return duplicates;
} }
@ -502,9 +502,12 @@ class SqfliteLocalMediaDb implements LocalMediaDb {
final result = <CoverRow>{}; final result = <CoverRow>{};
final cursor = await _db.queryCursor(coverTable, bufferSize: _queryCursorBufferSize); final cursor = await _db.queryCursor(coverTable, bufferSize: _queryCursorBufferSize);
while (await cursor.moveNext()) { while (await cursor.moveNext()) {
final row = CoverRow.fromMap(cursor.current); final rowMap = cursor.current;
final row = CoverRow.fromMap(rowMap);
if (row != null) { if (row != null) {
result.add(row); result.add(row);
} else {
debugPrint('failed to deserialize cover from row=$rowMap');
} }
} }
return result; return result;
@ -572,9 +575,12 @@ class SqfliteLocalMediaDb implements LocalMediaDb {
final result = <DynamicAlbumRow>{}; final result = <DynamicAlbumRow>{};
final cursor = await _db.queryCursor(dynamicAlbumTable, bufferSize: _queryCursorBufferSize); final cursor = await _db.queryCursor(dynamicAlbumTable, bufferSize: _queryCursorBufferSize);
while (await cursor.moveNext()) { while (await cursor.moveNext()) {
final row = DynamicAlbumRow.fromMap(cursor.current); final rowMap = cursor.current;
final row = DynamicAlbumRow.fromMap(rowMap);
if (row != null) { if (row != null) {
result.add(row); result.add(row);
} else {
debugPrint('failed to deserialize dynamic album from row=$rowMap');
} }
} }
return result; return result;
@ -620,9 +626,12 @@ class SqfliteLocalMediaDb implements LocalMediaDb {
final result = <VideoPlaybackRow>{}; final result = <VideoPlaybackRow>{};
final cursor = await _db.queryCursor(videoPlaybackTable, bufferSize: _queryCursorBufferSize); final cursor = await _db.queryCursor(videoPlaybackTable, bufferSize: _queryCursorBufferSize);
while (await cursor.moveNext()) { while (await cursor.moveNext()) {
final row = VideoPlaybackRow.fromMap(cursor.current); final rowMap = cursor.current;
final row = VideoPlaybackRow.fromMap(rowMap);
if (row != null) { if (row != null) {
result.add(row); result.add(row);
} else {
debugPrint('failed to deserialize video playback from row=$rowMap');
} }
} }
return result; return result;

View file

@ -52,7 +52,7 @@ class DynamicAlbums with ChangeNotifier {
DynamicAlbumFilter? get(String name) => _rows.firstWhereOrNull((row) => row.name == name); DynamicAlbumFilter? get(String name) => _rows.firstWhereOrNull((row) => row.name == name);
bool contains(String name) => get(name) != null; bool contains(String? name) => name != null && get(name) != null;
// import/export // import/export

View file

@ -1,14 +0,0 @@
import 'package:aves/model/filters/filters.dart';
import 'package:aves_model/aves_model.dart';
abstract class AlbumBaseFilter extends CollectionFilter {
const AlbumBaseFilter({required super.reversed});
bool match(String query);
StorageVolume? get storageVolume;
bool get canRename;
bool get isVault;
}

View file

@ -0,0 +1,49 @@
import 'package:aves/model/filters/covered/group_base.dart';
import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/filters/set_or.dart';
mixin AlbumBaseFilter on CollectionFilter {}
// placeholder to pick a group, distinguishing this root filter from cancelling
class _RootAlbumGroupFilter extends DummyCollectionFilter with AlbumBaseFilter {
_RootAlbumGroupFilter._private({required super.reversed});
}
class AlbumGroupFilter extends GroupBaseFilter with AlbumBaseFilter {
static const type = 'album_group';
static AlbumBaseFilter root = _RootAlbumGroupFilter._private(reversed: false);
AlbumGroupFilter(super.uri, super.filter, {super.reversed = false});
factory AlbumGroupFilter.empty(Uri uri) => AlbumGroupFilter(uri, SetOrFilter(const {}));
static AlbumGroupFilter? fromMap(Map<String, dynamic> json) {
final filter = CollectionFilter.fromJson(json['filter']);
if (filter == null || filter is! SetOrFilter) return null;
final uriString = json['uri'];
final uri = uriString is String ? Uri.tryParse(uriString) : null;
if (uri == null) return null;
return AlbumGroupFilter(
uri,
filter,
reversed: json['reversed'] ?? false,
);
}
@override
Map<String, dynamic> toMap() => {
'type': type,
'uri': uri.toString(),
'filter': filter.toJson(),
'reversed': reversed,
};
@override
String get category => type;
@override
String get key => '$type-$reversed-$uri';
}

View file

@ -1,11 +1,10 @@
import 'package:aves/model/filters/covered/album_base.dart'; import 'package:aves/model/filters/covered/album_group.dart';
import 'package:aves/model/filters/covered/covered.dart'; import 'package:aves/model/filters/covered/covered.dart';
import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/filters.dart';
import 'package:aves/theme/icons.dart'; import 'package:aves/theme/icons.dart';
import 'package:aves_model/aves_model.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
class DynamicAlbumFilter extends AlbumBaseFilter with CoveredFilter { class DynamicAlbumFilter extends CollectionFilter with CoveredFilter, AlbumBaseFilter {
static const type = 'dynamic_album'; static const type = 'dynamic_album';
final String name; final String name;
@ -54,16 +53,4 @@ class DynamicAlbumFilter extends AlbumBaseFilter with CoveredFilter {
@override @override
String get key => '$type-$reversed-$name'; String get key => '$type-$reversed-$name';
@override
bool match(String query) => name.toUpperCase().contains(query);
@override
StorageVolume? get storageVolume => null;
@override
bool get canRename => true;
@override
bool get isVault => false;
} }

View file

@ -0,0 +1,35 @@
import 'package:aves/model/filters/covered/covered.dart';
import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/filters/set_or.dart';
import 'package:aves/model/grouping/common.dart';
import 'package:aves/theme/icons.dart';
import 'package:flutter/widgets.dart';
abstract class GroupBaseFilter extends CollectionFilter with CoveredFilter {
final Uri uri;
final SetOrFilter filter;
late final String _name;
// do not include contextual `filter` to `props`
// stringify URI because its runtime type is undetermined and different types falsify equality checks
@override
List<Object?> get props => [uri.toString(), reversed];
GroupBaseFilter(this.uri, this.filter, {super.reversed = false}) {
_name = FilterGrouping.getGroupName(uri) ?? '';
}
@override
EntryFilter get positiveTest => filter.test;
@override
bool get exclusiveProp => false;
@override
String get universalLabel => _name;
@override
Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) {
return allowGenericIcon ? Icon(AIcons.group, size: size) : null;
}
}

View file

@ -1,5 +1,5 @@
import 'package:aves/model/covers.dart'; import 'package:aves/model/covers.dart';
import 'package:aves/model/filters/covered/album_base.dart'; import 'package:aves/model/filters/covered/album_group.dart';
import 'package:aves/model/filters/covered/covered.dart'; import 'package:aves/model/filters/covered/covered.dart';
import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/vaults/vaults.dart'; import 'package:aves/model/vaults/vaults.dart';
@ -13,13 +13,14 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
class StoredAlbumFilter extends AlbumBaseFilter with CoveredFilter { class StoredAlbumFilter extends CollectionFilter with CoveredFilter, AlbumBaseFilter {
static const type = 'album'; static const type = 'album';
final String album; final String album;
final String? displayName; final String? displayName;
late final EntryFilter _test; late final EntryFilter _test;
// do not include contextual `displayName` to `props`
@override @override
List<Object?> get props => [album, reversed]; List<Object?> get props => [album, reversed];
@ -53,7 +54,7 @@ class StoredAlbumFilter extends AlbumBaseFilter with CoveredFilter {
String get universalLabel => displayName ?? pContext.split(album).last; String get universalLabel => displayName ?? pContext.split(album).last;
@override @override
String getTooltip(BuildContext context) => album; String getTooltip(BuildContext context) => isVault ? super.getTooltip(context) : album;
@override @override
Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) { Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) {
@ -103,13 +104,8 @@ class StoredAlbumFilter extends AlbumBaseFilter with CoveredFilter {
@override @override
String get key => '$type-$reversed-$album'; String get key => '$type-$reversed-$album';
@override
bool match(String query) => (displayName ?? album).toUpperCase().contains(query);
@override
StorageVolume? get storageVolume => androidFileUtils.getStorageVolume(album); StorageVolume? get storageVolume => androidFileUtils.getStorageVolume(album);
@override
bool get canRename { bool get canRename {
if (isVault) return true; if (isVault) return true;
@ -118,6 +114,5 @@ class StoredAlbumFilter extends AlbumBaseFilter with CoveredFilter {
return dir != null && dir.relativeDir.isNotEmpty; return dir != null && dir.relativeDir.isNotEmpty;
} }
@override
bool get isVault => vaults.isVault(album); bool get isVault => vaults.isVault(album);
} }

View file

@ -3,9 +3,10 @@ import 'dart:convert';
import 'package:aves/model/entry/entry.dart'; import 'package:aves/model/entry/entry.dart';
import 'package:aves/model/filters/aspect_ratio.dart'; import 'package:aves/model/filters/aspect_ratio.dart';
import 'package:aves/model/filters/coordinate.dart'; import 'package:aves/model/filters/coordinate.dart';
import 'package:aves/model/filters/covered/stored_album.dart'; import 'package:aves/model/filters/covered/album_group.dart';
import 'package:aves/model/filters/covered/dynamic_album.dart'; import 'package:aves/model/filters/covered/dynamic_album.dart';
import 'package:aves/model/filters/covered/location.dart'; import 'package:aves/model/filters/covered/location.dart';
import 'package:aves/model/filters/covered/stored_album.dart';
import 'package:aves/model/filters/covered/tag.dart'; import 'package:aves/model/filters/covered/tag.dart';
import 'package:aves/model/filters/date.dart'; import 'package:aves/model/filters/date.dart';
import 'package:aves/model/filters/favourite.dart'; import 'package:aves/model/filters/favourite.dart';
@ -57,6 +58,8 @@ abstract class CollectionFilter extends Equatable implements Comparable<Collecti
static CollectionFilter? _fromMap(Map<String, dynamic> jsonMap) { static CollectionFilter? _fromMap(Map<String, dynamic> jsonMap) {
final type = jsonMap['type']; final type = jsonMap['type'];
switch (type) { switch (type) {
case AlbumGroupFilter.type:
return AlbumGroupFilter.fromMap(jsonMap);
case AspectRatioFilter.type: case AspectRatioFilter.type:
return AspectRatioFilter.fromMap(jsonMap); return AspectRatioFilter.fromMap(jsonMap);
case CoordinateFilter.type: case CoordinateFilter.type:
@ -96,6 +99,7 @@ abstract class CollectionFilter extends Equatable implements Comparable<Collecti
case TrashFilter.type: case TrashFilter.type:
return TrashFilter.fromMap(jsonMap); return TrashFilter.fromMap(jsonMap);
} }
debugPrint('failed to deserialize filter from JSON map=$jsonMap');
return null; return null;
} }
@ -141,6 +145,8 @@ abstract class CollectionFilter extends Equatable implements Comparable<Collecti
String getTooltip(BuildContext context) => getLabel(context); String getTooltip(BuildContext context) => getLabel(context);
bool match(BuildContext context, String query) => getLabel(context).toUpperCase().contains(query);
Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) => null; Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) => null;
Future<Color> color(BuildContext context) { Future<Color> color(BuildContext context) {
@ -175,3 +181,28 @@ class FilterGridItem<T extends CollectionFilter> with EquatableMixin {
} }
typedef EntryFilter = bool Function(AvesEntry); typedef EntryFilter = bool Function(AvesEntry);
abstract class DummyCollectionFilter extends CollectionFilter {
const DummyCollectionFilter({required super.reversed});
@override
String get category => throw UnimplementedError();
@override
bool get exclusiveProp => throw UnimplementedError();
@override
String get key => throw UnimplementedError();
@override
EntryFilter get positiveTest => throw UnimplementedError();
@override
List<Object?> get props => throw UnimplementedError();
@override
Map<String, dynamic> toMap() => throw UnimplementedError();
@override
String get universalLabel => throw UnimplementedError();
}

View file

@ -76,6 +76,11 @@ class MimeFilter extends CollectionFilter {
}; };
} }
@override
String getTooltip(BuildContext context) {
return '${getLabel(context)} ($mime)';
}
@override @override
Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) => Icon(_icon, size: size); Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) => Icon(_icon, size: size);

View file

@ -16,7 +16,7 @@ class SetAndFilter extends CollectionFilter {
@override @override
List<Object?> get props => [_filters, reversed]; List<Object?> get props => [_filters, reversed];
CollectionFilter get _first => _filters.first; CollectionFilter? get _first => _filters.firstOrNull;
Set<CollectionFilter> get innerFilters => _filters.toSet(); Set<CollectionFilter> get innerFilters => _filters.toSet();
@ -66,11 +66,11 @@ class SetAndFilter extends CollectionFilter {
@override @override
Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) { Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) {
return _genericIcon != null ? Icon(_genericIcon, size: size) : _first.iconBuilder(context, size, allowGenericIcon: allowGenericIcon); return _genericIcon != null ? Icon(_genericIcon, size: size) : _first?.iconBuilder(context, size, allowGenericIcon: allowGenericIcon);
} }
@override @override
String get category => _first.category; String get category => _first?.category ?? type;
@override @override
String get key => '$type-$reversed-${_filters.map((v) => v.key)}'; String get key => '$type-$reversed-${_filters.map((v) => v.key)}';

View file

@ -1,6 +1,6 @@
import 'package:aves/model/filters/covered/location.dart';
import 'package:aves/model/filters/covered/stored_album.dart'; import 'package:aves/model/filters/covered/stored_album.dart';
import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/filters/covered/location.dart';
import 'package:aves/theme/icons.dart'; import 'package:aves/theme/icons.dart';
import 'package:collection/collection.dart'; import 'package:collection/collection.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
@ -16,13 +16,15 @@ class SetOrFilter extends CollectionFilter {
@override @override
List<Object?> get props => [_filters, reversed]; List<Object?> get props => [_filters, reversed];
CollectionFilter get _first => _filters.first; CollectionFilter? get _first => _filters.firstOrNull;
Set<CollectionFilter> get innerFilters => _filters.toSet();
SetOrFilter(Set<CollectionFilter> filters, {super.reversed = false}) { SetOrFilter(Set<CollectionFilter> filters, {super.reversed = false}) {
_filters = filters.toList().sorted(); _filters = filters.toList().sorted();
_test = (entry) => _filters.any((v) => v.test(entry)); _test = (entry) => _filters.any((v) => v.test(entry));
switch (_first) { switch (_first) {
case StoredAlbumFilter(): case StoredAlbumFilter _:
_genericIcon = AIcons.album; _genericIcon = AIcons.album;
case LocationFilter(level: LocationLevel.country): case LocationFilter(level: LocationLevel.country):
_genericIcon = AIcons.country; _genericIcon = AIcons.country;
@ -64,11 +66,11 @@ class SetOrFilter extends CollectionFilter {
@override @override
Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) { Widget? iconBuilder(BuildContext context, double size, {bool allowGenericIcon = true}) {
return _genericIcon != null ? Icon(_genericIcon, size: size) : _first.iconBuilder(context, size, allowGenericIcon: allowGenericIcon); return _genericIcon != null ? Icon(_genericIcon, size: size) : _first?.iconBuilder(context, size, allowGenericIcon: allowGenericIcon);
} }
@override @override
String get category => _first.category; String get category => _first?.category ?? type;
@override @override
String get key => '$type-$reversed-${_filters.map((v) => v.key)}'; String get key => '$type-$reversed-${_filters.map((v) => v.key)}';

View file

@ -0,0 +1,250 @@
import 'dart:convert';
import 'package:aves/model/filters/covered/album_group.dart';
import 'package:aves/model/filters/covered/group_base.dart';
import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/filters/set_or.dart';
import 'package:aves/model/grouping/convert.dart';
import 'package:aves/services/common/services.dart';
import 'package:aves/utils/collection_utils.dart';
import 'package:collection/collection.dart';
import 'package:flutter/foundation.dart';
final FilterGrouping albumGrouping = FilterGrouping._private(FilterGrouping.hostAlbums, AlbumGroupFilter.new);
// album group URI: "aves://albums/group?path=/group12/subgroup34"
// stored album URI: "aves://albums/stored?path=/volume/dir/path12"
// dynamic album URI: "aves://albums/dynamic?name=dynalbum12"
class FilterGrouping<T extends GroupBaseFilter> with ChangeNotifier {
static const scheme = 'aves';
static const hostAlbums = 'albums';
static const _groupPath = '/group';
static const _groupPathParamKey = 'path';
final String _host;
final T Function(Uri uri, SetOrFilter filter) _createGroupFilter;
final Map<Uri, Set<Uri>> _groups = {};
FilterGrouping._private(this._host, this._createGroupFilter) {
if (kFlutterMemoryAllocationsEnabled) ChangeNotifier.maybeDispatchObjectCreation(this);
}
void clear() => _groups.clear();
// TODO TLAD [nested] invalidate summary for derived filters (parent groups, dynamic albums)
void addToGroup(Set<Uri> childrenUris, Uri? destinationGroup) {
_removeFromGroups(childrenUris);
if (destinationGroup != null) {
_ensureGroupFromRoot(destinationGroup);
final children = _groups[destinationGroup] ?? {};
children.addAll(childrenUris);
_groups[destinationGroup] = children;
}
_reparentGroupPaths(childrenUris, destinationGroup);
_cleanEmptyGroups();
notifyListeners();
}
void rename(Uri oldUri, Uri newUri) {
final childrenUris = _groups[oldUri];
if (childrenUris != null) {
// local copy to prevent concurrent modification
addToGroup(Set.of(childrenUris), newUri);
}
}
bool get isNotEmpty => _groups.isNotEmpty;
bool exists(Uri? groupUri) => _groups.containsKey(groupUri);
Set<Uri> getGroups() => _groups.keys.toSet();
// returns number of filters within provided group, following subgroups without counting them
// providing the null root will yield 0, rather than the total number of filters in the collection (which is out of scope)
int countLeaves(Uri? groupUri) {
int count = 0;
if (groupUri != null) {
final childrenUri = _groups[groupUri];
if (childrenUri != null) {
childrenUri.map(uriToFilter).nonNulls.forEach((filter) {
if (filter is GroupBaseFilter) {
count += countLeaves(filter.uri);
} else {
count++;
}
});
}
}
return count;
}
// returns filters directly within the provided group, including subgroups as filters
// providing the null root will yield its direct group filters
Set<CollectionFilter> getDirectChildren(Uri? currentGroupUri) {
if (currentGroupUri == null) {
return _groups.entries.where((kv) => getParentGroup(kv.key) == currentGroupUri).map((kv) {
final groupUri = kv.key;
final childrenUri = kv.value;
final childrenFilters = childrenUri.map(uriToFilter).nonNulls.toSet();
return _createGroupFilter(groupUri, SetOrFilter(childrenFilters));
}).toSet();
}
final childrenUri = _groups.entries.firstWhereOrNull((kv) => kv.key == currentGroupUri)?.value;
if (childrenUri != null) {
return childrenUri.map(uriToFilter).nonNulls.toSet();
}
return {};
}
Uri buildGroupUri(Uri? parentGroupUri, String name) {
return _buildGroupUri(_host, parentGroupUri, name);
}
CollectionFilter? uriToFilter(Uri? uri) {
if (uri == null || uri.host != _host) return null;
if (FilterGrouping.isGroupUri(uri)) {
return _createGroupFilter(uri, SetOrFilter(getDirectChildren(uri)));
}
return GroupingConversion.uriToFilter(uri);
}
void _removeFromGroups(Set<Uri> uris) {
_groups.forEach((_, childrenUris) {
childrenUris.removeAll(uris);
});
}
void _cleanEmptyGroups() {
final emptyGroupUris = _groups.entries.where((kv) => kv.value.isEmpty).map((v) => v.key).toSet();
if (emptyGroupUris.isNotEmpty) {
_removeFromGroups(emptyGroupUris);
_groups.removeWhere((groupUri, _) => emptyGroupUris.contains(groupUri));
_cleanEmptyGroups();
}
}
void _reparentGroupPaths(Set<Uri> childrenUris, Uri? parentGroupUri) {
final groupUris = childrenUris.where(FilterGrouping.isGroupUri).toSet();
groupUris.forEach((oldGroupUri) {
final name = FilterGrouping.getGroupName(oldGroupUri);
if (name != null) {
final groupChildrenUris = _groups.remove(oldGroupUri);
if (groupChildrenUris != null) {
// create child group with updated URI
final newGroupUri = buildGroupUri(parentGroupUri, name);
_groups[newGroupUri] = groupChildrenUris;
// update child group URI in parent group itself
if (parentGroupUri != null) {
final children = _groups[parentGroupUri];
if (children != null && children.remove(oldGroupUri)) {
children.add(newGroupUri);
}
}
_reparentGroupPaths(groupChildrenUris, newGroupUri);
}
}
});
}
void _ensureGroupFromRoot(Uri groupUri) {
final parentGroupUri = FilterGrouping.getParentGroup(groupUri);
if (parentGroupUri != null) {
final children = _groups[parentGroupUri] ?? {};
children.addAll({groupUri});
_groups[parentGroupUri] = children;
_ensureGroupFromRoot(parentGroupUri);
}
}
// group uri / filter conversion
static String? getGroupPath(Uri? uri) => uri?.queryParameters[_groupPathParamKey];
static String? getGroupName(Uri? uri) {
final path = getGroupPath(uri);
return path != null ? pContext.split(path).lastOrNull : null;
}
static bool isGroupUri(Uri uri) => uri.path == FilterGrouping._groupPath;
// parent group URI is `null` for root
static Uri _buildGroupUri(String host, Uri? parentGroupUri, String name) {
if (parentGroupUri != null) {
final path = getGroupPath(parentGroupUri);
if (path != null) {
return parentGroupUri.replace(
queryParameters: {
_groupPathParamKey: pContext.join(path, name),
},
);
}
}
return Uri(
scheme: scheme,
host: host,
path: _groupPath,
queryParameters: {
_groupPathParamKey: name,
},
);
}
// returns `null` for root
Uri? getFilterParent(CollectionFilter filter) {
final uri = GroupingConversion.filterToUri(filter);
if (uri == null) return null;
if (isGroupUri(uri)) {
return getParentGroup(uri);
} else {
return _groups.entries.firstWhereOrNull((kv) {
return kv.value.contains(uri);
})?.key;
}
}
// returns `null` for root
static Uri? getParentGroup(Uri? groupUri) {
if (groupUri == null) return null;
final path = getGroupPath(groupUri);
if (path != null) {
final segments = pContext.split(path);
final newLength = segments.length - 1;
if (newLength > 0) {
return groupUri.replace(
queryParameters: {
_groupPathParamKey: pContext.joinAll(segments.take(newLength)),
},
);
}
}
return null;
}
// serialization
static String toJson(Map<Uri, Set<Uri>> groups) => jsonEncode(groups.map((parentUri, childrenUris) {
return MapEntry(parentUri.toString(), childrenUris.map((v) => v.toString()));
}));
static Map<Uri, Set<Uri>>? fromJson(String? jsonString) {
if (jsonString == null || jsonString.isEmpty) return null;
final jsonMap = jsonDecode(jsonString);
if (jsonMap is! Map) return null;
return jsonMap.map((parent, children) {
final Uri? parentUri = parent is String ? Uri.tryParse(parent) : null;
final Set<Uri> childrenUris = children is Iterable ? children.whereType<String>().map(Uri.tryParse).nonNulls.toSet() : {};
return MapEntry(parentUri, childrenUris);
}).whereNotNullKey();
}
}

View file

@ -0,0 +1,67 @@
import 'package:aves/model/dynamic_albums.dart';
import 'package:aves/model/filters/covered/dynamic_album.dart';
import 'package:aves/model/filters/covered/group_base.dart';
import 'package:aves/model/filters/covered/stored_album.dart';
import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/grouping/common.dart';
mixin GroupingConversion {
static const _storedAlbumPath = '/stored';
static const _dynamicAlbumPath = '/dynamic';
static const _nameParamKey = 'name';
static const _storagePathParamKey = 'path';
static CollectionFilter? uriToFilter(Uri uri) {
switch (uri.path) {
case _storedAlbumPath:
final album = uri.queryParameters[_storagePathParamKey];
if (album != null) {
return StoredAlbumFilter(album, null);
}
case _dynamicAlbumPath:
final name = uri.queryParameters[_nameParamKey];
if (name != null) {
return dynamicAlbums.get(name);
}
default:
throw Exception('unhandled path=${uri.path} with uri=$uri');
}
throw Exception('failed to convert to filter with uri=$uri');
}
static Uri? filterToUri(CollectionFilter filter) {
switch (filter) {
case GroupBaseFilter _:
return filter.uri;
case StoredAlbumFilter _:
return _buildStoredAlbumUri(filter.album);
case DynamicAlbumFilter _:
return _buildDynamicAlbumUri(filter.name);
default:
throw Exception('unknown type with filter=$filter');
}
}
static Uri _buildStoredAlbumUri(String album) {
return Uri(
scheme: FilterGrouping.scheme,
host: FilterGrouping.hostAlbums,
path: _storedAlbumPath,
queryParameters: {
_storagePathParamKey: album,
},
);
}
static Uri _buildDynamicAlbumUri(String name) {
return Uri(
scheme: FilterGrouping.scheme,
host: FilterGrouping.hostAlbums,
path: _dynamicAlbumPath,
queryParameters: {
_nameParamKey: name,
},
);
}
}

View file

@ -67,5 +67,5 @@ class TrackEvent<T> {
} }
// `itemVisibility`: percent of the item tracked already visible in viewport // `itemVisibility`: percent of the item tracked already visible in viewport
// return whether to proceed with tracking // returns whether to proceed with tracking
typedef TrackPredicate = bool Function(double itemVisibility); typedef TrackPredicate = bool Function(double itemVisibility);

View file

@ -44,7 +44,7 @@ class SettingsDefaults {
]; ];
// collection // collection
static const collectionSectionFactor = EntryGroupFactor.month; static const collectionSectionFactor = EntrySectionFactor.month;
static const collectionSortFactor = EntrySortFactor.date; static const collectionSortFactor = EntrySortFactor.date;
static const collectionBrowsingQuickActions = [ static const collectionBrowsingQuickActions = [
EntrySetAction.searchCollection, EntrySetAction.searchCollection,
@ -63,7 +63,7 @@ class SettingsDefaults {
static const showThumbnailVideoDuration = true; static const showThumbnailVideoDuration = true;
// filter grids // filter grids
static const albumGroupFactor = AlbumChipGroupFactor.importance; static const albumGroupFactor = AlbumChipSectionFactor.importance;
static const chipListSortFactor = ChipSortFactor.name; static const chipListSortFactor = ChipSortFactor.name;
// viewer // viewer
@ -114,9 +114,6 @@ class SettingsDefaults {
static const accessibilityAnimations = AccessibilityAnimations.system; static const accessibilityAnimations = AccessibilityAnimations.system;
static const timeToTakeAction = AccessibilityTimeout.s3; static const timeToTakeAction = AccessibilityTimeout.s3;
// file picker
static const filePickerShowHiddenFiles = false;
// slideshow // slideshow
static const slideshowRepeat = false; static const slideshowRepeat = false;
static const slideshowShuffle = false; static const slideshowShuffle = false;

View file

@ -6,9 +6,9 @@ mixin CollectionSettings on SettingsAccess {
set collectionBurstPatterns(List<String> newValue) => set(SettingKeys.collectionBurstPatternsKey, newValue); set collectionBurstPatterns(List<String> newValue) => set(SettingKeys.collectionBurstPatternsKey, newValue);
EntryGroupFactor get collectionSectionFactor => getEnumOrDefault(SettingKeys.collectionGroupFactorKey, SettingsDefaults.collectionSectionFactor, EntryGroupFactor.values); EntrySectionFactor get collectionSectionFactor => getEnumOrDefault(SettingKeys.collectionGroupFactorKey, SettingsDefaults.collectionSectionFactor, EntrySectionFactor.values);
set collectionSectionFactor(EntryGroupFactor newValue) => set(SettingKeys.collectionGroupFactorKey, newValue.toString()); set collectionSectionFactor(EntrySectionFactor newValue) => set(SettingKeys.collectionGroupFactorKey, newValue.toString());
EntrySortFactor get collectionSortFactor => getEnumOrDefault(SettingKeys.collectionSortFactorKey, SettingsDefaults.collectionSortFactor, EntrySortFactor.values); EntrySortFactor get collectionSortFactor => getEnumOrDefault(SettingKeys.collectionSortFactorKey, SettingsDefaults.collectionSortFactor, EntrySortFactor.values);

View file

@ -3,9 +3,9 @@ import 'package:aves/model/settings/defaults.dart';
import 'package:aves_model/aves_model.dart'; import 'package:aves_model/aves_model.dart';
mixin FilterGridsSettings on SettingsAccess { mixin FilterGridsSettings on SettingsAccess {
AlbumChipGroupFactor get albumGroupFactor => getEnumOrDefault(SettingKeys.albumGroupFactorKey, SettingsDefaults.albumGroupFactor, AlbumChipGroupFactor.values); AlbumChipSectionFactor get albumSectionFactor => getEnumOrDefault(SettingKeys.albumGroupFactorKey, SettingsDefaults.albumGroupFactor, AlbumChipSectionFactor.values);
set albumGroupFactor(AlbumChipGroupFactor newValue) => set(SettingKeys.albumGroupFactorKey, newValue.toString()); set albumSectionFactor(AlbumChipSectionFactor newValue) => set(SettingKeys.albumGroupFactorKey, newValue.toString());
ChipSortFactor get albumSortFactor => getEnumOrDefault(SettingKeys.albumSortFactorKey, SettingsDefaults.chipListSortFactor, ChipSortFactor.values); ChipSortFactor get albumSortFactor => getEnumOrDefault(SettingKeys.albumSortFactorKey, SettingsDefaults.chipListSortFactor, ChipSortFactor.values);
@ -54,4 +54,6 @@ mixin FilterGridsSettings on SettingsAccess {
bool getShowTitleQuery(String routeName) => getBool(SettingKeys.showTitleQueryPrefixKey + routeName) ?? false; bool getShowTitleQuery(String routeName) => getBool(SettingKeys.showTitleQueryPrefixKey + routeName) ?? false;
void setShowTitleQuery(String routeName, bool newValue) => set(SettingKeys.showTitleQueryPrefixKey + routeName, newValue); void setShowTitleQuery(String routeName, bool newValue) => set(SettingKeys.showTitleQueryPrefixKey + routeName, newValue);
// TODO TLAD [nested] save/load
} }

View file

@ -1,4 +1,4 @@
import 'package:aves/model/filters/covered/album_base.dart'; import 'package:aves/model/filters/covered/album_group.dart';
import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/settings/defaults.dart'; import 'package:aves/model/settings/defaults.dart';
import 'package:aves_model/aves_model.dart'; import 'package:aves_model/aves_model.dart';
@ -57,7 +57,7 @@ mixin NavigationSettings on SettingsAccess {
set setMetadataDateBeforeFileOp(bool newValue) => set(SettingKeys.setMetadataDateBeforeFileOpKey, newValue); set setMetadataDateBeforeFileOp(bool newValue) => set(SettingKeys.setMetadataDateBeforeFileOpKey, newValue);
List<CollectionFilter?> get drawerTypeBookmarks => List<CollectionFilter?> get drawerTypeBookmarks =>
(getStringList(SettingKeys.drawerTypeBookmarksKey))?.map((v) { getStringList(SettingKeys.drawerTypeBookmarksKey)?.map((v) {
if (v.isEmpty) return null; if (v.isEmpty) return null;
return CollectionFilter.fromJson(v); return CollectionFilter.fromJson(v);
}).toList() ?? }).toList() ??

View file

@ -0,0 +1,29 @@
import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/settings/defaults.dart';
import 'package:aves_model/aves_model.dart';
mixin ScreenSaverSettings on SettingsAccess {
bool get screenSaverFillScreen => getBool(SettingKeys.screenSaverFillScreenKey) ?? SettingsDefaults.slideshowFillScreen;
set screenSaverFillScreen(bool newValue) => set(SettingKeys.screenSaverFillScreenKey, newValue);
bool get screenSaverAnimatedZoomEffect => getBool(SettingKeys.screenSaverAnimatedZoomEffectKey) ?? SettingsDefaults.slideshowAnimatedZoomEffect;
set screenSaverAnimatedZoomEffect(bool newValue) => set(SettingKeys.screenSaverAnimatedZoomEffectKey, newValue);
ViewerTransition get screenSaverTransition => getEnumOrDefault(SettingKeys.screenSaverTransitionKey, SettingsDefaults.slideshowTransition, ViewerTransition.values);
set screenSaverTransition(ViewerTransition newValue) => set(SettingKeys.screenSaverTransitionKey, newValue.toString());
SlideshowVideoPlayback get screenSaverVideoPlayback => getEnumOrDefault(SettingKeys.screenSaverVideoPlaybackKey, SettingsDefaults.slideshowVideoPlayback, SlideshowVideoPlayback.values);
set screenSaverVideoPlayback(SlideshowVideoPlayback newValue) => set(SettingKeys.screenSaverVideoPlaybackKey, newValue.toString());
int get screenSaverInterval => getInt(SettingKeys.screenSaverIntervalKey) ?? SettingsDefaults.slideshowInterval;
set screenSaverInterval(int newValue) => set(SettingKeys.screenSaverIntervalKey, newValue);
Set<CollectionFilter> get screenSaverCollectionFilters => (getStringList(SettingKeys.screenSaverCollectionFiltersKey) ?? []).map(CollectionFilter.fromJson).nonNulls.toSet();
set screenSaverCollectionFilters(Set<CollectionFilter> newValue) => set(SettingKeys.screenSaverCollectionFiltersKey, newValue.map((filter) => filter.toJson()).toList());
}

View file

@ -0,0 +1,32 @@
import 'package:aves/model/settings/defaults.dart';
import 'package:aves_model/aves_model.dart';
mixin SlideshowSettings on SettingsAccess {
bool get slideshowRepeat => getBool(SettingKeys.slideshowRepeatKey) ?? SettingsDefaults.slideshowRepeat;
set slideshowRepeat(bool newValue) => set(SettingKeys.slideshowRepeatKey, newValue);
bool get slideshowShuffle => getBool(SettingKeys.slideshowShuffleKey) ?? SettingsDefaults.slideshowShuffle;
set slideshowShuffle(bool newValue) => set(SettingKeys.slideshowShuffleKey, newValue);
bool get slideshowFillScreen => getBool(SettingKeys.slideshowFillScreenKey) ?? SettingsDefaults.slideshowFillScreen;
set slideshowFillScreen(bool newValue) => set(SettingKeys.slideshowFillScreenKey, newValue);
bool get slideshowAnimatedZoomEffect => getBool(SettingKeys.slideshowAnimatedZoomEffectKey) ?? SettingsDefaults.slideshowAnimatedZoomEffect;
set slideshowAnimatedZoomEffect(bool newValue) => set(SettingKeys.slideshowAnimatedZoomEffectKey, newValue);
ViewerTransition get slideshowTransition => getEnumOrDefault(SettingKeys.slideshowTransitionKey, SettingsDefaults.slideshowTransition, ViewerTransition.values);
set slideshowTransition(ViewerTransition newValue) => set(SettingKeys.slideshowTransitionKey, newValue.toString());
SlideshowVideoPlayback get slideshowVideoPlayback => getEnumOrDefault(SettingKeys.slideshowVideoPlaybackKey, SettingsDefaults.slideshowVideoPlayback, SlideshowVideoPlayback.values);
set slideshowVideoPlayback(SlideshowVideoPlayback newValue) => set(SettingKeys.slideshowVideoPlaybackKey, newValue.toString());
int get slideshowInterval => getInt(SettingKeys.slideshowIntervalKey) ?? SettingsDefaults.slideshowInterval;
set slideshowInterval(int newValue) => set(SettingKeys.slideshowIntervalKey, newValue);
}

View file

@ -0,0 +1,29 @@
import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/settings/defaults.dart';
import 'package:aves_model/aves_model.dart';
mixin WidgetSettings on SettingsAccess {
WidgetOutline getWidgetOutline(int widgetId) => getEnumOrDefault('${SettingKeys.widgetOutlinePrefixKey}$widgetId', WidgetOutline.none, WidgetOutline.values);
void setWidgetOutline(int widgetId, WidgetOutline newValue) => set('${SettingKeys.widgetOutlinePrefixKey}$widgetId', newValue.toString());
WidgetShape getWidgetShape(int widgetId) => getEnumOrDefault('${SettingKeys.widgetShapePrefixKey}$widgetId', SettingsDefaults.widgetShape, WidgetShape.values);
void setWidgetShape(int widgetId, WidgetShape newValue) => set('${SettingKeys.widgetShapePrefixKey}$widgetId', newValue.toString());
Set<CollectionFilter> getWidgetCollectionFilters(int widgetId) => (getStringList('${SettingKeys.widgetCollectionFiltersPrefixKey}$widgetId') ?? []).map(CollectionFilter.fromJson).nonNulls.toSet();
void setWidgetCollectionFilters(int widgetId, Set<CollectionFilter> newValue) => set('${SettingKeys.widgetCollectionFiltersPrefixKey}$widgetId', newValue.map((filter) => filter.toJson()).toList());
WidgetOpenPage getWidgetOpenPage(int widgetId) => getEnumOrDefault('${SettingKeys.widgetOpenPagePrefixKey}$widgetId', SettingsDefaults.widgetOpenPage, WidgetOpenPage.values);
void setWidgetOpenPage(int widgetId, WidgetOpenPage newValue) => set('${SettingKeys.widgetOpenPagePrefixKey}$widgetId', newValue.toString());
WidgetDisplayedItem getWidgetDisplayedItem(int widgetId) => getEnumOrDefault('${SettingKeys.widgetDisplayedItemPrefixKey}$widgetId', SettingsDefaults.widgetDisplayedItem, WidgetDisplayedItem.values);
void setWidgetDisplayedItem(int widgetId, WidgetDisplayedItem newValue) => set('${SettingKeys.widgetDisplayedItemPrefixKey}$widgetId', newValue.toString());
String? getWidgetUri(int widgetId) => getString('${SettingKeys.widgetUriPrefixKey}$widgetId');
void setWidgetUri(int widgetId, String? newValue) => set('${SettingKeys.widgetUriPrefixKey}$widgetId', newValue);
}

View file

@ -5,7 +5,6 @@ import 'dart:math';
import 'package:aves/app_flavor.dart'; import 'package:aves/app_flavor.dart';
import 'package:aves/model/device.dart'; import 'package:aves/model/device.dart';
import 'package:aves/model/filters/favourite.dart'; import 'package:aves/model/filters/favourite.dart';
import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/filters/mime.dart'; import 'package:aves/model/filters/mime.dart';
import 'package:aves/model/settings/defaults.dart'; import 'package:aves/model/settings/defaults.dart';
import 'package:aves/model/settings/enums/accessibility_animations.dart'; import 'package:aves/model/settings/enums/accessibility_animations.dart';
@ -18,8 +17,11 @@ import 'package:aves/model/settings/modules/filter_grids.dart';
import 'package:aves/model/settings/modules/info.dart'; import 'package:aves/model/settings/modules/info.dart';
import 'package:aves/model/settings/modules/navigation.dart'; import 'package:aves/model/settings/modules/navigation.dart';
import 'package:aves/model/settings/modules/privacy.dart'; import 'package:aves/model/settings/modules/privacy.dart';
import 'package:aves/model/settings/modules/screen_saver.dart';
import 'package:aves/model/settings/modules/search.dart'; import 'package:aves/model/settings/modules/search.dart';
import 'package:aves/model/settings/modules/slideshow.dart';
import 'package:aves/model/settings/modules/viewer.dart'; import 'package:aves/model/settings/modules/viewer.dart';
import 'package:aves/model/settings/modules/widget.dart';
import 'package:aves/ref/bursts.dart'; import 'package:aves/ref/bursts.dart';
import 'package:aves/services/accessibility_service.dart'; import 'package:aves/services/accessibility_service.dart';
import 'package:aves/services/common/services.dart'; import 'package:aves/services/common/services.dart';
@ -41,7 +43,7 @@ import 'package:latlong2/latlong.dart';
final Settings settings = Settings._private(); final Settings settings = Settings._private();
class Settings with ChangeNotifier, SettingsAccess, DebugSettings, AppSettings, DisplaySettings, NavigationSettings, SearchSettings, CollectionSettings, FilterGridsSettings, PrivacySettings, ViewerSettings, VideoSettings, SubtitlesSettings, InfoSettings { class Settings with ChangeNotifier, SettingsAccess, SearchSettings, AppSettings, CollectionSettings, DebugSettings, DisplaySettings, FilterGridsSettings, InfoSettings, NavigationSettings, PrivacySettings, ScreenSaverSettings, SlideshowSettings, SubtitlesSettings, VideoSettings, ViewerSettings, WidgetSettings {
final List<StreamSubscription> _subscriptions = []; final List<StreamSubscription> _subscriptions = [];
final EventChannel _platformSettingsChangeChannel = const OptionalEventChannel('deckers.thibault/aves/settings_change'); final EventChannel _platformSettingsChangeChannel = const OptionalEventChannel('deckers.thibault/aves/settings_change');
final StreamController<SettingsChangedEvent> _updateStreamController = StreamController.broadcast(); final StreamController<SettingsChangedEvent> _updateStreamController = StreamController.broadcast();
@ -220,94 +222,6 @@ class Settings with ChangeNotifier, SettingsAccess, DebugSettings, AppSettings,
set timeToTakeAction(AccessibilityTimeout newValue) => set(SettingKeys.timeToTakeActionKey, newValue.toString()); set timeToTakeAction(AccessibilityTimeout newValue) => set(SettingKeys.timeToTakeActionKey, newValue.toString());
// file picker
bool get filePickerShowHiddenFiles => getBool(SettingKeys.filePickerShowHiddenFilesKey) ?? SettingsDefaults.filePickerShowHiddenFiles;
set filePickerShowHiddenFiles(bool newValue) => set(SettingKeys.filePickerShowHiddenFilesKey, newValue);
// screen saver
bool get screenSaverFillScreen => getBool(SettingKeys.screenSaverFillScreenKey) ?? SettingsDefaults.slideshowFillScreen;
set screenSaverFillScreen(bool newValue) => set(SettingKeys.screenSaverFillScreenKey, newValue);
bool get screenSaverAnimatedZoomEffect => getBool(SettingKeys.screenSaverAnimatedZoomEffectKey) ?? SettingsDefaults.slideshowAnimatedZoomEffect;
set screenSaverAnimatedZoomEffect(bool newValue) => set(SettingKeys.screenSaverAnimatedZoomEffectKey, newValue);
ViewerTransition get screenSaverTransition => getEnumOrDefault(SettingKeys.screenSaverTransitionKey, SettingsDefaults.slideshowTransition, ViewerTransition.values);
set screenSaverTransition(ViewerTransition newValue) => set(SettingKeys.screenSaverTransitionKey, newValue.toString());
SlideshowVideoPlayback get screenSaverVideoPlayback => getEnumOrDefault(SettingKeys.screenSaverVideoPlaybackKey, SettingsDefaults.slideshowVideoPlayback, SlideshowVideoPlayback.values);
set screenSaverVideoPlayback(SlideshowVideoPlayback newValue) => set(SettingKeys.screenSaverVideoPlaybackKey, newValue.toString());
int get screenSaverInterval => getInt(SettingKeys.screenSaverIntervalKey) ?? SettingsDefaults.slideshowInterval;
set screenSaverInterval(int newValue) => set(SettingKeys.screenSaverIntervalKey, newValue);
Set<CollectionFilter> get screenSaverCollectionFilters => (getStringList(SettingKeys.screenSaverCollectionFiltersKey) ?? []).map(CollectionFilter.fromJson).nonNulls.toSet();
set screenSaverCollectionFilters(Set<CollectionFilter> newValue) => set(SettingKeys.screenSaverCollectionFiltersKey, newValue.map((filter) => filter.toJson()).toList());
// slideshow
bool get slideshowRepeat => getBool(SettingKeys.slideshowRepeatKey) ?? SettingsDefaults.slideshowRepeat;
set slideshowRepeat(bool newValue) => set(SettingKeys.slideshowRepeatKey, newValue);
bool get slideshowShuffle => getBool(SettingKeys.slideshowShuffleKey) ?? SettingsDefaults.slideshowShuffle;
set slideshowShuffle(bool newValue) => set(SettingKeys.slideshowShuffleKey, newValue);
bool get slideshowFillScreen => getBool(SettingKeys.slideshowFillScreenKey) ?? SettingsDefaults.slideshowFillScreen;
set slideshowFillScreen(bool newValue) => set(SettingKeys.slideshowFillScreenKey, newValue);
bool get slideshowAnimatedZoomEffect => getBool(SettingKeys.slideshowAnimatedZoomEffectKey) ?? SettingsDefaults.slideshowAnimatedZoomEffect;
set slideshowAnimatedZoomEffect(bool newValue) => set(SettingKeys.slideshowAnimatedZoomEffectKey, newValue);
ViewerTransition get slideshowTransition => getEnumOrDefault(SettingKeys.slideshowTransitionKey, SettingsDefaults.slideshowTransition, ViewerTransition.values);
set slideshowTransition(ViewerTransition newValue) => set(SettingKeys.slideshowTransitionKey, newValue.toString());
SlideshowVideoPlayback get slideshowVideoPlayback => getEnumOrDefault(SettingKeys.slideshowVideoPlaybackKey, SettingsDefaults.slideshowVideoPlayback, SlideshowVideoPlayback.values);
set slideshowVideoPlayback(SlideshowVideoPlayback newValue) => set(SettingKeys.slideshowVideoPlaybackKey, newValue.toString());
int get slideshowInterval => getInt(SettingKeys.slideshowIntervalKey) ?? SettingsDefaults.slideshowInterval;
set slideshowInterval(int newValue) => set(SettingKeys.slideshowIntervalKey, newValue);
// widget
WidgetOutline getWidgetOutline(int widgetId) => getEnumOrDefault('${SettingKeys.widgetOutlinePrefixKey}$widgetId', WidgetOutline.none, WidgetOutline.values);
void setWidgetOutline(int widgetId, WidgetOutline newValue) => set('${SettingKeys.widgetOutlinePrefixKey}$widgetId', newValue.toString());
WidgetShape getWidgetShape(int widgetId) => getEnumOrDefault('${SettingKeys.widgetShapePrefixKey}$widgetId', SettingsDefaults.widgetShape, WidgetShape.values);
void setWidgetShape(int widgetId, WidgetShape newValue) => set('${SettingKeys.widgetShapePrefixKey}$widgetId', newValue.toString());
Set<CollectionFilter> getWidgetCollectionFilters(int widgetId) => (getStringList('${SettingKeys.widgetCollectionFiltersPrefixKey}$widgetId') ?? []).map(CollectionFilter.fromJson).nonNulls.toSet();
void setWidgetCollectionFilters(int widgetId, Set<CollectionFilter> newValue) => set('${SettingKeys.widgetCollectionFiltersPrefixKey}$widgetId', newValue.map((filter) => filter.toJson()).toList());
WidgetOpenPage getWidgetOpenPage(int widgetId) => getEnumOrDefault('${SettingKeys.widgetOpenPagePrefixKey}$widgetId', SettingsDefaults.widgetOpenPage, WidgetOpenPage.values);
void setWidgetOpenPage(int widgetId, WidgetOpenPage newValue) => set('${SettingKeys.widgetOpenPagePrefixKey}$widgetId', newValue.toString());
WidgetDisplayedItem getWidgetDisplayedItem(int widgetId) => getEnumOrDefault('${SettingKeys.widgetDisplayedItemPrefixKey}$widgetId', SettingsDefaults.widgetDisplayedItem, WidgetDisplayedItem.values);
void setWidgetDisplayedItem(int widgetId, WidgetDisplayedItem newValue) => set('${SettingKeys.widgetDisplayedItemPrefixKey}$widgetId', newValue.toString());
String? getWidgetUri(int widgetId) => getString('${SettingKeys.widgetUriPrefixKey}$widgetId');
void setWidgetUri(int widgetId, String? newValue) => set('${SettingKeys.widgetUriPrefixKey}$widgetId', newValue);
// platform settings // platform settings
void _onPlatformSettingsChanged(Map? fields) { void _onPlatformSettingsChanged(Map? fields) {
@ -437,7 +351,6 @@ class Settings with ChangeNotifier, SettingsAccess, DebugSettings, AppSettings,
case SettingKeys.convertWriteMetadataKey: case SettingKeys.convertWriteMetadataKey:
case SettingKeys.saveSearchHistoryKey: case SettingKeys.saveSearchHistoryKey:
case SettingKeys.showPinchGestureAlternativesKey: case SettingKeys.showPinchGestureAlternativesKey:
case SettingKeys.filePickerShowHiddenFilesKey:
case SettingKeys.screenSaverFillScreenKey: case SettingKeys.screenSaverFillScreenKey:
case SettingKeys.screenSaverAnimatedZoomEffectKey: case SettingKeys.screenSaverAnimatedZoomEffectKey:
case SettingKeys.slideshowRepeatKey: case SettingKeys.slideshowRepeatKey:

View file

@ -1,5 +1,5 @@
import 'package:aves/model/entry/entry.dart'; import 'package:aves/model/entry/entry.dart';
import 'package:aves/model/filters/covered/album_base.dart'; import 'package:aves/model/filters/covered/album_group.dart';
import 'package:aves/model/filters/covered/dynamic_album.dart'; import 'package:aves/model/filters/covered/dynamic_album.dart';
import 'package:aves/model/filters/covered/stored_album.dart'; import 'package:aves/model/filters/covered/stored_album.dart';
import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/settings/settings.dart';
@ -124,12 +124,14 @@ mixin AlbumMixin on SourceBase {
_filterRecentEntryMap.remove(key); _filterRecentEntryMap.remove(key);
}); });
// clear entries for all dynamic albums // clear entries for all dynamic albums and groups
invalidateDynamicAlbumFilterSummary(notify: false); invalidateDynamicAlbumFilterSummary(notify: false);
invalidateAlbumGroupFilterSummary(notify: false);
} }
if (notify) { if (notify) {
eventBus.fire(StoredAlbumSummaryInvalidatedEvent(directories)); eventBus.fire(StoredAlbumSummaryInvalidatedEvent(directories));
eventBus.fire(const DynamicAlbumSummaryInvalidatedEvent()); eventBus.fire(const DynamicAlbumSummaryInvalidatedEvent());
eventBus.fire(const AlbumGroupSummaryInvalidatedEvent());
} }
} }
@ -143,8 +145,20 @@ mixin AlbumMixin on SourceBase {
} }
} }
void invalidateAlbumGroupFilterSummary({bool notify = true}) {
_filterEntryCountMap.removeWhere(_isAlbumGroupKey);
_filterSizeMap.removeWhere(_isAlbumGroupKey);
_filterRecentEntryMap.removeWhere(_isAlbumGroupKey);
if (notify) {
eventBus.fire(const AlbumGroupSummaryInvalidatedEvent());
}
}
bool _isDynamicAlbumKey(String key, _) => key.startsWith('${DynamicAlbumFilter.type}-'); bool _isDynamicAlbumKey(String key, _) => key.startsWith('${DynamicAlbumFilter.type}-');
bool _isAlbumGroupKey(String key, _) => key.startsWith('${AlbumGroupFilter.type}-');
int albumEntryCount(AlbumBaseFilter filter) { int albumEntryCount(AlbumBaseFilter filter) {
return _filterEntryCountMap.putIfAbsent(filter.key, () => visibleEntries.where(filter.test).length); return _filterEntryCountMap.putIfAbsent(filter.key, () => visibleEntries.where(filter.test).length);
} }
@ -247,6 +261,10 @@ class DynamicAlbumSummaryInvalidatedEvent {
const DynamicAlbumSummaryInvalidatedEvent(); const DynamicAlbumSummaryInvalidatedEvent();
} }
class AlbumGroupSummaryInvalidatedEvent {
const AlbumGroupSummaryInvalidatedEvent();
}
class StoredAlbumSummaryInvalidatedEvent { class StoredAlbumSummaryInvalidatedEvent {
final Set<String?>? directories; final Set<String?>? directories;

View file

@ -30,7 +30,7 @@ class CollectionLens with ChangeNotifier {
final CollectionSource source; final CollectionSource source;
final Set<CollectionFilter> filters; final Set<CollectionFilter> filters;
List<String> burstPatterns; List<String> burstPatterns;
EntryGroupFactor sectionFactor; EntrySectionFactor sectionFactor;
EntrySortFactor sortFactor; EntrySortFactor sortFactor;
bool sortReverse; bool sortReverse;
final AChangeNotifier filterChangeNotifier = AChangeNotifier(), sortSectionChangeNotifier = AChangeNotifier(); final AChangeNotifier filterChangeNotifier = AChangeNotifier(), sortSectionChangeNotifier = AChangeNotifier();
@ -147,13 +147,13 @@ class CollectionLens with ChangeNotifier {
switch (sortFactor) { switch (sortFactor) {
case EntrySortFactor.date: case EntrySortFactor.date:
switch (sectionFactor) { switch (sectionFactor) {
case EntryGroupFactor.none: case EntrySectionFactor.none:
return false; return false;
case EntryGroupFactor.album: case EntrySectionFactor.album:
return showAlbumHeaders(); return showAlbumHeaders();
case EntryGroupFactor.month: case EntrySectionFactor.month:
return true; return true;
case EntryGroupFactor.day: case EntrySectionFactor.day:
return true; return true;
} }
case EntrySortFactor.name: case EntrySortFactor.name:
@ -281,13 +281,13 @@ class CollectionLens with ChangeNotifier {
switch (sortFactor) { switch (sortFactor) {
case EntrySortFactor.date: case EntrySortFactor.date:
switch (sectionFactor) { switch (sectionFactor) {
case EntryGroupFactor.album: case EntrySectionFactor.album:
sections = groupBy<AvesEntry, EntryAlbumSectionKey>(_filteredSortedEntries, (entry) => EntryAlbumSectionKey(entry.directory)); sections = groupBy<AvesEntry, EntryAlbumSectionKey>(_filteredSortedEntries, (entry) => EntryAlbumSectionKey(entry.directory));
case EntryGroupFactor.month: case EntrySectionFactor.month:
sections = groupBy<AvesEntry, EntryDateSectionKey>(_filteredSortedEntries, (entry) => EntryDateSectionKey(entry.monthTaken)); sections = groupBy<AvesEntry, EntryDateSectionKey>(_filteredSortedEntries, (entry) => EntryDateSectionKey(entry.monthTaken));
case EntryGroupFactor.day: case EntrySectionFactor.day:
sections = groupBy<AvesEntry, EntryDateSectionKey>(_filteredSortedEntries, (entry) => EntryDateSectionKey(entry.dayTaken)); sections = groupBy<AvesEntry, EntryDateSectionKey>(_filteredSortedEntries, (entry) => EntryDateSectionKey(entry.dayTaken));
case EntryGroupFactor.none: case EntrySectionFactor.none:
sections = Map.fromEntries([ sections = Map.fromEntries([
MapEntry(const SectionKey(), _filteredSortedEntries), MapEntry(const SectionKey(), _filteredSortedEntries),
]); ]);

View file

@ -8,7 +8,7 @@ import 'package:aves/model/entry/extensions/keys.dart';
import 'package:aves/model/entry/extensions/location.dart'; import 'package:aves/model/entry/extensions/location.dart';
import 'package:aves/model/entry/sort.dart'; import 'package:aves/model/entry/sort.dart';
import 'package:aves/model/favourites.dart'; import 'package:aves/model/favourites.dart';
import 'package:aves/model/filters/covered/album_base.dart'; import 'package:aves/model/filters/covered/album_group.dart';
import 'package:aves/model/filters/covered/location.dart'; import 'package:aves/model/filters/covered/location.dart';
import 'package:aves/model/filters/covered/stored_album.dart'; import 'package:aves/model/filters/covered/stored_album.dart';
import 'package:aves/model/filters/covered/tag.dart'; import 'package:aves/model/filters/covered/tag.dart';
@ -545,54 +545,48 @@ abstract class CollectionSource with SourceBase, AlbumMixin, CountryMixin, Place
// filter summary // filter summary
int count(CollectionFilter filter) { int count(CollectionFilter filter) {
if (filter is AlbumBaseFilter) { switch (filter) {
case AlbumBaseFilter _:
return albumEntryCount(filter); return albumEntryCount(filter);
} else if (filter is LocationFilter) { case LocationFilter(level: LocationLevel.country):
switch (filter.level) {
case LocationLevel.country:
return countryEntryCount(filter); return countryEntryCount(filter);
case LocationLevel.state: case LocationFilter(level: LocationLevel.state):
return stateEntryCount(filter); return stateEntryCount(filter);
case LocationLevel.place: case LocationFilter(level: LocationLevel.place):
return placeEntryCount(filter); return placeEntryCount(filter);
} case TagFilter _:
} else if (filter is TagFilter) {
return tagEntryCount(filter); return tagEntryCount(filter);
} }
return 0; return 0;
} }
int size(CollectionFilter filter) { int size(CollectionFilter filter) {
if (filter is AlbumBaseFilter) { switch (filter) {
case AlbumBaseFilter _:
return albumSize(filter); return albumSize(filter);
} else if (filter is LocationFilter) { case LocationFilter(level: LocationLevel.country):
switch (filter.level) {
case LocationLevel.country:
return countrySize(filter); return countrySize(filter);
case LocationLevel.state: case LocationFilter(level: LocationLevel.state):
return stateSize(filter); return stateSize(filter);
case LocationLevel.place: case LocationFilter(level: LocationLevel.place):
return placeSize(filter); return placeSize(filter);
} case TagFilter _:
} else if (filter is TagFilter) {
return tagSize(filter); return tagSize(filter);
} }
return 0; return 0;
} }
AvesEntry? recentEntry(CollectionFilter filter) { AvesEntry? recentEntry(CollectionFilter filter) {
if (filter is AlbumBaseFilter) { switch (filter) {
case AlbumBaseFilter _:
return albumRecentEntry(filter); return albumRecentEntry(filter);
} else if (filter is LocationFilter) { case LocationFilter(level: LocationLevel.country):
switch (filter.level) {
case LocationLevel.country:
return countryRecentEntry(filter); return countryRecentEntry(filter);
case LocationLevel.state: case LocationFilter(level: LocationLevel.state):
return stateRecentEntry(filter); return stateRecentEntry(filter);
case LocationLevel.place: case LocationFilter(level: LocationLevel.place):
return placeRecentEntry(filter); return placeRecentEntry(filter);
} case TagFilter _:
} else if (filter is TagFilter) {
return tagRecentEntry(filter); return tagRecentEntry(filter);
} }
return null; return null;

View file

@ -49,12 +49,12 @@ abstract class StorageService {
// returns whether user granted access to URIs // returns whether user granted access to URIs
Future<bool> requestMediaFileAccess(List<String> uris, List<String> mimeTypes); Future<bool> requestMediaFileAccess(List<String> uris, List<String> mimeTypes);
// return whether operation succeeded (`null` if user cancelled) // returns whether operation succeeded (`null` if user cancelled)
Future<bool?> createFile(String name, String mimeType, Uint8List bytes); Future<bool?> createFile(String name, String mimeType, Uint8List bytes);
Future<Uint8List> openFile([String? mimeType]); Future<Uint8List> openFile([String? mimeType]);
// return whether operation succeeded (`null` if user cancelled) // returns whether operation succeeded (`null` if user cancelled)
Future<bool?> copyFile(String name, String mimeType, String sourceUri); Future<bool?> copyFile(String name, String mimeType, String sourceUri);
} }

View file

@ -80,7 +80,7 @@ class AIcons {
static const place = Symbols.place; static const place = Symbols.place;
// view // view
static const group = Symbols.group_work; static const section = Symbols.group_work;
static const layout = Symbols.grid_view; static const layout = Symbols.grid_view;
static const layoutMosaic = Symbols.view_comfy; static const layoutMosaic = Symbols.view_comfy;
static const layoutGrid = Symbols.view_compact; static const layoutGrid = Symbols.view_compact;
@ -112,6 +112,7 @@ class AIcons {
static const filter = Symbols.filter_alt; static const filter = Symbols.filter_alt;
static const filterOff = Symbols.filter_alt_off; static const filterOff = Symbols.filter_alt_off;
static const goUp = Symbols.arrow_upward; static const goUp = Symbols.arrow_upward;
static const group = Symbols.stack_group;
static const hide = Symbols.visibility_off; static const hide = Symbols.visibility_off;
static const info = Symbols.info; static const info = Symbols.info;
static const layers = Symbols.layers; static const layers = Symbols.layers;

View file

@ -51,7 +51,7 @@ class XMP {
return hasMeaningfulAttributes; return hasMeaningfulAttributes;
} }
// return time zone designator, formatted as `Z` or `+hh:mm` or `-hh:mm` // returns time zone designator, formatted as `Z` or `+hh:mm` or `-hh:mm`
// as of intl v0.17.0, formatting time zone offset is not implemented // as of intl v0.17.0, formatting time zone offset is not implemented
static String _xmpTimeZoneDesignator(DateTime date) { static String _xmpTimeZoneDesignator(DateTime date) {
final offsetMinutes = date.timeZoneOffset.inMinutes; final offsetMinutes = date.timeZoneOffset.inMinutes;

View file

@ -17,6 +17,7 @@ extension ExtraChipSetActionView on ChipSetAction {
ChipSetAction.toggleTitleSearch => ChipSetAction.toggleTitleSearch =>
// different data depending on toggle state // different data depending on toggle state
l10n.collectionActionShowTitleSearch, l10n.collectionActionShowTitleSearch,
ChipSetAction.createGroup => l10n.chipActionCreateGroup,
ChipSetAction.createAlbum => l10n.chipActionCreateAlbum, ChipSetAction.createAlbum => l10n.chipActionCreateAlbum,
ChipSetAction.createVault => l10n.chipActionCreateVault, ChipSetAction.createVault => l10n.chipActionCreateVault,
// browsing or selecting // browsing or selecting
@ -29,6 +30,7 @@ extension ExtraChipSetActionView on ChipSetAction {
ChipSetAction.hide => l10n.chipActionHide, ChipSetAction.hide => l10n.chipActionHide,
ChipSetAction.pin => l10n.chipActionPin, ChipSetAction.pin => l10n.chipActionPin,
ChipSetAction.unpin => l10n.chipActionUnpin, ChipSetAction.unpin => l10n.chipActionUnpin,
ChipSetAction.group => l10n.chipActionGroup,
ChipSetAction.lockVault => l10n.chipActionLock, ChipSetAction.lockVault => l10n.chipActionLock,
ChipSetAction.showCountryStates => l10n.chipActionShowCountryStates, ChipSetAction.showCountryStates => l10n.chipActionShowCountryStates,
ChipSetAction.showCollection => l10n.chipActionShowCollection, ChipSetAction.showCollection => l10n.chipActionShowCollection,
@ -53,6 +55,7 @@ extension ExtraChipSetActionView on ChipSetAction {
ChipSetAction.toggleTitleSearch => ChipSetAction.toggleTitleSearch =>
// different data depending on toggle state // different data depending on toggle state
AIcons.filter, AIcons.filter,
ChipSetAction.createGroup => AIcons.add,
ChipSetAction.createAlbum => AIcons.add, ChipSetAction.createAlbum => AIcons.add,
ChipSetAction.createVault => AIcons.vaultAdd, ChipSetAction.createVault => AIcons.vaultAdd,
// browsing or selecting // browsing or selecting
@ -65,6 +68,7 @@ extension ExtraChipSetActionView on ChipSetAction {
ChipSetAction.hide => AIcons.hide, ChipSetAction.hide => AIcons.hide,
ChipSetAction.pin => AIcons.pin, ChipSetAction.pin => AIcons.pin,
ChipSetAction.unpin => AIcons.unpin, ChipSetAction.unpin => AIcons.unpin,
ChipSetAction.group => AIcons.group,
ChipSetAction.lockVault => AIcons.vaultLock, ChipSetAction.lockVault => AIcons.vaultLock,
ChipSetAction.showCountryStates => AIcons.state, ChipSetAction.showCountryStates => AIcons.state,
ChipSetAction.showCollection => AIcons.allCollection, ChipSetAction.showCollection => AIcons.allCollection,

View file

@ -3,44 +3,44 @@ import 'package:aves/widgets/common/extensions/build_context.dart';
import 'package:aves_model/aves_model.dart'; import 'package:aves_model/aves_model.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
extension ExtraEntryGroupFactorView on EntryGroupFactor { extension ExtraEntryGroupFactorView on EntrySectionFactor {
String getName(BuildContext context) { String getName(BuildContext context) {
final l10n = context.l10n; final l10n = context.l10n;
return switch (this) { return switch (this) {
EntryGroupFactor.album => l10n.collectionGroupAlbum, EntrySectionFactor.album => l10n.collectionGroupAlbum,
EntryGroupFactor.month => l10n.collectionGroupMonth, EntrySectionFactor.month => l10n.collectionGroupMonth,
EntryGroupFactor.day => l10n.collectionGroupDay, EntrySectionFactor.day => l10n.collectionGroupDay,
EntryGroupFactor.none => l10n.collectionGroupNone, EntrySectionFactor.none => l10n.sectionNone,
}; };
} }
IconData get icon { IconData get icon {
return switch (this) { return switch (this) {
EntryGroupFactor.album => AIcons.album, EntrySectionFactor.album => AIcons.album,
EntryGroupFactor.month => AIcons.dateByMonth, EntrySectionFactor.month => AIcons.dateByMonth,
EntryGroupFactor.day => AIcons.dateByDay, EntrySectionFactor.day => AIcons.dateByDay,
EntryGroupFactor.none => AIcons.clear, EntrySectionFactor.none => AIcons.clear,
}; };
} }
} }
extension ExtraAlbumChipGroupFactorView on AlbumChipGroupFactor { extension ExtraAlbumChipGroupFactorView on AlbumChipSectionFactor {
String getName(BuildContext context) { String getName(BuildContext context) {
final l10n = context.l10n; final l10n = context.l10n;
return switch (this) { return switch (this) {
AlbumChipGroupFactor.importance => l10n.albumGroupTier, AlbumChipSectionFactor.importance => l10n.albumGroupTier,
AlbumChipGroupFactor.mimeType => l10n.albumGroupType, AlbumChipSectionFactor.mimeType => l10n.albumGroupType,
AlbumChipGroupFactor.volume => l10n.albumGroupVolume, AlbumChipSectionFactor.volume => l10n.albumGroupVolume,
AlbumChipGroupFactor.none => l10n.albumGroupNone, AlbumChipSectionFactor.none => l10n.sectionNone,
}; };
} }
IconData get icon { IconData get icon {
return switch (this) { return switch (this) {
AlbumChipGroupFactor.importance => AIcons.important, AlbumChipSectionFactor.importance => AIcons.important,
AlbumChipGroupFactor.mimeType => AIcons.mimeType, AlbumChipSectionFactor.mimeType => AIcons.mimeType,
AlbumChipGroupFactor.volume => AIcons.storageCard, AlbumChipSectionFactor.volume => AIcons.storageCard,
AlbumChipGroupFactor.none => AIcons.clear, AlbumChipSectionFactor.none => AIcons.clear,
}; };
} }
} }

View file

@ -83,11 +83,11 @@ class _CollectionAppBarState extends State<CollectionAppBar> with SingleTickerPr
EntrySortFactor.duration, EntrySortFactor.duration,
]; ];
static const _groupOptions = [ static const _sectionOptions = [
EntryGroupFactor.album, EntrySectionFactor.album,
EntryGroupFactor.month, EntrySectionFactor.month,
EntryGroupFactor.day, EntrySectionFactor.day,
EntryGroupFactor.none, EntrySectionFactor.none,
]; ];
static const _layoutOptions = [ static const _layoutOptions = [
@ -690,16 +690,16 @@ class _CollectionAppBarState extends State<CollectionAppBar> with SingleTickerPr
settings.collectionSortReverse, settings.collectionSortReverse,
); );
final extentController = context.read<TileExtentController>(); final extentController = context.read<TileExtentController>();
final value = await showDialog<(EntrySortFactor?, EntryGroupFactor?, TileLayout?, bool)>( final value = await showDialog<(EntrySortFactor?, EntrySectionFactor?, TileLayout?, bool)>(
context: context, context: context,
builder: (context) { builder: (context) {
return TileViewDialog<EntrySortFactor, EntryGroupFactor, TileLayout>( return TileViewDialog<EntrySortFactor, EntrySectionFactor, TileLayout>(
initialValue: initialValue, initialValue: initialValue,
sortOptions: _sortOptions.map((v) => TileViewDialogOption(value: v, title: v.getName(context), icon: v.icon)).toList(), sortOptions: _sortOptions.map((v) => TileViewDialogOption(value: v, title: v.getName(context), icon: v.icon)).toList(),
groupOptions: _groupOptions.map((v) => TileViewDialogOption(value: v, title: v.getName(context), icon: v.icon)).toList(), sectionOptions: _sectionOptions.map((v) => TileViewDialogOption(value: v, title: v.getName(context), icon: v.icon)).toList(),
layoutOptions: _layoutOptions.map((v) => TileViewDialogOption(value: v, title: v.getName(context), icon: v.icon)).toList(), layoutOptions: _layoutOptions.map((v) => TileViewDialogOption(value: v, title: v.getName(context), icon: v.icon)).toList(),
sortOrder: (factor, reverse) => factor.getOrderName(context, reverse), sortOrder: (factor, reverse) => factor.getOrderName(context, reverse),
canGroup: (s, g, l) => s == EntrySortFactor.date, canSection: (s, g, l) => s == EntrySortFactor.date,
tileExtentController: extentController, tileExtentController: extentController,
); );
}, },

View file

@ -697,10 +697,10 @@ class _CollectionScrollViewState extends State<_CollectionScrollView> with Widge
switch (collection.sortFactor) { switch (collection.sortFactor) {
case EntrySortFactor.date: case EntrySortFactor.date:
switch (collection.sectionFactor) { switch (collection.sectionFactor) {
case EntryGroupFactor.album: case EntrySectionFactor.album:
addAlbums(collection, sectionLayouts, crumbs); addAlbums(collection, sectionLayouts, crumbs);
case EntryGroupFactor.month: case EntrySectionFactor.month:
case EntryGroupFactor.day: case EntrySectionFactor.day:
final firstKey = sectionLayouts.first.sectionKey; final firstKey = sectionLayouts.first.sectionKey;
final lastKey = sectionLayouts.last.sectionKey; final lastKey = sectionLayouts.last.sectionKey;
if (firstKey is EntryDateSectionKey && lastKey is EntryDateSectionKey) { if (firstKey is EntryDateSectionKey && lastKey is EntryDateSectionKey) {
@ -722,7 +722,7 @@ class _CollectionScrollViewState extends State<_CollectionScrollView> with Widge
}); });
} }
} }
case EntryGroupFactor.none: case EntrySectionFactor.none:
break; break;
} }
case EntrySortFactor.name: case EntrySortFactor.name:

View file

@ -28,17 +28,17 @@ class CollectionDraggableThumbLabel extends StatelessWidget {
switch (collection.sortFactor) { switch (collection.sortFactor) {
case EntrySortFactor.date: case EntrySortFactor.date:
switch (collection.sectionFactor) { switch (collection.sectionFactor) {
case EntryGroupFactor.album: case EntrySectionFactor.album:
return [ return [
DraggableThumbLabel.formatMonthThumbLabel(context, entry.bestDate), DraggableThumbLabel.formatMonthThumbLabel(context, entry.bestDate),
if (_showAlbumName(context, entry)) _getAlbumName(context, entry), if (_showAlbumName(context, entry)) _getAlbumName(context, entry),
]; ];
case EntryGroupFactor.month: case EntrySectionFactor.month:
case EntryGroupFactor.none: case EntrySectionFactor.none:
return [ return [
DraggableThumbLabel.formatMonthThumbLabel(context, entry.bestDate), DraggableThumbLabel.formatMonthThumbLabel(context, entry.bestDate),
]; ];
case EntryGroupFactor.day: case EntrySectionFactor.day:
return [ return [
DraggableThumbLabel.formatDayThumbLabel(context, entry.bestDate), DraggableThumbLabel.formatDayThumbLabel(context, entry.bestDate),
]; ];

View file

@ -12,6 +12,7 @@ import 'package:aves/model/favourites.dart';
import 'package:aves/model/filters/covered/dynamic_album.dart'; import 'package:aves/model/filters/covered/dynamic_album.dart';
import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/filters/set_and.dart'; import 'package:aves/model/filters/set_and.dart';
import 'package:aves/model/grouping/common.dart';
import 'package:aves/model/highlight.dart'; import 'package:aves/model/highlight.dart';
import 'package:aves/model/metadata/date_modifier.dart'; import 'package:aves/model/metadata/date_modifier.dart';
import 'package:aves/model/naming_pattern.dart'; import 'package:aves/model/naming_pattern.dart';
@ -43,7 +44,7 @@ import 'package:aves/widgets/dialogs/aves_confirmation_dialog.dart';
import 'package:aves/widgets/dialogs/aves_dialog.dart'; import 'package:aves/widgets/dialogs/aves_dialog.dart';
import 'package:aves/widgets/dialogs/convert_entry_dialog.dart'; import 'package:aves/widgets/dialogs/convert_entry_dialog.dart';
import 'package:aves/widgets/dialogs/entry_editors/rename_entry_set_page.dart'; import 'package:aves/widgets/dialogs/entry_editors/rename_entry_set_page.dart';
import 'package:aves/widgets/dialogs/filter_editors/add_dynamic_album_dialog.dart'; import 'package:aves/widgets/dialogs/filter_editors/create_dynamic_album_dialog.dart';
import 'package:aves/widgets/dialogs/pick_dialogs/location_pick_page.dart'; import 'package:aves/widgets/dialogs/pick_dialogs/location_pick_page.dart';
import 'package:aves/widgets/filter_grids/albums_page.dart'; import 'package:aves/widgets/filter_grids/albums_page.dart';
import 'package:aves/widgets/map/map_page.dart'; import 'package:aves/widgets/map/map_page.dart';
@ -771,8 +772,8 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware
final name = await showDialog<String>( final name = await showDialog<String>(
context: context, context: context,
builder: (context) => const AddDynamicAlbumDialog(), builder: (context) => const CreateDynamicAlbumDialog(),
routeSettings: const RouteSettings(name: AddDynamicAlbumDialog.routeName), routeSettings: const RouteSettings(name: CreateDynamicAlbumDialog.routeName),
); );
if (name == null) return; if (name == null) return;
@ -792,19 +793,20 @@ class EntrySetActionDelegate with FeedbackMixin, PermissionAwareMixin, SizeAware
} }
} }
Future<void> _showDynamicAlbum(NavigatorState? navigator, DynamicAlbumFilter album) async { Future<void> _showDynamicAlbum(NavigatorState? navigator, DynamicAlbumFilter albumFilter) async {
// local context may be deactivated when action is triggered after navigation // local context may be deactivated when action is triggered after navigation
if (navigator != null) { if (navigator != null) {
final context = navigator.context; final context = navigator.context;
final highlightInfo = context.read<HighlightInfo>(); final highlightInfo = context.read<HighlightInfo>();
if (context.currentRouteName == AlbumListPage.routeName) { if (context.currentRouteName == AlbumListPage.routeName) {
highlightInfo.trackItem(FilterGridItem(album, null), highlightItem: album); highlightInfo.trackItem(FilterGridItem(albumFilter, null), highlightItem: albumFilter);
} else { } else {
highlightInfo.set(album); highlightInfo.set(albumFilter);
final initialGroup = albumGrouping.getFilterParent(albumFilter);
await navigator.pushAndRemoveUntil( await navigator.pushAndRemoveUntil(
MaterialPageRoute( MaterialPageRoute(
settings: const RouteSettings(name: AlbumListPage.routeName), settings: const RouteSettings(name: AlbumListPage.routeName),
builder: (_) => const AlbumListPage(), builder: (_) => AlbumListPage(initialGroup: initialGroup),
), ),
(route) => false, (route) => false,
); );

View file

@ -40,21 +40,21 @@ class CollectionSectionHeader extends StatelessWidget {
switch (collection.sortFactor) { switch (collection.sortFactor) {
case EntrySortFactor.date: case EntrySortFactor.date:
switch (collection.sectionFactor) { switch (collection.sectionFactor) {
case EntryGroupFactor.album: case EntrySectionFactor.album:
return _buildAlbumHeader(context); return _buildAlbumHeader(context);
case EntryGroupFactor.month: case EntrySectionFactor.month:
return MonthSectionHeader<AvesEntry>( return MonthSectionHeader<AvesEntry>(
key: ValueKey(sectionKey), key: ValueKey(sectionKey),
date: (sectionKey as EntryDateSectionKey).date, date: (sectionKey as EntryDateSectionKey).date,
selectable: selectable, selectable: selectable,
); );
case EntryGroupFactor.day: case EntrySectionFactor.day:
return DaySectionHeader<AvesEntry>( return DaySectionHeader<AvesEntry>(
key: ValueKey(sectionKey), key: ValueKey(sectionKey),
date: (sectionKey as EntryDateSectionKey).date, date: (sectionKey as EntryDateSectionKey).date,
selectable: selectable, selectable: selectable,
); );
case EntryGroupFactor.none: case EntrySectionFactor.none:
break; break;
} }
case EntrySortFactor.name: case EntrySortFactor.name:

View file

@ -1,5 +1,5 @@
import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/filters/covered/tag.dart'; import 'package:aves/model/filters/covered/tag.dart';
import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/settings/settings.dart';
import 'package:aves/model/source/collection_source.dart'; import 'package:aves/model/source/collection_source.dart';
import 'package:aves/view/view.dart'; import 'package:aves/view/view.dart';

View file

@ -33,6 +33,7 @@ import 'package:aves/widgets/common/extensions/build_context.dart';
import 'package:aves/widgets/dialogs/aves_confirmation_dialog.dart'; import 'package:aves/widgets/dialogs/aves_confirmation_dialog.dart';
import 'package:aves/widgets/dialogs/pick_dialogs/album_pick_page.dart'; import 'package:aves/widgets/dialogs/pick_dialogs/album_pick_page.dart';
import 'package:aves/widgets/dialogs/selection_dialogs/single_selection.dart'; import 'package:aves/widgets/dialogs/selection_dialogs/single_selection.dart';
import 'package:aves/widgets/filter_grids/albums_page.dart';
import 'package:aves/widgets/viewer/controls/notifications.dart'; import 'package:aves/widgets/viewer/controls/notifications.dart';
import 'package:aves_model/aves_model.dart'; import 'package:aves_model/aves_model.dart';
import 'package:collection/collection.dart'; import 'package:collection/collection.dart';
@ -42,7 +43,12 @@ import 'package:provider/provider.dart';
mixin EntryStorageMixin on FeedbackMixin, PermissionAwareMixin, SizeAwareMixin { mixin EntryStorageMixin on FeedbackMixin, PermissionAwareMixin, SizeAwareMixin {
// returns whether it completed the action (with or without failures) // returns whether it completed the action (with or without failures)
Future<bool> doExport(BuildContext context, Set<AvesEntry> targetEntries, EntryConvertOptions options) async { Future<bool> doExport(BuildContext context, Set<AvesEntry> targetEntries, EntryConvertOptions options) async {
final destinationAlbumFilter = await pickAlbum(context: context, moveType: MoveType.export, storedAlbumsOnly: true); final destinationAlbumFilter = await pickAlbum(
context: context,
moveType: MoveType.export,
albumTypes: {AlbumChipType.stored},
initialGroup: null,
);
if (destinationAlbumFilter == null || destinationAlbumFilter is! StoredAlbumFilter) return false; if (destinationAlbumFilter == null || destinationAlbumFilter is! StoredAlbumFilter) return false;
final destinationAlbum = destinationAlbumFilter.album; final destinationAlbum = destinationAlbumFilter.album;
@ -370,7 +376,12 @@ mixin EntryStorageMixin on FeedbackMixin, PermissionAwareMixin, SizeAwareMixin {
case MoveType.copy: case MoveType.copy:
case MoveType.move: case MoveType.move:
case MoveType.export: case MoveType.export:
final destinationAlbumFilter = await pickAlbum(context: context, moveType: moveType, storedAlbumsOnly: true); final destinationAlbumFilter = await pickAlbum(
context: context,
moveType: moveType,
albumTypes: {AlbumChipType.stored},
initialGroup: null,
);
if (destinationAlbumFilter == null || destinationAlbumFilter is! StoredAlbumFilter) return false; if (destinationAlbumFilter == null || destinationAlbumFilter is! StoredAlbumFilter) return false;
final destinationAlbum = destinationAlbumFilter.album; final destinationAlbum = destinationAlbumFilter.album;

View file

@ -0,0 +1,104 @@
import 'package:aves/model/settings/settings.dart';
import 'package:aves/theme/icons.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class CrumbLine<T> extends StatefulWidget {
final List<String> Function(BuildContext context) split;
final T Function(BuildContext context, int index) combine;
final void Function(T combined) onTap;
const CrumbLine({
super.key,
required this.split,
required this.combine,
required this.onTap,
});
@override
State<CrumbLine<T>> createState() => _CrumbLineState<T>();
static double getPreferredHeight(TextScaler textScaler) => textScaler.scale(kToolbarHeight);
}
class _CrumbLineState<T> extends State<CrumbLine<T>> {
final ScrollController _scrollController = ScrollController();
@override
void dispose() {
_scrollController.dispose();
super.dispose();
}
@override
void didUpdateWidget(covariant CrumbLine<T> oldWidget) {
super.didUpdateWidget(oldWidget);
if (oldWidget.split(context).length < widget.split(context).length) {
// scroll to show last crumb
WidgetsBinding.instance.addPostFrameCallback((_) {
final animate = context.read<Settings>().animate;
final extent = _scrollController.position.maxScrollExtent;
if (animate) {
_scrollController.animateTo(
extent,
duration: const Duration(milliseconds: 500),
curve: Curves.easeOutQuad,
);
} else {
_scrollController.jumpTo(extent);
}
});
}
}
@override
Widget build(BuildContext context) {
final parts = widget.split(context);
final crumbColor = DefaultTextStyle.of(context).style.color;
return ListView.builder(
scrollDirection: Axis.horizontal,
controller: _scrollController,
padding: const EdgeInsets.symmetric(horizontal: 8),
itemBuilder: (context, index) {
Widget _buildText(String text) => Padding(
padding: const EdgeInsets.symmetric(horizontal: 8),
child: Text(text),
);
if (index >= parts.length) return const SizedBox();
final text = parts[index];
if (index == parts.length - 1) {
return Center(
child: DefaultTextStyle.merge(
style: TextStyle(
color: Theme.of(context).colorScheme.primary,
),
child: _buildText(text),
),
);
}
return GestureDetector(
onTap: parts.isNotEmpty ? () => widget.onTap(widget.combine(context, index)) : null,
child: Container(
// use a `Container` with a dummy color to make it expand
// so that we can also detect taps around the title `Text`
color: Colors.transparent,
child: Row(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
_buildText(text),
Icon(
AIcons.next,
color: crumbColor,
),
],
),
),
);
},
itemCount: parts.length,
);
}
}

View file

@ -1,6 +1,6 @@
import 'package:flutter/widgets.dart';
import 'package:flutter/gestures.dart'; import 'package:flutter/gestures.dart';
import 'package:flutter/rendering.dart'; import 'package:flutter/rendering.dart';
import 'package:flutter/widgets.dart';
// as of Flutter v3.27.1, `GestureDetector` does not allow setting long press delay // as of Flutter v3.27.1, `GestureDetector` does not allow setting long press delay
// adapted from Flutter `GestureDetector` in `/widgets/gesture_detector.dart` // adapted from Flutter `GestureDetector` in `/widgets/gesture_detector.dart`

View file

@ -54,7 +54,7 @@ class TvNavigationPopHandler implements PopHandler {
return switch (homePage) { return switch (homePage) {
HomePageSetting.collection => buildRoute((context) => CollectionPage(source: context.read<CollectionSource>(), filters: null)), HomePageSetting.collection => buildRoute((context) => CollectionPage(source: context.read<CollectionSource>(), filters: null)),
HomePageSetting.albums => buildRoute((context) => const AlbumListPage()), HomePageSetting.albums => buildRoute((context) => const AlbumListPage(initialGroup: null)),
HomePageSetting.tags => buildRoute((context) => const TagListPage()), HomePageSetting.tags => buildRoute((context) => const TagListPage()),
HomePageSetting.explorer => buildRoute((context) => const ExplorerPage()), HomePageSetting.explorer => buildRoute((context) => const ExplorerPage()),
}; };

View file

@ -18,7 +18,7 @@ abstract class SectionedListLayout<T> {
required this.sectionLayouts, required this.sectionLayouts,
}); });
// return tile rectangle in layout space, i.e. x=0 is start // returns tile rectangle in layout space, i.e. x=0 is start
Rect? getTileRect(T item); Rect? getTileRect(T item);
SectionLayout? getSectionAt(double offsetY) => sectionLayouts.firstWhereOrNull((sl) => offsetY < sl.maxOffset); SectionLayout? getSectionAt(double offsetY) => sectionLayouts.firstWhereOrNull((sl) => offsetY < sl.maxOffset);

View file

@ -4,7 +4,6 @@ import 'dart:math';
import 'package:aves/app_mode.dart'; import 'package:aves/app_mode.dart';
import 'package:aves/model/covers.dart'; import 'package:aves/model/covers.dart';
import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/filters/mime.dart';
import 'package:aves/model/filters/rating.dart'; import 'package:aves/model/filters/rating.dart';
import 'package:aves/model/settings/enums/accessibility_animations.dart'; import 'package:aves/model/settings/enums/accessibility_animations.dart';
import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/settings/settings.dart';
@ -24,8 +23,8 @@ import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart'; import 'package:flutter/scheduler.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
typedef AFilterCallback = void Function(CollectionFilter filter); typedef AFilterCallback<T extends CollectionFilter> = void Function(T filter);
typedef OffsetFilterCallback = void Function(BuildContext context, CollectionFilter filter, Offset tapPosition); typedef OffsetFilterCallback<T extends CollectionFilter> = void Function(BuildContext context, T filter, Offset tapPosition);
enum HeroType { always, onTap, never } enum HeroType { always, onTap, never }
@ -108,17 +107,12 @@ class AvesFilterChip extends StatefulWidget {
final actionDelegate = ChipActionDelegate(); final actionDelegate = ChipActionDelegate();
final animations = context.read<Settings>().accessibilityAnimations; final animations = context.read<Settings>().accessibilityAnimations;
var title = filter.getLabel(context);
if (filter is MimeFilter) {
title += ' (${filter.mime})';
}
final selectedAction = await showMenu<ChipAction>( final selectedAction = await showMenu<ChipAction>(
context: context, context: context,
position: RelativeRect.fromRect(tapPosition & touchArea, Offset.zero & overlay.size), position: RelativeRect.fromRect(tapPosition & touchArea, Offset.zero & overlay.size),
items: [ items: [
PopupMenuItem( PopupMenuItem(
child: Text(title), child: Text(filter.getTooltip(context)),
), ),
const PopupMenuDivider(), const PopupMenuDivider(),
...ChipAction.values.where((action) => actionDelegate.isVisible(action, filter: filter)).map((action) { ...ChipAction.values.where((action) => actionDelegate.isVisible(action, filter: filter)).map((action) {

View file

@ -0,0 +1,17 @@
import 'package:flutter/widgets.dart';
import 'package:provider/provider.dart';
class FilterGroupProvider extends ListenableProvider<FilterGroupNotifier> {
FilterGroupProvider({
super.key,
Uri? initialValue,
super.child,
}) : super(
create: (context) => FilterGroupNotifier(initialValue),
dispose: (context, value) => value.dispose(),
);
}
class FilterGroupNotifier extends ValueNotifier<Uri?> {
FilterGroupNotifier(super.value);
}

Some files were not shown because too many files have changed in this diff Show more