1021 lines
24 KiB
Dart
1021 lines
24 KiB
Dart
// ignore: unused_import
|
|
import 'package:intl/intl.dart' as intl;
|
|
import 'app_localizations.dart';
|
|
|
|
// ignore_for_file: type=lint
|
|
|
|
/// The translations for English (`en`).
|
|
class AppLocalizationsEn extends AppLocalizations {
|
|
AppLocalizationsEn([String locale = 'en']) : super(locale);
|
|
|
|
@override
|
|
String get appTitle => 'Recipe App';
|
|
|
|
@override
|
|
String get retryAction => 'Retry';
|
|
|
|
@override
|
|
String get mealPlanTitle => 'Meal plan';
|
|
|
|
@override
|
|
String get mealPlanLoading => 'Loading meal plan...';
|
|
|
|
@override
|
|
String get mealPlanWeekPrevious => 'Previous week';
|
|
|
|
@override
|
|
String get mealPlanWeekNext => 'Next week';
|
|
|
|
@override
|
|
String get mealPlanWeekCurrent => 'Current week';
|
|
|
|
@override
|
|
String get mealPlanDayNoRecipe => 'Nothing planned';
|
|
|
|
@override
|
|
String get mealPlanSelectRecipe => 'Choose recipe';
|
|
|
|
@override
|
|
String get mealPlanViewRecipe => 'View recipe';
|
|
|
|
@override
|
|
String get mealPlanServingsLabel => 'Servings';
|
|
|
|
@override
|
|
String get mealPlanResetServings => 'Reset';
|
|
|
|
@override
|
|
String get mealPlanSaving => 'Saving...';
|
|
|
|
@override
|
|
String mealPlanPlannedRecipes(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '# recipes planned',
|
|
one: '# recipe planned',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get mealPlanShoppingTitle => 'Shopping list';
|
|
|
|
@override
|
|
String get mealPlanPickRecipeHint =>
|
|
'Choose recipes above to see the combined ingredient list.';
|
|
|
|
@override
|
|
String get mealPlanNoShoppingItems => 'No ingredients to show for this week.';
|
|
|
|
@override
|
|
String get mealPlanNoRecipesTitle => 'There are no recipes to plan yet.';
|
|
|
|
@override
|
|
String get mealPlanNoRecipesDescription =>
|
|
'Create at least one recipe first, then add it to the meal plan.';
|
|
|
|
@override
|
|
String mealPlanMissingCount(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '# missing',
|
|
one: '# missing',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String mealPlanPartialCount(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '# partially at home',
|
|
one: '# partially at home',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String mealPlanEnoughCount(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '# at home',
|
|
one: '# at home',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String mealPlanPantryCount(int count) {
|
|
String _temp0 = intl.Intl.pluralLogic(
|
|
count,
|
|
locale: localeName,
|
|
other: '# pantry staples',
|
|
one: '# pantry staple',
|
|
);
|
|
return '$_temp0';
|
|
}
|
|
|
|
@override
|
|
String get mealPlanAllAtHome => 'You already have everything at home.';
|
|
|
|
@override
|
|
String get mealPlanStatusMissing => 'Missing';
|
|
|
|
@override
|
|
String get mealPlanStatusPartial => 'Partially at home';
|
|
|
|
@override
|
|
String get mealPlanStatusEnough => 'At home';
|
|
|
|
@override
|
|
String get mealPlanStatusPantry => 'Pantry staple';
|
|
|
|
@override
|
|
String get loginTitle => 'Sign in';
|
|
|
|
@override
|
|
String get usernameLabel => 'Username';
|
|
|
|
@override
|
|
String get usernameRequired => 'Enter your username.';
|
|
|
|
@override
|
|
String get passwordLabel => 'Password';
|
|
|
|
@override
|
|
String get passwordRequired => 'Enter your password.';
|
|
|
|
@override
|
|
String get loginAction => 'Sign in';
|
|
|
|
@override
|
|
String get sessionExpiredError => 'Your session has expired. Sign in again.';
|
|
|
|
@override
|
|
String get forbiddenError =>
|
|
'You do not have permission to use this feature.';
|
|
|
|
@override
|
|
String get serverError => 'A server error occurred. Try again in a moment.';
|
|
|
|
@override
|
|
String get networkError =>
|
|
'Network error. Check your connection and try again.';
|
|
|
|
@override
|
|
String get unexpectedError => 'An unexpected error occurred.';
|
|
|
|
@override
|
|
String get cancelAction => 'Cancel';
|
|
|
|
@override
|
|
String get saveAction => 'Save';
|
|
|
|
@override
|
|
String get deleteAction => 'Delete';
|
|
|
|
@override
|
|
String get addAction => 'Add';
|
|
|
|
@override
|
|
String get editTooltip => 'Edit';
|
|
|
|
@override
|
|
String get deleteTooltip => 'Delete';
|
|
|
|
@override
|
|
String get loadingLabel => 'Loading...';
|
|
|
|
@override
|
|
String get cannotBeUndone => 'This action cannot be undone.';
|
|
|
|
@override
|
|
String get yesLabel => 'Yes';
|
|
|
|
@override
|
|
String get noLabel => 'No';
|
|
|
|
@override
|
|
String get commentLabel => 'Comment';
|
|
|
|
@override
|
|
String get commentOptionalLabel => 'Comment (optional)';
|
|
|
|
@override
|
|
String get openedLabel => 'Opened';
|
|
|
|
@override
|
|
String get quantityLabel => 'Quantity *';
|
|
|
|
@override
|
|
String get quantityHint => 'Enter quantity';
|
|
|
|
@override
|
|
String get invalidNumber => 'Invalid number';
|
|
|
|
@override
|
|
String get unitLabel => 'Unit *';
|
|
|
|
@override
|
|
String get selectDateLabel => 'Select date';
|
|
|
|
@override
|
|
String get locationOptionalLabel => 'Location (optional)';
|
|
|
|
@override
|
|
String get locationLabel => 'Location';
|
|
|
|
@override
|
|
String get brandOptionalLabel => 'Brand (optional)';
|
|
|
|
@override
|
|
String get brandLabel => 'Brand';
|
|
|
|
@override
|
|
String get enterPositiveNumber => 'Enter a positive number';
|
|
|
|
@override
|
|
String get inventoryTitle => 'Inventory';
|
|
|
|
@override
|
|
String get inventoryFilterAndSort => 'Filter and sorting';
|
|
|
|
@override
|
|
String get inventorySortLatest => 'Latest added';
|
|
|
|
@override
|
|
String get inventorySortNameAsc => 'Name A-Z';
|
|
|
|
@override
|
|
String get inventorySortBestBeforeAsc => 'Best before ascending';
|
|
|
|
@override
|
|
String get inventorySortBestBeforeDesc => 'Best before descending';
|
|
|
|
@override
|
|
String get inventorySortLabel => 'Sort';
|
|
|
|
@override
|
|
String get inventoryAllFilter => 'All';
|
|
|
|
@override
|
|
String get inventoryEmpty => 'Inventory is empty.';
|
|
|
|
@override
|
|
String get inventoryLoading => 'Loading inventory...';
|
|
|
|
@override
|
|
String get inventoryCreateTitle => 'Add inventory item';
|
|
|
|
@override
|
|
String get inventoryEditTitle => 'Edit inventory item';
|
|
|
|
@override
|
|
String get inventorySelectProduct => 'Select a product from the list.';
|
|
|
|
@override
|
|
String get inventoryDeleteTitle => 'Delete inventory item?';
|
|
|
|
@override
|
|
String get inventoryProductLabel => 'Product';
|
|
|
|
@override
|
|
String get inventoryQuantityDisplayLabel => 'Quantity';
|
|
|
|
@override
|
|
String get inventoryLocationDisplayLabel => 'Location';
|
|
|
|
@override
|
|
String get inventoryBrandDisplayLabel => 'Brand';
|
|
|
|
@override
|
|
String get inventoryPurchaseDateLabel => 'Purchase date';
|
|
|
|
@override
|
|
String get inventoryBestBeforeLabel => 'Best before';
|
|
|
|
@override
|
|
String get inventoryPurchaseDatePrefix => 'Purchase: ';
|
|
|
|
@override
|
|
String get inventoryBestBeforeDatePrefix => 'Best before: ';
|
|
|
|
@override
|
|
String get inventoryConsumeAction => 'Consume';
|
|
|
|
@override
|
|
String get inventoryHistoryAction => 'Consumption history';
|
|
|
|
@override
|
|
String get inventoryConsumeAmountLabel => 'Amount to consume *';
|
|
|
|
@override
|
|
String get inventoryHistoryLoading => 'Loading history...';
|
|
|
|
@override
|
|
String get inventoryHistoryEmpty => 'No consumption history exists.';
|
|
|
|
@override
|
|
String get inventoryRecipesAction => 'Recipes';
|
|
|
|
@override
|
|
String inventoryHistoryTitle(String name) {
|
|
return 'History: $name';
|
|
}
|
|
|
|
@override
|
|
String inventoryConsumeNameTitle(String name) {
|
|
return 'Consume: $name';
|
|
}
|
|
|
|
@override
|
|
String inventoryAvailableLabel(String quantity, String unit) {
|
|
return 'Available: $quantity $unit';
|
|
}
|
|
|
|
@override
|
|
String get pantryDescription => 'Products you always expect to have at home.';
|
|
|
|
@override
|
|
String get pantryLoading => 'Loading pantry...';
|
|
|
|
@override
|
|
String get pantryNoLocation => 'No location selected';
|
|
|
|
@override
|
|
String get pantryInvalidQuantity => 'Enter a valid quantity greater than 0.';
|
|
|
|
@override
|
|
String get pantryRemoveTitle => 'Remove from pantry?';
|
|
|
|
@override
|
|
String get pantryOtherCategory => 'Other';
|
|
|
|
@override
|
|
String get pantryGoToRecipesTooltip => 'Go to recipes';
|
|
|
|
@override
|
|
String pantryAddToInventoryTitle(String name) {
|
|
return 'Add \"$name\" to inventory';
|
|
}
|
|
|
|
@override
|
|
String pantryItemAdded(String name) {
|
|
return '$name added to inventory.';
|
|
}
|
|
|
|
@override
|
|
String pantryRemoveContent(String name) {
|
|
return 'Do you want to remove \"$name\"?';
|
|
}
|
|
|
|
@override
|
|
String get recipesLoading => 'Loading recipes...';
|
|
|
|
@override
|
|
String get recipesEmpty => 'No recipes found';
|
|
|
|
@override
|
|
String get recipesEmptyDescription => 'Add a recipe to get started.';
|
|
|
|
@override
|
|
String get recipesNewTooltip => 'New recipe';
|
|
|
|
@override
|
|
String get recipeDetailLoading => 'Loading recipe...';
|
|
|
|
@override
|
|
String get recipeDetailMakePrivate => 'Make private';
|
|
|
|
@override
|
|
String get recipeDetailMakePublic => 'Make public';
|
|
|
|
@override
|
|
String get recipeDetailShareWithUser => 'Share with user';
|
|
|
|
@override
|
|
String get recipeDetailGoToInventory => 'Go to inventory';
|
|
|
|
@override
|
|
String get recipeDetailShareTitle => 'Share recipe';
|
|
|
|
@override
|
|
String get recipeDetailUsernameLabel => 'Username';
|
|
|
|
@override
|
|
String get recipeDetailUsernameHint => 'e.g. anna';
|
|
|
|
@override
|
|
String get recipeDetailRemoveShare => 'Remove sharing';
|
|
|
|
@override
|
|
String get recipeDetailShareAction => 'Share';
|
|
|
|
@override
|
|
String get recipeDetailDeleteTitle => 'Delete recipe?';
|
|
|
|
@override
|
|
String get recipeDetailNowPublic => 'The recipe is now public.';
|
|
|
|
@override
|
|
String get recipeDetailNowPrivate => 'The recipe is now private.';
|
|
|
|
@override
|
|
String get recipeDetailServings => 'servings';
|
|
|
|
@override
|
|
String get recipeDetailIngredients => 'Ingredients';
|
|
|
|
@override
|
|
String get recipeDetailInstructions => 'Instructions';
|
|
|
|
@override
|
|
String get recipeDetailBackToList => 'Back to recipe list';
|
|
|
|
@override
|
|
String recipeDetailSharingRemoved(String user) {
|
|
return 'Sharing removed for $user';
|
|
}
|
|
|
|
@override
|
|
String recipeDetailSharedWith(String user) {
|
|
return 'Recipe shared with $user';
|
|
}
|
|
|
|
@override
|
|
String recipeDetailDeleteContent(String title) {
|
|
return 'Do you want to delete \"$title\"? This action cannot be undone.';
|
|
}
|
|
|
|
@override
|
|
String get recipeCreateTitle => 'New recipe';
|
|
|
|
@override
|
|
String get recipeCreateReviewIngredients => 'Review ingredients';
|
|
|
|
@override
|
|
String get recipeCreateMarkdownPlaceholder =>
|
|
'# Recipe name\n\n## Ingredients\n- 500 g ground beef\n- 1 onion\n\n## Instructions\nFry the onion...';
|
|
|
|
@override
|
|
String get recipeCreateMarkdownHint =>
|
|
'Paste or write a recipe in Markdown format.';
|
|
|
|
@override
|
|
String get recipeCreateNameRequired => 'Recipe name cannot be empty.';
|
|
|
|
@override
|
|
String get recipeCreateSaveAction => 'Save recipe';
|
|
|
|
@override
|
|
String get recipeCreateServingsLabel => 'Number of servings (optional)';
|
|
|
|
@override
|
|
String get recipeCreateIngredientsLabel => 'Ingredients';
|
|
|
|
@override
|
|
String get recipeCreateIngredientsHint =>
|
|
'Check ingredients to include and select the right product.';
|
|
|
|
@override
|
|
String get recipeCreateNoProductFound =>
|
|
'No product found — ingredient will be skipped.';
|
|
|
|
@override
|
|
String get recipeEditTitle => 'Edit recipe';
|
|
|
|
@override
|
|
String get recipeEditNameLabel => 'Recipe name';
|
|
|
|
@override
|
|
String get recipeEditNameRequired => 'Enter a recipe name.';
|
|
|
|
@override
|
|
String get recipeEditDescriptionLabel => 'Description (optional)';
|
|
|
|
@override
|
|
String get recipeEditServingsLabel => 'Number of servings (optional)';
|
|
|
|
@override
|
|
String get recipeEditServingsInvalid => 'Enter a whole number.';
|
|
|
|
@override
|
|
String get recipeEditInstructionsLabel => 'Instructions (optional)';
|
|
|
|
@override
|
|
String get recipeEditIngredientsLabel => 'Ingredients';
|
|
|
|
@override
|
|
String get recipeEditIngredientsHint =>
|
|
'Select product, quantity and unit for each ingredient.';
|
|
|
|
@override
|
|
String get recipeEditNoIngredients => 'No ingredients added yet.';
|
|
|
|
@override
|
|
String get recipeEditIngredientPrefix => 'Ingredient ';
|
|
|
|
@override
|
|
String get recipeEditRemoveIngredient => 'Remove ingredient';
|
|
|
|
@override
|
|
String get recipeEditMinIngredients => 'At least one ingredient is required.';
|
|
|
|
@override
|
|
String get recipeEditSelectProduct => 'Select product for all ingredients.';
|
|
|
|
@override
|
|
String get recipeEditValidQuantity =>
|
|
'Enter valid quantity for all ingredients.';
|
|
|
|
@override
|
|
String get recipeEditSelectUnit => 'Select unit for all ingredients.';
|
|
|
|
@override
|
|
String get recipeEditSaveChanges => 'Save changes';
|
|
|
|
@override
|
|
String get importTabDescription =>
|
|
'Upload a PDF or image, or enter a recipe link — the recipe will be imported and opened directly in edit mode.';
|
|
|
|
@override
|
|
String get importFileTabLabel => 'File / PDF';
|
|
|
|
@override
|
|
String get importLinkTabLabel => 'Link';
|
|
|
|
@override
|
|
String get importChooseFileAction => 'Choose file (PDF, PNG, JPG, WEBP, BMP)';
|
|
|
|
@override
|
|
String get importFileAction => 'Import file';
|
|
|
|
@override
|
|
String get importFileProcessing =>
|
|
'Parsing recipe — this can take up to a minute...';
|
|
|
|
@override
|
|
String get importLinkAction => 'Import from link';
|
|
|
|
@override
|
|
String get importLinkLabel => 'Recipe link';
|
|
|
|
@override
|
|
String get importLinkHint => 'https://example.com/recipe/...';
|
|
|
|
@override
|
|
String get importWriteInstead => 'Write recipe instead';
|
|
|
|
@override
|
|
String get errorDialogTitle => 'Error';
|
|
|
|
@override
|
|
String get errorDialogClose => 'Close';
|
|
|
|
@override
|
|
String get errorDialogCopy => 'Copy';
|
|
|
|
@override
|
|
String get errorDialogCopied => 'Error message copied!';
|
|
|
|
@override
|
|
String get profileMyProfileTab => 'My profile';
|
|
|
|
@override
|
|
String get profileDatabaseTab => 'Database';
|
|
|
|
@override
|
|
String get profileUsersTab => 'Users';
|
|
|
|
@override
|
|
String get profilePendingTab => 'Suggestions';
|
|
|
|
@override
|
|
String get profileAiTab => 'AI';
|
|
|
|
@override
|
|
String get profileUsernameLabel => 'Username';
|
|
|
|
@override
|
|
String get profileEmailLabel => 'E-mail';
|
|
|
|
@override
|
|
String get profileEmailHint => 'Enter an e-mail address';
|
|
|
|
@override
|
|
String get profileEmailInvalid => 'Invalid e-mail address';
|
|
|
|
@override
|
|
String get profileFirstNameLabel => 'First name';
|
|
|
|
@override
|
|
String get profileLastNameLabel => 'Last name';
|
|
|
|
@override
|
|
String get profileSaveAction => 'Save changes';
|
|
|
|
@override
|
|
String get profileSaved => 'Profile saved!';
|
|
|
|
@override
|
|
String get profileInventoryTab => 'Inventory';
|
|
|
|
@override
|
|
String get profilePantryTab => 'Pantry';
|
|
|
|
@override
|
|
String get profileProductsTab => 'Products';
|
|
|
|
@override
|
|
String get profileAddInventoryItem => 'Add inventory item';
|
|
|
|
@override
|
|
String get profileOpenInventory => 'Open inventory';
|
|
|
|
@override
|
|
String get profileInventoryDescription =>
|
|
'Update and consume items in your inventory.';
|
|
|
|
@override
|
|
String get profileOpenPantry => 'Open pantry';
|
|
|
|
@override
|
|
String get profilePantryDescription =>
|
|
'Manage items you always expect to have at home.';
|
|
|
|
@override
|
|
String get adminChangeRole => 'Change role';
|
|
|
|
@override
|
|
String get adminGivePremium => 'Give Premium';
|
|
|
|
@override
|
|
String get adminRemovePremium => 'Remove Premium';
|
|
|
|
@override
|
|
String get adminAllowSharing => 'Allow recipe sharing';
|
|
|
|
@override
|
|
String get adminBlockSharing => 'Block recipe sharing';
|
|
|
|
@override
|
|
String get adminResetPassword => 'Reset password';
|
|
|
|
@override
|
|
String get adminTempPasswordTitle => 'Temporary password';
|
|
|
|
@override
|
|
String get adminCopyAction => 'Copy';
|
|
|
|
@override
|
|
String get adminCloseAction => 'Close';
|
|
|
|
@override
|
|
String get adminEmailLabel => 'E-mail';
|
|
|
|
@override
|
|
String get adminEmailInvalid => 'Invalid e-mail address.';
|
|
|
|
@override
|
|
String get adminEmailUpdated => 'E-mail updated.';
|
|
|
|
@override
|
|
String get adminDeleteUser => 'Delete user';
|
|
|
|
@override
|
|
String get adminDeleteUserConfirm =>
|
|
'Delete permanently? This cannot be undone.';
|
|
|
|
@override
|
|
String get adminConfirmAction => 'Confirm';
|
|
|
|
@override
|
|
String get adminNewUser => 'New user';
|
|
|
|
@override
|
|
String get adminNoUsers => 'No users found.';
|
|
|
|
@override
|
|
String get adminAdminRole => 'Admin';
|
|
|
|
@override
|
|
String get adminUserRole => 'User';
|
|
|
|
@override
|
|
String get adminPremiumLabel => 'Premium';
|
|
|
|
@override
|
|
String get adminFreeLabel => 'Free';
|
|
|
|
@override
|
|
String get adminSharingOn => 'Sharing: On';
|
|
|
|
@override
|
|
String get adminSharingOff => 'Sharing: Off';
|
|
|
|
@override
|
|
String get adminUsersDescription =>
|
|
'Manage users directly from the profile page.';
|
|
|
|
@override
|
|
String get adminDowngradeToUser => 'Downgrade to user';
|
|
|
|
@override
|
|
String get adminUpgradeToAdmin => 'Upgrade to admin';
|
|
|
|
@override
|
|
String get adminSortNewest => 'Sort: Newest';
|
|
|
|
@override
|
|
String get adminSortOldest => 'Sort: Oldest';
|
|
|
|
@override
|
|
String get adminSortNameAsc => 'Sort: Name A-Z';
|
|
|
|
@override
|
|
String get adminSortNameDesc => 'Sort: Name Z-A';
|
|
|
|
@override
|
|
String get adminSortCategoryAsc => 'Sort: Category A-Z';
|
|
|
|
@override
|
|
String get adminSortCategoryDesc => 'Sort: Category Z-A';
|
|
|
|
@override
|
|
String get adminSearchProduct => 'Search product';
|
|
|
|
@override
|
|
String get adminShowDeleted => 'Show deleted';
|
|
|
|
@override
|
|
String get adminOnlyUncategorized => 'Only uncategorized';
|
|
|
|
@override
|
|
String get adminBulkSetCategory => 'Bulk: set category';
|
|
|
|
@override
|
|
String get adminProductsUpdated => 'Products updated.';
|
|
|
|
@override
|
|
String get adminNoAiSuggestions => 'No AI suggestions to show.';
|
|
|
|
@override
|
|
String get adminMergeProducts => 'Merge products';
|
|
|
|
@override
|
|
String get adminMergeSelectSource =>
|
|
'Select which product should be moved into the other:';
|
|
|
|
@override
|
|
String get adminMergeSource => 'Source: ';
|
|
|
|
@override
|
|
String get adminMergeTarget => 'Target: ';
|
|
|
|
@override
|
|
String get adminMergeAction => 'Merge';
|
|
|
|
@override
|
|
String get adminDeleteProduct => 'Delete product';
|
|
|
|
@override
|
|
String get adminProductDeleted => 'Product deleted.';
|
|
|
|
@override
|
|
String get adminProductsRestored => 'Selected products restored.';
|
|
|
|
@override
|
|
String get adminProductRestored => 'Product restored.';
|
|
|
|
@override
|
|
String get adminNoPendingProducts => 'No pending product suggestions.';
|
|
|
|
@override
|
|
String get adminCategoryPrefix => 'Category: ';
|
|
|
|
@override
|
|
String get adminSuggestedByPrefix => 'Suggested by: ';
|
|
|
|
@override
|
|
String get adminDatePrefix => 'Date: ';
|
|
|
|
@override
|
|
String get adminApproveAction => 'Approve';
|
|
|
|
@override
|
|
String get adminRejectAction => 'Reject';
|
|
|
|
@override
|
|
String get adminPendingDescription =>
|
|
'Approve or reject pending product suggestions directly from the profile page.';
|
|
|
|
@override
|
|
String get adminAiDescription =>
|
|
'Overview of AI features exposed by the backend.';
|
|
|
|
@override
|
|
String get adminPagePrefix => 'Page: ';
|
|
|
|
@override
|
|
String get adminNewProductLabel => 'New product';
|
|
|
|
@override
|
|
String get adminPasswordMustChange =>
|
|
'The user must change their password at next login.';
|
|
|
|
@override
|
|
String adminChangeRoleConfirm(String username, String role) {
|
|
return 'Change $username to $role?';
|
|
}
|
|
|
|
@override
|
|
String adminGivePremiumConfirm(String username) {
|
|
return 'Give Premium for $username';
|
|
}
|
|
|
|
@override
|
|
String adminRemovePremiumConfirm(String username) {
|
|
return 'Remove Premium for $username';
|
|
}
|
|
|
|
@override
|
|
String adminAllowSharingConfirm(String username) {
|
|
return 'Allow recipe sharing for $username';
|
|
}
|
|
|
|
@override
|
|
String adminBlockSharingConfirm(String username) {
|
|
return 'Block recipe sharing for $username';
|
|
}
|
|
|
|
@override
|
|
String adminResetPasswordContent(String username) {
|
|
return 'Generate a temporary password for $username';
|
|
}
|
|
|
|
@override
|
|
String adminPasswordTitle(String username) {
|
|
return 'Password for $username';
|
|
}
|
|
|
|
@override
|
|
String adminChangeEmailTitle(String username) {
|
|
return 'Change e-mail for $username';
|
|
}
|
|
|
|
@override
|
|
String adminDeleteProductContent(String name) {
|
|
return 'Delete $name? The product can be restored later.';
|
|
}
|
|
|
|
@override
|
|
String adminAiAppliedCount(int count) {
|
|
return 'AI suggestions applied to $count products.';
|
|
}
|
|
|
|
@override
|
|
String adminCategoryUpdated(String name) {
|
|
return 'Category updated for $name';
|
|
}
|
|
|
|
@override
|
|
String adminProductUpdated(String name) {
|
|
return 'Product updated for $name';
|
|
}
|
|
|
|
@override
|
|
String adminPremiumConfirm(String action, String username) {
|
|
return '$action Premium for $username?';
|
|
}
|
|
|
|
@override
|
|
String adminSharingConfirm(String action, String username) {
|
|
return '$action recipe sharing for $username?';
|
|
}
|
|
|
|
@override
|
|
String adminResetPasswordConfirm(String username) {
|
|
return 'Generate a temporary password for $username?';
|
|
}
|
|
|
|
@override
|
|
String adminTempPasswordForUser(String username) {
|
|
return 'Password for $username:';
|
|
}
|
|
|
|
@override
|
|
String adminEmailEditTitle(String username) {
|
|
return 'Change e-mail for $username';
|
|
}
|
|
|
|
@override
|
|
String get adminEmailAction => 'Change e-mail';
|
|
|
|
@override
|
|
String adminUserCreated(String username) {
|
|
return 'User $username created.';
|
|
}
|
|
|
|
@override
|
|
String get adminCreateUserTitle => 'Create user';
|
|
|
|
@override
|
|
String get adminMinChars2 => 'At least 2 characters';
|
|
|
|
@override
|
|
String get adminMinChars8 => 'At least 8 characters';
|
|
|
|
@override
|
|
String get adminPasswordLabel => 'Password';
|
|
|
|
@override
|
|
String get adminRoleLabel => 'Role';
|
|
|
|
@override
|
|
String get adminCreateAction => 'Create';
|
|
|
|
@override
|
|
String get adminMergeProductsTitle => 'Merge products';
|
|
|
|
@override
|
|
String get adminMergeProductsHint =>
|
|
'Select which product should be moved into the other:';
|
|
|
|
@override
|
|
String get adminMerge2Selected => 'Merge 2 selected';
|
|
|
|
@override
|
|
String get adminProductsMerged => 'Products merged.';
|
|
|
|
@override
|
|
String get adminDeleteProductTitle => 'Delete product';
|
|
|
|
@override
|
|
String adminDeleteProductConfirm(String name) {
|
|
return 'Delete $name? The product can be restored later.';
|
|
}
|
|
|
|
@override
|
|
String get adminAiSuggestionsTitle => 'AI suggestions';
|
|
|
|
@override
|
|
String adminAiApplied(int count) {
|
|
return 'AI suggestions applied to $count products.';
|
|
}
|
|
|
|
@override
|
|
String adminApplySelected(int count) {
|
|
return 'Apply ($count)';
|
|
}
|
|
|
|
@override
|
|
String adminUpdateSelected(int count) {
|
|
return 'Update selected ($count)';
|
|
}
|
|
|
|
@override
|
|
String get adminAiCategorizeAll => 'AI-categorize uncategorized';
|
|
|
|
@override
|
|
String adminAiCategorizeSelected(int count) {
|
|
return 'AI-categorize selected ($count)';
|
|
}
|
|
|
|
@override
|
|
String adminRestoreSelected(int count) {
|
|
return 'Restore selected ($count)';
|
|
}
|
|
|
|
@override
|
|
String get adminShowUncategorized => 'Uncategorized only';
|
|
|
|
@override
|
|
String get adminRemoveCategory => 'Remove category';
|
|
|
|
@override
|
|
String get adminNoProductsFound => 'No products match the filter.';
|
|
|
|
@override
|
|
String get adminInlineCategory => 'Category (inline)';
|
|
|
|
@override
|
|
String get adminNoCategory => 'No category';
|
|
|
|
@override
|
|
String get adminRestoreAction => 'Restore';
|
|
|
|
@override
|
|
String get required => 'Required';
|
|
|
|
@override
|
|
String get logoutAction => 'Log out';
|
|
|
|
@override
|
|
String get profileDatabaseDescription =>
|
|
'The database tab covers the same main areas as in recipe-frontend.';
|
|
}
|