diff --git a/packages/smooth_app/lib/cards/product_cards/smooth_product_image.dart b/packages/smooth_app/lib/cards/product_cards/smooth_product_image.dart index 01929bf735f..a05c2685e92 100644 --- a/packages/smooth_app/lib/cards/product_cards/smooth_product_image.dart +++ b/packages/smooth_app/lib/cards/product_cards/smooth_product_image.dart @@ -9,7 +9,9 @@ import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:provider/provider.dart'; import 'package:smooth_app/database/transient_file.dart'; import 'package:smooth_app/generic_lib/design_constants.dart'; +import 'package:smooth_app/helpers/image_field_extension.dart'; import 'package:smooth_app/pages/image/product_image_helper.dart'; +import 'package:smooth_app/pages/product/owner_field_info.dart'; import 'package:smooth_app/pages/product/product_page/new_product_page.dart'; import 'package:smooth_app/query/product_query.dart'; import 'package:smooth_app/resources/app_icons.dart' as icons; @@ -26,10 +28,11 @@ class ProductPicture extends StatefulWidget { String? fallbackUrl, VoidCallback? onTap, String? heroTag, - bool? showObsoleteIcon, + bool showObsoleteIcon = false, + bool showOwnerIcon = false, BorderRadius? borderRadius, - double? imageFoundBorder, - double? imageNotFoundBorder, + double imageFoundBorder = 0.0, + double imageNotFoundBorder = 0.0, TextStyle? errorTextStyle, }) : this._( transientFile: null, @@ -41,37 +44,43 @@ class ProductPicture extends StatefulWidget { heroTag: heroTag, onTap: onTap, borderRadius: borderRadius, - imageFoundBorder: imageFoundBorder ?? 0.0, - imageNotFoundBorder: imageNotFoundBorder ?? 0.0, + imageFoundBorder: imageFoundBorder, + imageNotFoundBorder: imageNotFoundBorder, errorTextStyle: errorTextStyle, - showObsoleteIcon: showObsoleteIcon ?? false, + showObsoleteIcon: showObsoleteIcon, + showOwnerIcon: showOwnerIcon, ); ProductPicture.fromTransientFile({ required TransientFile transientFile, required Size size, + OpenFoodFactsLanguage? language, + Product? product, + ImageField? imageField, String? fallbackUrl, VoidCallback? onTap, String? heroTag, - bool? showObsoleteIcon, + bool showObsoleteIcon = false, + bool showOwnerIcon = false, BorderRadius? borderRadius, - double? imageFoundBorder, - double? imageNotFoundBorder, + double imageFoundBorder = 0.0, + double imageNotFoundBorder = 0.0, TextStyle? errorTextStyle, }) : this._( transientFile: transientFile, - product: null, - imageField: null, - language: null, + product: product, + imageField: imageField, + language: language, size: size, fallbackUrl: fallbackUrl, heroTag: heroTag, onTap: onTap, borderRadius: borderRadius, - imageFoundBorder: imageFoundBorder ?? 0.0, - imageNotFoundBorder: imageNotFoundBorder ?? 0.0, + imageFoundBorder: imageFoundBorder, + imageNotFoundBorder: imageNotFoundBorder, errorTextStyle: errorTextStyle, - showObsoleteIcon: showObsoleteIcon ?? false, + showObsoleteIcon: showObsoleteIcon, + showOwnerIcon: showOwnerIcon, ); ProductPicture._({ @@ -88,6 +97,7 @@ class ProductPicture extends StatefulWidget { this.imageNotFoundBorder = 0.0, this.errorTextStyle, this.showObsoleteIcon = false, + this.showOwnerIcon = false, super.key, }) : assert(imageFoundBorder >= 0.0), assert(imageNotFoundBorder >= 0.0), @@ -108,6 +118,9 @@ class ProductPicture extends StatefulWidget { /// Show the obsolete icon on top of the image final bool showObsoleteIcon; + /// Show the owner icon on top of the image + final bool showOwnerIcon; + /// Rounded borders around the image final BorderRadius? borderRadius; final double imageFoundBorder; @@ -147,8 +160,11 @@ class _ProductPictureState extends State { child = _ProductPictureAssetsSvg( asset: 'assets/product/product_error.svg', semanticsLabel: - appLocalizations.product_page_image_error_accessibility_label, - text: appLocalizations.product_page_image_error, + appLocalizations.product_image_error_accessibility_label( + widget.imageField?.getPictureAccessibilityLabel(appLocalizations) ?? + appLocalizations.product_image_front_accessibility_label, + ), + text: appLocalizations.product_image_error, textStyle: TextStyle( color: context.extension().red, ).merge(widget.errorTextStyle ?? const TextStyle()), @@ -160,10 +176,18 @@ class _ProductPictureState extends State { } else if (imageProvider?.$1 != null) { child = _ProductPictureWithImageProvider( imageProvider: imageProvider!.$1!, + imageField: widget.imageField, outdated: imageProvider.$2, + locked: widget.imageField != null && + widget.product?.isImageLocked( + widget.imageField!, + widget.language ?? ProductQuery.getLanguage(), + ) == + true, heroTag: widget.heroTag, size: widget.size, showOutdated: widget.showObsoleteIcon, + showOwner: widget.showOwnerIcon, borderRadius: widget.borderRadius, border: widget.imageFoundBorder, onError: () { @@ -243,21 +267,27 @@ class _ProductPictureWithImageProvider extends StatelessWidget { const _ProductPictureWithImageProvider({ required this.imageProvider, required this.outdated, + required this.locked, required this.size, required this.child, required this.onError, required this.showOutdated, + required this.showOwner, required this.border, + this.imageField, this.borderRadius, this.heroTag, }); final ImageProvider imageProvider; + final ImageField? imageField; final bool outdated; + final bool locked; final Size size; final Widget? child; final VoidCallback onError; final bool showOutdated; + final bool showOwner; final BorderRadius? borderRadius; final double border; final String? heroTag; @@ -268,7 +298,8 @@ class _ProductPictureWithImageProvider extends StatelessWidget { final bool lightTheme = context.lightTheme(); final Widget image = Semantics( - label: appLocalizations.product_page_image_front_accessibility_label, + label: imageField?.getPictureAccessibilityLabel(appLocalizations) ?? + appLocalizations.product_image_front_accessibility_label, image: true, excludeSemantics: true, child: SizedBox.fromSize( @@ -318,43 +349,54 @@ class _ProductPictureWithImageProvider extends StatelessWidget { ), ); - if (showOutdated && outdated) { - return Semantics( - label: appLocalizations - .product_page_image_front_outdated_message_accessibility_label, - image: true, - excludeSemantics: true, - child: Tooltip( - message: appLocalizations.product_page_image_front_outdated_message, - child: Stack( - children: [ - image, - Positioned.directional( - bottom: 2.0, - end: 2.0, - textDirection: Directionality.of(context), - child: DecoratedBox( - decoration: BoxDecoration( - color: Colors.white54, - borderRadius: borderRadius, - ), - child: const Padding( - padding: EdgeInsetsDirectional.only( - top: 4.5, - bottom: 5.5, - start: 5.0, - end: 5.0, - ), - child: icons.Outdated( - size: 15.0, - color: Color(0xFF616161), - ), - ), - ), + final Widget? iconOutdated = showOutdated && outdated + ? _OutdatedProductPictureIcon( + appLocalizations: appLocalizations, + borderRadius: borderRadius, + imageField: imageField, + ) + : null; + + final Widget? iconLocked = showOwner && locked + ? _LockedProductPictureIcon( + appLocalizations: appLocalizations, + borderRadius: borderRadius, + imageField: imageField, + ) + : null; + + Widget? icons; + if (iconOutdated == null) { + icons = iconLocked; + } else if (iconLocked == null) { + icons = iconOutdated; + } else { + icons = Column( + mainAxisSize: MainAxisSize.min, + children: [ + iconOutdated, + const SizedBox(height: SMALL_SPACE), + iconLocked, + ], + ); + } + + if (icons != null) { + return Stack( + children: [ + image, + Positioned.directional( + bottom: 2.0, + end: 2.0, + textDirection: Directionality.of(context), + child: IconTheme( + data: const IconThemeData( + color: Color(0xFF616161), ), - ], + child: icons, + ), ), - ), + ], ); } @@ -393,6 +435,107 @@ class _ProductPictureWithImageProvider extends StatelessWidget { } } +class _OutdatedProductPictureIcon extends StatelessWidget { + const _OutdatedProductPictureIcon({ + required this.appLocalizations, + required this.borderRadius, + this.imageField, + }); + + final ImageField? imageField; + final AppLocalizations appLocalizations; + final BorderRadius? borderRadius; + + @override + Widget build(BuildContext context) { + return _ProductPictureIcon( + semanticsLabel: + appLocalizations.product_image_outdated_message_accessibility_label( + imageField?.getPictureAccessibilityLabel(appLocalizations) ?? + appLocalizations.product_image_front_accessibility_label, + ), + icon: const icons.Outdated(size: 15.0), + padding: const EdgeInsetsDirectional.only( + top: 4.5, + bottom: 5.5, + start: 5.0, + end: 5.0, + ), + borderRadius: borderRadius, + ); + } +} + +class _LockedProductPictureIcon extends StatelessWidget { + const _LockedProductPictureIcon({ + required this.appLocalizations, + required this.borderRadius, + this.imageField, + }); + + final ImageField? imageField; + final AppLocalizations appLocalizations; + final BorderRadius? borderRadius; + + @override + Widget build(BuildContext context) { + return _ProductPictureIcon( + semanticsLabel: + appLocalizations.product_image_locked_message_accessibility_label( + imageField?.getPictureAccessibilityLabel(appLocalizations) ?? + appLocalizations.product_image_front_accessibility_label, + ), + icon: IconTheme.merge( + data: const IconThemeData(size: 16.0), + child: const OwnerFieldIcon(), + ), + padding: const EdgeInsetsDirectional.only( + top: 4.5, + bottom: 5.5, + start: 5.0, + end: 5.0, + ), + borderRadius: borderRadius, + ); + } +} + +class _ProductPictureIcon extends StatelessWidget { + const _ProductPictureIcon({ + required this.semanticsLabel, + required this.icon, + required this.padding, + this.borderRadius, + }); + + final String semanticsLabel; + final Widget icon; + final EdgeInsetsGeometry padding; + final BorderRadius? borderRadius; + + @override + Widget build(BuildContext context) { + return Semantics( + label: semanticsLabel, + image: true, + excludeSemantics: true, + child: Tooltip( + message: semanticsLabel, + child: DecoratedBox( + decoration: BoxDecoration( + color: Colors.white54, + borderRadius: borderRadius, + ), + child: Padding( + padding: padding, + child: icon, + ), + ), + ), + ); + } +} + class _ProductPictureAssetsSvg extends StatelessWidget { _ProductPictureAssetsSvg({ required this.asset, diff --git a/packages/smooth_app/lib/helpers/image_field_extension.dart b/packages/smooth_app/lib/helpers/image_field_extension.dart index 369933f0fd1..47132f4efd9 100644 --- a/packages/smooth_app/lib/helpers/image_field_extension.dart +++ b/packages/smooth_app/lib/helpers/image_field_extension.dart @@ -85,6 +85,22 @@ extension ImageFieldSmoothieExtension on ImageField { ImageField.OTHER => appLocalizations.take_more_photo_button_label, }; + String getPictureAccessibilityLabel( + final AppLocalizations appLocalizations, + ) => + switch (this) { + ImageField.FRONT => + appLocalizations.product_image_front_accessibility_label, + ImageField.INGREDIENTS => + appLocalizations.product_image_ingredients_accessibility_label, + ImageField.NUTRITION => + appLocalizations.product_image_nutrition_accessibility_label, + ImageField.PACKAGING => + appLocalizations.product_image_packaging_accessibility_label, + ImageField.OTHER => + appLocalizations.product_image_other_accessibility_label, + }; + Widget getPhotoButton( final BuildContext context, final Product product, diff --git a/packages/smooth_app/lib/l10n/app_aa.arb b/packages/smooth_app/lib/l10n/app_aa.arb index 0340b980c79..ec421e17662 100644 --- a/packages/smooth_app/lib/l10n/app_aa.arb +++ b/packages/smooth_app/lib/l10n/app_aa.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_af.arb b/packages/smooth_app/lib/l10n/app_af.arb index 994bc6ccf95..9ba5805992c 100644 --- a/packages/smooth_app/lib/l10n/app_af.arb +++ b/packages/smooth_app/lib/l10n/app_af.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ak.arb b/packages/smooth_app/lib/l10n/app_ak.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_ak.arb +++ b/packages/smooth_app/lib/l10n/app_ak.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_am.arb b/packages/smooth_app/lib/l10n/app_am.arb index 512f2afd0c6..e7390abac1a 100644 --- a/packages/smooth_app/lib/l10n/app_am.arb +++ b/packages/smooth_app/lib/l10n/app_am.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ar.arb b/packages/smooth_app/lib/l10n/app_ar.arb index 0886097db99..94890a60b97 100644 --- a/packages/smooth_app/lib/l10n/app_ar.arb +++ b/packages/smooth_app/lib/l10n/app_ar.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "القيمة", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "يتعذر جلب معلمومات حول هذا المنتج بسبب خطأ في الشبكة.", "cached_results_from": "إظهار النتائج من:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "الصورة الأمامية", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "الصورة الأمامية", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "صورة للقائمة المكونات", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_as.arb b/packages/smooth_app/lib/l10n/app_as.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_as.arb +++ b/packages/smooth_app/lib/l10n/app_as.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_az.arb b/packages/smooth_app/lib/l10n/app_az.arb index 4a42653d980..a60ba6e7309 100644 --- a/packages/smooth_app/lib/l10n/app_az.arb +++ b/packages/smooth_app/lib/l10n/app_az.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_be.arb b/packages/smooth_app/lib/l10n/app_be.arb index 77f53335538..cd1a26f6524 100644 --- a/packages/smooth_app/lib/l10n/app_be.arb +++ b/packages/smooth_app/lib/l10n/app_be.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Немагчыма атрымаць інфармацыю аб гэтым прадукце з-за памылкі сеткі.", "cached_results_from": "Паказаць вынікі за:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Кампаненты ўпакоўкі", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Здымак спераду", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Здымак спераду", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Здымак інгрэдыентаў", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_bg.arb b/packages/smooth_app/lib/l10n/app_bg.arb index 45c5a438e59..c096c6842a7 100644 --- a/packages/smooth_app/lib/l10n/app_bg.arb +++ b/packages/smooth_app/lib/l10n/app_bg.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Стойност", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Невъзможно е да се извлече информация за този продукт поради грешка в мрежата.", "cached_results_from": "Кеширани резултати от:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Части на опаковката", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Предна снимка", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Предна снимка", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Снимка на съставките", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_bm.arb b/packages/smooth_app/lib/l10n/app_bm.arb index 40d6c296c5f..df06cf34647 100644 --- a/packages/smooth_app/lib/l10n/app_bm.arb +++ b/packages/smooth_app/lib/l10n/app_bm.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_bn.arb b/packages/smooth_app/lib/l10n/app_bn.arb index 4cd0f888875..eabed0379fd 100644 --- a/packages/smooth_app/lib/l10n/app_bn.arb +++ b/packages/smooth_app/lib/l10n/app_bn.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_bo.arb b/packages/smooth_app/lib/l10n/app_bo.arb index f9c42d074da..968b623d8fd 100644 --- a/packages/smooth_app/lib/l10n/app_bo.arb +++ b/packages/smooth_app/lib/l10n/app_bo.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_br.arb b/packages/smooth_app/lib/l10n/app_br.arb index 13652d55b02..6de767e4d62 100644 --- a/packages/smooth_app/lib/l10n/app_br.arb +++ b/packages/smooth_app/lib/l10n/app_br.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Talvoudegezh", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Skeudenn an aozennoù", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_bs.arb b/packages/smooth_app/lib/l10n/app_bs.arb index 521d7d9d165..13f80b0943e 100644 --- a/packages/smooth_app/lib/l10n/app_bs.arb +++ b/packages/smooth_app/lib/l10n/app_bs.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Vrijednost", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ca.arb b/packages/smooth_app/lib/l10n/app_ca.arb index bcdd2b2099f..746f7bd0711 100644 --- a/packages/smooth_app/lib/l10n/app_ca.arb +++ b/packages/smooth_app/lib/l10n/app_ca.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Valor", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "No es pot obtenir informació sobre aquest producte a causa d'un error de xarxa.", "cached_results_from": "Mostra resultats de:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Components d'embalatge", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Imatge frontal", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Imatge frontal", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Imatge dels ingredients", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ce.arb b/packages/smooth_app/lib/l10n/app_ce.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_ce.arb +++ b/packages/smooth_app/lib/l10n/app_ce.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_co.arb b/packages/smooth_app/lib/l10n/app_co.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_co.arb +++ b/packages/smooth_app/lib/l10n/app_co.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_cs.arb b/packages/smooth_app/lib/l10n/app_cs.arb index 5465284dde6..10c65069b59 100644 --- a/packages/smooth_app/lib/l10n/app_cs.arb +++ b/packages/smooth_app/lib/l10n/app_cs.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Štítky produktu", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "Nebyly nalezeny žádné štítky. Śtítky lze použít pro lepší seskupení podobných produktů. Klepnutím přidáte.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Přidat štítek", - "edit_tag": "Upravit štítek", - "remove_tag": "Odebrat štítek", - "tag_key": "Klíč", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Hodnota", - "invalid_key_format": "Neplatný formát klíče. Musí být malá písmena a žádné mezery.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Nelze načíst informace o tomto produktu kvůli chybě sítě.", "cached_results_from": "Zobrazit výsledky z:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Součásti obalu", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Přední obrázek", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Přední obrázek", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "Tento obrázek může být zastaralý", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Obrázek seznamu složek", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Přední obrázek (tento obrázek může být zastaralý)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Obrázek nelze načíst!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Nelze načíst přední obrázek (chyba sítě?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "Žádný obrázek!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_cv.arb b/packages/smooth_app/lib/l10n/app_cv.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_cv.arb +++ b/packages/smooth_app/lib/l10n/app_cv.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_cy.arb b/packages/smooth_app/lib/l10n/app_cy.arb index 01be57059af..cde2db31b2c 100644 --- a/packages/smooth_app/lib/l10n/app_cy.arb +++ b/packages/smooth_app/lib/l10n/app_cy.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_da.arb b/packages/smooth_app/lib/l10n/app_da.arb index c053c533094..f09bc507b4b 100644 --- a/packages/smooth_app/lib/l10n/app_da.arb +++ b/packages/smooth_app/lib/l10n/app_da.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Værdi", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Ikke muligt at hente disse produktoplysninger grundet netværksfejl.", "cached_results_from": "Vis resultater fra:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Emballagekomponenter", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Forsidebillede", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Forsidebillede", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Bilde av ingredienser", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_de.arb b/packages/smooth_app/lib/l10n/app_de.arb index feb6bdf3e2d..c75d6f82d91 100644 --- a/packages/smooth_app/lib/l10n/app_de.arb +++ b/packages/smooth_app/lib/l10n/app_de.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Produkt-Schlagwörter", + "product_tags_title": "Produkteigenschaften", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "Keine Schlagwörter gefunden. Schlagwörter können verwendet werden, um ähnliche Produkte besser zu gruppieren. Zum Hinzufügen, bitte antippen.", + "no_product_tags_found_message": "Keine Produkteigenschaften gefunden. Eigenschaften können verwendet werden, um Produkte auf flexible Art und Weise detaillierter zu beschreiben. Antippen zum Hinzufügen.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Schlagwort hinzufügen", - "edit_tag": "Schlagwort bearbeiten", - "remove_tag": "Schlagwort entfernen", - "tag_key": "Schlüssel", + "add_tag": "Eigenschaft hinzufügen", + "edit_tag": "Eigenschaft bearbeiten", + "remove_tag": "Eigenschaft entfernen", + "tag_key": "Eigenschaft", "tag_value": "Wert", - "invalid_key_format": "Ungültiges Schlüsselformat. Nur Kleinbuchstaben erlaubt und darf keine Leerzeichen enthalten.", + "invalid_key_format": "Ungültiges Eigenschaftsformat. Nur in Kleinbuchstaben und ohne Leerzeichen.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Informationen über dieses Produkt können aufgrund eines Netzwerkfehlers nicht abgerufen werden.", "cached_results_from": "Ergebnisse anzeigen von:", @@ -1053,7 +1053,7 @@ "count": {} } }, - "multiselect_title": "{count,plural, one {}=0{Kein Produkt ausgewählt} =1{Ein Produkt ausgewählt} other{{count} Produkte ausgewählt}}", + "multiselect_title": "{count,plural, =0{Kein Produkt ausgewählt} =1{Ein Produkt ausgewählt} other{{count} Produkte ausgewählt}}", "@multiselect_title": { "description": "Page title with the number of selected items", "placeholders": { @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "Dieses Bild wird vom Hersteller zur Verfügung gestellt. Es kann möglicherweise nicht bearbeitet werden.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Verpackungsbestandteile", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Foto des Produkts (Vorderseite)", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Foto des Produkts (Vorderseite)", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "Dieses Bild ist möglicherweise veraltet", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Foto der Liste der Inhaltsstoffe", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Foto der Nährwertangaben", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Teile der Verpackung", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Vorderansicht (dieses Bild kann veraltet sein)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Bild konnte nicht geladen werden!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Die Vorderansicht konnte nicht geladen werden (Netzwerkfehler?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "Keine\nBild!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_el.arb b/packages/smooth_app/lib/l10n/app_el.arb index 3624e05dd50..48dad1faed1 100644 --- a/packages/smooth_app/lib/l10n/app_el.arb +++ b/packages/smooth_app/lib/l10n/app_el.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Η ανάκτηση πληροφοριών για αυτό το προϊόν ήταν αδύνατη λόγω σφάλματος δικτύου.", "cached_results_from": "Εμφάνιση αποτελεσμάτων από:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Φωτογραφία εμπρόσθιας επιφάνειας", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Φωτογραφία εμπρόσθιας επιφάνειας", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Φωτογραφία συστατικών", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_en.arb b/packages/smooth_app/lib/l10n/app_en.arb index 060b99d78fd..767b49e8717 100644 --- a/packages/smooth_app/lib/l10n/app_en.arb +++ b/packages/smooth_app/lib/l10n/app_en.arb @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { @@ -3363,7 +3402,6 @@ "photo_field_packaging": "Packaging information photo", "photo_already_exists": "This photo already exists", "photo_missing": "This photo is missing", - "date": "Date", "contribute_develop_dev_mode_title": "Dev Mode", "debugging_information": "Debugging Information", "background_task_title": "Background Task", @@ -3414,4 +3452,5 @@ "temporary_access_to_location_search": "Temporary Access to Location Search", "search_within_help_and_preferences": "Search within help & preferences…", "side_by_side_comparison": "Side by side comparison for 2 to 3 products" + "date": "Date" } diff --git a/packages/smooth_app/lib/l10n/app_eo.arb b/packages/smooth_app/lib/l10n/app_eo.arb index 5b4fda7644d..c55a34fdace 100644 --- a/packages/smooth_app/lib/l10n/app_eo.arb +++ b/packages/smooth_app/lib/l10n/app_eo.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Bildo de ingrediencoj", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_es.arb b/packages/smooth_app/lib/l10n/app_es.arb index 7033bd2023b..6638d53e6a0 100644 --- a/packages/smooth_app/lib/l10n/app_es.arb +++ b/packages/smooth_app/lib/l10n/app_es.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Valor", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Imposible obtener información sobre este producto debido a un error de red.", "cached_results_from": "Mostrar resultados de:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Componentes del envase", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Imagen frontal del producto", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Imagen frontal del producto", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Imagen de los ingredientes del producto", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_et.arb b/packages/smooth_app/lib/l10n/app_et.arb index a029c6d2449..1cb768c783e 100644 --- a/packages/smooth_app/lib/l10n/app_et.arb +++ b/packages/smooth_app/lib/l10n/app_et.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Väärtus", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_eu.arb b/packages/smooth_app/lib/l10n/app_eu.arb index 9614ad50bda..bb8e5dd269c 100644 --- a/packages/smooth_app/lib/l10n/app_eu.arb +++ b/packages/smooth_app/lib/l10n/app_eu.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Balioa", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Aurrealdeko argazkia", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Aurrealdeko argazkia", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Osagaiaren argazkia", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_fa.arb b/packages/smooth_app/lib/l10n/app_fa.arb index dfe81beb69f..5b9220b69e2 100644 --- a/packages/smooth_app/lib/l10n/app_fa.arb +++ b/packages/smooth_app/lib/l10n/app_fa.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_fi.arb b/packages/smooth_app/lib/l10n/app_fi.arb index 6502e7f2154..52b41a0f9ed 100644 --- a/packages/smooth_app/lib/l10n/app_fi.arb +++ b/packages/smooth_app/lib/l10n/app_fi.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Arvo", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Tietojen lataus epäonnistui verkkovirheen vuoksi.", "cached_results_from": "Näytä tulokset ajalta:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Pakkauskomponentit", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Etukuva", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Etukuva", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Kuva ainesosaluettelosta", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_fo.arb b/packages/smooth_app/lib/l10n/app_fo.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_fo.arb +++ b/packages/smooth_app/lib/l10n/app_fo.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_fr.arb b/packages/smooth_app/lib/l10n/app_fr.arb index 0dd5f2084ee..9882c056b0b 100644 --- a/packages/smooth_app/lib/l10n/app_fr.arb +++ b/packages/smooth_app/lib/l10n/app_fr.arb @@ -749,7 +749,7 @@ "nutrition_page_invalid_number": "Nombre invalide", "nutrition_page_update_running": "Mise à jour du produit sur le serveur...", "nutrition_page_update_done": "Produit mis à jour !", - "nutrition_page_take_serving_size_from_product_quantity": "Use the product quantity as serving size", + "nutrition_page_take_serving_size_from_product_quantity": "Utilisez la quantité de produit comme taille de portion", "@nutrition_page_take_serving_size_from_product_quantity": { "description": "Button label: Use the product quantity as serving size (nutrition page)" }, @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Mots clés du produit", + "product_tags_title": "Propriétés du produit", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "Aucune étiquette trouvée. Les étiquettes peuvent être utilisées pour mieux regrouper des produits similaires. Appuyez pour ajouter.", + "no_product_tags_found_message": "Aucune propriété de produit trouvée. Les propriétés peuvent être utilisées pour décrire les produits de manière plus détaillée et flexible. Appuyez pour ajouter.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Ajouter une étiquette", - "edit_tag": "Modifier l'étiquette", - "remove_tag": "Supprimer l'étiquette", - "tag_key": "Clé", + "add_tag": "Ajouter une propriété", + "edit_tag": "Modifier la propriété", + "remove_tag": "Supprimer la propriété", + "tag_key": "Propriété", "tag_value": "Valeur", - "invalid_key_format": "Format de clé non valide. Doit être en minuscules et sans espaces.", + "invalid_key_format": "Format de propriété non valide. Il doit être en minuscules et sans aucun espace.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible de récupérer les informations sur ce produit en raison d'une erreur réseau.", "cached_results_from": "Résultats mis en cache depuis :", @@ -974,7 +974,7 @@ "@native_app_settings": { "description": "Native App Settings in app settings" }, - "native_app_description": "Open system settings for Open Food Facts", + "native_app_description": "Ouvrir les paramètres systèmes pour Open Food Facts", "@native_app_description": { "description": "Native App description in app settings" }, @@ -1053,7 +1053,7 @@ "count": {} } }, - "multiselect_title": "{count,plural, one {}=0{Aucun produit sélectionné} =1{Un produit sélectionné} other{{count} produits sélectionnés}}", + "multiselect_title": "{count,plural, =0{Aucun produit sélectionné} =1{Un produit sélectionné} other{{count} produits sélectionnés}}", "@multiselect_title": { "description": "Page title with the number of selected items", "placeholders": { @@ -1885,7 +1885,7 @@ "prices_app_dev_mode_flag": "Raccourci vers l'application Prix sur la page produit", "prices_app_button": "Accéder à l'application Prix", "prices_generic_title": "Prix", - "prices_add_n_prices": "{count,plural, one {}=1{Ajouter un prix} other{Ajouter {count} prix}}", + "prices_add_n_prices": "{count,plural, =1{Ajouter un prix} other{Ajouter {count} prix}}", "prices_send_n_prices": "{count,plural, =1{Envoyer le prix} other{Envoyer {count} prix}}", "prices_add_an_item": "Ajouter un article", "prices_add_a_price": "Ajouter un prix", @@ -1914,7 +1914,7 @@ "prices_barcode_enter": "Saisie du code-barres", "prices_barcode_reader_action": "Lecteur de code-barres", "prices_view_prices": "Voir les prix", - "prices_product_accessibility_summary": "{count,plural, one {}=1{1 prix} other{{count} prix}} pour {product}", + "prices_product_accessibility_summary": "{count,plural, =1{1 prix} other{{count} prix}} pour {product}", "@prices_product_accessibility_summary": { "description": "A card summarizing the number of prices for a product", "placeholders": { @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "Cette image est fournie par le producteur. Elle peut ne pas être éditable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Composants d'emballage", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Photo du produit (recto)", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Photo du produit (recto)", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "Cette image peut être obsolète", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Photo de la liste des ingrédients", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Photo de la nutrition", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Photo de l'emballage", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Autres photos", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "Cette image peut être obsolète", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Image frontale (cette image peut être obsolète)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (cette image peut être obsolète)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Impossible de charger l'image !", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (cette image peut être verrouillée par le producteur)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Impossible de charger la photo !", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Impossible de charger l'image frontale (erreur réseau ?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Impossible de charger le {type} (erreur réseau ?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "Pas \nd'image !", "@product_page_image_no_image_available": { @@ -3277,11 +3316,11 @@ "@product_page_action_bar_item_disable": { "description": "Accessibility label to disable action (= make it invisible)" }, - "product_page_pending_operations_banner_title": "Uploading your edits…", + "product_page_pending_operations_banner_title": "Téléversement de vos modifications…", "@product_page_pending_operations_banner_title": { "description": "When a product has pending edits (being sent to the server), there is a message on the product page (here is the title of the message)." }, - "product_page_pending_operations_banner_message": "The data displayed on this page **does not yet reflect your modifications**.\nPlease wait a few seconds…", + "product_page_pending_operations_banner_message": "Les données affichées sur cette page **ne reflètent pas encore vos modifications**.\nVeuillez patienter quelques secondes…", "@product_page_pending_operations_banner_message": { "description": "When a product has pending edits (being sent to the server), there is a message on the product page. Please keep the ** syntax to make the text bold." }, diff --git a/packages/smooth_app/lib/l10n/app_ga.arb b/packages/smooth_app/lib/l10n/app_ga.arb index 3584c462097..c2d8955bdd7 100644 --- a/packages/smooth_app/lib/l10n/app_ga.arb +++ b/packages/smooth_app/lib/l10n/app_ga.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_gd.arb b/packages/smooth_app/lib/l10n/app_gd.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_gd.arb +++ b/packages/smooth_app/lib/l10n/app_gd.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_gl.arb b/packages/smooth_app/lib/l10n/app_gl.arb index 0bca3648ba2..dd48b229cc7 100644 --- a/packages/smooth_app/lib/l10n/app_gl.arb +++ b/packages/smooth_app/lib/l10n/app_gl.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Valor", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Imaxe dos ingredientes", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_gu.arb b/packages/smooth_app/lib/l10n/app_gu.arb index fe759c33a72..0aff0b118ff 100644 --- a/packages/smooth_app/lib/l10n/app_gu.arb +++ b/packages/smooth_app/lib/l10n/app_gu.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ha.arb b/packages/smooth_app/lib/l10n/app_ha.arb index 05649c66fb3..c69222b2307 100644 --- a/packages/smooth_app/lib/l10n/app_ha.arb +++ b/packages/smooth_app/lib/l10n/app_ha.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_he.arb b/packages/smooth_app/lib/l10n/app_he.arb index cc30fb5709f..86a3a525937 100644 --- a/packages/smooth_app/lib/l10n/app_he.arb +++ b/packages/smooth_app/lib/l10n/app_he.arb @@ -749,7 +749,7 @@ "nutrition_page_invalid_number": "מספר שגוי", "nutrition_page_update_running": "המוצר מתעדכן בשרת…", "nutrition_page_update_done": "המוצר עודכן!", - "nutrition_page_take_serving_size_from_product_quantity": "Use the product quantity as serving size", + "nutrition_page_take_serving_size_from_product_quantity": "להשתמש בכמות המוצר כגודל מנה", "@nutrition_page_take_serving_size_from_product_quantity": { "description": "Button label: Use the product quantity as serving size (nutrition page)" }, @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "תגיות מוצרים", + "product_tags_title": "מאפייני מוצר", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "לא נמצאו תגיות. אפשר להשתמש בתגיות כדי לקבץ בצורה נוחה יותר מוצרים דומים. נגיעה להוספה.", + "no_product_tags_found_message": "לא נמצאו מאפיינים מוצר. אפשר להשתמש במאפיינים כדי לתאר את המוצרים בפירוט נוסף, בצורה גמישה. לחיצה להוספה.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "הוספת תגית", - "edit_tag": "עריכת תגית", - "remove_tag": "הסרת תגית", - "tag_key": "מפתח", + "add_tag": "הוספת מאפיין", + "edit_tag": "עריכת מאפיין", + "remove_tag": "הסרת מאפיין", + "tag_key": "מאפיין", "tag_value": "ערך", - "invalid_key_format": "תסדיר המפתח שגוי. חייב להיות באותיות קטנות ובלי רווחים.", + "invalid_key_format": "תבנית המאפיין שגויה. היא חייבת להיות באותיות קטנות באנגלית וללא רווחים.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "לא ניתן למשוך מידע על המוצר הזה עקב שגיאת רשת.", "cached_results_from": "להציג תוצאות מ־:", @@ -1053,7 +1053,7 @@ "count": {} } }, - "multiselect_title": "{count,plural, one {} two {{count} מוצרים נבחרו} many {{count} מוצרים נבחרו}=0{לא נבחרו מוצרים} =1{נבחר מוצר} other{{count} מוצרים נבחרו}}", + "multiselect_title": "{count,plural, two {{count} מוצרים נבחרו} many {{count} מוצרים נבחרו}=0{לא נבחרו מוצרים} =1{נבחר מוצר} other{{count} מוצרים נבחרו}}", "@multiselect_title": { "description": "Page title with the number of selected items", "placeholders": { @@ -1885,7 +1885,7 @@ "prices_app_dev_mode_flag": "קיצור דרך ליישומון מחירים בעמוד המוצר", "prices_app_button": "מעבר ליישומון המחירים", "prices_generic_title": "מחירים", - "prices_add_n_prices": "{count,plural, one {} two {הוספת {count} מחירים} many {הוספת {count} מחירים}=1{הוספת מחיר} other{הוספת {count} מחירים}}", + "prices_add_n_prices": "{count,plural, two {הוספת {count} מחירים} many {הוספת {count} מחירים}=1{הוספת מחיר} other{הוספת {count} מחירים}}", "prices_send_n_prices": "{count,plural, two {שליחת {count} מחירים} many {שליחת {count} מחירים}=1{שליחת מחיר {count}} other{שליחת {count} מחירים}}", "prices_add_an_item": "הוספת פריט", "prices_add_a_price": "הוספת מחיר", @@ -1978,7 +1978,7 @@ "@prices_open_proof": { "description": "Button to open a proof" }, - "prices_proofs_list_length_one_page": "{count,plural, one {} two {כל {count} ההוכחות} many {כל {count} ההוכחות}=0{אין הוכחות עדיין} =1{הוכחה אחת בלבד} other{כל {count} ההוכחות}}", + "prices_proofs_list_length_one_page": "{count,plural, two {כל {count} ההוכחות} many {כל {count} ההוכחות}=0{אין הוכחות עדיין} =1{הוכחה אחת בלבד} other{כל {count} ההוכחות}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", "placeholders": { @@ -2677,10 +2677,14 @@ "@owner_field_info_message": { "description": "Title of the 'producer provided' info list-tile" }, - "owner_field_info_close_button": "Close this info", + "owner_field_info_close_button": "לסגור את הפרטים האלה", "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "רכיבי אריזה", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "תמונה קדמית", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "תמונה קדמית", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "יכול להיות שהתמונה הזאת לא עדכנית", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "תמונת הרכיבים", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "תמונת חזית (יכול להיות שזאת לא תמונה עדכנית)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "לא ניתן לטעון את התמונה!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "לא ניתן לטעון את תמונת החזית (שגיאת רשת?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "אין תמונה!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_hi.arb b/packages/smooth_app/lib/l10n/app_hi.arb index 4d5148dd404..65944ebc2ed 100644 --- a/packages/smooth_app/lib/l10n/app_hi.arb +++ b/packages/smooth_app/lib/l10n/app_hi.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "मूल्य", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_hr.arb b/packages/smooth_app/lib/l10n/app_hr.arb index f49438b6cbd..1ebe2f20fd1 100644 --- a/packages/smooth_app/lib/l10n/app_hr.arb +++ b/packages/smooth_app/lib/l10n/app_hr.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Prednja slika", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Prednja slika", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Slika sastojaka", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ht.arb b/packages/smooth_app/lib/l10n/app_ht.arb index fa7382ec4d8..6f910ea5130 100644 --- a/packages/smooth_app/lib/l10n/app_ht.arb +++ b/packages/smooth_app/lib/l10n/app_ht.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Valè", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_hu.arb b/packages/smooth_app/lib/l10n/app_hu.arb index 7099d6428b0..275b4d2758f 100644 --- a/packages/smooth_app/lib/l10n/app_hu.arb +++ b/packages/smooth_app/lib/l10n/app_hu.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Termék címkéi", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "Nem találhatók címkék. A címkék segítségével könnyebb csoportosítani a hasonló termékeket. Koppintson a hozzáadáshoz.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Új címke", - "edit_tag": "Címke szerkesztése", - "remove_tag": "Címke eltávolítása", - "tag_key": "Kulcs", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Érték", - "invalid_key_format": "Kulcs formátum érvénytelen. Kisbetűsnek kell lennie, szóközök nélkül.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Hálózati hiba miatt nem lehet információkat lekérni erről a termékről.", "cached_results_from": "Ekkori eredmények megjelenítése:", @@ -1018,42 +1018,42 @@ "count": {} } }, - "plural_ago_hours": "{count,plural, one {}=1{órája} other{{count} órája}}", + "plural_ago_hours": "{count,plural, =1{órája} other{{count} órája}}", "@plural_ago_hours": { "description": "Cached results from: x hours ago", "placeholders": { "count": {} } }, - "plural_ago_minutes": "{count,plural, one {}=0{kevesebb mint egy perce} =1{one minute ago} other{{count} perce}}", + "plural_ago_minutes": "{count,plural, =0{kevesebb mint egy perce} =1{one minute ago} other{{count} perce}}", "@plural_ago_minutes": { "description": "Cached results from: x minutes ago", "placeholders": { "count": {} } }, - "plural_ago_months": "{count,plural, one {}=1{egy hónapja} other{{count} hónapja}}", + "plural_ago_months": "{count,plural, =1{egy hónapja} other{{count} hónapja}}", "@plural_ago_months": { "description": "Cached results from: x months ago", "placeholders": { "count": {} } }, - "plural_ago_weeks": "{count,plural, one {}=1{egy hete} other{{count} hete}}", + "plural_ago_weeks": "{count,plural, =1{egy hete} other{{count} hete}}", "@plural_ago_weeks": { "description": "Cached results from: x weeks ago", "placeholders": { "count": {} } }, - "plural_compare_x_products": "{count,plural, one {}=1{Egy termék összehasonlítása} other{{count} termék összehasonlítása}}", + "plural_compare_x_products": "{count,plural,=1{Egy termék összehasonlítása} other{{count} termék összehasonlítása}}", "@plural_compare_x_products": { "description": "Button label to open a page to compare all selected products to each other", "placeholders": { "count": {} } }, - "multiselect_title": "{count,plural, one {}=0{Nincs kiválasztott termék} =1{Egy kiválasztott termék} other{{count} kiválasztott termék}}", + "multiselect_title": "{count,plural,=0{Nincs kiválasztott termék} =1{Egy kiválasztott termék} other{{count} kiválasztott termék}}", "@multiselect_title": { "description": "Page title with the number of selected items", "placeholders": { @@ -1254,7 +1254,7 @@ "count": {} } }, - "product_list_reloading_success_multiple": "{count,plural, one {}=0{A termék} =1{A termék} other{A termékek}} frissítése befejeződött", + "product_list_reloading_success_multiple": "{count,plural, =0{A termék} =1{A termék} other{A termékek}} frissítése befejeződött", "@product_list_reloading_success_multiple": { "description": "Message to show once previous scanned items are loaded", "placeholders": { @@ -1885,8 +1885,8 @@ "prices_app_dev_mode_flag": "Árak alkalmazásra mutató gomb a termékoldalon", "prices_app_button": "Tovább az Árak appba", "prices_generic_title": "Prices", - "prices_add_n_prices": "{count,plural, one {}=1{Ár hozzáadása} other{{count} ár hozzáadása}}", - "prices_send_n_prices": "{count,plural, one {}=1{Ár beküldése} other{{count} ár beküldése}}", + "prices_add_n_prices": "{count,plural, =1{Ár hozzáadása} other{{count} ár hozzáadása}}", + "prices_send_n_prices": "{count,plural,=1{Ár beküldése} other{{count} ár beküldése}}", "prices_add_an_item": "Tétel hozzáadása", "prices_add_a_price": "Add a price", "prices_add_a_receipt": "Nyugta hozzáadása", @@ -1914,7 +1914,7 @@ "prices_barcode_enter": "Vonalkód beírása", "prices_barcode_reader_action": "Vonalkódolvasó", "prices_view_prices": "Árak megtekintése", - "prices_product_accessibility_summary": "{count,plural, one {}=1{1 ár} other{{count} ár}} ehhez: {product}", + "prices_product_accessibility_summary": "{count,plural,=1{1 ár} other{{count} ár}} ehhez: {product}", "@prices_product_accessibility_summary": { "description": "A card summarizing the number of prices for a product", "placeholders": { @@ -1926,7 +1926,7 @@ } } }, - "prices_list_length_one_page": "{count,plural, one {}=0{Még nincs ár} =1{Csak egy ár} other{{count} ár}}", + "prices_list_length_one_page": "{count,plural,=0{Még nincs ár} =1{Csak egy ár} other{{count} ár}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", "placeholders": { @@ -1978,7 +1978,7 @@ "@prices_open_proof": { "description": "Button to open a proof" }, - "prices_proofs_list_length_one_page": "{count,plural, one {}=0{Még nincs igazolás} =1{Csak egy igazolás} other{{count} igazolás}}", + "prices_proofs_list_length_one_page": "{count,plural,=0{Még nincs igazolás} =1{Csak egy igazolás} other{{count} igazolás}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", "placeholders": { @@ -2323,7 +2323,7 @@ "@product_list_select": { "description": "Top title for the selection of a list" }, - "user_list_length": "{count,plural, one {}=0{Üres lista} =1{Egy termék} other{{count} termék}}", + "user_list_length": "{count,plural, =0{Üres lista} =1{Egy termék} other{{count} termék}}", "@user_list_length": { "description": "Length of a user product list", "placeholders": { @@ -2650,7 +2650,7 @@ "@robotoff_continue": { "description": "Shown when robotoff question are all answered and user wants to continue answering" }, - "robotoff_next_n_questions": "Következő {count,plural, one {}=1{kérdés} other{{count} kérdés}}", + "robotoff_next_n_questions": "Következő {count,plural, =1{kérdés} other{{count} kérdés}}", "@robotoff_next_n_questions": { "description": "Shown when robotoff question are all answered and user wants to continue answering", "placeholders": { @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Csomagolás elemei", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Elülső oldal képe", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Elülső oldal képe", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "Ez a kép elavult lehet", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Összetevők listájának képe", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Elülső kép (ez a kép elavult lehet)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Nem sikerült betölteni a képet!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Nem sikerült betölteni az elülső képet (hálózati hiba?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "Nincs\nkép!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_hy.arb b/packages/smooth_app/lib/l10n/app_hy.arb index 6b7cc308fc3..60b9eec8913 100644 --- a/packages/smooth_app/lib/l10n/app_hy.arb +++ b/packages/smooth_app/lib/l10n/app_hy.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_id.arb b/packages/smooth_app/lib/l10n/app_id.arb index 79c68d08ec2..2867792a6cf 100644 --- a/packages/smooth_app/lib/l10n/app_id.arb +++ b/packages/smooth_app/lib/l10n/app_id.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Nilai", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Pengambilan informasi tentang produk ini gagal karena kesalahan jaringan.", "cached_results_from": "Menampilkan hasil dari:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Komponen pengemasan", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Gambar depan", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Gambar depan", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Gambar kandungan bahan", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ii.arb b/packages/smooth_app/lib/l10n/app_ii.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_ii.arb +++ b/packages/smooth_app/lib/l10n/app_ii.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_is.arb b/packages/smooth_app/lib/l10n/app_is.arb index 2e170b50ebd..e5ab30621f2 100644 --- a/packages/smooth_app/lib/l10n/app_is.arb +++ b/packages/smooth_app/lib/l10n/app_is.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_it.arb b/packages/smooth_app/lib/l10n/app_it.arb index a610cf8687e..ee3c52239a7 100644 --- a/packages/smooth_app/lib/l10n/app_it.arb +++ b/packages/smooth_app/lib/l10n/app_it.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Valore", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossibile recuperare le informazioni su questo prodotto a causa di un errore di rete.", "cached_results_from": "Mostra i risultati da:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Componenti dell'imballaggio", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Immagine frontale", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Immagine frontale", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Immagine della lista degli ingredienti", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_iu.arb b/packages/smooth_app/lib/l10n/app_iu.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_iu.arb +++ b/packages/smooth_app/lib/l10n/app_iu.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ja.arb b/packages/smooth_app/lib/l10n/app_ja.arb index c093003d6eb..d1109a4e5ef 100644 --- a/packages/smooth_app/lib/l10n/app_ja.arb +++ b/packages/smooth_app/lib/l10n/app_ja.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "値:", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "ネットワークエラーのため、この製品に関する情報を取得できません。", "cached_results_from": "結果の最終更新:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "パッケージの要素", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "前面の画像", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "前面の画像", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "成分のリストの写真", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_jv.arb b/packages/smooth_app/lib/l10n/app_jv.arb index 46f16786e6c..f6ad5ca3398 100644 --- a/packages/smooth_app/lib/l10n/app_jv.arb +++ b/packages/smooth_app/lib/l10n/app_jv.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ka.arb b/packages/smooth_app/lib/l10n/app_ka.arb index b1b4b3adfcd..5279c7def87 100644 --- a/packages/smooth_app/lib/l10n/app_ka.arb +++ b/packages/smooth_app/lib/l10n/app_ka.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_kk.arb b/packages/smooth_app/lib/l10n/app_kk.arb index cbe8c6161a7..644a6a26b6f 100644 --- a/packages/smooth_app/lib/l10n/app_kk.arb +++ b/packages/smooth_app/lib/l10n/app_kk.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_km.arb b/packages/smooth_app/lib/l10n/app_km.arb index 63709e036c2..4e5db1e68d4 100644 --- a/packages/smooth_app/lib/l10n/app_km.arb +++ b/packages/smooth_app/lib/l10n/app_km.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_kn.arb b/packages/smooth_app/lib/l10n/app_kn.arb index 203db32278f..6ef7ee9c5cb 100644 --- a/packages/smooth_app/lib/l10n/app_kn.arb +++ b/packages/smooth_app/lib/l10n/app_kn.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ko.arb b/packages/smooth_app/lib/l10n/app_ko.arb index fa6d1052fc6..a47576062e9 100644 --- a/packages/smooth_app/lib/l10n/app_ko.arb +++ b/packages/smooth_app/lib/l10n/app_ko.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "값", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "네트워크 오류로 인해 이 제품에 대한 정보를 가져올 수 없습니다.", "cached_results_from": "결과 보기:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "전면 사진", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "전면 사진", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "성분 목록의 그림", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ku.arb b/packages/smooth_app/lib/l10n/app_ku.arb index 184c5a290f6..b2bfcbfc100 100644 --- a/packages/smooth_app/lib/l10n/app_ku.arb +++ b/packages/smooth_app/lib/l10n/app_ku.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_kw.arb b/packages/smooth_app/lib/l10n/app_kw.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_kw.arb +++ b/packages/smooth_app/lib/l10n/app_kw.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ky.arb b/packages/smooth_app/lib/l10n/app_ky.arb index 98ee1e82492..bdb172b2733 100644 --- a/packages/smooth_app/lib/l10n/app_ky.arb +++ b/packages/smooth_app/lib/l10n/app_ky.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Мааниси", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_la.arb b/packages/smooth_app/lib/l10n/app_la.arb index a38fcdbc921..802f3081c90 100644 --- a/packages/smooth_app/lib/l10n/app_la.arb +++ b/packages/smooth_app/lib/l10n/app_la.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_lb.arb b/packages/smooth_app/lib/l10n/app_lb.arb index 462f0102bdc..0b33fba3d53 100644 --- a/packages/smooth_app/lib/l10n/app_lb.arb +++ b/packages/smooth_app/lib/l10n/app_lb.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Valeur", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Produktfoto op der viischter Säit", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Produktfoto op der viischter Säit", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Foto vun den Inhaltsstoffer", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_lo.arb b/packages/smooth_app/lib/l10n/app_lo.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_lo.arb +++ b/packages/smooth_app/lib/l10n/app_lo.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_lt.arb b/packages/smooth_app/lib/l10n/app_lt.arb index db31a1f0afd..c65d8f79d3d 100644 --- a/packages/smooth_app/lib/l10n/app_lt.arb +++ b/packages/smooth_app/lib/l10n/app_lt.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Produktų žymės", + "product_tags_title": "Produkto savybės", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "Nerasta jokių žymių. Žymes galima naudoti panašies produktams geriau sugrupuoti. Bakstelėkite, kad pridėtumėte.", + "no_product_tags_found_message": "Produkto savybių nerasta. Savybes galima naudoti produktams išsamiau ir ankstesniu būdu aprašyti. Bakstelėkite, kad pridėtumėte.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Pridėti žymę", - "edit_tag": "Redaguoti žymę", - "remove_tag": "Šalinti žymę", - "tag_key": "Raktas", + "add_tag": "Pridėti savybę", + "edit_tag": "Redaguoti savybę", + "remove_tag": "Šalinti savybę", + "tag_key": "Savybė", "tag_value": "Vertė", - "invalid_key_format": "Neteisingas rakto formatas. Turi būti mažosios raidės ir be tarpų.", + "invalid_key_format": "Neteisingas savybės formatas. Turi būti mažosios raidės ir be tarpų.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Neįmanoma gauti informacijos apie šį gaminį dėl tinklo klaidos.", "cached_results_from": "Rodyti rezultatus iš:", @@ -2469,8 +2469,8 @@ "description": "Label for expanding nutrition facts table in application setting" }, "expand_ingredients_body": "Laikyti sudedamųjų dalių skydelį išplėstą", - "search_product_filter_visibility_title": "Show a filter in the search", - "search_product_filter_visibility_subtitle": "Select search site: Open Food Facts, Open Beauty Facts, Open Pet Food Facts or Open Products Facts", + "search_product_filter_visibility_title": "Rodyti filtrą paieškoje", + "search_product_filter_visibility_subtitle": "Pasirinkti paieškos svetainę: „Open Food Facts“, „Open Beauty Facts“, „Open Pet Food Facts“ arba „Open Products Facts“", "@search_product_filter_visibility_subtitle": { "description": "Label for showing the product type filter in the search bar" }, @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Pakuotės komponentai", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Priekinė nuotrauka", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Priekinė nuotrauka", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Sudėties nuotrauka", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { @@ -3277,11 +3316,11 @@ "@product_page_action_bar_item_disable": { "description": "Accessibility label to disable action (= make it invisible)" }, - "product_page_pending_operations_banner_title": "Uploading your edits…", + "product_page_pending_operations_banner_title": "Įkeliamos jūsų redakcijos…", "@product_page_pending_operations_banner_title": { "description": "When a product has pending edits (being sent to the server), there is a message on the product page (here is the title of the message)." }, - "product_page_pending_operations_banner_message": "The data displayed on this page **does not yet reflect your modifications**.\nPlease wait a few seconds…", + "product_page_pending_operations_banner_message": "Šiame puslapyje rodomi duomenys **dar neatspindi jūsų modifikacijų**.\nPalaukite kelias sekundes…", "@product_page_pending_operations_banner_message": { "description": "When a product has pending edits (being sent to the server), there is a message on the product page. Please keep the ** syntax to make the text bold." }, diff --git a/packages/smooth_app/lib/l10n/app_lv.arb b/packages/smooth_app/lib/l10n/app_lv.arb index 6c1ff9a4f10..de0eb7814fe 100644 --- a/packages/smooth_app/lib/l10n/app_lv.arb +++ b/packages/smooth_app/lib/l10n/app_lv.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_mg.arb b/packages/smooth_app/lib/l10n/app_mg.arb index 19585653276..aaaa33fccc7 100644 --- a/packages/smooth_app/lib/l10n/app_mg.arb +++ b/packages/smooth_app/lib/l10n/app_mg.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Sandany", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_mi.arb b/packages/smooth_app/lib/l10n/app_mi.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_mi.arb +++ b/packages/smooth_app/lib/l10n/app_mi.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ml.arb b/packages/smooth_app/lib/l10n/app_ml.arb index afeb9ef3bfd..d1740cd6a58 100644 --- a/packages/smooth_app/lib/l10n/app_ml.arb +++ b/packages/smooth_app/lib/l10n/app_ml.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_mn.arb b/packages/smooth_app/lib/l10n/app_mn.arb index d0071b408ec..d36507f07d9 100644 --- a/packages/smooth_app/lib/l10n/app_mn.arb +++ b/packages/smooth_app/lib/l10n/app_mn.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_mr.arb b/packages/smooth_app/lib/l10n/app_mr.arb index e2bf3b105f0..68525be39c7 100644 --- a/packages/smooth_app/lib/l10n/app_mr.arb +++ b/packages/smooth_app/lib/l10n/app_mr.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ms.arb b/packages/smooth_app/lib/l10n/app_ms.arb index ac7395cb4cc..20a74aed53a 100644 --- a/packages/smooth_app/lib/l10n/app_ms.arb +++ b/packages/smooth_app/lib/l10n/app_ms.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Nilai", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Gambar hadapan", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Gambar hadapan", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Gambar ramuan", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_mt.arb b/packages/smooth_app/lib/l10n/app_mt.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_mt.arb +++ b/packages/smooth_app/lib/l10n/app_mt.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_my.arb b/packages/smooth_app/lib/l10n/app_my.arb index 72fc6d7e93e..8fe06834a24 100644 --- a/packages/smooth_app/lib/l10n/app_my.arb +++ b/packages/smooth_app/lib/l10n/app_my.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_nb.arb b/packages/smooth_app/lib/l10n/app_nb.arb index ad9a2444556..20d1bb4aaf5 100644 --- a/packages/smooth_app/lib/l10n/app_nb.arb +++ b/packages/smooth_app/lib/l10n/app_nb.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Verdi", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Frontbilde", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Frontbilde", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Bilde av ingredienser", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ne.arb b/packages/smooth_app/lib/l10n/app_ne.arb index ad36cdc2d1f..14354799ddb 100644 --- a/packages/smooth_app/lib/l10n/app_ne.arb +++ b/packages/smooth_app/lib/l10n/app_ne.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_nl.arb b/packages/smooth_app/lib/l10n/app_nl.arb index f9056abbaba..2a1b3946f3a 100644 --- a/packages/smooth_app/lib/l10n/app_nl.arb +++ b/packages/smooth_app/lib/l10n/app_nl.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Productlabels", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "Geen labels gevonden. Labels kunnen worden gebruikt om vergelijkbare producten beter te groeperen. Tik om toe te voegen.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Label toevoegen", - "edit_tag": "Label bewerken", - "remove_tag": "Label verwijderen", - "tag_key": "Sleutel", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Waarde", - "invalid_key_format": "Ongeldige sleutelopmaak. Moet kleine letters zijn en geen spaties.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Onmogelijk om informatie over dit product op te halen vanwege een netwerkfout.", "cached_results_from": "Resultaten weergeven van:", @@ -1653,7 +1653,7 @@ "@user_list_button_new": { "description": "Short label of a 'create a new list' button" }, - "user_list_empty_label": "Er is nog geen lijst beschikbaar, maak er eerst een aan", + "user_list_empty_label": "Er is nog geen lijst beschikbaar!\nBegin met het maken van een lijst.", "@user_list_empty_label": { "description": "Content displayed when there is no list" }, @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Verpakkingsonderdelen", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Foto van het product (voorzijde)", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Foto van het product (voorzijde)", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "Deze afbeelding is mogelijk verouderd", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Foto van de ingrediëntenlijst", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Foto van de voorkant (deze afbeelding is mogelijk verouderd)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "De afbeelding kan niet worden geladen!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Kan afbeelding van de voorkant niet laden (netwerkfout?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "Geen\nafbeelding!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_nn.arb b/packages/smooth_app/lib/l10n/app_nn.arb index 91375964ac2..4ce797495d6 100644 --- a/packages/smooth_app/lib/l10n/app_nn.arb +++ b/packages/smooth_app/lib/l10n/app_nn.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_no.arb b/packages/smooth_app/lib/l10n/app_no.arb index 91375964ac2..4ce797495d6 100644 --- a/packages/smooth_app/lib/l10n/app_no.arb +++ b/packages/smooth_app/lib/l10n/app_no.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_nr.arb b/packages/smooth_app/lib/l10n/app_nr.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_nr.arb +++ b/packages/smooth_app/lib/l10n/app_nr.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_oc.arb b/packages/smooth_app/lib/l10n/app_oc.arb index 35914ee48f7..bea29ca203a 100644 --- a/packages/smooth_app/lib/l10n/app_oc.arb +++ b/packages/smooth_app/lib/l10n/app_oc.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_or.arb b/packages/smooth_app/lib/l10n/app_or.arb index 02efcd3a86e..e7d81143497 100644 --- a/packages/smooth_app/lib/l10n/app_or.arb +++ b/packages/smooth_app/lib/l10n/app_or.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_pa.arb b/packages/smooth_app/lib/l10n/app_pa.arb index 748928d0543..8f117708b56 100644 --- a/packages/smooth_app/lib/l10n/app_pa.arb +++ b/packages/smooth_app/lib/l10n/app_pa.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_pl.arb b/packages/smooth_app/lib/l10n/app_pl.arb index a018c66c391..be5b24ef265 100644 --- a/packages/smooth_app/lib/l10n/app_pl.arb +++ b/packages/smooth_app/lib/l10n/app_pl.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Wartość", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Nie można pobrać informacji o tym produkcie z powodu błędu sieciowego.", "cached_results_from": "Pokaż wyniki z:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Elementy opakowania", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Zdjęcie z przodu", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Zdjęcie z przodu", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Zdjęcie wykazie składników", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_pt.arb b/packages/smooth_app/lib/l10n/app_pt.arb index 772d480fbbf..b4875051ed2 100644 --- a/packages/smooth_app/lib/l10n/app_pt.arb +++ b/packages/smooth_app/lib/l10n/app_pt.arb @@ -6,9 +6,9 @@ }, "yes": "Sim", "@yes": {}, - "add": "Adicionar", + "add": "Adicione", "@add": {}, - "account_delete_message": "Tem a certeza de que deseja eliminar a sua conta?\nSe houver um motivo específico, partilhe-o a seguir", + "account_delete_message": "Tem certeza de que deseja excluir sua conta?\nSe houver um motivo específico, compartilhe abaixo", "@account_delete_message": {}, "reason": "Motivo", "@reason": {}, @@ -34,8 +34,8 @@ }, "go_back_to_top": "Voltar ao topo", "save": "Guardar", - "save_confirmation": "Tem a certeza de que quer guardar?", - "skip": "Ignorar", + "save_confirmation": "Você tem certeza de que deseja salvar?", + "skip": "Pular", "cancel": "Cancelar", "@cancel": {}, "ignore": "Ignorar", @@ -54,19 +54,19 @@ "@calculate": { "description": "'Calculate' button. Typical use case: the user inputs data then clicks on the 'calculate' button." }, - "reset_food_prefs": "Repor preferências alimentares", + "reset_food_prefs": "Resetar preferências alimentares", "@reset": { "description": "Button label, clicking on the button will reset user's food preferences." }, "error": "Algo correu mal", "@error": {}, - "error_occurred": "Surgiu um erro", + "error_occurred": "Ocorreu um erro", "@error_occurred": {}, - "featureInProgress": "Ainda estamos a trabalhar nesta funcionalidade, fique atento", + "featureInProgress": "Ainda estamos trabalhando nesse recurso, fique atento", "@featureInProgress": {}, - "label_web": "Ver na web", + "label_web": "Visualizar no navegador", "@label_web": {}, - "learnMore": "Mais informações", + "learnMore": "Saiba mais", "@learnMore": {}, "unknown": "Desconhecido", "@unknown": { @@ -92,7 +92,7 @@ "@match_does_not": { "description": "Label for product page regarding product compatibility with the user preferences: does not match" }, - "match_unknown": "Correspondência desconhecida", + "match_unknown": "Combinação desconhecida", "@match_unknown": { "description": "Label for product page regarding product compatibility with the user preferences: unknown match" }, @@ -116,28 +116,28 @@ "@match_short_does_not": { "description": "Short label for product list view regarding product compatibility with the user preferences: does not match" }, - "match_short_unknown": "Correspondência desconhecida", + "match_short_unknown": "Combinação desconhecida", "@match_short_unknown": { "description": "Short label for product list view regarding product compatibility with the user preferences: unknown match" }, "licenses": "Licenças", "@licenses": {}, - "looking_for": "A procurar por", + "looking_for": "Procurando", "@looking_for": { "description": "Looking for: BARCODE" }, "@Introduction screen": {}, - "welcomeToOpenFoodFacts": "Bem-vindo ao Open Food Facts", + "welcomeToOpenFoodFacts": "Bem-vindo ao Open Food Facts", "@welcomeToOpenFoodFacts": {}, "whatIsOff": "Open Food Facts é uma organização global sem fins lucrativos dinamizada por comunidades locais.", "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "productDataUtility": "Veja os dados alimentares relevantes para as suas preferências.", + "productDataUtility": "Veja as informações nutricionais relevantes às suas preferências.", "@productDataUtility": { "description": "Description of what a user can use the product data for." }, - "healthCardUtility": "Escolha alimentos que sejam bons para si.", + "healthCardUtility": "▶ Escolha os alimentos que são bons para você.", "@healthCardUtility": { "description": "Description of what a user can use the health data in a product for." }, @@ -148,10 +148,10 @@ "server_error_open_new_issue": "Nenhuma resposta do servidor! Pode reportar o problema com a seguinte hiperligação.", "@user_management": {}, "sign_in_text": "Entre na sua conta Open Food Facts para guardar as suas contribuições", - "incorrect_credentials": "Nome de utilizador ou palavra-passe incorretos.", + "incorrect_credentials": "Nome do usuário ou senha incorretos.", "password_lost_incorrect_credentials": "Este endereço eletrónico ou este nome de utilizador não existe. Por favor, verifique as suas credenciais.", "password_lost_server_unavailable": "Estamos atualmente a sofrer lentidão nos nossos servidores e pedimos desculpa por isso. Por favor, tente novamente mais tarde.", - "login": "Iniciar sessão", + "login": "Nome de usuário", "@login": { "description": "Text field hint: unified name for either username or e-mail address" }, @@ -163,9 +163,9 @@ "@login_result_type_server_issue": { "description": "Error message when trying to log in and the server does not answer correctly" }, - "login_page_username_or_email": "Por favor, insira o nome de utilizador ou o e-mail", + "login_page_username_or_email": "Por favor, digite o nome de usuário ou e-mail", "login_page_password_error_empty": "Por favor, introduza uma palavra-passe", - "create_account": "Criar conta", + "create_account": "Criar uma conta", "@create_account": { "description": "Button label: Opens a page where a new user can register" }, @@ -177,11 +177,11 @@ "@sign_in_mandatory": { "description": "Error message: for some features like product edits you need to be signed in" }, - "sign_out": "Terminar sessão", + "sign_out": "Sair", "@sign_out": { "description": "Button label: For sign out" }, - "sign_out_confirmation": "Tem a certeza de que quer terminar a sessão?", + "sign_out_confirmation": "Você tem certeza que deseja sair?", "@sign_out_confirmation": { "description": "Pop up title: Reassuring if the user really want to sign out" }, @@ -246,17 +246,17 @@ "sign_up_page_password_error_empty": "Por favor, introduza uma palavra-passe", "sign_up_page_password_error_invalid": "Por favor introduza uma palavra-passe com pelo menos 6 caracteres", "sign_up_page_confirm_password_hint": "Confirme a palavra-passe", - "sign_up_page_confirm_password_error_empty": "Por favor, confirme a palavra-passe", - "sign_up_page_confirm_password_error_invalid": "As palavras-passe não coincidem", - "sign_up_page_agree_text": "Concordo com", + "sign_up_page_confirm_password_error_empty": "Por favor, confirme a senha", + "sign_up_page_confirm_password_error_invalid": "As senhas não conferem", + "sign_up_page_agree_text": "Concordo com a Open Food Facts", "@sign_up_page_agree_text": { "description": "I agree to the Open Food Facts is followed by sign_up_page_terms_text" }, - "sign_up_page_terms_text": "termos de utilização e contribuição do Open Food Facts", + "sign_up_page_terms_text": "termos de uso e contribuição", "@sign_up_page_terms_text": { "description": "terms of use and contribution is preceded by sign_up_page_agree_text" }, - "sign_up_page_agree_url": "https://world-pt.openfoodfacts.org/terms-of-use", + "sign_up_page_agree_url": "https://br.openfoodfacts.org/termos-de-uso", "@sign_up_page_agree_url": { "description": "Please insert the right url here. Go to the Open Food Facts homepage, switch to your country and then on the bottom left footer is Terms of use from which the url should be taken" }, @@ -264,18 +264,18 @@ "@donate_url": { "description": "Please insert the right url from the website here." }, - "sign_up_page_agree_error_invalid": "Ao criar uma conta, é obrigatório concordar com os Termos de utilização. No entanto, podem ser feitas contribuições anónimas através da aplicação", + "sign_up_page_agree_error_invalid": "Ao criar uma conta, é obrigatório concordar com os Termos de Uso, porém, contribuições anônimas ainda podem ser feitas através do app", "@sign_up_page_agree_error_invalid": { "description": "Error message: You have to agree to the terms-of-use (A checkbox to do so is above this error message)" }, "sign_up_page_producer_checkbox": "Sou um produtor de alimentos", - "sign_up_page_producer_hint": "Produtor / marca", - "sign_up_page_producer_error_empty": "Por favor, introduza o nome de um produtor ou de uma marca", + "sign_up_page_producer_hint": "Produtor/marca", + "sign_up_page_producer_error_empty": "Por favor, insira um nome de um produtor ou marca", "sign_up_page_subscribe_checkbox": "Gostaria de subscrever o boletim informativo do Open Food Facts (pode cancelar a sua subscrição em qualquer momento)", "sign_up_page_user_name_already_used": "Este nome já existe; escolha outro.", - "sign_up_page_email_already_exists": "já existe, inicie sessão na conta ou tente com outro e-mail.", + "sign_up_page_email_already_exists": "já existe, inicie sessão nessa conta ou tente com outro e-mail.", "sign_up_page_provide_valid_email": "Por favor, indique um endereço de email válido.", - "sign_up_page_server_busy": "Pedimos desculpa, estamos com algumas dificuldades técnicas para criar a sua conta. Por favor, tente novamente mais tarde.", + "sign_up_page_server_busy": "Pedimos desculpa, estamos com algumas dificuldades técnicas para criar a sua conta. Por favor, tente mais tarde.", "settingsTitle": "Definições", "@settingsTitle": { "description": "The title of the Settings page" @@ -292,7 +292,7 @@ "@darkmode_light": { "description": "Indicator inside the darkmode switch (light)" }, - "darkmode_system_default": "Predefinição do sistema", + "darkmode_system_default": "Padrão do sistema", "@darkmode_system_default": { "description": "Indicator inside the darkmode switch (system default)" }, @@ -407,7 +407,7 @@ "@saving_answer": { "description": "Dialog shown to users after they have answered a question, while the answer is being saved in the BE." }, - "contribute_to_get_rewards": "Torne-se um ator da transparência alimentar", + "contribute_to_get_rewards": "Transforme-se em um ator de transparência alimentar", "@contribute_to_get_rewards": { "description": "Button description shown on a product, clicking the button opens a card with unanswered product questions, users can answer these to contribute to Open Food Facts." }, @@ -436,7 +436,7 @@ "myPreferences_food_title": "Preferências alimentares", "myPreferences_food_subtitle": "Escolha as informações sobre os alimentos que mais lhe interessam.", "myPreferences_food_comment": "Escolha as informações sobre alimentos que mais lhe interessam, para classificar os alimentos de acordo com as suas preferências, ver primeiro as informações que lhe interessam e obter um resumo de compatibilidade. Essas preferências alimentares permanecem no seu dispositivo e não estão associadas à sua conta de colaborador do Open Food Facts, caso tenha uma.", - "confirmResetPreferences": "Repor as suas preferências alimentares?", + "confirmResetPreferences": "Redefinir suas preferências alimentares?", "@confirmResetPreferences": { "description": "Pop up title: Reassuring if the food preferences should really be reset" }, @@ -445,14 +445,14 @@ "description": "When you press this button, all products (in list or category) are sorted according to your preferences." }, "ranking_tab_all": "Todos", - "ranking_subtitle_match_yes": "Uma boa correspondência", + "ranking_subtitle_match_yes": "Uma ótima combinação para você", "ranking_subtitle_match_no": "Correspondência muito baixa", - "ranking_subtitle_match_maybe": "Correspondência desconhecida", + "ranking_subtitle_match_maybe": "Combinação desconhecida", "refresh_with_new_preferences": "Atualizar a lista com as novas preferências", "@refresh_with_new_preferences": { "description": "Action button label: Refresh the list with your new preferences" }, - "reloaded_with_new_preferences": "Recarregado com as novas preferências", + "reloaded_with_new_preferences": "Recarregado com suas novas preferências", "@reloaded_with_new_preferences": { "description": "Snackbar title: Shows that the modified settings have been applied" }, @@ -529,8 +529,8 @@ "ingredients": "Ingredientes", "@ingredients": {}, "ingredients_editing_instructions": "Mantenha a ordem original. Indique a percentagem quando especificada. Separe com uma vírgula ou hífen, use parênteses para ingredientes de um ingrediente e indique alergénios entre _traços sublinhados_.", - "ingredients_editing_error": "Falha ao guardar os ingredientes.", - "ingredients_editing_image_error": "Falha ao obter uma nova imagem dos ingredientes.", + "ingredients_editing_error": "Falha ao salvar os ingredientes.", + "ingredients_editing_image_error": "Falha ao obter uma nova imagem de ingredientes.", "ingredients_editing_title": "Editar ingredientes", "ingredients_photo": "Foto de ingredientes", "@ingredients_photo": { @@ -546,13 +546,13 @@ "@nutrition_facts_photo": { "description": "Button label: For adding a picture of the nutrition facts of a product" }, - "packaging_information": "Informação da embalagem", + "packaging_information": "Informação de embalagem", "@packaging_information": { "description": "Button label: For adding a picture of the packaging of a product" }, "packaging_information_photo": "Foto de informações da embalagem", "@packaging_information_photo": {}, - "missing_product": "Encontrou um novo produto!", + "missing_product": "Você encontrou um novo produto!", "@missing_product": {}, "add_product_take_photos": "Tire fotografias da embalagem para adicionar este produto ao Open Food Facts", "@add_product_take_photos": {}, @@ -560,7 +560,7 @@ "@add_product_take_photos_descriptive": {}, "add_product_information_button_label": "Adicione informações sobre o produto", "@add_product_information_button_label": {}, - "new_product": "Novo produto", + "new_product": "Produto Novo", "@new_product": {}, "new_product_dialog_title": "Acaba de encontrar um novo produto!", "@new_product_dialog_title": { @@ -636,7 +636,7 @@ "@crop_page_action_server": { "description": "Action being performed on the crop page" }, - "front_packaging_photo_title": "Fotografia frontal da embalagem", + "front_packaging_photo_title": "Foto frontal da embalagem", "ingredients_photo_title": "Fotografia dos ingredientes", "nutritional_facts_photo_title": "Fotografia das informações nutricionais", "recycling_photo_title": "Fotografia de reciclagem", @@ -646,9 +646,9 @@ "@front_photo_uploaded": {}, "ingredients_photo_button_label": "Foto de ingredientes", "@ingredients_photo_button_label": {}, - "ingredients_photo_uploaded": "Fotografia de ingredientes enviada", + "ingredients_photo_uploaded": "Foto dos ingredientes enviada", "@ingredients_photo_uploaded": {}, - "nutrition_cache_loading_error": "Não foi possível carregar os nutrientes dos ficheiros temporários", + "nutrition_cache_loading_error": "Não é possível carregar nutrientes do cache", "nutritional_facts_photo_button_label": "Foto de informações nutricionais", "@nutritional_facts_photo_button_label": {}, "nutritional_facts_input_button_label": "Preencher informações nutricionais", @@ -684,7 +684,7 @@ "hey_incomplete_product_message_beauty": "Clique agora para responder a 2 perguntas para ajudar a analisar este cosmético!", "hey_incomplete_product_message_pet_food": "Clique agora para responder a 3 perguntas para ajudar a analisar este produto de alimentação para animais de estimação!", "hey_incomplete_product_message_product": "Clique agora para ajudar a completar este produto!", - "nutritional_facts_photo_uploaded": "Fotografia das informações nutricionais enviada", + "nutritional_facts_photo_uploaded": "Foto das informações nutricionais enviada", "@nutritional_facts_photo_uploaded": {}, "recycling_photo_button_label": "Fotografia de informações sobre a reciclagem", "@recycling_photo_button_label": {}, @@ -749,13 +749,13 @@ "nutrition_page_invalid_number": "Número inválido", "nutrition_page_update_running": "A atualizar o produto no servidor…", "nutrition_page_update_done": "Produto atualizado!", - "nutrition_page_take_serving_size_from_product_quantity": "Use the product quantity as serving size", + "nutrition_page_take_serving_size_from_product_quantity": "Use a quantidade do produto como tamanho da porção", "@nutrition_page_take_serving_size_from_product_quantity": { "description": "Button label: Use the product quantity as serving size (nutrition page)" }, "more_photos": "Mais fotografias interessantes", "@more_photos": {}, - "view_more_photo_button": "Ver todas as fotografias existentes para este produto", + "view_more_photo_button": "Veja todas as fotos existentes para este produto", "@view_more_photo_button": {}, "no_product_found": "Não foi encontrado nenhum produto", "@no_product_found": {}, @@ -798,7 +798,7 @@ } } }, - "product_image_action_add_photo": "Add a photo ({type})", + "product_image_action_add_photo": "Adicionar uma foto ({type})", "@product_image_action_add_photo": { "description": "Action on the photo gallery to add a photo (eg: ingredients)", "placeholders": { @@ -820,7 +820,7 @@ "@product_image_action_from_gallery": { "description": "Replace the existing picture with one from the device's gallery" }, - "product_image_action_choose_existing_photo": "Select from the product photos", + "product_image_action_choose_existing_photo": "Selecione entre as fotos do produto", "@product_image_action_choose_existing_photo": { "description": "Replace the existing picture with one from the product's photos" }, @@ -832,7 +832,7 @@ "@homepage_main_card_subheading": { "description": "Text between asterisks (eg: **My Text**) means text in bold. Please keep it." }, - "homepage_main_card_search_field_hint": "Pesquisar um produto", + "homepage_main_card_search_field_hint": "Procurar por um produto", "homepage_main_card_search_field_tooltip": "Iniciar pesquisa", "@homepage_main_card_search_field_tooltip": { "description": "Description for accessibility of the search field on the homepage" @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Etiquetas de Produtos", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Adicionar Etiqueta", - "edit_tag": "Edit Tag", - "remove_tag": "Remover Etiqueta", - "tag_key": "Chave", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Valor", - "invalid_key_format": "Formato de chave inválido. Deve ser em minúsculas e sem espaços.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Não foi possível obter informações sobre este produto devido a um erro de rede.", "cached_results_from": "Mostrar resultados de:", @@ -1076,7 +1076,7 @@ "@select_none_products_mode": { "description": "Button to switch to 'select no products'" }, - "compare_products_appbar_title": "Compare produtos", + "compare_products_appbar_title": "Comparar produtos", "@compare_products_appbar_title": { "description": "AppBar title when in comparison mode " }, @@ -1092,7 +1092,7 @@ "twitter_link": "https://www.twitter.com/openfoodfacts", "blog": "Blogue", "faq": "Perguntas frequentes", - "discover": "Descobrir", + "discover": "Descubra", "how_to_contribute": "Como contribuir", "hint_knowledge_panel_message": "Pode tocar em qualquer parte do cartão para obter mais detalhes sobre o que vê. Tente agora!", "@hint_knowledge_panel_message": { @@ -1281,7 +1281,7 @@ "@user_profile": { "description": "User account (if connected)" }, - "user_profile_title_guest": "Bem-vindo(a)!", + "user_profile_title_guest": "Bem-vindo!", "@user_profile_title_guest": { "description": "When the user is not connected" }, @@ -1496,7 +1496,7 @@ "@edit_product_form_item_countries_type": { "description": "Product edition - Countries - input textfield type" }, - "edit_product_form_item_countries_explanations": "Países onde o produto está amplamente disponível (não incluindo lojas especializadas em produtos estrangeiros).", + "edit_product_form_item_countries_explanations": "Países onde o produto é amplamente disponível (não incluindo lojas especializadas em produtos estrangeiros).", "@edit_product_form_item_countries_explanations": { "description": "Product edition - Countries - explanations" }, @@ -1547,14 +1547,14 @@ "@edit_product_form_item_ingredients_title": { "description": "Product edition - Ingredients - Title (note: this section was previously called Ingredients & Origins)" }, - "edit_product_form_item_add_valid_item_tooltip": "Adicionar", + "edit_product_form_item_add_valid_item_tooltip": "Adicione", "edit_product_form_item_add_invalid_item_tooltip": "Introduzir primeiro um texto", "edit_product_form_item_remove_item_tooltip": "Eliminar", "edit_product_form_item_packaging_title": "Fotografia das instruções de reciclagem", "@edit_product_form_item_packaging_title": { "description": "Product edition - Packaging - Title" }, - "edit_product_form_item_nutrition_facts_title": "Dados nutricionais", + "edit_product_form_item_nutrition_facts_title": "Informação nutricional", "@edit_product_form_item_nutrition_facts_title": { "description": "Product edition - Nutrition facts - Title" }, @@ -1641,7 +1641,7 @@ "@user_list_subtitle_product": { "description": "Subtitle of a paragraph about user lists in a product context" }, - "user_list_title": "Minhas listas", + "user_list_title": "Suas listas", "@user_list_title": { "description": "Label for the user lists (when the user wants to add a product to a list)" }, @@ -1863,10 +1863,10 @@ } } }, - "product_type_label_food": "Alimento", + "product_type_label_food": "Alimentação", "product_type_label_beauty": "Cuidados pessoais", - "product_type_label_pet_food": "Comida para animais", - "product_type_label_product": "Outro", + "product_type_label_pet_food": "Alimentos de pets", + "product_type_label_product": "Outros", "product_type_selection_title": "Tipo do produto", "product_type_selection_subtitle": "Selecione o tipo deste produto", "product_type_selection_empty": "Deve primeiro selecionar um tipo de produto!", @@ -1886,7 +1886,7 @@ "prices_app_button": "Ir para a aplicação Preços", "prices_generic_title": "Preços", "prices_add_n_prices": "{count,plural, =1{Adicionar um preço} other{Adicionar {count} preços}}", - "prices_send_n_prices": "{count,plural, one {}=1{Enviar o preço} other{Enviar {count} preços}}", + "prices_send_n_prices": "{count,plural, =1{Enviar o preço} other{Enviar {count} preços}}", "prices_add_an_item": "Adicionar um item", "prices_add_a_price": "Adicionar um preço", "prices_add_a_receipt": "Adicionar um recibo", @@ -1914,7 +1914,7 @@ "prices_barcode_enter": "Digite o código de barras", "prices_barcode_reader_action": "Leitor de código de barras", "prices_view_prices": "Ver os preços", - "prices_product_accessibility_summary": "{count,plural, one {}=1{1 preço} other{{count} preços}} de {product}", + "prices_product_accessibility_summary": "{count,plural, =1{1 preço} other{{count} preços}} de {product}", "@prices_product_accessibility_summary": { "description": "A card summarizing the number of prices for a product", "placeholders": { @@ -1926,7 +1926,7 @@ } } }, - "prices_list_length_one_page": "{count,plural, one {}=0{Ainda sem preço} =1{Apenas um preço} other{Todos os {count} preços}}", + "prices_list_length_one_page": "{count,plural, =0{Ainda sem preço} =1{Apenas um preço} other{Todos os {count} preços}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", "placeholders": { @@ -1978,7 +1978,7 @@ "@prices_open_proof": { "description": "Button to open a proof" }, - "prices_proofs_list_length_one_page": "{count,plural, one {}=0{Ainda sem comprovativos} =1{Apenas um comprovativo} other{Todos os {count} comprovativos}}", + "prices_proofs_list_length_one_page": "{count,plural, =0{Ainda sem comprovativos} =1{Apenas um comprovativo} other{Todos os {count} comprovativos}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", "placeholders": { @@ -2014,7 +2014,7 @@ "prices_amount_subtitle": "Montante", "prices_amount_is_discounted": "Está com desconto?", "prices_amount_price_normal": "Preço", - "prices_amount_price_discounted": "Preços com desconto", + "prices_amount_price_discounted": "Preço descontado", "prices_amount_price_not_discounted": "Preço original", "prices_amount_no_product": "Falta um produto!", "prices_amount_price_incorrect": "Valor incorreto", @@ -2025,9 +2025,9 @@ "prices_location_find": "Encontrar uma loja", "prices_location_mandatory": "Tem de selecionar uma loja!", "prices_location_search_broader": "Não encontrou o que estava à procura? Vamos tentar uma pesquisa mais avançada!", - "prices_proof_subtitle": "Comprovativo", + "prices_proof_subtitle": "Demonstração", "prices_proof_find": "Selecionar um comprovativo", - "prices_proof_receipt": "Talão", + "prices_proof_receipt": "Recibo", "prices_proof_price_tag": "Etiqueta de preço", "prices_proof_mandatory": "Tem de selecionar um comprovativo!", "prices_add_validation_error": "Erro de validação", @@ -2114,11 +2114,11 @@ "@user_search_to_be_completed_title": { "description": "User search (to be completed): list tile title" }, - "user_search_prices_title": "Os meus preços", + "user_search_prices_title": "Meus valores", "@user_search_prices_title": { "description": "User prices: list tile title" }, - "user_search_proofs_title": "Os meus comprovativos", + "user_search_proofs_title": "Minhas demonstrações", "@user_search_proofs_title": { "description": "User proofs: list tile title" }, @@ -2170,7 +2170,7 @@ "@signup_page_terms_of_use_line1": { "description": "User consent for terms of use (line 1)" }, - "signup_page_terms_of_use_line2": "termos de utilização e contribuição do Open Food Facts", + "signup_page_terms_of_use_line2": "termos de uso e contribuição", "@signup_page_terms_of_use_line2": { "description": "User consent for terms of use (line 2)" }, @@ -2358,11 +2358,11 @@ "@add_label_photo_button_label": { "description": "Label for the add LABELS photo button" }, - "choose_image_source_title": "Escolher fonte da imagem", + "choose_image_source_title": "Escolha a fonte da imagem", "@choose_image_source_title": { "description": "Title for the image source chooser" }, - "choose_image_source_body": "Escolha uma fonte da imagem", + "choose_image_source_body": "Por favor, escolha uma fonte de imagem", "@choose_image_source_body": { "description": "Body for the image source chooser" }, @@ -2535,7 +2535,7 @@ "@product_card_remove_product_tooltip": { "description": "Tooltip (message visible with a long-press) on a product item in the carousel" }, - "scan_announce_new_barcode": "Novo código de barras digitalizado: {barcode}", + "scan_announce_new_barcode": "Novo código de barras escaneado: {barcode}", "@scan_announce_new_barcode": { "description": "Text to pronounce by the Accessibility tool when a new barcode is decoded", "placeholders": { @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Componentes da embalagem", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -2761,7 +2765,7 @@ }, "background_task_title": "Contribuições pendentes", "background_task_subtitle": "As suas contribuições são guardadas automaticamente no nosso servidor, mas nem sempre em tempo real.", - "background_task_list_empty": "Nenhuma tarefa em segundo plano pendente", + "background_task_list_empty": "Nenhuma Tarefa em Segundo Plano Pendente", "background_task_error_server_time_out": "Tempo limite do servidor", "background_task_error_no_internet": "Erro de ligação à Internet. Tente mais tarde.", "background_task_operation_unknown": "tipo de operação desconhecida", @@ -2953,7 +2957,7 @@ } } }, - "loading": "A carregar…", + "loading": "Carregando…", "@loading": { "description": "Loading…" }, @@ -3026,7 +3030,7 @@ "nutriscore_unknown_new_formula": "Nutri-Score desconhecido (novo cálculo)", "nutriscore_not_applicable": "Nutri-Score não aplicável", "nutriscore_not_applicable_new_formula": "O Nutri-Score não é aplicável (novo cálculo)", - "ecoscore_generic": "Eco-Score", + "ecoscore_generic": "Eco-Pontuação", "ecoscore_a": "Eco-Score A", "ecoscore_b": "Eco-Score B", "ecoscore_c": "Eco-Score C", @@ -3051,7 +3055,7 @@ "contact_title_pro_email": "Contacto do produtor", "contact_title_press_page": "Página de imprensa", "contact_title_press_email": "Contactos de imprensa", - "contact_title_newsletter": "Assine o nosso boletim informativo", + "contact_title_newsletter": "Inscreva-se na nossa newsletter", "hunger_games_loading_line1": "Por favor, dê-nos alguns segundos…", "hunger_games_loading_line2": "Estamos a descarregar as perguntas!", "hunger_games_error_label": "Ups! Algo correu mal... e não conseguimos carregar as perguntas.", @@ -3060,7 +3064,7 @@ "@reorder_attribute_action": { "description": "An action button or a page title about reordering the attributes (e.g. 'is vegan?', 'nutrition facts', ...)" }, - "link_cant_be_opened": "Esta hiperligação não pode ser aberta no seu dispositivo. Verifique se tem um navegador instalado.", + "link_cant_be_opened": "Este link não pode ser aberto no seu dispositivo. Por favor, verifique se você tem um navegador instalado.", "@link_cant_be_opened": { "description": "An error may happen if the device doesn't have a browser installed." }, @@ -3090,11 +3094,11 @@ "description": "A title for a guide" }, "guide_share_label": "Partilhar", - "guide_nutriscore_v2_enabled": "verdadeiro", + "guide_nutriscore_v2_enabled": "true", "@guide_nutriscore_v2_enabled": { "description": "Please NEVER touch this value and let the OFF team change it!" }, - "guide_nutriscore_v2_title": "O Nutri-Score está a evoluir: explicações!", + "guide_nutriscore_v2_title": "O Nutri-Score está evoluindo: explicações!", "@guide_nutriscore_v2_title": { "description": "The title of the guide (please don't forget the use of non-breaking spaces)" }, @@ -3103,37 +3107,37 @@ "description": "The logo is only available in de/en/fr/ln/nl. Please use en if not available (in lowercase, please)." }, "guide_nutriscore_v2_what_is_nutriscore_title": "O que é o Nutri-Score?", - "guide_nutriscore_v2_what_is_nutriscore_paragraph1": "O Nutri-Score é um logotipo que tem como objetivo informar sobre a **qualidade nutricional dos alimentos**.", + "guide_nutriscore_v2_what_is_nutriscore_paragraph1": "O Nutri-Score é um logotipo que visa informá-lo sobre a **qualidade nutricional dos alimentos**.", "@guide_nutriscore_v2_what_is_nutriscore_paragraph1": { "description": "Text between asterisks (eg: **My Text**) means text in bold. Please try to keep it." }, - "guide_nutriscore_v2_what_is_nutriscore_paragraph2": "O código de cores varia entre o verde escuro (**A**) para os produtos **mais saudáveis** e o vermelho escuro (**E**) para os **menos saudáveis**.", + "guide_nutriscore_v2_what_is_nutriscore_paragraph2": "O código de cores varia de verde-escuro (**A**) para os produtos **mais saudáveis** a vermelho-escuro (**E**) para os **menos saudáveis**.", "@guide_nutriscore_v2_what_is_nutriscore_paragraph2": { "description": "Text between asterisks (eg: **My Text**) means text in bold. Please try to keep it." }, - "guide_nutriscore_v2_nutriscore_a_caption": "O logótipo Nutri-Score A", - "guide_nutriscore_v2_why_v2_title": "Porque é que o Nutri-Score está a evoluir?", - "guide_nutriscore_v2_why_v2_intro": "A fórmula do Nutri-Score **está a evoluir** para fornecer melhores recomendações:", - "guide_nutriscore_v2_why_v2_arg1_title": "Avaliar melhor todas as bebidas", - "guide_nutriscore_v2_why_v2_arg1_text": "As notas comparativas de **leite**, **bebidas lácteas** com adição de açúcar e **bebidas vegetais** foram melhor diferenciadas no novo algoritmo.", - "guide_nutriscore_v2_why_v2_arg2_title": "Melhor classificação das bebidas", - "guide_nutriscore_v2_why_v2_arg2_text": "O **conteúdo de açúcar** é tido em melhor conta e favorece as bebidas **pouco adoçadas**.\\n**Os adoçantes também serão penalizados**: os refrigerantes dietéticos passarão de uma classificação B para uma classificação entre C e E. A água continua a ser a bebida recomendada.", - "guide_nutriscore_v2_why_v2_arg3_title": "Penalização do sal e do açúcar", - "guide_nutriscore_v2_why_v2_arg3_text": "Os produtos **demasiado doces** ou ** demasiado salgados** verão a sua **classificação ainda mais penalizada**.", - "guide_nutriscore_v2_why_v2_arg4_title": "Hierarquia nos óleos e peixes", - "guide_nutriscore_v2_why_v2_arg4_text": "A classificação de certos **peixes gordos** e **óleos ricos em gorduras boas** melhorará.", - "guide_nutriscore_v2_why_v2_arg5_title": "Limitar a carne vermelha", - "guide_nutriscore_v2_why_v2_arg5_text": "O consumo de **carne vermelha deve ser limitado**. É por isso que **as aves domésticas serão comparativamente melhor classificadas**.", - "guide_nutriscore_v2_new_logo_title": "Como distinguir o antigo Nutri-Score do novo cálculo?", - "guide_nutriscore_v2_new_logo_text": "A partir de agora, o logótipo pode apresentar uma menção \"**Novo cálculo**\" para esclarecer que se trata efetivamente do novo cálculo.", - "guide_nutriscore_v2_new_logo_image_caption": "O logótipo do novo Nutri-Score", + "guide_nutriscore_v2_nutriscore_a_caption": "O logotipo Nutri-Score A", + "guide_nutriscore_v2_why_v2_title": "Por que o Nutri-Score está evoluindo?", + "guide_nutriscore_v2_why_v2_intro": "A fórmula Nutri-Score **está evoluindo** para fornecer melhores recomendações:", + "guide_nutriscore_v2_why_v2_arg1_title": "Avalie melhor todas as bebidas", + "guide_nutriscore_v2_why_v2_arg1_text": "As notas comparativas de **leite**, **bebidas lácteas** com adição de açúcar e bebidas **vegetais** foram melhor diferenciadas no novo algoritmo.", + "guide_nutriscore_v2_why_v2_arg2_title": "Melhor classificação de bebidas", + "guide_nutriscore_v2_why_v2_arg2_text": "O **teor de açúcar** é melhor considerado e favorece bebidas **pouco adoçadas**.\\n**Adoçantes também serão penalizados**: refrigerantes dietéticos serão rebaixados de uma classificação B para entre C e E. Água continua sendo a bebida recomendada.", + "guide_nutriscore_v2_why_v2_arg3_title": "Sal e açúcar penalizados", + "guide_nutriscore_v2_why_v2_arg3_text": "Produtos **muito doces** ou **muito salgados** terão sua **classificação ainda mais rebaixada**.", + "guide_nutriscore_v2_why_v2_arg4_title": "Hierarquia entre óleos e peixes", + "guide_nutriscore_v2_why_v2_arg4_text": "A classificação de certos **peixes gordurosos** e **óleos ricos em gorduras boas** melhorará.", + "guide_nutriscore_v2_why_v2_arg5_title": "Limite a carne vermelha", + "guide_nutriscore_v2_why_v2_arg5_text": "O consumo de **carne vermelha deve ser limitado**. É por isso que **aves serão comparativamente melhor classificadas**.", + "guide_nutriscore_v2_new_logo_title": "Como diferenciar o antigo Nutri-Score do novo cálculo?", + "guide_nutriscore_v2_new_logo_text": "A partir de agora, o logotipo pode exibir a menção \"**Novo cálculo**\" para esclarecer que este é realmente o novo cálculo.", + "guide_nutriscore_v2_new_logo_image_caption": "O logotipo do novo Nutri-Score", "guide_nutriscore_v2_where_title": "Onde encontrar o novo cálculo do Nutri-Score?", - "guide_nutriscore_v2_where_paragraph1": "O Nutri-Score é aplicado em vários países: Alemanha, Bélgica, Espanha, França, Luxemburgo, Países Baixos e Suíça.", - "guide_nutriscore_v2_where_paragraph2": "Os fabricantes têm até **2026**, o mais tardar, **para substituir** o cálculo antigo pelo novo.", - "guide_nutriscore_v2_where_paragraph3": "Sem ter de esperar, já encontrará na aplicação OpenFoodFacts** o novo cálculo, mesmo que os fabricantes não tenham atualizado a classificação.", + "guide_nutriscore_v2_where_paragraph1": "O Nutri-Score é aplicado em vários países: Alemanha, Bélgica, Espanha, França, Luxemburgo, Holanda e Suíça.", + "guide_nutriscore_v2_where_paragraph2": "Os fabricantes têm até **2026**, no máximo, **para substituir** o cálculo antigo pelo novo.", + "guide_nutriscore_v2_where_paragraph3": "Sem esperar, você **já encontrará no aplicativo OpenFoodFacts** o novo cálculo, inclusive caso os fabricantes não tenham atualizado a pontuação.", "guide_nutriscore_v2_unchanged_title": "O que não muda", - "guide_nutriscore_v2_unchanged_paragraph1": "O Nutri-Score é uma pontuação concebida para **medir a qualidade nutricional**. É **complementar ao grupo NOVA** sobre **alimentos ultra-processados** (também presente na aplicação).", - "guide_nutriscore_v2_unchanged_paragraph2": "Para os fabricantes, a indicação do Nutri-Score **continua a ser facultativa**.", + "guide_nutriscore_v2_unchanged_paragraph1": "O Nutri-Score é uma pontuação projetada para **medir a qualidade nutricional**. É **complementar ao grupo NOVA** sobre **alimentos ultraprocessados** (também presente no aplicativo).", + "guide_nutriscore_v2_unchanged_paragraph2": "Para os fabricantes, a exibição do Nutri-Score **continua opcional**.", "guide_nutriscore_v2_share_link": "https://world.openfoodfacts.org/nutriscore-v2", "guide_nutriscore_v2_share_message": "", "@guide_nutriscore_v2_share_message": { @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Imagem frontal", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Imagem frontal do produto", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "Esta imagem pode estar desatualizada", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Imagem com os ingredientes do produto", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Imagem da frente (esta imagem pode estar desatualizada)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Não foi possível carregar a imagem!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Não foi possível carregar a imagem da frente (erro de rede?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "Nenhuma \nimagem!", "@product_page_image_no_image_available": { @@ -3277,11 +3316,11 @@ "@product_page_action_bar_item_disable": { "description": "Accessibility label to disable action (= make it invisible)" }, - "product_page_pending_operations_banner_title": "Uploading your edits…", + "product_page_pending_operations_banner_title": "Enviando suas edições…", "@product_page_pending_operations_banner_title": { "description": "When a product has pending edits (being sent to the server), there is a message on the product page (here is the title of the message)." }, - "product_page_pending_operations_banner_message": "The data displayed on this page **does not yet reflect your modifications**.\nPlease wait a few seconds…", + "product_page_pending_operations_banner_message": "Os dados exibidos nesta página **ainda não refletem suas modificações**.\nAguarde alguns segundos…", "@product_page_pending_operations_banner_message": { "description": "When a product has pending edits (being sent to the server), there is a message on the product page. Please keep the ** syntax to make the text bold." }, @@ -3331,7 +3370,7 @@ "@carousel_unknown_product_text": { "description": "Please keep the ** syntax to make the text bold" }, - "carousel_unknown_product_button": "Adicionar este produto", + "carousel_unknown_product_button": "Adicione este produto", "carousel_loading_header": "A carregar informação...", "@carousel_loading_header": { "description": "A label on top of the carousel card when data about the product is loading" @@ -3345,7 +3384,7 @@ "@product_type_subtitle_food": { "description": "Example of products for food category" }, - "product_type_subtitle_beauty": "Makeup, soaps, toothpastes…", + "product_type_subtitle_beauty": "Maquiagem, sabão, pasta de dente…", "@product_type_subtitle_beauty": { "description": "Example of products for beauty category" }, @@ -3353,15 +3392,15 @@ "@product_type_subtitle_pet_food": { "description": "Example of products for pet food category" }, - "product_type_subtitle_product": "Smartphones, furniture…", + "product_type_subtitle_product": "Smartphones, móveis…", "@product_type_subtitle_product": { "description": "Example of products for other categories" }, - "photo_field_front": "Product photo", + "photo_field_front": "Foto do produto", "photo_field_ingredients": "Foto de ingredientes", "photo_field_nutrition": "Nutrition photo", "photo_field_packaging": "Foto de informações da embalagem", - "photo_already_exists": "This photo already exists", - "photo_missing": "This photo is missing", + "photo_already_exists": "Esta foto já existe", + "photo_missing": "Esta foto está faltando", "date": "Data" } \ No newline at end of file diff --git a/packages/smooth_app/lib/l10n/app_qu.arb b/packages/smooth_app/lib/l10n/app_qu.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_qu.arb +++ b/packages/smooth_app/lib/l10n/app_qu.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_rm.arb b/packages/smooth_app/lib/l10n/app_rm.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_rm.arb +++ b/packages/smooth_app/lib/l10n/app_rm.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ro.arb b/packages/smooth_app/lib/l10n/app_ro.arb index 0f44635a747..13619440f28 100644 --- a/packages/smooth_app/lib/l10n/app_ro.arb +++ b/packages/smooth_app/lib/l10n/app_ro.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Valoare", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Imposibil de preluat informații despre acest produs din cauza unei erori de rețea.", "cached_results_from": "Afișați rezultate de la:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Componente de ambalare", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Imaginea din față", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Imaginea din față", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Imaginea cu ingredientele", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ru.arb b/packages/smooth_app/lib/l10n/app_ru.arb index 4550a2e7161..7d909a37320 100644 --- a/packages/smooth_app/lib/l10n/app_ru.arb +++ b/packages/smooth_app/lib/l10n/app_ru.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Значение", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Невозможно получить информацию об этом продукте из-за сетевой ошибки.", "cached_results_from": "Показать результаты из:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Компоненты упаковки", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Основное фото", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Основное фото", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Фото списка ингредиентов", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_sa.arb b/packages/smooth_app/lib/l10n/app_sa.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_sa.arb +++ b/packages/smooth_app/lib/l10n/app_sa.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_sc.arb b/packages/smooth_app/lib/l10n/app_sc.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_sc.arb +++ b/packages/smooth_app/lib/l10n/app_sc.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_sd.arb b/packages/smooth_app/lib/l10n/app_sd.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_sd.arb +++ b/packages/smooth_app/lib/l10n/app_sd.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_sg.arb b/packages/smooth_app/lib/l10n/app_sg.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_sg.arb +++ b/packages/smooth_app/lib/l10n/app_sg.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_si.arb b/packages/smooth_app/lib/l10n/app_si.arb index 282fa5e42d3..839a401f4c6 100644 --- a/packages/smooth_app/lib/l10n/app_si.arb +++ b/packages/smooth_app/lib/l10n/app_si.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_sk.arb b/packages/smooth_app/lib/l10n/app_sk.arb index 8422fa3107a..9a4847c4a46 100644 --- a/packages/smooth_app/lib/l10n/app_sk.arb +++ b/packages/smooth_app/lib/l10n/app_sk.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Hodnota", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Nie je možné získať informácie o tomto produkte kvôli chybe siete.", "cached_results_from": "Zobraziť výsledky z:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Komponenty balenia", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Predný obrázok", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Predný obrázok", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Obrázok ingrediencií", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_sl.arb b/packages/smooth_app/lib/l10n/app_sl.arb index b5495299857..982b25e3524 100644 --- a/packages/smooth_app/lib/l10n/app_sl.arb +++ b/packages/smooth_app/lib/l10n/app_sl.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Vrednost", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Zaradi napake v omrežju ni mogoče pridobiti informacij o tem izdelku.", "cached_results_from": "Prikaži rezultate iz:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Sprednja slika", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Sprednja slika", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Slika sestavin", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_sn.arb b/packages/smooth_app/lib/l10n/app_sn.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_sn.arb +++ b/packages/smooth_app/lib/l10n/app_sn.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_so.arb b/packages/smooth_app/lib/l10n/app_so.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_so.arb +++ b/packages/smooth_app/lib/l10n/app_so.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_sq.arb b/packages/smooth_app/lib/l10n/app_sq.arb index 5828d90a8e2..274e2ee7cc1 100644 --- a/packages/smooth_app/lib/l10n/app_sq.arb +++ b/packages/smooth_app/lib/l10n/app_sq.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Eshte e pamundur te merret informacion ne lidhje me kete produkt per shkak te nje gabimi ne rrjet.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_sr.arb b/packages/smooth_app/lib/l10n/app_sr.arb index cdbecc22d28..7b7c89d0f55 100644 --- a/packages/smooth_app/lib/l10n/app_sr.arb +++ b/packages/smooth_app/lib/l10n/app_sr.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ss.arb b/packages/smooth_app/lib/l10n/app_ss.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_ss.arb +++ b/packages/smooth_app/lib/l10n/app_ss.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_st.arb b/packages/smooth_app/lib/l10n/app_st.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_st.arb +++ b/packages/smooth_app/lib/l10n/app_st.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_sv.arb b/packages/smooth_app/lib/l10n/app_sv.arb index 27bc27d03ba..2d4b751bbd1 100644 --- a/packages/smooth_app/lib/l10n/app_sv.arb +++ b/packages/smooth_app/lib/l10n/app_sv.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Värde", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Omöjligt att hämta information om denna produkt på grund av ett nätverksfel.", "cached_results_from": "Visa resultat från:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Framsidesbild", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Framsidesbild", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingrediensbild", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_sw.arb b/packages/smooth_app/lib/l10n/app_sw.arb index 4179c6c15b0..08cb2b803d3 100644 --- a/packages/smooth_app/lib/l10n/app_sw.arb +++ b/packages/smooth_app/lib/l10n/app_sw.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ta.arb b/packages/smooth_app/lib/l10n/app_ta.arb index 35f72664228..e350fb8a1a7 100644 --- a/packages/smooth_app/lib/l10n/app_ta.arb +++ b/packages/smooth_app/lib/l10n/app_ta.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "தயாரிப்புக் குறிச்சொற்கள்", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "குறிச்சொற்கள் எதுவும் இல்லை. ஒத்த தயாரிப்புகளைச் சிறப்பாகக் குழுவாக்க குறிச்சொற்கள் பயன்படுத்தப்படலாம். சேர்க்க தட்டவும்.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "குறிச்சொல்லைச் சேர்", - "edit_tag": "குறியைத் திருத்து", - "remove_tag": "குறிச்சொல்லை அகற்று", - "tag_key": "முக்கிய", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "தவறான விசை வடிவம். சிறிய எழுத்து மற்றும் இடைவெளிகள் இல்லாமல் இருக்க வேண்டும்.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_te.arb b/packages/smooth_app/lib/l10n/app_te.arb index 596b814192a..b2c0be845f1 100644 --- a/packages/smooth_app/lib/l10n/app_te.arb +++ b/packages/smooth_app/lib/l10n/app_te.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_tg.arb b/packages/smooth_app/lib/l10n/app_tg.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_tg.arb +++ b/packages/smooth_app/lib/l10n/app_tg.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_th.arb b/packages/smooth_app/lib/l10n/app_th.arb index b9c826f646d..fc264939786 100644 --- a/packages/smooth_app/lib/l10n/app_th.arb +++ b/packages/smooth_app/lib/l10n/app_th.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "ไม่สามารถดึงข้อมูลเกี่ยวกับผลิตภัณฑ์นี้ได้เนื่องจากข้อผิดพลาดของเครือข่าย", "cached_results_from": "แสดงผลลัพธ์จาก:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "ภาพถ่ายด้านหน้าของผลิตภัณฑ์", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "ภาพถ่ายด้านหน้าของผลิตภัณฑ์", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "ภาพถ่ายส่วนประกอบของผลิตภัณฑ์", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ti.arb b/packages/smooth_app/lib/l10n/app_ti.arb index f21101a6e6a..193b78272c4 100644 --- a/packages/smooth_app/lib/l10n/app_ti.arb +++ b/packages/smooth_app/lib/l10n/app_ti.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_tl.arb b/packages/smooth_app/lib/l10n/app_tl.arb index 4983dd899e1..d5edf0c1e42 100644 --- a/packages/smooth_app/lib/l10n/app_tl.arb +++ b/packages/smooth_app/lib/l10n/app_tl.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Harap na larawan", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Harap na larawan", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Larawan ng mga sangkap", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_tn.arb b/packages/smooth_app/lib/l10n/app_tn.arb index 6361a6f3f09..fb6345f7f77 100644 --- a/packages/smooth_app/lib/l10n/app_tn.arb +++ b/packages/smooth_app/lib/l10n/app_tn.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_tr.arb b/packages/smooth_app/lib/l10n/app_tr.arb index 5f5c611f7b3..fab18b4b1a4 100644 --- a/packages/smooth_app/lib/l10n/app_tr.arb +++ b/packages/smooth_app/lib/l10n/app_tr.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Ürün Etiketleri", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Etiket Ekle", - "edit_tag": "Etiketi Düzenle", - "remove_tag": "Etiketi Kaldır", - "tag_key": "Anahtar", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Değer", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Bir ağ hatasından dolayı ürün bilgileri çekilemedi.", "cached_results_from": "Sonuçların gösterildiği:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Ambalaj bileşenleri", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Ön resim", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Ön resim", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Malzemelerin resmi", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ts.arb b/packages/smooth_app/lib/l10n/app_ts.arb index 6361a6f3f09..fb6345f7f77 100644 --- a/packages/smooth_app/lib/l10n/app_ts.arb +++ b/packages/smooth_app/lib/l10n/app_ts.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_tt.arb b/packages/smooth_app/lib/l10n/app_tt.arb index 67a2583bdc4..02114a276a2 100644 --- a/packages/smooth_app/lib/l10n/app_tt.arb +++ b/packages/smooth_app/lib/l10n/app_tt.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Bäyä", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_tw.arb b/packages/smooth_app/lib/l10n/app_tw.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_tw.arb +++ b/packages/smooth_app/lib/l10n/app_tw.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ty.arb b/packages/smooth_app/lib/l10n/app_ty.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_ty.arb +++ b/packages/smooth_app/lib/l10n/app_ty.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ug.arb b/packages/smooth_app/lib/l10n/app_ug.arb index 691979d645e..6810a6e3b8b 100644 --- a/packages/smooth_app/lib/l10n/app_ug.arb +++ b/packages/smooth_app/lib/l10n/app_ug.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_uk.arb b/packages/smooth_app/lib/l10n/app_uk.arb index e34440ac2e9..46c85b3392a 100644 --- a/packages/smooth_app/lib/l10n/app_uk.arb +++ b/packages/smooth_app/lib/l10n/app_uk.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Властивості продукції", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "Властивості продукту не знайдено. Властивості можна використовувати для більш детального опису продуктів у гнучкий спосіб. Торкніться, щоб додати.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Додати властивість", + "edit_tag": "Змінити властивість", + "remove_tag": "Видалити властивість", + "tag_key": "Властивість", "tag_value": "Цінність", - "invalid_key_format": "Невірний формат ключа. Повинен бути в нижньому регістрі і без пробілів.", + "invalid_key_format": "Невірний формат властивості. Він повинен бути в нижньому і без будь-яких прогалин.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Неможливо отримати інформацію про цей продукт через помилку мережі.", "cached_results_from": "Показати результати з:", @@ -1914,7 +1914,7 @@ "prices_barcode_enter": "Введіть штрих-код", "prices_barcode_reader_action": "Сканер штрих-коду", "prices_view_prices": "Переглянути ціни", - "prices_product_accessibility_summary": "{count,plural, one {{count} ціна} few {{count} ціни} many {{count} цін}=1{1 ціна} other{{count} ціни}} за {product}", + "prices_product_accessibility_summary": "{count,plural, =1{1 ціна} other{{count} ціни}} за {product}", "@prices_product_accessibility_summary": { "description": "A card summarizing the number of prices for a product", "placeholders": { @@ -1926,7 +1926,7 @@ } } }, - "prices_list_length_one_page": "{count,plural, one {Усього {count} ціна} few {Усі {count} ціни} many {Усі {count} ціни}=0{Ціни ще немає} =1{Тільки одна ціна} other{Усі {count} ціни}}", + "prices_list_length_one_page": "{count,plural, =0{Ціни ще немає} =1{Тільки одна ціна} other{Усі {count} ціни}}", "@prices_list_length_one_page": { "description": "Number of prices for one-page result", "placeholders": { @@ -1978,7 +1978,7 @@ "@prices_open_proof": { "description": "Button to open a proof" }, - "prices_proofs_list_length_one_page": "{count,plural, one {Усього {count} доказ} few {Усі {count} докази} many {Усі {count} докази}=0{Доказів ще немає} =1{Тільки один доказ} other{Усі {count} докази}}", + "prices_proofs_list_length_one_page": "{count,plural, =0{Доказів ще немає} =1{Тільки один доказ} other{Усі {count} докази}}", "@prices_proofs_list_length_one_page": { "description": "Number of proofs for one-page result", "placeholders": { @@ -2650,7 +2650,7 @@ "@robotoff_continue": { "description": "Shown when robotoff question are all answered and user wants to continue answering" }, - "robotoff_next_n_questions": "Наступне {count,plural, one {{count} запитання} few {{count} запитання} many {{count} запитань}=1{запитання} other{{count} запитання}}", + "robotoff_next_n_questions": "Наступне {count,plural, =1{запитання} other{{count} запитання}}", "@robotoff_next_n_questions": { "description": "Shown when robotoff question are all answered and user wants to continue answering", "placeholders": { @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Пакетні компоненти", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Фронтальне фото", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Фронтальне фото", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "Це зображення може бути застарілим", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Фото складників", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Переднє зображення (це зображення може бути застарілим)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Не вдалося завантажити зображення!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Не вдалося завантажити головне зображення (помилка мережі?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "Немає\nзображення!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ur.arb b/packages/smooth_app/lib/l10n/app_ur.arb index 9f10d07b498..d52cf485403 100644 --- a/packages/smooth_app/lib/l10n/app_ur.arb +++ b/packages/smooth_app/lib/l10n/app_ur.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_uz.arb b/packages/smooth_app/lib/l10n/app_uz.arb index a2a1559526b..9e3965114a8 100644 --- a/packages/smooth_app/lib/l10n/app_uz.arb +++ b/packages/smooth_app/lib/l10n/app_uz.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_ve.arb b/packages/smooth_app/lib/l10n/app_ve.arb index 6361a6f3f09..fb6345f7f77 100644 --- a/packages/smooth_app/lib/l10n/app_ve.arb +++ b/packages/smooth_app/lib/l10n/app_ve.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_vi.arb b/packages/smooth_app/lib/l10n/app_vi.arb index 0b6d3d3b66f..1b272968761 100644 --- a/packages/smooth_app/lib/l10n/app_vi.arb +++ b/packages/smooth_app/lib/l10n/app_vi.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Giá trị", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Không thể nạp thông tin về sản phẩm này do lỗi kết nối mạng.", "cached_results_from": "Hiển thị kết quả từ:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Thành phần bao bì", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Hình ảnh của mặt trước", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Hình ảnh của mặt trước", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Hình ảnh trong danh sách các thành phần", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_wa.arb b/packages/smooth_app/lib/l10n/app_wa.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_wa.arb +++ b/packages/smooth_app/lib/l10n/app_wa.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_wo.arb b/packages/smooth_app/lib/l10n/app_wo.arb index 6361a6f3f09..fb6345f7f77 100644 --- a/packages/smooth_app/lib/l10n/app_wo.arb +++ b/packages/smooth_app/lib/l10n/app_wo.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_xh.arb b/packages/smooth_app/lib/l10n/app_xh.arb index dfbf5731871..59ed74ec5fe 100644 --- a/packages/smooth_app/lib/l10n/app_xh.arb +++ b/packages/smooth_app/lib/l10n/app_xh.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_yi.arb b/packages/smooth_app/lib/l10n/app_yi.arb index f9c42d074da..968b623d8fd 100644 --- a/packages/smooth_app/lib/l10n/app_yi.arb +++ b/packages/smooth_app/lib/l10n/app_yi.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_yo.arb b/packages/smooth_app/lib/l10n/app_yo.arb index a8e81877562..c8811adbe9d 100644 --- a/packages/smooth_app/lib/l10n/app_yo.arb +++ b/packages/smooth_app/lib/l10n/app_yo.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/l10n/app_zh.arb b/packages/smooth_app/lib/l10n/app_zh.arb index d802c7b9c85..f932a4f9864 100644 --- a/packages/smooth_app/lib/l10n/app_zh.arb +++ b/packages/smooth_app/lib/l10n/app_zh.arb @@ -8,11 +8,11 @@ "@yes": {}, "add": "加入产品", "@add": {}, - "account_delete_message": "您确定要删除您的账户吗?\n如果有特殊原因,请在下面分享", + "account_delete_message": "您確定要刪除您的帳戶嗎?\n如果有具體原因,請在下方分享", "@account_delete_message": {}, "reason": "原因", "@reason": {}, - "okay": "好的", + "okay": "確定", "@okay": {}, "validate": "驗證", "@validate": { @@ -32,9 +32,9 @@ "@previous_label": { "description": "A label on a button that says 'Previous', pressing the button takes the user to the previous screen." }, - "go_back_to_top": "返回顶端", + "go_back_to_top": "回到頂端", "save": "儲存", - "save_confirmation": "您确定要保存吗?", + "save_confirmation": "您確定要存檔嗎?", "skip": "略過", "cancel": "取消", "@cancel": {}, @@ -50,11 +50,11 @@ "@stop": {}, "finish": "完成", "@finish": {}, - "calculate": "计算", + "calculate": "計算", "@calculate": { "description": "'Calculate' button. Typical use case: the user inputs data then clicks on the 'calculate' button." }, - "reset_food_prefs": "重设食物偏好", + "reset_food_prefs": "重新設定食物偏好選項?", "@reset": { "description": "Button label, clicking on the button will reset user's food preferences." }, @@ -62,11 +62,11 @@ "@error": {}, "error_occurred": "发生错误", "@error_occurred": {}, - "featureInProgress": "我们正在开发此功能,敬请期待", + "featureInProgress": "我們仍在開發此功能,敬請期待", "@featureInProgress": {}, - "label_web": "在网站查看", + "label_web": "在瀏覽器上查看", "@label_web": {}, - "learnMore": "更多信息", + "learnMore": "瞭解更多", "@learnMore": {}, "unknown": "未知", "@unknown": { @@ -122,33 +122,33 @@ }, "licenses": "Licences", "@licenses": {}, - "looking_for": "查找", + "looking_for": "尋找", "@looking_for": { "description": "Looking for: BARCODE" }, "@Introduction screen": {}, - "welcomeToOpenFoodFacts": "欢迎使用 Open Food Facts!", + "welcomeToOpenFoodFacts": "歡迎來到 Open Food Facts", "@welcomeToOpenFoodFacts": {}, "whatIsOff": "Open Food Facts is a global non-profit powered by local communities.", "@whatIsOff": { "description": "Description of Open Food Facts organization." }, - "productDataUtility": "查看和您的偏好有关的食品数据。", + "productDataUtility": "查看與您的偏好相關的食物資料。", "@productDataUtility": { "description": "Description of what a user can use the product data for." }, - "healthCardUtility": "选择对您有益的食品。", + "healthCardUtility": "選擇對您有益的食物。", "@healthCardUtility": { "description": "Description of what a user can use the health data in a product for." }, - "ecoCardUtility": "选择对地球有益的食品。", + "ecoCardUtility": "選擇對地球有益的食物。", "@ecoCardUtility": { "description": "Description of what a user can use the Eco data in a product for." }, "server_error_open_new_issue": "No server response! You may open an issue with the following link.", "@user_management": {}, "sign_in_text": "Sign in to your Open Food Facts account to save your contributions", - "incorrect_credentials": "用户名或密码错误。", + "incorrect_credentials": "使用者名稱或密碼錯誤。", "password_lost_incorrect_credentials": "This email or username doesn't exist. Please check your credentials.", "password_lost_server_unavailable": "We are currently experiencing slowdowns on our servers and we apologise for it. Please try again later.", "login": "用戶名", @@ -163,9 +163,9 @@ "@login_result_type_server_issue": { "description": "Error message when trying to log in and the server does not answer correctly" }, - "login_page_username_or_email": "请输入用户名或邮箱", - "login_page_password_error_empty": "请输入密码", - "create_account": "创建账号", + "login_page_username_or_email": "請輸入使用者名稱或電子郵件", + "login_page_password_error_empty": "請輸入密碼", + "create_account": "創建帳號", "@create_account": { "description": "Button label: Opens a page where a new user can register" }, @@ -173,7 +173,7 @@ "@sign_in": { "description": "Button label: For sign in" }, - "sign_in_mandatory": "您需要登录才可以使用该功能", + "sign_in_mandatory": "對於該功能,我們需要您先登入。", "@sign_in_mandatory": { "description": "Error message: for some features like product edits you need to be signed in" }, @@ -181,7 +181,7 @@ "@sign_out": { "description": "Button label: For sign out" }, - "sign_out_confirmation": "您确定要登出吗?", + "sign_out_confirmation": "確定要登出嗎?", "@sign_out_confirmation": { "description": "Pop up title: Reassuring if the user really want to sign out" }, @@ -190,7 +190,7 @@ "@forgot_password": { "description": "Button label: Opens a page where a password reset e-mail can be requested" }, - "view_profile": "查看个人资料", + "view_profile": "檢視個人檔案", "@view_profile": { "description": "Button label: For to show your account" }, @@ -198,17 +198,17 @@ "@reset_password": { "description": "Forgot password page title" }, - "reset_password_explanation_text": "如果忘记密码,请输入您的用户名或邮箱地址以接收重置密码验证邮件。请检查您的收件箱,另外,也请记得检查垃圾邮件文件夹。", - "username_or_email": "用户名或邮箱", + "reset_password_explanation_text": "如果忘記密碼,請輸入您的使用者名稱或電子郵件地址以接收重置密碼的步驟說明。另外,記得檢查垃圾郵件的文件夾。", + "username_or_email": "使用者名稱或電子郵件地址", "@username_or_email": { "description": "Text field hint for password reset" }, - "reset_password_done": "一封包含重置密码链接的电子邮件已发送到与您的账户关联的电子邮件地址,请检查您的收件箱或垃圾邮件文件夹。", - "send_reset_password_mail": "更改密码", + "reset_password_done": "一封含有重設密碼連結的電子郵件已寄給您的帳戶中所設定的電子郵件地址。另外,請檢查垃圾郵件。", + "send_reset_password_mail": "修改密碼", "@send_reset_password_mail": { "description": "Button label: Submit the password reset e-mail request" }, - "enter_some_text": "请填写信息", + "enter_some_text": "請輸入內容", "@enter_some_text": { "description": "Error when a required text field is empty" }, @@ -220,21 +220,21 @@ "@sign_up_page_action_button": { "description": "Button for signing up" }, - "sign_up_page_action_doing_it": "正在注册…", + "sign_up_page_action_doing_it": "註冊中…", "@sign_up_page_action_doing_it": { "description": "Progress indicator dialog during the actual signing up process" }, - "sign_up_page_action_ok": "恭喜! 您的账户已经被创建。", + "sign_up_page_action_ok": "恭喜!您已經成功創建帳號。", "sign_up_page_display_name_hint": "名称", - "sign_up_page_display_name_error_empty": "请输入您想使用的显示名称", - "sign_up_page_email_hint": "电子邮件", - "sign_up_page_email_error_empty": "电子邮件是必需的", - "sign_up_page_email_error_invalid": "无效电子邮件", - "sign_up_page_username_hint": "用户名: 公开可见", - "sign_up_page_username_error_empty": "请输入用户名", - "sign_up_page_username_error_invalid": "请输入有效的用户名", - "sign_up_page_username_description": "用户名不能包含空格、大写字母或特殊字符。", - "sign_up_page_username_length_invalid": "用户名不能超过 {value} 个字符", + "sign_up_page_display_name_error_empty": "請輸入您想要使用的顯示名稱", + "sign_up_page_email_hint": "電子郵件", + "sign_up_page_email_error_empty": "電子郵件(必填)", + "sign_up_page_email_error_invalid": "電子信箱無效", + "sign_up_page_username_hint": "使用者名稱:公開可見", + "sign_up_page_username_error_empty": "請填入使用者名稱", + "sign_up_page_username_error_invalid": "請輸入一個有效的使用者名稱", + "sign_up_page_username_description": "使用者名稱不能包含空格、大寫字母或特殊字符", + "sign_up_page_username_length_invalid": "使用者名稱的長度不能超過 {value} 個字元", "@sign_up_page_username_length_invalid": { "placeholders": { "value": { @@ -243,44 +243,44 @@ } }, "sign_up_page_password_hint": "密码", - "sign_up_page_password_error_empty": "请输入密码", - "sign_up_page_password_error_invalid": "请输入一个有效密码 (包含至少6个字符)", - "sign_up_page_confirm_password_hint": "确认密码", - "sign_up_page_confirm_password_error_empty": "请确认密码", - "sign_up_page_confirm_password_error_invalid": "密码不相符", + "sign_up_page_password_error_empty": "請輸入密碼", + "sign_up_page_password_error_invalid": "請輸入有效密碼(至少 6 個字元)", + "sign_up_page_confirm_password_hint": "再次輸入密碼", + "sign_up_page_confirm_password_error_empty": "請再次輸入密碼", + "sign_up_page_confirm_password_error_invalid": "密碼錯誤", "sign_up_page_agree_text": "I agree to the Open Food Facts", "@sign_up_page_agree_text": { "description": "I agree to the Open Food Facts is followed by sign_up_page_terms_text" }, - "sign_up_page_terms_text": "使用条款和贡献", + "sign_up_page_terms_text": "使用及貢獻條款", "@sign_up_page_terms_text": { "description": "terms of use and contribution is preceded by sign_up_page_agree_text" }, - "sign_up_page_agree_url": "https://world-en.openfoodfacts.org/terms-of-use", + "sign_up_page_agree_url": "https://tw.openfoodfacts.org/terms-of-use", "@sign_up_page_agree_url": { "description": "Please insert the right url here. Go to the Open Food Facts homepage, switch to your country and then on the bottom left footer is Terms of use from which the url should be taken" }, - "donate_url": "https://donate.openfoodfacts.org/", + "donate_url": "https://world-zh.openfoodfacts.org/donate-to-open-food-facts", "@donate_url": { "description": "Please insert the right url from the website here." }, - "sign_up_page_agree_error_invalid": "创建帐户时, 必须同意使用条款, 然而, 仍然可以通过应用程序进行匿名贡献", + "sign_up_page_agree_error_invalid": "創建帳號時,必須同意使用條款,但是您仍然可以通過應用程式進行匿名捐款", "@sign_up_page_agree_error_invalid": { "description": "Error message: You have to agree to the terms-of-use (A checkbox to do so is above this error message)" }, - "sign_up_page_producer_checkbox": "我是食品生产商", - "sign_up_page_producer_hint": "生产商/品牌", - "sign_up_page_producer_error_empty": "请输入生产商或品牌名称", + "sign_up_page_producer_checkbox": "我是食品生產商", + "sign_up_page_producer_hint": "生產商/品牌", + "sign_up_page_producer_error_empty": "請輸入生產商或品牌名稱", "sign_up_page_subscribe_checkbox": "I'd like to subscribe to the Open Food Facts newsletter (You can unsubscribe from it at any time)", - "sign_up_page_user_name_already_used": "该用户名已存在,请选择一个不同的用户名。", - "sign_up_page_email_already_exists": "已存在。登录该账号或尝试其他电子邮件地址。", - "sign_up_page_provide_valid_email": "请提供一个有效的电子邮箱地址。", + "sign_up_page_user_name_already_used": "這個使用者名稱已存在,請改用其他名稱。", + "sign_up_page_email_already_exists": "已經存在,請直接登入、或改用其他電子郵件。", + "sign_up_page_provide_valid_email": "請提供有效的電子郵件地址。", "sign_up_page_server_busy": "We are deeply sorry, we have some technical difficulties to create your account. Please try again later.", "settingsTitle": "設定", "@settingsTitle": { "description": "The title of the Settings page" }, - "darkmode": "主题", + "darkmode": "主題", "@darkmode": { "description": "The name of the darkmode on off switch" }, @@ -288,11 +288,11 @@ "@darkmode_dark": { "description": "Indicator inside the darkmode switch (dark)" }, - "darkmode_light": "浅色", + "darkmode_light": "淺色", "@darkmode_light": { "description": "Indicator inside the darkmode switch (light)" }, - "darkmode_system_default": "系统默认", + "darkmode_system_default": "系統預設值", "@darkmode_system_default": { "description": "Indicator inside the darkmode switch (system default)" }, @@ -320,11 +320,11 @@ "@support": { "description": "Button label: Opens a pop up window where all ways to get support are shown" }, - "support_join_slack": "在我们的Slack频道寻求帮助", - "support_via_forum": "在我们的社区上寻求帮助", - "support_via_email": "给我们发送电子邮件", - "support_via_email_include_logs_dialog_title": "发送应用日志?", - "support_via_email_include_logs_dialog_body": "您是否希望在电子邮件附件中包含应用程序日志?", + "support_join_slack": "在我們的 Slack 頻道尋求幫助", + "support_via_forum": "在論壇上尋求幫助", + "support_via_email": "給我們傳送電子郵件", + "support_via_email_include_logs_dialog_title": "要將紀錄送出嗎?", + "support_via_email_include_logs_dialog_body": "您是否希望將應用程式紀錄附在電子郵件中?", "termsOfUse": "使用条款", "@termsOfUse": {}, "legalNotices": "Legal notices", @@ -335,7 +335,7 @@ "@privacy_policy": { "description": "A link to open the privacy policy on the website" }, - "about_this_app": "关于这个应用程序", + "about_this_app": "關於本程式", "@about_this_app": { "description": "Button label: Opens a pop up window which shows information about the app" }, @@ -344,7 +344,7 @@ "@contribute": { "description": "Button label: Shows multiple ways how users can contribute to OFF" }, - "contribute_sw_development": "软件开发", + "contribute_sw_development": "軟體開發", "@contribute_sw_development": { "description": "Button label + page title: Ways to help" }, @@ -352,8 +352,8 @@ "@contribute_develop_text": {}, "contribute_develop_text_2": "You can join the Open Food Facts Slack chatroom which is the preferred way to ask questions.", "@contribute_develop_text_2": {}, - "contribute_develop_dev_mode_title": "开发模式?", - "contribute_develop_dev_mode_subtitle": "启用开发者模式", + "contribute_develop_dev_mode_title": "開發模式?", + "contribute_develop_dev_mode_subtitle": "起用開發模式", "contribute_donate_title": "贊助/捐款", "@contribute_donate_title": {}, "contribute_donate_header": "Donate to Open Food Facts", @@ -366,23 +366,23 @@ "@contribute_improve_ProductsToBeCompleted": { "description": "Button label: Shows a list of products which aren't completed" }, - "contribute_improve_header": "改进", + "contribute_improve_header": "改善", "@contribute_improve_header": { "description": "Button label + page title: Ways to improve the database" }, "contribute_improve_text": "The database is the core of the project. It's easy and very quick to help. You can download the mobile app for your phone, and start adding or improving products.\n\nOn the other hand, Open Food Facts website offers many ways to contribute: ", "@contribute_improve_text": {}, - "contribute_translate_header": "翻译", + "contribute_translate_header": "翻譯", "@contribute_translate_header": { "description": "Button label + pop up window title: Shows information about helping by translating" }, - "contribute_translate_link_text": "开始翻译", + "contribute_translate_link_text": "開始翻譯", "@contribute_translate_link_text": { "description": "Button label: Opens the Crowdin translation portal" }, "contribute_translate_text": "Open Food Facts is a global project, containing products from more than 160 countries. Open Food Facts is translated into dozens of languages, with constantly evolving content.", "@contribute_translate_text": {}, - "contribute_translate_text_2": "翻译是项目的关键任务之一", + "contribute_translate_text_2": "翻譯是專案的關鍵任務之一", "@contribute_translate_text_2": {}, "contribute_join_skill_pool": "Contribute your skills to Open Food Facts. Join the skill pool!", "contribute_share_header": "Share Open Food Facts with your friends", @@ -391,11 +391,11 @@ "@contribute_share_content": { "description": "Content that will be shared, don't forget to include the URL" }, - "tap_to_answer": "点击此处回答问题", + "tap_to_answer": "點擊此處回答問題", "@tap_to_answer": { "description": "Button label shown on a product, clicking the button opens a card with unanswered product questions, users can answer these to contribute to Open Food Facts and gain rewards." }, - "tap_to_answer_hint": "点击此处回答有关该产品的问题", + "tap_to_answer_hint": "點擊此處並回答有關此產品的問題", "@tap_to_answer_hint": { "description": "Hint for accessibility readers to answer Robotoff questions." }, @@ -403,7 +403,7 @@ "@robotoff_questions_loading_hint": { "description": "Hint for accessibility readers while Robotoff questions are loaded" }, - "saving_answer": "保存您的答案", + "saving_answer": "儲存您的回覆", "@saving_answer": { "description": "Dialog shown to users after they have answered a question, while the answer is being saved in the BE." }, @@ -412,12 +412,12 @@ "description": "Button description shown on a product, clicking the button opens a card with unanswered product questions, users can answer these to contribute to Open Food Facts." }, "question_sign_in_text": "Sign in to your Open Food Facts account to get credit for your contributions", - "question_yes_button_accessibility_value": "回答“是”", - "question_no_button_accessibility_value": "回答“否”", - "question_skip_button_accessibility_value": "跳过该题", + "question_yes_button_accessibility_value": "回答是", + "question_no_button_accessibility_value": "回答不是", + "question_skip_button_accessibility_value": "跳過此問題", "tap_to_edit_search": "点击打开搜索框", "@Personal preferences": {}, - "myPreferences": "我的偏好", + "myPreferences": "我的偏好設定", "@myPreferences": { "description": "Page title: Page where the ranking preferences can be changed" }, @@ -425,22 +425,22 @@ "@account_create_message": { "description": "The Message to be displayed if the user does not have an account and wants to contribute" }, - "join_us": "加入我们", + "join_us": "加入我們", "@join_us": { "description": "Join which is actually Signup" }, - "myPreferences_profile_title": "您的个人信息", + "myPreferences_profile_title": "您的個人檔案", "myPreferences_profile_subtitle": "Manage your Open Food Facts contributor account.", - "myPreferences_settings_title": "应用设置", + "myPreferences_settings_title": "應用程式設定", "myPreferences_settings_subtitle": "深色模式,分析,...", - "myPreferences_food_title": "食物偏好", - "myPreferences_food_subtitle": "选择对您最重要的食物信息.", + "myPreferences_food_title": "食品偏好選項", + "myPreferences_food_subtitle": "選擇對您最至關重要的食物資訊", "myPreferences_food_comment": "Choose what information about food matters most to you, in order to rank food according to your preferences, see the information you care about first, and get a compatibility summary. Those food preferences stay on your device, and are not associated with your Open Food Facts contributor account if you have one.", - "confirmResetPreferences": "重置您的食物偏好?", + "confirmResetPreferences": "重新設定食物偏好選項?", "@confirmResetPreferences": { "description": "Pop up title: Reassuring if the food preferences should really be reset" }, - "myPersonalizedRanking": "我的个性化排名", + "myPersonalizedRanking": "我的個人化排名", "@myPersonalizedRanking": { "description": "When you press this button, all products (in list or category) are sorted according to your preferences." }, @@ -457,7 +457,7 @@ "description": "Snackbar title: Shows that the modified settings have been applied" }, "@other": {}, - "profile_navbar_label": "个人资料", + "profile_navbar_label": "個人檔案", "@profile_navbar_label": { "description": "BottomNavigationBarLabel: For the profile and personal preferences page" }, @@ -465,7 +465,7 @@ "@scan_navbar_label": { "description": "BottomNavigationBarLabel: For the scanning of products" }, - "history_navbar_label": "历史记录", + "history_navbar_label": "歷史紀錄", "@history_navbar_label": { "description": "BottomNavigationBarLabel: For the history and compare mode" }, @@ -473,7 +473,7 @@ "@list_navbar_label": { "description": "BottomNavigationBarLabel: For the lists" }, - "category": "按类别筛选", + "category": "按類別篩選", "@category": { "description": "From a product list, there's a category filter: this is its title" }, @@ -481,8 +481,8 @@ "@category_al": { "description": "Top meta-entry on a category filter" }, - "category_search": "(类别搜索)", - "filter": "过滤器", + "category_search": "(類別搜尋)", + "filter": "篩選器", "@filter": { "description": "A button that opens a menu where you can filter within categories. Juices => Apple juices/Orange juices" }, @@ -508,13 +508,13 @@ "@product": {}, "unknownBrand": "未知品牌", "@unknownBrand": {}, - "unknownProductName": "未知产品名称", + "unknownProductName": "未知產品名稱", "@unknownProductName": {}, "label_refresh": "重新整理", "@label_refresh": { "description": "Refresh the cached product" }, - "image": "图片", + "image": "圖片", "front_photo": "正面照片", "@front_photo": { "description": "Button label: For adding a picture of the front of a product" @@ -528,11 +528,11 @@ }, "ingredients": "成分", "@ingredients": {}, - "ingredients_editing_instructions": "保留原顺序。指定时显示百分比。使用逗号或连字符分隔,用括号将配料表的成分括起来,并用下划线标出过敏原。", - "ingredients_editing_error": "未能保存配料表。", - "ingredients_editing_image_error": "未能获取配料表图像。", - "ingredients_editing_title": "编辑配料表", - "ingredients_photo": "原料的照片", + "ingredients_editing_instructions": "保持原來的順序。在指定的情況下輸入百分比。用逗號或連字號分隔項目,用括號表示一種成分中含有的成分細項,並在下劃線之間輸入過敏原。", + "ingredients_editing_error": "儲存成分失敗。", + "ingredients_editing_image_error": "未能獲取新的成分圖像。", + "ingredients_editing_title": "編輯成分", + "ingredients_photo": "成分照片", "@ingredients_photo": { "description": "Button label: For adding a picture of the Ingredients of a product" }, @@ -540,19 +540,19 @@ "packaging_editing_error": "无法保存包装信息。", "packaging_editing_image_error": "无法获得新的包装图片。", "packaging_editing_title": "编辑包装信息", - "nutrition": "营养", + "nutrition": "營養成分", "@nutrition": {}, - "nutrition_facts_photo": "营养成分的照片", + "nutrition_facts_photo": "營養標示相片", "@nutrition_facts_photo": { "description": "Button label: For adding a picture of the nutrition facts of a product" }, - "packaging_information": "包装信息", + "packaging_information": "包裝資訊", "@packaging_information": { "description": "Button label: For adding a picture of the packaging of a product" }, - "packaging_information_photo": "包装信息照片", + "packaging_information_photo": "包裝資訊照片", "@packaging_information_photo": {}, - "missing_product": "你发现了一件新产品!", + "missing_product": "您發現了一個新產品!", "@missing_product": {}, "add_product_take_photos": "Take photos of the packaging to add this product to Open Food Facts", "@add_product_take_photos": {}, @@ -560,7 +560,7 @@ "@add_product_take_photos_descriptive": {}, "add_product_information_button_label": "Add product information", "@add_product_information_button_label": {}, - "new_product": "新产品", + "new_product": "新的產品", "@new_product": {}, "new_product_dialog_title": "你发现了一件新产品!", "@new_product_dialog_title": { @@ -642,14 +642,14 @@ "recycling_photo_title": "循环利用照片", "take_photo_title": "選一張圖片", "take_more_photo_title": "拍攝更多照片", - "front_photo_uploaded": "已上传正面照片", + "front_photo_uploaded": "已上載正面包裝的相片", "@front_photo_uploaded": {}, - "ingredients_photo_button_label": "原料的照片", + "ingredients_photo_button_label": "成分照片", "@ingredients_photo_button_label": {}, - "ingredients_photo_uploaded": "已上传配料表照片", + "ingredients_photo_uploaded": "已上載成分的相片", "@ingredients_photo_uploaded": {}, "nutrition_cache_loading_error": "无法从缓存中加载营养成分", - "nutritional_facts_photo_button_label": "营养成分的照片", + "nutritional_facts_photo_button_label": "營養標示相片", "@nutritional_facts_photo_button_label": {}, "nutritional_facts_input_button_label": "Fill nutrition facts", "nutritional_facts_added": "已添加营养成分表", @@ -661,11 +661,11 @@ "new_product_additional_ecoscore": "通过补充原产地、包装等信息使 Eco-Score 得分计算更加精确", "new_product_title_nova": "计算食品加工水平(NOVA)", "new_product_subtitle_nova": "通过填写食品类别和配料获得它", - "new_product_desc_nova_unknown": "食品加工水平未知", + "new_product_desc_nova_unknown": "食品加工程度未知", "new_product_title_pictures": "New product", "new_product_title_pictures_details": "Please take the following photos and the Open Food Facts engine can work out the rest!", "new_product_title_misc": "还有一些基本数据…", - "new_product_done_msg": "Thanks for your contribution “{username}”!", + "new_product_done_msg": "「{username}」,感謝您的貢獻!", "@new_product_done_msg": { "description": "Thank you message on the end of new product page, after finish adding a new product.", "placeholders": { @@ -675,8 +675,8 @@ } } }, - "new_product_done_msg_no_user": "Thanks for your contribution!", - "new_product_done_button_label": "Discover the completed product", + "new_product_done_msg_no_user": "感謝您的貢獻!", + "new_product_done_button_label": "探索已完成的產品", "@new_product_done_button_label": { "description": "Button at the end of new product page, that takes you to completed product" }, @@ -688,17 +688,17 @@ "@nutritional_facts_photo_uploaded": {}, "recycling_photo_button_label": "Recycling photo", "@recycling_photo_button_label": {}, - "recycling_photo_uploaded": "已上传循环利用照片", + "recycling_photo_uploaded": "已上載回收的相片", "@recycling_photo_uploaded": {}, "take_more_photo_button_label": "拍攝更多照片", "@take_more_photo_button_label": {}, - "other_photo_uploaded": "已上传其他照片", + "other_photo_uploaded": "已上傳其它相片", "@other_photo_uploaded": {}, "retake_photo_button_label": "重拍", "@retake_photo_button_label": { "description": "Button clicking on which allows users to retake the last photo they took." }, - "selecting_photo": "正在选择照片", + "selecting_photo": "選取相片", "@selecting_photo": { "description": "Progress indicator when the users takes a photo" }, @@ -730,42 +730,42 @@ "@uploading_image_type_generic": { "description": "Message when a new picture is being uploaded to the server" }, - "score_add_missing_ingredients": "添加缺失的成分", + "score_add_missing_ingredients": "添加缺少的成分", "score_add_missing_packaging_image": "添加缺失的包装照片", - "score_add_missing_nutrition_facts": "添加缺失的营养成分", + "score_add_missing_nutrition_facts": "補充營養成分", "score_add_missing_product_category": "Select a category", "score_add_missing_product_countries": "添加缺失的产品产地国", "score_add_missing_product_emb": "添加缺失的产品代码(翻译注:可能是条形码", "score_add_missing_product_labels": "添加缺失的产品标签", "score_add_missing_product_origins": "添加缺失的产品来源", "score_add_missing_product_stores": "添加缺失的产品来源商店", - "score_update_nutrition_facts": "更新营养成分表", - "nutrition_page_title": "营养成分表", - "nutrition_page_unspecified": "产品未标明营养成分", + "score_update_nutrition_facts": "更新營養成分", + "nutrition_page_title": "營養成分", + "nutrition_page_unspecified": "產品未具體標明營養成分", "nutrition_page_per_100g": "每 100 克", "nutrition_page_per_serving": "每份", - "nutrition_page_add_nutrient": "添加营养", + "nutrition_page_add_nutrient": "新增營養", "nutrition_page_serving_size": "份量", - "nutrition_page_invalid_number": "无效的数字", + "nutrition_page_invalid_number": "無效數值", "nutrition_page_update_running": "正在更新服务器上的产品…", - "nutrition_page_update_done": "产品已更新!", + "nutrition_page_update_done": "產品更新了!", "nutrition_page_take_serving_size_from_product_quantity": "Use the product quantity as serving size", "@nutrition_page_take_serving_size_from_product_quantity": { "description": "Button label: Use the product quantity as serving size (nutrition page)" }, - "more_photos": "更有趣的照片", + "more_photos": "更多奇妙照片", "@more_photos": {}, "view_more_photo_button": "View all existing photos for this product", "@view_more_photo_button": {}, - "no_product_found": "没有找到的产品", + "no_product_found": "未發現產品", "@no_product_found": {}, "no_location_found": "No location found", - "not_found": "未找到:", - "refreshing_product": "产品更新中", + "not_found": "無法查明:", + "refreshing_product": "食品重新整理中", "@refreshing_product": { "description": "Confirmation, that the product data of a cached product is queried again" }, - "product_refreshed": "产品已更新", + "product_refreshed": "產品更新", "@product_refreshed": { "description": "Confirmation, that the product data refresh is done" }, @@ -855,7 +855,7 @@ "app_review_negative_modal_text": "Could you take a few seconds to tell us why?", "app_review_negative_modal_positive_button": "Yes, absolutely!", "app_review_negative_modal_negative_button": "否", - "could_not_refresh": "无法刷新产品", + "could_not_refresh": "無法重新整理產品", "@could_not_refresh": { "description": "The product data couldn't be refreshed" }, @@ -869,30 +869,30 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "值", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, - "product_internet_error": "由于网络错误,无法获取有关此产品的信息。", - "cached_results_from": "显示结果来自:", + "product_internet_error": "因為網路錯誤,無法取得關於此產品的資訊。", + "cached_results_from": "顯示結果自:", "@cached_results_from": { "description": "Cached results from: x time ago (time ago should not be added to the string)" }, "@Product Addition": {}, - "product_search_same_category": "对比类别", + "product_search_same_category": "同類別中的其它產品", "@product_search_same_category": { "description": "Button looking for the other products within the same category. Less than 30 characters" }, @@ -904,15 +904,15 @@ "@product_search_same_category_error": { "description": "Button looking for the other products within the same category. Just the verb compare" }, - "product_improvement_add_category": "添加类别以计算Nutri-Score。", + "product_improvement_add_category": "新增一個類別以計算 Nutri-Score。", "@product_improvement_add_category": { "description": "Message for ProductImprovement.ADD_CATEGORY" }, - "product_improvement_add_nutrition_facts": "添加营养成分以计算Nutri-Score。", + "product_improvement_add_nutrition_facts": "新增營養成分和類別以計算營養評分。", "@product_improvement_add_nutrition_facts": { "description": "Message for ProductImprovement.ADD_NUTRITION_FACTS" }, - "product_improvement_add_nutrition_facts_and_category": "添加营养成分和类别以计算 Nutri-Score。", + "product_improvement_add_nutrition_facts_and_category": "新增營養成分和類別以計算營養評分。", "@product_improvement_add_nutrition_facts_and_category": { "description": "Message for ProductImprovement.ADD_NUTRITION_FACTS_AND_CATEGORY" }, @@ -920,7 +920,7 @@ "@product_improvement_categories_but_no_nutriscore": { "description": "Message for ProductImprovement.CATEGORIES_BUT_NO_NUTRISCORE" }, - "product_improvement_obsolete_nutrition_image": "营养表图片已过时,请刷新。", + "product_improvement_obsolete_nutrition_image": "此營養成分表已過時:請更新。", "@product_improvement_obsolete_nutrition_image": { "description": "Message for ProductImprovement.OBSOLETE_NUTRITION_IMAGE" }, @@ -928,7 +928,7 @@ "@product_improvement_origins_to_be_completed": { "description": "Message for ProductImprovement.ORIGINS_TO_BE_COMPLETED" }, - "country_chooser_label": "请提供国家信息", + "country_chooser_label": "請選擇國家", "@country_chooser_label": { "description": "Label shown above a selector where the user can select their country (in the preferences)" }, @@ -978,7 +978,7 @@ "@native_app_description": { "description": "Native App description in app settings" }, - "product_removed_history": "已从历史记录中删除该产品", + "product_removed_history": "產品已從歷史記錄中刪除", "@product_removed_history": { "description": "Product got removed from history" }, @@ -986,13 +986,13 @@ "@product_removed_list": { "description": "Product got removed from list" }, - "product_could_not_remove": "无法移除产品", + "product_could_not_remove": "無法移除產品", "@product_could_not_remove": { "description": "Could not remove product from a list" }, "@Lists": {}, - "no_prodcut_in_list": "这个列表中没有产品", - "no_product_in_section": "这个区域没有产品", + "no_prodcut_in_list": "此清單裡沒有任何產品", + "no_product_in_section": "此部門仍未有產品", "recently_seen_products": "All viewed products", "clear": "清除", "@clear": { @@ -1002,7 +1002,7 @@ "@clear_long": { "description": "Clears a product list (long label)" }, - "really_clear": "确定要删除此列表吗?", + "really_clear": "您確定要刪除此清單嗎?", "@Plural": {}, "pct_match": "{percent}% 匹配度", "@pct_match": { @@ -1085,16 +1085,16 @@ "description": "AppBar subtitle when in comparison mode" }, "retry_button_label": "重試", - "connect_with_us": "联系我们", + "connect_with_us": "聯繫我們", "instagram": "Follow us on Instagram", "instagram_link": "https://instagram.com/open.food.facts", "twitter": "Follow us on X (formerly Twitter)", "twitter_link": "https://www.twitter.com/openfoodfacts", - "blog": "博客", - "faq": "常见问题", + "blog": "部落格", + "faq": "常見問題", "discover": "探索", - "how_to_contribute": "如何贡献数据", - "hint_knowledge_panel_message": "点击卡片任意部分获取更多信息。立即尝试!", + "how_to_contribute": "如何貢獻", + "hint_knowledge_panel_message": "您可以點擊卡片的任何部分以獲取有關您所看到內容的更多詳細信息。現在就試試!", "@hint_knowledge_panel_message": { "description": "Hint popup indicating the card is clickable during onboarding" }, @@ -1196,7 +1196,7 @@ "@authorize": { "description": "Button to accept the request of sending the anonymous analytics or authorize the camera permission" }, - "refuse_button_label": "拒绝", + "refuse_button_label": "拒絕", "@refuse": { "description": "Button to decline the request of sending the anonymous analytics" }, @@ -1231,11 +1231,11 @@ "@onboarding_welcome_loading_error": { "description": "Seems like there is no example product in your language" }, - "product_list_your_ranking": "您的排名", + "product_list_your_ranking": "你的排名", "@product_list_your_ranking": { "description": "Your ranking screen title" }, - "product_list_empty_icon_desc": "无历史记录", + "product_list_empty_icon_desc": "無歷史資料", "@product_list_icon_desc": { "description": "When the history list is empty, icon description (for accessibility) of the message explaining to start scanning" }, @@ -1261,15 +1261,15 @@ "count": {} } }, - "loading_dialog_default_title": "正在下载数据", + "loading_dialog_default_title": "正在下載資料", "@loading_dialog_default_title": { "description": "Default loading dialog title" }, - "loading_dialog_default_error_message": "无法下载数据", + "loading_dialog_default_error_message": "無法下載資料", "@loading_dialog_default_error_message": { "description": "Default loading dialog error message" }, - "account_delete": "删除账号", + "account_delete": "刪除帳號", "@account_delete": { "description": "Delete account button (user profile)" }, @@ -1281,7 +1281,7 @@ "@user_profile": { "description": "User account (if connected)" }, - "user_profile_title_guest": "欢迎!", + "user_profile_title_guest": "歡迎!", "@user_profile_title_guest": { "description": "When the user is not connected" }, @@ -1304,7 +1304,7 @@ } } }, - "email_subject_account_deletion": "删除账号", + "email_subject_account_deletion": "刪除帳號", "@email_subject_account_deletion": { "description": "Email subject for an account deletion" }, @@ -1391,7 +1391,7 @@ "@permission_photo_none_found": { "description": "Message for the user when no camera was detected, replacing the barcode scanner" }, - "permission_photo_denied": "未授权访问照相机", + "permission_photo_denied": "未授權相機訪問權限", "@permission_photo_denied": { "description": "When the camera/photo permission is denied by user" }, @@ -1412,11 +1412,11 @@ } } }, - "edit_product_form_item_details_title": "基本信息", + "edit_product_form_item_details_title": "基本資料", "@edit_product_form_item_details_title": { "description": "Product edition - Basic Details - Title" }, - "edit_product_form_item_details_subtitle": "产品名称、品牌、数量", + "edit_product_form_item_details_subtitle": "產品名稱、品牌、數量", "@edit_product_form_item_details_subtitle": { "description": "Product edition - Basic Details - Subtitle" }, @@ -1432,11 +1432,11 @@ "@edit_product_form_item_photos_title": { "description": "Product edition - Photos - Title" }, - "edit_product_form_item_photos_subtitle": "添加或刷新照片", + "edit_product_form_item_photos_subtitle": "添加或更新照片", "@edit_product_form_item_photos_subtitle": { "description": "Product edition - Photos - SubTitle" }, - "edit_product_form_item_labels_title": "标签和证书", + "edit_product_form_item_labels_title": "標籤和認證", "@edit_product_form_item_labels_title": { "description": "Product edition - Labels - Title" }, @@ -1464,7 +1464,7 @@ "@edit_product_form_item_stores_type": { "description": "Product edition - Stores - input textfield type" }, - "edit_product_form_item_origins_title": "起源", + "edit_product_form_item_origins_title": "產地", "@edit_product_form_item_origins_title": { "description": "Product edition - Origins - Title" }, @@ -1500,7 +1500,7 @@ "@edit_product_form_item_countries_explanations": { "description": "Product edition - Countries - explanations" }, - "edit_product_form_item_emb_codes_title": "可追踪码", + "edit_product_form_item_emb_codes_title": "產銷履歷代碼", "@edit_product_form_item_emb_codes_title": { "description": "Product edition - Traceability codes - Title" }, @@ -1508,7 +1508,7 @@ "@edit_product_form_item_emb_codes_hint": { "description": "Product edition - Traceability Codes - input textfield hint" }, - "edit_product_form_item_emb_codes_type": "可追踪码", + "edit_product_form_item_emb_codes_type": "產銷履歷代碼", "@edit_product_form_item_emb_codes_type": { "description": "Product edition - Traceability Codes - input textfield type" }, @@ -1558,7 +1558,7 @@ "@edit_product_form_item_nutrition_facts_title": { "description": "Product edition - Nutrition facts - Title" }, - "edit_product_form_item_nutrition_facts_subtitle": "营养成分、酒精含量……", + "edit_product_form_item_nutrition_facts_subtitle": "營養、酒精含量⋯⋯", "@edit_product_form_item_nutrition_facts_subtitle": { "description": "Product edition - Nutrition facts - SubTitle" }, @@ -1566,7 +1566,7 @@ "@edit_product_form_save": { "description": "Product edition - Nutrition facts - Save button" }, - "no_data_available": "No data available", + "no_data_available": "沒有可用的資料", "@no_data_available": { "description": "When there are no data to display" }, @@ -1811,7 +1811,7 @@ "@dev_preferences_export_history_dialog_title": { "description": "User dev preferences - Export history - Dialog title" }, - "dev_preferences_button_positive": "确定", + "dev_preferences_button_positive": "好", "@dev_preferences_button_positive": { "description": "User dev preferences - Positive button label" }, @@ -2037,7 +2037,7 @@ "@prices_unknown_product": { "description": "Very small text, in the context of prices, to say that the product is unknown" }, - "dev_preferences_import_history_result_success": "完成", + "dev_preferences_import_history_result_success": "已完成", "@dev_preferences_import_history_result_success": { "description": "User dev preferences - Import history - Result successful" }, @@ -2063,7 +2063,7 @@ "@dev_mode_spellchecker_for_ocr_subtitle": { "description": "User dev preferences - Enable Spellchecker on OCR screens - Subtitle" }, - "search_history_item_edit_tooltip": "Reuse and edit this search", + "search_history_item_edit_tooltip": "沿用與編輯此搜尋的項目", "@search_history_item_edit_tooltip": { "description": "A tooltip to explain the Pen button near a search term -> it allows to reuse the item" }, @@ -2170,7 +2170,7 @@ "@signup_page_terms_of_use_line1": { "description": "User consent for terms of use (line 1)" }, - "signup_page_terms_of_use_line2": "使用条款和贡献", + "signup_page_terms_of_use_line2": "使用及貢獻條款", "@signup_page_terms_of_use_line2": { "description": "User consent for terms of use (line 2)" }, @@ -2256,7 +2256,7 @@ } } }, - "barcode_invalid_error": "无效的条形码", + "barcode_invalid_error": "條碼無效", "basic_details_add_success": "基本信息添加成功", "basic_details_add_error": "无法添加基本信息,请稍后再试", "@basic_details_add_error": { @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "包装成分", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -2707,7 +2711,7 @@ "@edit_packagings_element_hint_units": { "description": "Field verbose hint, more like an info than a text field hint" }, - "edit_packagings_element_field_shape": "形状", + "edit_packagings_element_field_shape": "形狀", "@edit_packagings_element_field_shape": { "description": "Field label" }, @@ -3060,7 +3064,7 @@ "@reorder_attribute_action": { "description": "An action button or a page title about reordering the attributes (e.g. 'is vegan?', 'nutrition facts', ...)" }, - "link_cant_be_opened": "This link can't be opened on your device. Please check that you have a browser installed.", + "link_cant_be_opened": "此連結無法在您的裝置上開啟。請檢查您是否安裝了瀏覽器。", "@link_cant_be_opened": { "description": "An error may happen if the device doesn't have a browser installed." }, @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "封面圖片", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "封面圖片", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "成分照片", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { @@ -3358,9 +3397,9 @@ "description": "Example of products for other categories" }, "photo_field_front": "Product photo", - "photo_field_ingredients": "原料的照片", + "photo_field_ingredients": "成分照片", "photo_field_nutrition": "Nutrition photo", - "photo_field_packaging": "包装信息照片", + "photo_field_packaging": "包裝資訊照片", "photo_already_exists": "This photo already exists", "photo_missing": "This photo is missing", "date": "Date" diff --git a/packages/smooth_app/lib/l10n/app_zu.arb b/packages/smooth_app/lib/l10n/app_zu.arb index 090f6492826..ee5fcd5e669 100644 --- a/packages/smooth_app/lib/l10n/app_zu.arb +++ b/packages/smooth_app/lib/l10n/app_zu.arb @@ -869,22 +869,22 @@ } } }, - "product_tags_title": "Product Tags", + "product_tags_title": "Product properties", "@product_tags_title": { - "description": "The title for showing product tags, aka folksonomy data" + "description": "The title for showing product properties, aka folksonomy data" }, - "no_product_tags_found_message": "No tags found. Tags can be used to better group similar products. Tap to add.", + "no_product_tags_found_message": "No product properties found. Properties can be used to describe products in more details, in a flexible way. Tap to add.", "@no_product_tags_found_message": { - "description": "Message to show if there are no product tags found" + "description": "Message to show if there are no product properties found" }, - "add_tag": "Add Tag", - "edit_tag": "Edit Tag", - "remove_tag": "Remove Tag", - "tag_key": "Key", + "add_tag": "Add property", + "edit_tag": "Edit property", + "remove_tag": "Remove property", + "tag_key": "Property", "tag_value": "Value", - "invalid_key_format": "Invalid key format. Must be lowercase and no spaces.", + "invalid_key_format": "Invalid property format. It must be lowercase and without any spaces.", "@invalid_key_format": { - "description": "Message to show if the key value for a new product tag is invalid. This logic is identical to whats being validated in the folksonomy api" + "description": "Message to show if the property's value for a new product property is invalid. This logic is identical to whats being validated in the Folksonomy API" }, "product_internet_error": "Impossible to fetch information about this product due to a network error.", "cached_results_from": "Show results from:", @@ -2681,6 +2681,10 @@ "@owner_field_info_close_button": { "description": "The owner info may be shown in a closeable dialog. This is the label of the button (used on a long press event and for the accessibility label)." }, + "owner_field_image": "This image is provided by the producer. It may not be editable.", + "@owner_field_image": { + "description": "An image is directly provided by the producer. It may be locked and not be editable." + }, "edit_packagings_title": "Packaging components", "@edit_packagings_title": { "description": "Title of the structured packagings page" @@ -3225,25 +3229,60 @@ } } }, - "product_page_image_front_accessibility_label": "Front picture", - "@product_page_image_front_accessibility_label": { + "product_image_front_accessibility_label": "Front picture", + "@product_image_front_accessibility_label": { "description": "Accessibility label for the image on the product page" }, - "product_page_image_front_outdated_message": "This picture may be outdated", - "@product_page_image_front_outdated_message": { + "product_image_ingredients_accessibility_label": "Ingredients picture", + "@product_image_ingredients_accessibility_label": { + "description": "Accessibility label for the image of ingredients" + }, + "product_image_nutrition_accessibility_label": "Nutrition picture", + "@product_image_nutrition_accessibility_label": { + "description": "Accessibility label for the image of the nutrition" + }, + "product_image_packaging_accessibility_label": "Packaging picture", + "@product_image_packaging_accessibility_label": { + "description": "Accessibility label for the image of the packaging" + }, + "product_image_other_accessibility_label": "Other picture", + "@product_image_other_accessibility_label": { + "description": "Accessibility label for an image" + }, + "product_image_outdated_message": "This picture may be outdated", + "@product_image_outdated_message": { "description": "Small message to indicate that the image may be outdated" }, - "product_page_image_front_outdated_message_accessibility_label": "Front picture (this image may be outdated)", - "@product_page_image_front_outdated_message_accessibility_label": { - "description": "Accessibility label for the image on the product page when it may be outdated" + "product_image_outdated_message_accessibility_label": "{type} (this image may be outdated)", + "@product_image_outdated_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be outdated", + "placeholders": { + "type": { + "type": "String" + } + } }, - "product_page_image_error": "Unable to load the image!", - "@product_page_image_error": { + "product_image_locked_message_accessibility_label": "{type} (this image may be locked by the producer)", + "@product_image_locked_message_accessibility_label": { + "description": "Accessibility label for the image on the product page when it may be locked (producer provided)", + "placeholders": { + "type": { + "type": "String" + } + } + }, + "product_image_error": "Unable to load the image!", + "@product_image_error": { "description": "Small message that will be displayed above the picture (please keep it short)" }, - "product_page_image_error_accessibility_label": "Unable to load the front picture (network error?)", - "@product_page_image_error_accessibility_label": { - "description": "Accessibility label for the image on the product page when it fails to load" + "product_image_error_accessibility_label": "Unable to load the {type} (network error?)", + "@product_image_error_accessibility_label": { + "description": "Accessibility label for the image on the product page when it fails to load", + "placeholders": { + "type": { + "type": "String" + } + } }, "product_page_image_no_image_available": "No\nimage!", "@product_page_image_no_image_available": { diff --git a/packages/smooth_app/lib/pages/preferences/country_selector/country_selector.dart b/packages/smooth_app/lib/pages/preferences/country_selector/country_selector.dart index 483b7e3a37f..ddab1d609f9 100644 --- a/packages/smooth_app/lib/pages/preferences/country_selector/country_selector.dart +++ b/packages/smooth_app/lib/pages/preferences/country_selector/country_selector.dart @@ -13,6 +13,7 @@ import 'package:smooth_app/generic_lib/duration_constants.dart'; import 'package:smooth_app/helpers/provider_helper.dart'; import 'package:smooth_app/pages/prices/emoji_helper.dart'; import 'package:smooth_app/resources/app_icons.dart' as icons; +import 'package:smooth_app/themes/smooth_theme.dart'; import 'package:smooth_app/themes/smooth_theme_colors.dart'; import 'package:smooth_app/themes/theme_provider.dart'; import 'package:smooth_app/widgets/smooth_text.dart'; @@ -402,13 +403,14 @@ class _CountrySelectorBottomBar extends StatelessWidget { return EMPTY_WIDGET; } - final SmoothColorsThemeExtension? colors = - Theme.of(context).extension(); + final SmoothColorsThemeExtension colors = + context.extension(); return SmoothButtonsBar2( animate: true, - backgroundColor: - context.darkTheme() ? colors!.primaryDark : colors!.primaryMedium, + backgroundColor: context.lightTheme() + ? colors.primaryMedium + : colors.primaryUltraBlack, positiveButton: SmoothActionButton2( text: AppLocalizations.of(context).validate, icon: const icons.Arrow.right(), diff --git a/packages/smooth_app/lib/pages/product/add_new_product/add_new_product_page.dart b/packages/smooth_app/lib/pages/product/add_new_product/add_new_product_page.dart index 25ccaa47ccb..afa27898c2d 100644 --- a/packages/smooth_app/lib/pages/product/add_new_product/add_new_product_page.dart +++ b/packages/smooth_app/lib/pages/product/add_new_product/add_new_product_page.dart @@ -28,6 +28,9 @@ import 'package:smooth_app/pages/product/product_image_swipeable_view.dart'; import 'package:smooth_app/pages/product/product_type_extensions.dart'; import 'package:smooth_app/pages/product/simple_input_page_helpers.dart'; import 'package:smooth_app/query/product_query.dart'; +import 'package:smooth_app/themes/smooth_theme.dart'; +import 'package:smooth_app/themes/smooth_theme_colors.dart'; +import 'package:smooth_app/themes/theme_provider.dart'; import 'package:smooth_app/widgets/smooth_scaffold.dart'; import 'package:smooth_app/widgets/v2/smooth_buttons_bar.dart'; import 'package:smooth_app/widgets/will_pop_scope.dart'; @@ -98,6 +101,7 @@ class _AddNewProductPageState extends State (widget.displayPictures ? 1 : 0); double get _progress => (_pageNumber + 1) / _totalPages; + bool get _isLastPage => (_pageNumber + 1) == _totalPages; ProductType? _inputProductType; late ColorScheme _colorScheme; @@ -236,6 +240,7 @@ class _AddNewProductPageState extends State onWillPop: () async => (await _onWillPop(), null), child: SmoothScaffold( body: SafeArea( + bottom: false, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -261,6 +266,10 @@ class _AddNewProductPageState extends State Expanded( child: PageView( controller: _pageController, + physics: + widget.displayProductType && _inputProductType == null + ? const NeverScrollableScrollPhysics() + : null, children: [ if (widget.displayProductType) _buildCard(_getProductTypes(context)), @@ -460,6 +469,9 @@ class _AddNewProductPageState extends State List _getEcoscoreRows(final BuildContext context) { final AppLocalizations appLocalizations = AppLocalizations.of(context); + final SmoothColorsThemeExtension extension = + context.extension(); + final Attribute? attribute = _getAttribute(Attribute.ATTRIBUTE_ECOSCORE); return [ AddNewProductTitle(appLocalizations.new_product_title_ecoscore), @@ -474,18 +486,21 @@ class _AddNewProductPageState extends State ), ), const SizedBox(height: 15.0), - GestureDetector( + InkWell( + borderRadius: ROUNDED_BORDER_RADIUS, onTap: () { setState(() => _ecoscoreExpanded = !_ecoscoreExpanded); }, - child: Container( + child: Ink( padding: const EdgeInsets.symmetric( vertical: BALANCED_SPACE, horizontal: 15.0, ), decoration: BoxDecoration( borderRadius: ROUNDED_BORDER_RADIUS, - color: _colorScheme.surface, + color: context.lightTheme() + ? extension.primaryNormal + : extension.primaryMedium, ), child: Row( children: [ diff --git a/packages/smooth_app/lib/pages/product/gallery_view/product_image_gallery_details_banner.dart b/packages/smooth_app/lib/pages/product/gallery_view/product_image_gallery_details_banner.dart new file mode 100644 index 00000000000..28501b5e3d6 --- /dev/null +++ b/packages/smooth_app/lib/pages/product/gallery_view/product_image_gallery_details_banner.dart @@ -0,0 +1,282 @@ +part of 'package:smooth_app/pages/product/gallery_view/product_image_gallery_photo_row.dart'; + +Future<_PhotoRowActions?> _showPhotoBanner({ + required final BuildContext context, + required final Product product, + required final ImageField imageField, + required final OpenFoodFactsLanguage language, + required final TransientFile transientFile, +}) async { + final SmoothColorsThemeExtension extension = + context.extension(); + final bool lightTheme = context.lightTheme(listen: false); + final bool imageAvailable = transientFile.isImageAvailable(); + + final AppLocalizations appLocalizations = AppLocalizations.of(context); + + final _PhotoRowActions? action = + await showSmoothListOfChoicesModalSheet<_PhotoRowActions>( + context: context, + title: imageAvailable + ? appLocalizations.product_image_action_replace_photo( + imageField.getProductImageTitle(appLocalizations)) + : appLocalizations.product_image_action_add_photo( + imageField.getProductImageTitle(appLocalizations)), + values: _PhotoRowActions.values, + labels: [ + if (imageAvailable) + appLocalizations.product_image_action_take_new_picture + else + appLocalizations.product_image_action_take_picture, + appLocalizations.product_image_action_from_gallery, + appLocalizations.product_image_action_choose_existing_photo, + ], + prefixIconTint: + lightTheme ? extension.primaryDark : extension.primaryMedium, + prefixIcons: [ + const Icon(Icons.camera), + const Icon(Icons.perm_media_rounded), + const Icon(Icons.image_search_rounded), + ], + addEndArrowToItems: true, + footer: _PhotoRowBanner( + children: [ + _PhotoRowDate(transientFile: transientFile), + _PhotoRowLockedStatus( + product: product, + imageField: imageField, + language: language, + ), + ], + ), + ); + + return action; +} + +class _PhotoRowBanner extends StatelessWidget { + const _PhotoRowBanner({required this.children}); + + final List children; + + @override + Widget build(BuildContext context) { + return Padding( + padding: EdgeInsetsDirectional.only( + top: MEDIUM_SPACE, + bottom: !(Platform.isIOS || Platform.isMacOS) ? 0.0 : VERY_SMALL_SPACE, + ), + child: Column( + mainAxisSize: MainAxisSize.min, + children: children, + ), + ); + } +} + +enum _PhotoRowActions { + takePicture, + selectFromGallery, + selectFromProductPhotos, +} + +/// The date of the photo (used in the modal sheet) +class _PhotoRowDate extends StatelessWidget { + const _PhotoRowDate({ + required this.transientFile, + }); + + final TransientFile transientFile; + + @override + Widget build(BuildContext context) { + if (!transientFile.isImageAvailable()) { + return EMPTY_WIDGET; + } + + final SmoothColorsThemeExtension extension = + context.extension(); + final bool outdated = transientFile.expired; + + final AppLocalizations appLocalizations = AppLocalizations.of(context); + + return _PhotoRowInfo( + icon: outdated ? _outdatedIcon : _successIcon, + iconBackgroundColor: outdated ? extension.warning : extension.success, + text: Padding( + /// Padding required by the use of [RichText] + padding: const EdgeInsetsDirectional.only(bottom: 2.75), + child: RichText( + text: TextSpan( + children: [ + TextSpan( + text: '${appLocalizations.date}${appLocalizations.sep}: ', + style: const TextStyle( + fontWeight: FontWeight.bold, + ), + ), + TextSpan( + text: DateFormat.yMd(ProductQuery.getLocaleString()) + .format(transientFile.uploadedDate!), + ), + ], + style: DefaultTextStyle.of(context).style.merge( + const TextStyle( + fontSize: 15.0, + fontWeight: FontWeight.w500, + color: Colors.white, + ), + ), + ), + ), + ), + ); + } + + Widget get _outdatedIcon => const Padding( + padding: EdgeInsetsDirectional.only( + bottom: 1.5, + start: 1.5, + ), + child: icons.Outdated( + color: Colors.white, + size: 19.0, + ), + ); + + Widget get _successIcon => const Padding( + padding: EdgeInsetsDirectional.only( + bottom: 0.5, + start: 0.5, + ), + child: icons.Clock( + color: Colors.white, + size: 19.0, + ), + ); +} + +/// If the photo is locked by the owner (used in the modal sheet) +class _PhotoRowLockedStatus extends StatelessWidget { + const _PhotoRowLockedStatus({ + required this.product, + required this.imageField, + required this.language, + }); + + final Product product; + final ImageField imageField; + final OpenFoodFactsLanguage language; + + @override + Widget build(BuildContext context) { + if (product.isImageLocked(imageField, language) != true) { + return EMPTY_WIDGET; + } + + final SmoothColorsThemeExtension extension = + context.extension(); + + final AppLocalizations appLocalizations = AppLocalizations.of(context); + + return Padding( + padding: const EdgeInsetsDirectional.only(top: SMALL_SPACE), + child: _PhotoRowInfo( + icon: const IconTheme( + data: IconThemeData( + size: 19.0, + color: Colors.white, + ), + child: Padding( + padding: EdgeInsetsDirectional.only(bottom: 2.0), + child: OwnerFieldIcon(), + ), + ), + iconBackgroundColor: extension.warning, + text: Text( + appLocalizations.owner_field_image, + style: const TextStyle( + fontWeight: FontWeight.w600, + color: Colors.white, + ), + ), + wrapTextInExpanded: true, + ), + ); + } +} + +/// Show an info in the modal sheet +class _PhotoRowInfo extends StatelessWidget { + const _PhotoRowInfo({ + required this.icon, + required this.iconBackgroundColor, + required this.text, + this.wrapTextInExpanded = false, + }); + + final Widget icon; + final Color iconBackgroundColor; + final Widget text; + final bool wrapTextInExpanded; + + @override + Widget build(BuildContext context) { + final SmoothColorsThemeExtension extension = + context.extension(); + + return Padding( + padding: const EdgeInsetsDirectional.symmetric(horizontal: SMALL_SPACE), + child: DecoratedBox( + decoration: BoxDecoration( + color: extension.primaryDark, + borderRadius: BorderRadius.all( + Radius.circular(MediaQuery.of(context).size.height), + ), + ), + child: ConstrainedBox( + constraints: BoxConstraints( + minHeight: 47.5, + maxWidth: MediaQuery.sizeOf(context).width * 0.95, + ), + child: IntrinsicHeight( + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + SizedBox.square( + dimension: 47.5, + child: DecoratedBox( + decoration: BoxDecoration( + color: iconBackgroundColor, + shape: BoxShape.circle, + ), + child: Center(child: icon), + ), + ), + _textWidget, + ], + ), + ), + ), + ), + ); + } + + Widget get _textWidget { + final Widget textWidget = Padding( + padding: const EdgeInsetsDirectional.only( + start: MEDIUM_SPACE, + end: VERY_LARGE_SPACE, + ), + child: text, + ); + + if (wrapTextInExpanded) { + return Expanded( + child: textWidget, + ); + } + + return textWidget; + } +} diff --git a/packages/smooth_app/lib/pages/product/gallery_view/product_image_gallery_photo_row.dart b/packages/smooth_app/lib/pages/product/gallery_view/product_image_gallery_photo_row.dart index 6ef0f9291fb..a75b2d0ae02 100644 --- a/packages/smooth_app/lib/pages/product/gallery_view/product_image_gallery_photo_row.dart +++ b/packages/smooth_app/lib/pages/product/gallery_view/product_image_gallery_photo_row.dart @@ -15,6 +15,7 @@ import 'package:smooth_app/helpers/image_field_extension.dart'; import 'package:smooth_app/pages/crop_parameters.dart'; import 'package:smooth_app/pages/image/product_image_helper.dart'; import 'package:smooth_app/pages/product/gallery_view/product_image_gallery_view.dart'; +import 'package:smooth_app/pages/product/owner_field_info.dart'; import 'package:smooth_app/pages/product/product_image_server_button.dart'; import 'package:smooth_app/pages/product/product_image_swipeable_view.dart'; import 'package:smooth_app/query/product_query.dart'; @@ -24,6 +25,8 @@ import 'package:smooth_app/themes/smooth_theme.dart'; import 'package:smooth_app/themes/smooth_theme_colors.dart'; import 'package:smooth_app/themes/theme_provider.dart'; +part 'product_image_gallery_details_banner.dart'; + class ImageGalleryPhotoRow extends StatefulWidget { const ImageGalleryPhotoRow({ required this.position, @@ -101,6 +104,7 @@ class _ImageGalleryPhotoRowState extends State { context: context, product: product, transientFile: transientFile, + language: widget.language, ), child: ClipRRect( borderRadius: ANGULAR_BORDER_RADIUS, @@ -160,6 +164,9 @@ class _ImageGalleryPhotoRowState extends State { } return ProductPicture.fromTransientFile( + product: product, + imageField: widget.imageField, + language: widget.language, transientFile: transientFile, size: Size(box.maxWidth, box.maxHeight), onTap: null, @@ -171,6 +178,8 @@ class _ImageGalleryPhotoRowState extends State { product.barcode!, widget.imageField, ), + showObsoleteIcon: false, + showOwnerIcon: true, ); }, ), @@ -222,41 +231,15 @@ class _ImageGalleryPhotoRowState extends State { Future _onLongTap({ required final BuildContext context, required final Product product, + required final OpenFoodFactsLanguage language, required final TransientFile transientFile, }) async { - final SmoothColorsThemeExtension extension = - context.extension(); - final bool lightTheme = context.lightTheme(listen: false); - final bool imageAvailable = transientFile.isImageAvailable(); - - final AppLocalizations appLocalizations = AppLocalizations.of(context); - - final _PhotoRowActions? action = - await showSmoothListOfChoicesModalSheet<_PhotoRowActions>( + final _PhotoRowActions? action = await _showPhotoBanner( context: context, - title: imageAvailable - ? appLocalizations.product_image_action_replace_photo( - widget.imageField.getProductImageTitle(appLocalizations)) - : appLocalizations.product_image_action_add_photo( - widget.imageField.getProductImageTitle(appLocalizations)), - values: _PhotoRowActions.values, - labels: [ - if (imageAvailable) - appLocalizations.product_image_action_take_new_picture - else - appLocalizations.product_image_action_take_picture, - appLocalizations.product_image_action_from_gallery, - appLocalizations.product_image_action_choose_existing_photo, - ], - prefixIconTint: - lightTheme ? extension.primaryDark : extension.primaryMedium, - prefixIcons: [ - const Icon(Icons.camera), - const Icon(Icons.perm_media_rounded), - const Icon(Icons.image_search_rounded), - ], - addEndArrowToItems: true, - footer: _PhotoRowDate(transientFile: transientFile), + product: product, + imageField: widget.imageField, + language: language, + transientFile: transientFile, ); if (!context.mounted || action == null) { @@ -348,123 +331,6 @@ class _ImageGalleryPhotoRowState extends State { ); } -enum _PhotoRowActions { - takePicture, - selectFromGallery, - selectFromProductPhotos, -} - -/// The date of the photo (used in the modal sheet) -class _PhotoRowDate extends StatelessWidget { - const _PhotoRowDate({ - required this.transientFile, - }); - - final TransientFile transientFile; - - @override - Widget build(BuildContext context) { - if (!transientFile.isImageAvailable()) { - return EMPTY_WIDGET; - } - - final SmoothColorsThemeExtension extension = - context.extension(); - final bool outdated = transientFile.expired; - - final AppLocalizations appLocalizations = AppLocalizations.of(context); - - return Padding( - padding: EdgeInsetsDirectional.only( - top: MEDIUM_SPACE, - bottom: !(Platform.isIOS || Platform.isMacOS) ? 0.0 : VERY_SMALL_SPACE, - ), - child: DecoratedBox( - decoration: BoxDecoration( - color: extension.primaryDark, - borderRadius: BorderRadius.all( - Radius.circular(MediaQuery.of(context).size.height), - ), - ), - child: IntrinsicHeight( - child: Row( - mainAxisSize: MainAxisSize.min, - children: [ - AspectRatio( - aspectRatio: 1.0, - child: DecoratedBox( - decoration: BoxDecoration( - color: outdated ? extension.warning : extension.success, - shape: BoxShape.circle, - ), - child: outdated ? _outdatedIcon : _successIcon, - ), - ), - Padding( - padding: const EdgeInsetsDirectional.only( - start: MEDIUM_SPACE, - end: VERY_LARGE_SPACE, - bottom: 2.75, - ), - child: RichText( - text: TextSpan( - children: [ - TextSpan( - text: - '${appLocalizations.date}${appLocalizations.sep}: ', - style: const TextStyle( - fontWeight: FontWeight.bold, - ), - ), - TextSpan( - text: DateFormat.yMd(ProductQuery.getLocaleString()) - .format(transientFile.uploadedDate!), - ), - ], - style: DefaultTextStyle.of(context).style.merge( - const TextStyle( - fontSize: 15.0, - fontWeight: FontWeight.w500, - color: Colors.white, - ), - ), - ), - ), - ), - ], - ), - ), - ), - ); - } - - Widget get _outdatedIcon => const Padding( - padding: EdgeInsetsDirectional.only( - top: 12.0, - bottom: 16.5, - start: 12.5, - end: 12.0, - ), - child: icons.Outdated( - color: Colors.white, - size: 19.0, - ), - ); - - Widget get _successIcon => const Padding( - padding: EdgeInsetsDirectional.only( - top: 12.0, - bottom: 16.5, - start: 12.0, - end: 12.0, - ), - child: icons.Clock( - color: Colors.white, - size: 19.0, - ), - ); -} - class _PhotoRowIndicator extends StatelessWidget { const _PhotoRowIndicator({ required this.transientFile, @@ -486,7 +352,9 @@ class _PhotoRowIndicator extends StatelessWidget { context.extension(), ), ), - child: Center(child: child()), + child: Center( + child: child(), + ), ), ); } diff --git a/packages/smooth_app/lib/pages/product/owner_field_info.dart b/packages/smooth_app/lib/pages/product/owner_field_info.dart index 995505738c8..ac9c9076f4e 100644 --- a/packages/smooth_app/lib/pages/product/owner_field_info.dart +++ b/packages/smooth_app/lib/pages/product/owner_field_info.dart @@ -54,11 +54,14 @@ class OwnerFieldBanner extends StatelessWidget { /// Standard icon about "owner fields". class OwnerFieldIcon extends StatelessWidget { - const OwnerFieldIcon(); + const OwnerFieldIcon({this.size, super.key}); + + final double? size; @override Widget build(BuildContext context) => Icon( _ownerFieldIconData, + size: size, semanticLabel: AppLocalizations.of(context).owner_field_info_title, ); } diff --git a/packages/smooth_app/lib/pages/product/product_image_swipeable_view.dart b/packages/smooth_app/lib/pages/product/product_image_swipeable_view.dart index e652340201f..173d73a0f71 100644 --- a/packages/smooth_app/lib/pages/product/product_image_swipeable_view.dart +++ b/packages/smooth_app/lib/pages/product/product_image_swipeable_view.dart @@ -5,9 +5,11 @@ import 'package:openfoodfacts/openfoodfacts.dart'; import 'package:provider/provider.dart'; import 'package:smooth_app/data_models/up_to_date_mixin.dart'; import 'package:smooth_app/database/local_database.dart'; +import 'package:smooth_app/generic_lib/bottom_sheets/smooth_bottom_sheet.dart'; import 'package:smooth_app/generic_lib/design_constants.dart'; import 'package:smooth_app/generic_lib/widgets/smooth_back_button.dart'; import 'package:smooth_app/helpers/image_field_extension.dart'; +import 'package:smooth_app/pages/product/owner_field_info.dart'; import 'package:smooth_app/pages/product/product_image_viewer.dart'; import 'package:smooth_app/query/product_query.dart'; import 'package:smooth_app/widgets/smooth_app_bar.dart'; @@ -96,6 +98,13 @@ class _ProductImageSwipeableViewState extends State iconColor: Colors.white, onPressed: () => Navigator.maybePop(context), ), + actions: [ + ValueListenableBuilder( + valueListenable: _currentImageDataIndex, + builder: (_, int index, __) { + return _lockedIcon(_imageFields[index]); + }) + ], ), body: PageView.builder( onPageChanged: (int index) => _currentImageDataIndex.value = index, @@ -117,4 +126,48 @@ class _ProductImageSwipeableViewState extends State ), ); } + + Widget _lockedIcon(ImageField imageField) { + if (widget.product.isImageLocked(imageField, _currentLanguage) != true) { + return EMPTY_WIDGET; + } else { + final AppLocalizations appLocalizations = AppLocalizations.of(context); + return IconButton( + onPressed: () { + showSmoothModalSheet( + context: context, + builder: (BuildContext context) { + return SmoothModalSheet( + title: appLocalizations.owner_field_info_title, + prefixIndicator: true, + body: SafeArea( + top: false, + child: Column( + children: [ + Container( + decoration: BoxDecoration( + color: Theme.of(context).colorScheme.secondary, + shape: BoxShape.circle, + ), + padding: const EdgeInsetsDirectional.all(LARGE_SPACE), + child: const OwnerFieldIcon( + size: 30.0, + ), + ), + const SizedBox(height: MEDIUM_SPACE), + Text( + appLocalizations.owner_field_info_message, + style: const TextStyle(fontSize: 15.0), + ), + ], + ), + ), + ); + }); + }, + tooltip: appLocalizations.owner_field_info_title, + icon: const OwnerFieldIcon(), + ); + } + } } diff --git a/packages/smooth_app/lib/pages/product/product_incomplete_card.dart b/packages/smooth_app/lib/pages/product/product_incomplete_card.dart index 0dad587f222..c32f927ad9a 100644 --- a/packages/smooth_app/lib/pages/product/product_incomplete_card.dart +++ b/packages/smooth_app/lib/pages/product/product_incomplete_card.dart @@ -110,8 +110,8 @@ class ProductIncompleteCard extends StatelessWidget { Icons.bolt, color: Colors.amber, ), - onPressed: () async => Navigator.push( - context, + onPressed: () async => + Navigator.of(context, rootNavigator: true).push( MaterialPageRoute( builder: (BuildContext context) => AddNewProductPage.fromProduct( product,