From 7941e26ecc6e41762d42cf46e8e1ac94f7021466 Mon Sep 17 00:00:00 2001 From: Open Food Facts Bot <119524357+openfoodfacts-bot@users.noreply.github.com> Date: Sat, 20 Jul 2024 23:30:05 +0200 Subject: [PATCH] New translations app_en.arb (Asturian) --- packages/smooth_app/lib/l10n/app_ast.arb | 2964 ++++++++++++++++++++++ 1 file changed, 2964 insertions(+) create mode 100644 packages/smooth_app/lib/l10n/app_ast.arb diff --git a/packages/smooth_app/lib/l10n/app_ast.arb b/packages/smooth_app/lib/l10n/app_ast.arb new file mode 100644 index 00000000000..4950480c499 --- /dev/null +++ b/packages/smooth_app/lib/l10n/app_ast.arb @@ -0,0 +1,2964 @@ +{ + "@Utils": {}, + "sep": "", + "@sep": { + "description": "Separator just before a colon (':'). Probably only populated in French and empty in other languages." + }, + "yes": "Yes", + "@yes": {}, + "add": "Add", + "@add": {}, + "account_delete_message": "Are you sure you want to delete your account?\nIf there is a specific reason, please share below", + "@account_delete_message": {}, + "reason": "Reason", + "@reason": {}, + "okay": "Okay", + "@okay": {}, + "validate": "Validate", + "@validate": { + "description": "Button label: Validate the input" + }, + "create": "Create", + "@create": { + "description": "An action to create" + }, + "applyButtonText": "Apply", + "@applyButtonText": {}, + "next_label": "Next", + "@next_label": { + "description": "A label on a button that says 'Next', pressing the button takes the user to the next screen." + }, + "previous_label": "Previous", + "@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", + "save_confirmation": "Are you sure you want to save?", + "skip": "Skip", + "cancel": "Cancel", + "@cancel": {}, + "ignore": "Ignore", + "@ignore": { + "description": "'Ignore' button. Typical use case in combination with 'OK' and 'Cancel' buttons." + }, + "close": "Close", + "@close": {}, + "no": "No", + "@no": {}, + "stop": "Stop", + "@stop": {}, + "finish": "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 preferences", + "@reset": { + "description": "Button label, clicking on the button will reset user's food preferences." + }, + "error": "Something went wrong", + "@error": {}, + "error_occurred": "An error occurred", + "@error_occurred": {}, + "featureInProgress": "We're still working on this feature, stay tuned", + "@featureInProgress": {}, + "label_web": "View on the web", + "@label_web": {}, + "learnMore": "Learn more", + "@learnMore": {}, + "unknown": "Unknown", + "@unknown": { + "description": "Short label for product list view: the compatibility of that product with your preferences is unknown" + }, + "match_very_good": "Very good match", + "@match_very_good": { + "description": "Label for product page regarding product compatibility with the user preferences: very good match" + }, + "match_good": "Good match", + "@match_good": { + "description": "Label for product page regarding product compatibility with the user preferences: good match" + }, + "match_poor": "Poor match", + "@match_poor": { + "description": "Label for product page regarding product compatibility with the user preferences: poor match" + }, + "match_may_not": "May not match", + "@match_may_not": { + "description": "Label for product page regarding product compatibility with the user preferences: may not match" + }, + "match_does_not": "Does not match", + "@match_does_not": { + "description": "Label for product page regarding product compatibility with the user preferences: does not match" + }, + "match_unknown": "Unknown match", + "@match_unknown": { + "description": "Label for product page regarding product compatibility with the user preferences: unknown match" + }, + "match_short_very_good": "Very good match", + "@match_short_very_good": { + "description": "Short label for product list view regarding product compatibility with the user preferences: very good match" + }, + "match_short_good": "Good match", + "@match_short_good": { + "description": "Short label for product list view regarding product compatibility with the user preferences: good match" + }, + "match_short_poor": "Poor match", + "@match_short_poor": { + "description": "Short label for product list view regarding product compatibility with the user preferences: poor match" + }, + "match_short_may_not": "May not match", + "@match_short_may_not": { + "description": "Short label for product list view regarding product compatibility with the user preferences: may not match" + }, + "match_short_does_not": "Does not match", + "@match_short_does_not": { + "description": "Short label for product list view regarding product compatibility with the user preferences: does not match" + }, + "match_short_unknown": "Unknown match", + "@match_short_unknown": { + "description": "Short label for product list view regarding product compatibility with the user preferences: unknown match" + }, + "licenses": "Licences", + "@licenses": {}, + "looking_for": "Looking for", + "@looking_for": { + "description": "Looking for: BARCODE" + }, + "@Introduction screen": {}, + "welcomeToOpenFoodFacts": "Welcome to 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": "See the food data relevant to your preferences.", + "@productDataUtility": { + "description": "Description of what a user can use the product data for." + }, + "healthCardUtility": "Choose foods that are good for you.", + "@healthCardUtility": { + "description": "Description of what a user can use the health data in a product for." + }, + "ecoCardUtility": "Choose foods that are good for the planet.", + "@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 username or password.", + "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": "Login", + "@login": { + "description": "Text field hint: unified name for either username or e-mail address" + }, + "login_result_type_server_unreachable": "Network is unreachable", + "@login_result_type_server_unreachable": { + "description": "Error message when trying to log in without network" + }, + "login_result_type_server_issue": "Problem on the server. Please try later.", + "@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": "Please enter username or e-mail", + "login_page_password_error_empty": "Please enter a password", + "create_account": "Create account", + "@create_account": { + "description": "Button label: Opens a page where a new user can register" + }, + "sign_in": "Sign in", + "@sign_in": { + "description": "Button label: For sign in" + }, + "sign_in_mandatory": "For that feature we need you to sign in.", + "@sign_in_mandatory": { + "description": "Error message: for some features like product edits you need to be signed in" + }, + "sign_out": "Sign out", + "@sign_out": { + "description": "Button label: For sign out" + }, + "sign_out_confirmation": "Are you sure you want to sign out?", + "@sign_out_confirmation": { + "description": "Pop up title: Reassuring if the user really want to sign out" + }, + "password": "Password", + "forgot_password": "Forgot password", + "@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" + }, + "reset_password": "Reset password", + "@reset_password": { + "description": "Forgot password page title" + }, + "reset_password_explanation_text": "In case of a forgotten password, enter your username or e-mail address to receive instructions for a password reset. Also, remember to check the Spam folder.", + "username_or_email": "Username or e-mail", + "@username_or_email": { + "description": "Text field hint for password reset" + }, + "reset_password_done": "An e-mail with a link to reset your password has been sent to the e-mail address associated with your account. Also check your spam", + "send_reset_password_mail": "Change password", + "@send_reset_password_mail": { + "description": "Button label: Submit the password reset e-mail request" + }, + "enter_some_text": "Please enter some text", + "@enter_some_text": { + "description": "Error when a required text field is empty" + }, + "sign_up_page_title": "Sign Up", + "@sign_up_page_title": { + "description": "Header" + }, + "sign_up_page_action_button": "Sign Up", + "@sign_up_page_action_button": { + "description": "Button for signing up" + }, + "sign_up_page_action_doing_it": "Signing up…", + "@sign_up_page_action_doing_it": { + "description": "Progress indicator dialog during the actual signing up process" + }, + "sign_up_page_action_ok": "Congratulations! Your account has just been created.", + "sign_up_page_display_name_hint": "Name", + "sign_up_page_display_name_error_empty": "Please enter the display name you want to use", + "sign_up_page_email_hint": "E-mail", + "sign_up_page_email_error_empty": "E-mail is required", + "sign_up_page_email_error_invalid": "Invalid e-mail", + "sign_up_page_username_hint": "Username: Publicly visible", + "sign_up_page_username_error_empty": "Please enter a username", + "sign_up_page_username_error_invalid": "Please enter a valid username", + "sign_up_page_username_description": "Username cannot contains spaces, caps or special characters.", + "sign_up_page_username_length_invalid": "Username cannot exceed {value} characters", + "@sign_up_page_username_length_invalid": { + "placeholders": { + "value": { + "type": "int" + } + } + }, + "sign_up_page_password_hint": "Password", + "sign_up_page_password_error_empty": "Please enter a password", + "sign_up_page_password_error_invalid": "Please enter a valid password (at least 6 characters)", + "sign_up_page_confirm_password_hint": "Confirm Password", + "sign_up_page_confirm_password_error_empty": "Please confirm the password", + "sign_up_page_confirm_password_error_invalid": "Passwords don't match", + "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": "terms of use and contribution", + "@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": { + "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": { + "description": "Please insert the right url from the website here." + }, + "sign_up_page_agree_error_invalid": "When creating an account, agreeing to the Terms of Use is mandatory, however, anonymous contributions can still be made through the 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": "I am a food producer", + "sign_up_page_producer_hint": "Producer/brand", + "sign_up_page_producer_error_empty": "Please enter a producer or a brand name", + "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": "The user name already exists, please choose another username.", + "sign_up_page_email_already_exists": "already exists, login to the account or try with another email.", + "sign_up_page_provide_valid_email": "Please provide a valid email address.", + "sign_up_page_server_busy": "We are deeply sorry, we have some technical difficulties to create your account. Please try again later.", + "@Settings": {}, + "settingsTitle": "Settings", + "@settingsTitle": { + "description": "The title of the Settings page" + }, + "darkmode": "Theme", + "@darkmode": { + "description": "The name of the darkmode on off switch" + }, + "darkmode_dark": "Dark", + "@darkmode_dark": { + "description": "Indicator inside the darkmode switch (dark)" + }, + "darkmode_light": "Light", + "@darkmode_light": { + "description": "Indicator inside the darkmode switch (light)" + }, + "darkmode_system_default": "System default", + "@darkmode_system_default": { + "description": "Indicator inside the darkmode switch (system default)" + }, + "thanks_for_contributing": "Thanks for contributing!", + "contributors_label": "They are building the app", + "@contributors_label": { + "description": "Button label: Opens a pop up window where all contributors of this app are shown" + }, + "contributors_dialog_title": "Contributors", + "@contributors_dialog_title": { + "description": "Dialog title: A list of all contributors of this app" + }, + "contributors_dialog_entry_description": "Contributor: {name}", + "@contributors_dialog_entry_description": { + "description": "The user id of the contributor.", + "placeholders": { + "name": {} + } + }, + "contributors_description": "A list of all contributors of this app", + "@contributors_description": { + "description": "Button description for accessibility purposes to explain what the Contributors button do" + }, + "support": "Support", + "@support": { + "description": "Button label: Opens a pop up window where all ways to get support are shown" + }, + "support_join_slack": "Ask for help in our Slack channel", + "support_via_forum": "Ask for help on our forum", + "support_via_email": "Send us an e-mail", + "support_via_email_include_logs_dialog_title": "Send app logs?", + "support_via_email_include_logs_dialog_body": "Do you wish to include application logs in attachment to your email?", + "termsOfUse": "Terms of use", + "@termsOfUse": {}, + "legalNotices": "Legal notices", + "@legalNotices": { + "description": "A link to open the legal notices on the website" + }, + "privacy_policy": "Privacy policy", + "@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" + }, + "@About this app section": {}, + "contribute": "Contribute", + "@contribute": { + "description": "Button label: Shows multiple ways how users can contribute to OFF" + }, + "contribute_sw_development": "Software development", + "@contribute_sw_development": { + "description": "Button label + page title: Ways to help" + }, + "contribute_develop_text": "The code for every Open Food Facts product is available on GitHub. You are welcome to reuse the code (it's open source) and help us improve it, for everyone, on all the planet.", + "@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": "DEV Mode?", + "contribute_develop_dev_mode_subtitle": "Activate the DEV Mode", + "contribute_donate_header": "Donate to Open Food Facts", + "@contribute_donate_header": {}, + "contribute_enroll_alpha": "Enroll in internal alpha version", + "@contribute_enroll_alpha": {}, + "contribute_enroll_alpha_warning": "Please acknowledge that with the internal alpha version, complete loss of data is possible, and the app may become unusable at any time !", + "@contribute_enroll_alpha_warning": {}, + "contribute_improve_ProductsToBeCompleted": "Products to be completed", + "@contribute_improve_ProductsToBeCompleted": { + "description": "Button label: Shows a list of products which aren't completed" + }, + "contribute_improve_header": "Improving", + "@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": "Translate", + "@contribute_translate_header": { + "description": "Button label + pop up window title: Shows information about helping by translating" + }, + "contribute_translate_link_text": "Start Translating", + "@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": "Translations is one of the key tasks of the project", + "@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", + "@contribute_share_header": {}, + "contribute_share_content": "I wanted to let you know about the app I've been using, Open Food Facts, which allows you to get the health and environmental impacts of your food, in a personalized way. It works by scanning the barcodes on the packaging. Finally it's free, does not require registration, and you can even help increase the number of products decyphered. Here's the link to get it for your phone: https://openfoodfacts.app", + "@contribute_share_content": { + "description": "Content that will be shared, don't forget to include the URL" + }, + "tap_to_answer": "Tap here to answer questions", + "@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 here to answer questions about this product", + "@tap_to_answer_hint": { + "description": "Hint for accessibility readers to answer Robotoff questions." + }, + "robotoff_questions_loading_hint": "Please wait while questions about this product are loaded", + "@robotoff_questions_loading_hint": { + "description": "Hint for accessibility readers while Robotoff questions are loaded" + }, + "saving_answer": "Saving your answer", + "@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": "Help improve food transparency and get rewards", + "@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 and gain rewards." + }, + "question_sign_in_text": "Sign in to your Open Food Facts account to get credit for your contributions", + "question_yes_button_accessibility_value": "Answer with yes", + "question_no_button_accessibility_value": "Answer with no", + "question_skip_button_accessibility_value": "Skip this question", + "tap_to_edit_search": "Tap to edit search", + "@Personal preferences": {}, + "myPreferences": "My preferences", + "@myPreferences": { + "description": "Page title: Page where the ranking preferences can be changed" + }, + "account_create_message": "Create your account and join the Open Food Facts community to help build food knowledge all over the world!", + "@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": "Your Profile", + "myPreferences_profile_subtitle": "Manage your Open Food Facts contributor account.", + "myPreferences_settings_title": "App Settings", + "myPreferences_settings_subtitle": "Dark mode, Analytics…", + "myPreferences_food_title": "Food Preferences", + "myPreferences_food_subtitle": "Choose what information about food matters most to you.", + "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": "Reset your food preferences?", + "@confirmResetPreferences": { + "description": "Pop up title: Reassuring if the food preferences should really be reset" + }, + "myPersonalizedRanking": "My personalized ranking", + "@myPersonalizedRanking": { + "description": "When you press this button, all products (in list or category) are sorted according to your preferences." + }, + "ranking_tab_all": "All", + "ranking_subtitle_match_yes": "A great match for you", + "ranking_subtitle_match_no": "Very poor match", + "ranking_subtitle_match_maybe": "Unknown match", + "refresh_with_new_preferences": "Refresh the list with your new preferences", + "@refresh_with_new_preferences": { + "description": "Action button label: Refresh the list with your new preferences" + }, + "reloaded_with_new_preferences": "Reloaded with your new preferences", + "@reloaded_with_new_preferences": { + "description": "Snackbar title: Shows that the modified settings have been applied" + }, + "@other": {}, + "profile_navbar_label": "Profile", + "@profile_navbar_label": { + "description": "BottomNavigationBarLabel: For the profile and personal preferences page" + }, + "scan_navbar_label": "Scan", + "@scan_navbar_label": { + "description": "BottomNavigationBarLabel: For the scanning of products" + }, + "history_navbar_label": "History", + "@history_navbar_label": { + "description": "BottomNavigationBarLabel: For the history and compare mode" + }, + "list_navbar_label": "Lists", + "@list_navbar_label": { + "description": "BottomNavigationBarLabel: For the lists" + }, + "category": "Filter by category", + "@category": { + "description": "From a product list, there's a category filter: this is its title" + }, + "category_all": "All", + "@category_al": { + "description": "Top meta-entry on a category filter" + }, + "category_search": "(category search)", + "filter": "Filter", + "@filter": { + "description": "A button that opens a menu where you can filter within categories. Juices => Apple juices/Orange juices" + }, + "scan": "Products from the Scan screen", + "@scan": { + "description": "Page title: List type: Products in the scan session" + }, + "scan_history": "Scan history", + "@scan_history": { + "description": "Page title: List type: Products in the whole scan history" + }, + "search": "Search", + "@search": { + "description": "Hint text of a search text input field" + }, + "tap_for_more": "Tap to see more info…", + "@Product": {}, + "product": "Product", + "@product": {}, + "unknownBrand": "Unknown brand", + "@unknownBrand": {}, + "unknownProductName": "Unknown product name", + "@unknownProductName": {}, + "label_refresh": "Refresh", + "@label_refresh": { + "description": "Refresh the cached product" + }, + "image": "Image", + "front_photo": "Front photo", + "@front_photo": { + "description": "Button label: For adding a picture of the front of a product" + }, + "ingredients": "Ingredients", + "@ingredients": {}, + "ingredients_editing_instructions": "Keep the original order. Indicate the percentage when specified. Separate with a comma or hyphen, use parentheses for ingredients of an ingredient, and indicate allergens between underscores.", + "ingredients_editing_error": "Failed to save the ingredients.", + "ingredients_editing_image_error": "Failed to get a new ingredients image.", + "ingredients_editing_title": "Edit Ingredients", + "ingredients_photo": "Ingredients photo", + "@ingredients_photo": { + "description": "Button label: For adding a picture of the Ingredients of a product" + }, + "packaging_editing_instructions": "List all packaging parts separated by a comma or line feed, with their amount (e.g. 1 or 6) type (e.g. bottle, box, can), material (e.g. plastic, metal, aluminium) and if available their size (e.g. 33cl) and recycling instructions.\nExample: 1 glass bottle to recycle, 1 plastic cork to throw away", + "packaging_editing_error": "Failed to save the packaging.", + "packaging_editing_image_error": "Failed to get a new packaging image.", + "packaging_editing_title": "Edit Packaging", + "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": "You found a new product!", + "@missing_product": {}, + "add_product_take_photos": "Take photos of the packaging to add this product to Open Food Facts", + "@add_product_take_photos": {}, + "add_product_take_photos_descriptive": "Please take some photos first. You may always complete the product at a later time.", + "@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": "You have just found a new product!", + "@new_product_dialog_title": { + "description": "Please keep it short, like 50 characters. Title of the dialog when the user searched for an unknown barcode." + }, + "new_product_leave_title": "Leave this page?", + "@new_product_leave_title": { + "description": "Alert dialog title when a user landed on the 'add new product' page, didn't input anything and tried to leave the page." + }, + "new_product_leave_message": "It looks like you didn't input anything. Do you really want to leave this page?", + "@new_product_leave_message": { + "description": "Alert dialog message when a user landed on the 'add new product' page, didn't input anything and tried to leave the page." + }, + "new_product_dialog_description": "Please take photos of the packaging to add this product to our common database", + "@new_product_dialog_description": { + "description": "Please keep it short, like less than 100 characters. Explanatory text of the dialog when the user searched for an unknown barcode." + }, + "new_product_dialog_illustration_description": "An illustration with unknown Nutri-Score and Eco-Score", + "@new_product_dialog_illustration_description": { + "description": "A description for accessibility of two images side by side: a Nutri-Score and an EcoScore." + }, + "front_packaging_photo_button_label": "Front packaging photo", + "@front_packaging_photo_button_label": {}, + "confirm_front_packaging_photo_button_label": "Confirm upload of Front packaging photo", + "@confirm_front_packaging_photo_button_label": { + "description": "Button clicking on which confirms the picture of the front of product that user just took." + }, + "confirm_button_label": "Confirm", + "send_image_button_label": "Send image", + "crop_page_action_saving": "Saving the image…", + "@crop_page_action_saving": { + "description": "Action being performed on the crop page" + }, + "crop_page_action_cropping": "Cropping the image…", + "@crop_page_action_cropping": { + "description": "Action being performed on the crop page" + }, + "crop_page_action_local": "Saving a local version…", + "@crop_page_action_local": { + "description": "Action being performed on the crop page" + }, + "crop_page_action_local_failed_title": "Oops… there's something with your photo!", + "@crop_page_action_local_title": { + "description": "The save of the picture locally failed - error dialog message" + }, + "crop_page_action_local_failed_message": "We are unable to process the image locally, before sending it to our server. Please try again later or contact-us if the issue persists.", + "@crop_page_action_local_message": { + "description": "The save of the picture locally failed - error dialog message" + }, + "crop_page_too_small_image_title": "The image is too small!", + "@crop_page_too_small_image_title": { + "description": "Title of a dialog warning the user that the image is too small for upload" + }, + "crop_page_too_small_image_message": "The minimum size in pixels for picture upload is {expectedMinWidth}x{expectedMinHeight}. The current picture is {actualWidth}x{actualHeight}.", + "@crop_page_too_small_image_message": { + "description": "Message of a dialog warning the user that the image is too small for upload", + "placeholders": { + "expectedMinWidth": { + "type": "int" + }, + "expectedMinHeight": { + "type": "int" + }, + "actualWidth": { + "type": "int" + }, + "actualHeight": { + "type": "int" + } + } + }, + "crop_page_action_server": "Preparing a call to the server…", + "@crop_page_action_server": { + "description": "Action being performed on the crop page" + }, + "front_packaging_photo_title": "Front Packaging Photo", + "ingredients_photo_title": "Ingredients Photo", + "nutritional_facts_photo_title": "Nutrition Facts Photo", + "recycling_photo_title": "Recycling Photo", + "take_photo_title": "Take a picture", + "take_more_photo_title": "Take more pictures", + "front_photo_uploaded": "Front photo uploaded", + "@front_photo_uploaded": {}, + "ingredients_photo_button_label": "Ingredients photo", + "@ingredients_photo_button_label": {}, + "ingredients_photo_uploaded": "Ingredients photo uploaded", + "@ingredients_photo_uploaded": {}, + "nutrition_cache_loading_error": "Unable to load nutrients from cache", + "nutritional_facts_photo_button_label": "Nutrition facts photo", + "@nutritional_facts_photo_button_label": {}, + "nutritional_facts_input_button_label": "Fill nutrition facts", + "nutritional_facts_added": "Nutrition facts added", + "categories_added": "Categories added", + "new_product_title_nutriscore": "Compute the Nutri-Score", + "new_product_subtitle_nutriscore": "Help us by filling at least a category and nutritional values", + "new_product_title_ecoscore": "Compute the Eco-Score", + "new_product_subtitle_ecoscore": "Get it by filling at least a category", + "new_product_additional_ecoscore": "Make Eco-Score computation more precise with origins, packaging & more", + "new_product_title_nova": "Compute the food processing level (NOVA)", + "new_product_subtitle_nova": "Get it by filling the food category and ingredients", + "new_product_desc_nova_unknown": "Food processing level 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": "And some basic data…", + "new_product_done_msg": "Thanks for your contribution “{username}”!", + "@new_product_done_msg": { + "description": "Thank you message on the end of new product page, after finish adding a new product.", + "placeholders": { + "username": { + "type": "String", + "example": "Bob" + } + } + }, + "new_product_done_msg_no_user": "Thanks for your contribution!", + "new_product_done_button_label": "Discover the completed product", + "@new_product_done_button_label": { + "description": "Button at the end of new product page, that takes you to completed product" + }, + "hey_incomplete_product_message": "Tap to answer 3 questions NOW to compute Nutri-Score, Eco-Score & Ultra-processing (NOVA)!", + "nutritional_facts_photo_uploaded": "Nutrition facts photo uploaded", + "@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 pictures", + "@take_more_photo_button_label": {}, + "other_photo_uploaded": "Miscellaneous photo uploaded", + "@other_photo_uploaded": {}, + "retake_photo_button_label": "Retake", + "@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" + }, + "uploading_image": "Uploading photo to the server", + "@uploading_image": { + "description": "Message when a new picture is uploading to the server" + }, + "uploading_image_type_front": "Uploading front image to Open Food Facts", + "@uploading_image_type_front": { + "description": "Message when a new front picture is being uploaded to the server" + }, + "uploading_image_type_ingredients": "Uploading ingredients image to Open Food Facts", + "@uploading_image_type_ingredients": { + "description": "Message when a new ingredients picture is being uploaded to the server" + }, + "uploading_image_type_nutrition": "Uploading nutrition image to Open Food Facts", + "@uploading_image_type_nutrition": { + "description": "Message when a new nutrition picture is being uploaded to the server" + }, + "uploading_image_type_packaging": "Uploading packaging image to Open Food Facts", + "@uploading_image_type_packaging": { + "description": "Message when a new packaging picture is being uploaded to the server" + }, + "uploading_image_type_other": "Uploading other image to Open Food Facts", + "@uploading_image_type_other": { + "description": "Message when a new other picture is being uploaded to the server" + }, + "uploading_image_type_generic": "Uploading image to Open Food Facts", + "@uploading_image_type_generic": { + "description": "Message when a new picture is being uploaded to the server" + }, + "score_add_missing_ingredients": "Add missing ingredients", + "score_add_missing_packaging_image": "Add missing packaging image", + "score_add_missing_nutrition_facts": "Add missing nutrition facts", + "score_add_missing_product_category": "Select a category", + "score_add_missing_product_countries": "Add missing product countries", + "score_add_missing_product_emb": "Add missing product traceability codes", + "score_add_missing_product_labels": "Add missing product labels", + "score_add_missing_product_origins": "Add missing product origins", + "score_add_missing_product_stores": "Add missing product stores", + "score_update_nutrition_facts": "Update nutrition facts", + "nutrition_page_title": "Nutrition Facts", + "nutrition_page_unspecified": "Nutrition facts are not specified on the product", + "nutrition_page_per_100g": "per 100g", + "nutrition_page_per_serving": "per serving", + "nutrition_page_add_nutrient": "Add a nutrient", + "nutrition_page_serving_size": "Serving size", + "nutrition_page_invalid_number": "Invalid number", + "nutrition_page_update_running": "Updating the product on the server…", + "nutrition_page_update_done": "Product updated!", + "more_photos": "More interesting 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": "not found:", + "refreshing_product": "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" + }, + "product_image_accessibility_label": "Image taken on {date}", + "@product_image_accessibility_label": { + "placeholders": { + "date": { + "type": "String", + "description": "The date of picture (in localized format for YYYY-MM-DD)" + } + } + }, + "product_image_outdated_accessibility_label": "Image taken on {date}. This image may be outdated", + "@product_image_outdated_accessibility_label": { + "placeholders": { + "date": { + "type": "String", + "description": "The date of picture (in localized format for YYYY-MM-DD)" + } + } + }, + "homepage_main_card_logo_description": "Welcome to Open Food Facts", + "@homepage_main_card_logo_description": { + "description": "Description for accessibility of the Open Food Facts logo on the homepage" + }, + "homepage_main_card_subheading": "**Scan** a barcode or\n**search** for a product", + "@homepage_main_card_subheading": { + "description": "Text between asterisks (eg: **My Text**) means text in bold. Please keep it." + }, + "homepage_main_card_search_field_hint": "Search for a product", + "homepage_main_card_search_field_tooltip": "Start search", + "@homepage_main_card_search_field_tooltip": { + "description": "Description for accessibility of the search field on the homepage" + }, + "scan_tagline_news_item_accessibility": "Latest news: {news_title}", + "@scan_tagline_news_item_accessibility": { + "description": "Accessibility label for the title of a news", + "placeholders": { + "news_title": { + "type": "String" + } + } + }, + "tagline_app_review": "Do you like the app?", + "tagline_app_review_button_positive": "I love it! 😍", + "tagline_app_review_button_negative": "Not really…", + "tagline_app_review_button_later": "Ask me later", + "tagline_feed_news_button": "Know more", + "app_review_negative_modal_title": "You don't like our app?", + "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": "No", + "could_not_refresh": "Could not refresh product", + "@could_not_refresh": { + "description": "The product data couldn't be refreshed" + }, + "product_internet_error_modal_title": "An error has occurred!", + "product_internet_error_modal_message": "We are unable to fetch information about this product due to a network error. Please check your internet connection and try again.\n\nInternal error:\n{error}", + "@product_internet_error_modal_message": { + "placeholders": { + "error": { + "type": "String", + "description": "The error message" + } + } + }, + "product_internet_error": "Impossible to fetch information about this product due to a network error.", + "cached_results_from": "Show results from:", + "@cached_results_from": { + "description": "Cached results from: x time ago (time ago should not be added to the string)" + }, + "@Product Addition": {}, + "added_product_thanks": "Thank you for adding this product!", + "@added_product_thanks": {}, + "product_search_same_category": "Compare to Category", + "@product_search_same_category": { + "description": "Button looking for the other products within the same category. Less than 30 characters" + }, + "product_improvement_add_category": "Add a category to calculate the Nutri-Score.", + "@product_improvement_add_category": { + "description": "Message for ProductImprovement.ADD_CATEGORY" + }, + "product_improvement_add_nutrition_facts": "Add nutrition facts to calculate the Nutri-Score.", + "@product_improvement_add_nutrition_facts": { + "description": "Message for ProductImprovement.ADD_NUTRITION_FACTS" + }, + "product_improvement_add_nutrition_facts_and_category": "Add nutrition facts and a category to calculate the Nutri-Score.", + "@product_improvement_add_nutrition_facts_and_category": { + "description": "Message for ProductImprovement.ADD_NUTRITION_FACTS_AND_CATEGORY" + }, + "product_improvement_categories_but_no_nutriscore": "The Nutri-Score for this product can't be calculated, which may be due to e.g. a non-standard category. If this is considered an error, please contact us.", + "@product_improvement_categories_but_no_nutriscore": { + "description": "Message for ProductImprovement.CATEGORIES_BUT_NO_NUTRISCORE" + }, + "product_improvement_obsolete_nutrition_image": "The nutrition image is obsolete: please refresh it.", + "@product_improvement_obsolete_nutrition_image": { + "description": "Message for ProductImprovement.OBSOLETE_NUTRITION_IMAGE" + }, + "product_improvement_origins_to_be_completed": "The Eco-Score takes into account the origins of the ingredients. Please take a photo of the ingredient list and/or any geographic claim or edit the product, so they can be taken into account.", + "@product_improvement_origins_to_be_completed": { + "description": "Message for ProductImprovement.ORIGINS_TO_BE_COMPLETED" + }, + "country_chooser_label": "Please choose a country", + "@country_chooser_label": { + "description": "Label shown above a selector where the user can select their country (in the preferences)" + }, + "currency_chooser_label": "Please choose a currency", + "@currency_chooser_label": { + "description": "Label shown above a selector where the user can select their currency (in the preferences)" + }, + "country_change_message": "You have just changed countries.", + "@country_change_message": { + "description": "Message stating the change of countries" + }, + "currency_auto_change_message": "Do you want to change the currency from {previousCurrency} to {possibleCurrency}?", + "@currency_auto_change_message": { + "description": "Message asking to confirm the change of currencies", + "placeholders": { + "previousCurrency": { + "type": "String", + "description": "Current currency" + }, + "possibleCurrency": { + "type": "String", + "description": "Possible currency" + } + } + }, + "onboarding_country_chooser_label": "Please choose a country:", + "@onboarding_country_chooser_label": { + "description": "The label shown above a selector where the user can select their country (in the onboarding)" + }, + "country_chooser_label_from_settings": "Your country", + "@country_chooser_label_from_settings": { + "description": "Label to use in the settings to change the user country" + }, + "country_selection_explanation": "Some environmental features are location-specific", + "@country_label": { + "description": "Explanation as to why users should select their country." + }, + "product_removed_comparison": "Product removed from comparison", + "@product_removed_comparison": { + "description": "Product got removed from comparison list" + }, + "native_app_settings": "Native App Settings", + "@native_app_settings": { + "description": "Native App Settings in app settings" + }, + "native_app_description": "Open systems settings for Open Food Facts", + "@native_app_description": { + "description": "Native App description in app settings" + }, + "product_removed_history": "Product removed from history", + "@product_removed_history": { + "description": "Product got removed from history" + }, + "product_removed_list": "Product removed from list", + "@product_removed_list": { + "description": "Product got removed from list" + }, + "product_could_not_remove": "Could not remove product", + "@product_could_not_remove": { + "description": "Could not remove product from a list" + }, + "@Lists": {}, + "no_prodcut_in_list": "There is no product in this list", + "no_product_in_section": "There is no product in this section", + "recently_seen_products": "All viewed products", + "clear": "Clear", + "@clear": { + "description": "Clears a product list (short label)" + }, + "clear_long": "Empty the list", + "@clear_long": { + "description": "Clears a product list (long label)" + }, + "really_clear": "Do you really want to delete this list?", + "@Plural": {}, + "pct_match": "{percent}% match", + "@pct_match": { + "description": "This product has a x percent match with your preferences", + "placeholders": { + "percent": {} + } + }, + "plural_ago_days": "{count,plural, =1{one day ago} other{{count} days ago}}", + "@plural_ago_days": { + "description": "Cached results from: x days ago", + "placeholders": { + "count": {} + } + }, + "plural_ago_hours": "{count,plural, =1{one hour ago} other{{count} hours ago}}", + "@plural_ago_hours": { + "description": "Cached results from: x hours ago", + "placeholders": { + "count": {} + } + }, + "plural_ago_minutes": "{count,plural, =0{less than a minute ago} =1{one minute ago} other{{count} minutes ago}}", + "@plural_ago_minutes": { + "description": "Cached results from: x minutes ago", + "placeholders": { + "count": {} + } + }, + "plural_ago_months": "{count,plural, =1{one month ago} other{{count} months ago}}", + "@plural_ago_months": { + "description": "Cached results from: x months ago", + "placeholders": { + "count": {} + } + }, + "plural_ago_weeks": "{count,plural, =1{one week ago} other{{count} weeks ago}}", + "@plural_ago_weeks": { + "description": "Cached results from: x weeks ago", + "placeholders": { + "count": {} + } + }, + "plural_compare_x_products": "{count,plural, =1{Compare one Product} other{Compare {count} Products}}", + "@plural_compare_x_products": { + "description": "Button label to open a page to compare all selected products to each other", + "placeholders": { + "count": {} + } + }, + "compare_products_mode": "Compare products", + "@compare_products_mode": { + "description": "Button to switch to 'compare products mode'" + }, + "compare_products_appbar_title": "Compare products", + "@compare_products_appbar_title": { + "description": "AppBar title when in comparison mode " + }, + "compare_products_appbar_subtitle": "Please select at least two products", + "@compare_products_appbar_subtitle": { + "description": "AppBar subtitle when in comparison mode" + }, + "retry_button_label": "Retry", + "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": "Blog", + "faq": "FAQ", + "discover": "Discover", + "how_to_contribute": "How to Contribute", + "hint_knowledge_panel_message": "Your can tap on any part of the card to get more details about what you see. Try it now!", + "@hint_knowledge_panel_message": { + "description": "Hint popup indicating the card is clickable during onboarding" + }, + "consent_analytics_title": "Send anonymous analytics", + "@consent_analytics_title": { + "description": "Title for the consent analytics UI Page" + }, + "consent_analytics_body1": "Help the Open Food Facts volunteers to improve the app. You decide whether to submit anonymous analytics.", + "@conset_analytics_body1": { + "description": "first paragraph for the consent analytics UI Page" + }, + "consent_analytics_body2": "If you change your mind, this option can be enabled and disabled at any time from the settings.", + "@consent_analytics_body2": { + "description": "second paragraph for the consent analytics UI Page" + }, + "permissions_page_title": "Camera access", + "@permissions_page_title": { + "description": "Title for the camera permission's page (onboarding)" + }, + "permissions_page_body1": "To scan barcodes with your phone's camera, please Authorise the access.", + "@permissions_page_body1": { + "description": "first paragraph for the camera permission's page (onboarding)" + }, + "permissions_page_body2": "If you change your mind, this option can be enabled and disabled at any time from the settings.", + "@permissions_page_body2": { + "description": "second paragraph for the camera permission's page (onboarding)" + }, + "contact_form_body_android": "OS: Android (SDK Int: {sdkInt} / Release: {release})\nModel: {model}\nProduct: {product}\nDevice: {device}\nBrand:{brand}", + "@contact_form_body_android": { + "description": "Contact form content for Android devices", + "placeholders": { + "sdkInt": { + "type": "int?", + "description": "SDK Int = Version of Android SDK" + }, + "release": { + "type": "String?", + "description": "Name of the release" + }, + "model": { + "type": "String?", + "description": "Model of the device" + }, + "product": { + "type": "String?", + "description": "Name of the device (depending on device, it can be its codename or its real name)" + }, + "device": { + "type": "String?", + "description": "Name of the device (depending on device, it can be its codename or its real name)" + }, + "brand": { + "type": "String?", + "description": "Brand of the device (eg: Samsung)" + } + } + }, + "contact_form_body_ios": "OS: iOS ({version})\nModel: {model}\nLocalized model: {localizedModel}", + "@contact_form_body_ios": { + "description": "Contact form content for iOS devices", + "placeholders": { + "version": { + "type": "String?", + "description": "Version of IOS (eg: 15)" + }, + "model": { + "type": "String?", + "description": "Name of the iPhone" + }, + "localizedModel": { + "type": "String?", + "description": "Localized name of the iPhone" + } + } + }, + "contact_form_body": "{osContent}\nApp version:{appVersion}\nApp build number:{appBuildNumber}\nApp package name:{appPackageName}", + "@contact_form_body": { + "description": "Contact form content", + "placeholders": { + "osContent": { + "type": "String", + "description": "Content from contact_form_body_ios key (on iOS) or contact_form_body_android (on Android)" + }, + "appVersion": { + "type": "String", + "description": "Version name of the app (eg: 1.0.0)" + }, + "appBuildNumber": { + "type": "String", + "description": "Version code of the app (a number)" + }, + "appPackageName": { + "type": "String", + "description": "Name/package of the app" + } + } + }, + "authorize_button_label": "Authorise", + "@authorize": { + "description": "Button to accept the request of sending the anonymous analytics or authorize the camera permission" + }, + "refuse_button_label": "Refuse", + "@refuse": { + "description": "Button to decline the request of sending the anonymous analytics" + }, + "ask_me_later_button_label": "Later", + "@ask_me_later": { + "description": "Button to ignore the camera permission request" + }, + "are_you_sure": "Are you sure?", + "@are_you_sure": { + "description": "Are you sure?" + }, + "knowledge_panel_text_source": "Go further on {sourceName}", + "@knowledge_panel_text_source": { + "description": "When we show information from for example Wikipedia or health authorities, this is the button label to open the source website", + "placeholders": { + "sourceName": { + "type": "String" + } + } + }, + "onboarding_home_welcome_text1": "Welcome !", + "onboarding_home_welcome_text2": "The app that helps you choose food that is good for **you** and the **planet**!", + "@onboarding_home_welcome_text2": { + "description": "Onboarding home screen welcome text, text surrounded by * will be bold" + }, + "onboarding_continue_button": "Continue", + "onboarding_welcome_loading_dialog_title": "Loading your first example product", + "@onboarding_welcome_loading_dialog_title": { + "description": "Title for the onboarding loading dialog" + }, + "onboarding_welcome_loading_error": "Seems like there is no example product in your language", + "@onboarding_welcome_loading_error": { + "description": "Seems like there is no example product in your language" + }, + "product_list_your_ranking": "Your ranking", + "@product_list_your_ranking": { + "description": "Your ranking screen title" + }, + "product_list_empty_icon_desc": "History not available", + "@product_list_icon_desc": { + "description": "When the history list is empty, icon description (for accessibility) of the message explaining to start scanning" + }, + "product_list_empty_title": "Start scanning", + "@product_list_empty_title": { + "description": "When the history list is empty, title of the message explaining to start scanning" + }, + "product_list_empty_message": "Scanned products will appear here and you can check detailed information about them", + "@product_list_empty_message": { + "description": "When the history list is empty, body of the message explaining to start scanning" + }, + "product_list_reloading_in_progress_multiple": "Refreshing {count,plural, =0{product} =1{product} other{products}} in your history", + "@product_list_reloading_in_progress_multiple": { + "description": "Message to show while loading previous scanned items", + "placeholders": { + "count": {} + } + }, + "product_list_reloading_success_multiple": "{count,plural, =0{Product} =1{Product} other{Products}} refresh complete", + "@product_list_reloading_success_multiple": { + "description": "Message to show once previous scanned items are loaded", + "placeholders": { + "count": {} + } + }, + "loading_dialog_default_title": "Downloading data", + "@loading_dialog_default_title": { + "description": "Default loading dialog title" + }, + "loading_dialog_default_error_message": "Could not download data", + "@loading_dialog_default_error_message": { + "description": "Default loading dialog error message" + }, + "account_delete": "Delete account", + "@account_delete": { + "description": "Delete account button (user profile)" + }, + "account_deletion_subject": "Delete my account", + "@account_deletion_subject": { + "description": "Subject of the webview open when the user wants to delete his account" + }, + "user_profile": "Account", + "@user_profile": { + "description": "User account (if connected)" + }, + "user_profile_title_guest": "Welcome!", + "@user_profile_title_guest": { + "description": "When the user is not connected" + }, + "user_profile_subtitle_guest": "Sign-in or sign-up to join the Open Food Facts community", + "user_profile_title_id_email": "Open Food Facts login: {email}", + "@user_profile_title_id_email": { + "description": "User login (when it's an email)", + "placeholders": { + "email": { + "type": "String" + } + } + }, + "user_profile_title_id_default": "Welcome {id}!", + "@user_profile_title_id_default": { + "description": "User login (when it's an id)", + "placeholders": { + "id": { + "type": "String" + } + } + }, + "email_subject_account_deletion": "Delete account", + "@email_subject_account_deletion": { + "description": "Email subject for an account deletion" + }, + "email_body_account_deletion": "Hi there, please delete my Open Food Facts account: {userId}", + "@email_body_account_deletion": { + "description": "Email body for an account deletion", + "placeholders": { + "userId": { + "type": "String" + } + } + }, + "settings_app_app": "Application", + "settings_app_data": "Privacy & monitoring", + "settings_app_camera": "Camera", + "settings_app_products": "Products", + "settings_app_miscellaneous": "Miscellaneous", + "@camera_settings_title": { + "description": "Name of the camera section in the settings" + }, + "camera_play_sound_title": "Play a sound on scan", + "@camera_play_sound_title": { + "description": "Title for the Camera play sound toggle" + }, + "camera_play_sound_subtitle": "Will beep on each successful scan", + "@camera_play_sound_subtitle": { + "description": "SubTitle for the Camera play sound toggle" + }, + "camera_window_accessibility_label": "Scan a barcode with your camera", + "@camera_window_accessibility_label": { + "description": "Accessibility label for the camera window" + }, + "app_haptic_feedback_title": "Vibration & Haptics", + "@app_haptic_feedback_title": { + "description": "Title for the Haptic feedback toggle" + }, + "app_haptic_feedback_subtitle": "Vibrations after executing some actions (barcode decoded, product removed…).", + "@app_haptic_feedback_subtitle": { + "description": "SubTitle for the Haptic feedback toggle" + }, + "crash_reporting_toggle_title": "Crash reporting", + "@crash_reporting_toggle_title": { + "description": "Title for the Crash reporting toggle" + }, + "crash_reporting_toggle_subtitle": "When enabled, crash reports are automatically submitted to Open Food Facts' error tracking system, so that bugs can be fixed and thus improve the app.", + "@crash_reporting_toggle_subtitle": { + "description": "SubTitle for the Crash reporting toggle" + }, + "send_anonymous_data_toggle_title": "Send anonymous data", + "@send_anonymous_toggle_title": { + "description": "Title for the Send anonymous data toggle" + }, + "send_anonymous_data_toggle_subtitle": "When enabled, some anonymous information regarding app usage will be sent to the Open Food Facts servers, so that we can understand how and how much features are used in order to improve them.", + "@send_anonymous_toggle_subtitle": { + "description": "SubTitle for the Send anonymous data toggle" + }, + "product_edit_photo_title": "Edit Photo", + "@product_edit_photo_title": { + "description": "Toolbar Title while editing a photo (Android only)" + }, + "permission_photo_error": "Error", + "@permission_photo_error": { + "description": "When the camera/photo permission failed to be acquired (!= denied)" + }, + "permission_photo_denied_title": "Allow camera use to scan barcodes", + "permission_photo_denied_message": "For an enhanced experience, please allow {appName} to access your camera. You will be able to directly scan barcodes.", + "@permission_photo_denied_message": { + "description": "When the camera/photo permission is denied by user", + "placeholders": { + "appName": { + "type": "String" + } + } + }, + "permission_photo_denied_button": "Allow", + "@permission_photo_denied_button": { + "description": "When the camera/photo permission is denied by user" + }, + "permission_photo_denied_dialog_settings_title": "Permission denied", + "permission_photo_denied_dialog_settings_message": "As you've previously denied the camera permission, you must allow it manually from the Settings.", + "permission_photo_denied_dialog_settings_button_open": "Open settings", + "permission_photo_denied_dialog_settings_button_cancel": "Cancel", + "permission_photo_none_found": "No camera detected", + "@permission_photo_none_found": { + "description": "Message for the user when no camera was detected, replacing the barcode scanner" + }, + "permission_photo_denied": "No camera access granted", + "@permission_photo_denied": { + "description": "When the camera/photo permission is denied by user" + }, + "edit_product_label": "Edit product", + "@edit_product_label": { + "description": "Edit product button label" + }, + "edit_product_form_item_add_action": "Add a new {itemType}", + "description": "Tooltip to show when the user long presses the (+) button", + "@edit_product_form_item_add_action": { + "placeholders": { + "itemType": { + "type": "String" + } + } + }, + "edit_product_form_item_barcode": "Barcode", + "@edit_product_form_item_barcode": { + "description": "Product edition - Barcode" + }, + "edit_product_form_item_details_title": "Basic details", + "@edit_product_form_item_details_title": { + "description": "Product edition - Basic Details - Title" + }, + "edit_product_form_item_details_subtitle": "Product name, brand, quantity", + "@edit_product_form_item_details_subtitle": { + "description": "Product edition - Basic Details - Subtitle" + }, + "edit_product_form_item_other_details_title": "Additional details", + "@edit_product_form_item_other_details_title": { + "description": "Product edition - Other Details - Title" + }, + "edit_product_form_item_other_details_subtitle": "Website…", + "@edit_product_form_item_other_details_subtitle": { + "description": "Product edition - Other Details - Subtitle" + }, + "edit_product_form_item_photos_title": "Photos", + "@edit_product_form_item_photos_title": { + "description": "Product edition - Photos - Title" + }, + "edit_product_form_item_photos_subtitle": "Add or refresh photos", + "@edit_product_form_item_photos_subtitle": { + "description": "Product edition - Photos - SubTitle" + }, + "edit_product_form_item_labels_title": "Labels & Certifications", + "@edit_product_form_item_labels_title": { + "description": "Product edition - Labels - Title" + }, + "edit_product_form_item_labels_subtitle": "Environmental, Quality labels…", + "@edit_product_form_item_labels_subtitle": { + "description": "Product edition - Labels - SubTitle" + }, + "edit_product_form_item_labels_hint": "label", + "@edit_product_form_item_labels_hint": { + "description": "Product edition - Labels - input textfield hint" + }, + "edit_product_form_item_labels_type": "label", + "@edit_product_form_item_labels_type": { + "description": "Product edition - Labels - input textfield label" + }, + "edit_product_form_item_stores_title": "Stores", + "@edit_product_form_item_stores_title": { + "description": "Product edition - Stores - Title" + }, + "edit_product_form_item_stores_hint": "store", + "@edit_product_form_item_stores_hint": { + "description": "Product edition - Stores - input textfield hint" + }, + "edit_product_form_item_stores_type": "store", + "@edit_product_form_item_stores_type": { + "description": "Product edition - Stores - input textfield type" + }, + "edit_product_form_item_origins_title": "Origins", + "@edit_product_form_item_origins_title": { + "description": "Product edition - Origins - Title" + }, + "edit_product_form_item_origins_hint": "Input an origin", + "@edit_product_form_item_origins_hint": { + "description": "Product edition - Origins - input textfield hint" + }, + "edit_product_form_item_origins_type": "country", + "@edit_product_form_item_origins_type": { + "description": "Product edition - Origins - input textfield type" + }, + "edit_product_form_item_origins_explainer_1": "Add any indications of origins you can find on the packaging. You need not worry about origins indicated directly in the ingredient list.", + "@edit_product_form_item_origins_explainer_1": { + "description": "Product edition - Origins - input explainer, part 1" + }, + "edit_product_form_item_origins_explainer_2": "Examples: Beef from Argentina, The soy does not come from the European Union", + "@edit_product_form_item_origins_explainer_2": { + "description": "Product edition - Origins - input explainer, part 2" + }, + "edit_product_form_item_countries_title": "Country", + "@edit_product_form_item_countries_title": { + "description": "Product edition - Countries - Title" + }, + "edit_product_form_item_countries_hint": "Input a country", + "@edit_product_form_item_countries_hint": { + "description": "Product edition - Countries - input textfield hint" + }, + "edit_product_form_item_countries_type": "country", + "@edit_product_form_item_countries_type": { + "description": "Product edition - Countries - input textfield type" + }, + "edit_product_form_item_countries_explanations": "Countries where the product is widely available (not including stores specialising in foreign products).", + "@edit_product_form_item_countries_explanations": { + "description": "Product edition - Countries - explanations" + }, + "edit_product_form_item_emb_codes_title": "Traceability codes", + "@edit_product_form_item_emb_codes_title": { + "description": "Product edition - Traceability codes - Title" + }, + "edit_product_form_item_emb_codes_hint": "EMB 53062, FR 62.448.034 CE, 84 R 20, 33 RECOLTANT 522", + "@edit_product_form_item_emb_codes_hint": { + "description": "Product edition - Traceability Codes - input textfield hint" + }, + "edit_product_form_item_emb_codes_type": "traceability code", + "@edit_product_form_item_emb_codes_type": { + "description": "Product edition - Traceability Codes - input textfield type" + }, + "edit_product_form_item_emb_codes_explanations": "In Europe, code in an ellipse with the 2 country initials followed by a number and CE.\nExamples: EMB 53062, FR 62.448.034 CE, 84 R 20, 33 RECOLTANT 522", + "@edit_product_form_item_emb_codes_examples": { + "description": "Product edition - EMB Codes - explanations" + }, + "edit_product_form_item_categories_title": "Categories", + "@edit_product_form_item_categories_title": { + "description": "Product edition - Categories - Title" + }, + "edit_product_form_item_categories_hint": "category", + "@edit_product_form_item_categories_hint": { + "description": "Product edition - Categories - input textfield hint" + }, + "edit_product_form_item_categories_type": "category", + "@edit_product_form_item_categories_type": { + "description": "Product edition - Categories - input textfield type" + }, + "edit_product_form_item_categories_explainer_1": "Indicate only the most specific category. Parent categories will be automatically added.", + "@edit_product_form_item_categories_explainer_1": { + "description": "Product edition - Categories - input explainer, part 1" + }, + "edit_product_form_item_categories_explainer_2": "In case a category is not available in autocomplete, feel free to add it anyway, that will help us improve Open Food Facts in your country.", + "@edit_product_form_item_categories_explainer_2": { + "description": "Product edition - Categories - input explainer, part 2" + }, + "edit_product_form_item_categories_explainer_3": "Examples: Sardines in olive oil, Orange juice from concentrate", + "@edit_product_form_item_categories_explainer_3": { + "description": "Product edition - Categories - input explainer, part 3" + }, + "edit_product_form_item_exit_confirmation": "Do you want to save your changes before leaving this page?", + "edit_product_form_item_exit_confirmation_positive_button": "Save changes", + "edit_product_form_item_exit_confirmation_negative_button": "Discard changes", + "edit_product_form_item_ingredients_title": "Ingredients", + "@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": "Add", + "edit_product_form_item_add_invalid_item_tooltip": "Please enter a text first", + "edit_product_form_item_remove_item_tooltip": "Remove", + "edit_product_form_item_packaging_title": "Recycling instructions photo", + "@edit_product_form_item_packaging_title": { + "description": "Product edition - Packaging - Title" + }, + "edit_product_form_item_nutrition_facts_title": "Nutrition facts", + "@edit_product_form_item_nutrition_facts_title": { + "description": "Product edition - Nutrition facts - Title" + }, + "edit_product_form_item_nutrition_facts_subtitle": "Nutrition, alcohol content…", + "@edit_product_form_item_nutrition_facts_subtitle": { + "description": "Product edition - Nutrition facts - SubTitle" + }, + "edit_product_form_save": "Edit", + "@edit_product_form_save": { + "description": "Product edition - Nutrition facts - Save button" + }, + "no_data_available": "No data available", + "@no_data_available": { + "description": "When there are no data to display" + }, + "product_field_website_title": "Website", + "@product_field_website_title": { + "description": "Title of a product field: website" + }, + "completed_basic_details_btn_text": "Complete basic details", + "not_implemented_snackbar_text": "Not implemented yet", + "category_picker_page_appbar_text": "Categories", + "edit_ingredients_extract_ingredients_btn_text": "Extract ingredients from the photo", + "@edit_ingredients_extract_ingredients_btn_text": { + "description": "Ingredients edition - Extract ingredients" + }, + "edit_ingredients_extracting_ingredients_btn_text": "Extracting ingredients\nfrom the photo", + "@edit_ingredients_extracting_ingredients_btn_text": { + "description": "Ingredients edition - Extracting ingredients" + }, + "edit_ingredients_loading_photo_btn_text": "Loading photo…", + "@edit_ingredients_loading_photo_btn_text": { + "description": "Ingredients edition - Loading photo from the server" + }, + "edit_ingredients_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_ingredients_loading_photo_help_dialog_title": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Title" + }, + "edit_ingredients_loading_photo_help_dialog_body": "To use the \"Extract ingredients\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_ingredients_loading_photo_help_dialog_body": { + "description": "Ingredients edition - Dialog explaining why the photo is loading - Content" + }, + "edit_ingredients_refresh_photo_btn_text": "Refresh photo", + "@edit_ingredients_refresh_photo_btn_text": { + "description": "Ingredients edition - Refresh photo" + }, + "edit_packaging_extract_btn_text": "Extract packaging\nfrom the photo", + "@edit_packaging_extract_btn_text": { + "description": "Packaging edition - OCR-Extract packaging" + }, + "edit_packaging_extracting_btn_text": "Extracting packaging from the photo", + "@edit_packaging_extracting_btn_text": { + "description": "Packaging edition - OCR-Extracting packaging" + }, + "edit_packaging_loading_photo_btn_text": "Loading photo…", + "@edit_packaging_loading_photo_btn_text": { + "description": "Packaging edition - Loading photo from the server" + }, + "edit_packaging_loading_photo_help_dialog_title": "Why do I see this message?", + "@edit_packaging_loading_photo_help_dialog_title": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Title" + }, + "edit_packaging_loading_photo_help_dialog_body": "To use the \"Extract packaging\" feature, the photo needs to be uploaded first.\n\nPlease wait a few seconds or enter them manually.", + "@edit_packaging_loading_photo_help_dialog_body": { + "description": "Packaging edition - Dialog explaining why the photo is loading - Content" + }, + "edit_packaging_refresh_photo_btn_text": "Refresh photo", + "@edit_packaging_refresh_photo_btn_text": { + "description": "Packaging edition - Refresh photo" + }, + "edit_ocr_extract_failed": "Failed to detect text in image.", + "@edit_ocr_extract_failed": { + "description": "OCR extraction - message for failed" + }, + "user_list_dialog_new_title": "New list of products", + "@user_list_dialog_new_title": { + "description": "Title of the 'new user list' dialog" + }, + "user_list_dialog_rename_title": "Rename list", + "@user_list_dialog_rename_title": { + "description": "Title of the 'rename user list' dialog" + }, + "user_list_subtitle_product": "Lists", + "@user_list_subtitle_product": { + "description": "Subtitle of a paragraph about user lists in a product context" + }, + "user_list_add_product": "Add the product to your lists", + "@user_list_add_product": { + "description": "Label for the dialog to add a product to a list" + }, + "user_list_button_new": "Create a new list", + "@user_list_button_new": { + "description": "Short label of a 'create a new list' button" + }, + "user_list_empty_label": "No list available yet, please start by creating one", + "@user_list_empty_label": { + "description": "Content displayed when there is no list" + }, + "user_list_button_add_product": "Add to list", + "@user_list_button_add_product": { + "description": "Short label of an 'add to list' button from a product context" + }, + "added_to_list_msg": "Added to list", + "@added_to_list_msg": { + "description": "Message when products have been successfully added to a list" + }, + "user_list_popup_clear": "Clear your history", + "@user_list_popup_clear": { + "description": "Short label of a 'clear your history list' popup" + }, + "user_list_popup_rename": "Rename", + "@user_list_popup_rename": { + "description": "Short label of a 'rename list' popup" + }, + "user_list_name_hint": "My list", + "@user_list_name_hint": { + "description": "Hint of a user list name text-field in a 'user list' dialog" + }, + "user_list_name_error_empty": "Name is mandatory", + "@user_list_name_error_empty": { + "description": "Validation error about the name that cannot be empty" + }, + "user_list_name_error_already": "That name is already used", + "@user_list_name_error_already": { + "description": "Validation error about the name that is already used for another list" + }, + "user_list_name_error_same": "That is the same name", + "@user_list_name_error_same": { + "description": "Validation error about the renamed name that is the same as the initial list name" + }, + "try_again": "Try Again", + "@try_again": { + "description": "Label for buttons that try to repeat a failed action" + }, + "there_was_an_error": "There was an error", + "@there_was_an_error": { + "description": "Label that presents a error" + }, + "category_picker_no_category_found_message": "No category found for {items}", + "@category_picker_no_category_found_message": { + "description": "Label when no category is available", + "placeholders": { + "items": { + "type": "String" + } + } + }, + "camera_toggle_camera": "Switch between back and front camera", + "@camera_toggle_camera": { + "description": "Explanation for the icon to switch between cameras" + }, + "camera_toggle_flash": "Turn ON or OFF the flash of the camera", + "@camera_toggle_flash": { + "description": "Explanation for the icon to turn on/off the flash" + }, + "camera_enable_flash": "Enable flash", + "@camera_enable_flash": { + "description": "Enable flash (tooltip)" + }, + "camera_disable_flash": "Disable flash", + "@camera_disable_flash": { + "description": "Disable flash (tooltip)" + }, + "camera_flash_error_dialog_title": "An error occurred!", + "@camera_flash_error_dialog_title": { + "description": "Title of the dialog explaining that an error happened while enabling/disabling the flash of the camera" + }, + "camera_flash_error_dialog_message": "An error occurred while changing the state of your flash. Please ensure your smartphone has not the torch already enabled.", + "@camera_flash_error_dialog_message": { + "description": "Content of the dialog explaining that an error happened while enabling/disabling the flash of the camera" + }, + "category_picker_no_category_found_button": "Back", + "@category_picker_no_category_found_button": { + "description": "Button label when no category is available" + }, + "user_preferences_item_accessibility_hint": "Click to open in your browser or in the application (if installed)", + "@user_preferences_item_accessibility_hint": { + "description": "A hint for screen readers to explain how external links work" + }, + "dev_preferences_screen_title": "DEV Mode", + "@dev_preferences_screen_title": { + "description": "User dev preferences - Title" + }, + "dev_preferences_reset_onboarding_title": "Restart onboarding", + "@dev_preferences_reset_onboarding_title": { + "description": "User dev preferences - Reset onboarding - Title" + }, + "dev_preferences_reset_onboarding_subtitle": "You then have to restart the App to see it again.", + "@dev_preferences_reset_onboarding_subtitle": { + "description": "User dev preferences - Reset onboarding - Subtitle" + }, + "dev_preferences_environment_switch_title": "Switch between openfoodfacts.org (PROD) and test env", + "@dev_preferences_environment_switch_title": { + "description": "User dev preferences - Environment (prod/test) switcher - Title" + }, + "dev_preferences_test_environment_title": "Test environment parameters", + "@dev_preferences_test_environment_title": { + "description": "User dev preferences - Info about test environment - Title" + }, + "dev_preferences_test_environment_subtitle": "Base URL for current test env: {url}", + "@dev_preferences_test_environment_subtitle": { + "description": "User dev preferences - Info about test environment - Value", + "placeholders": { + "url": { + "type": "String" + } + } + }, + "dev_preferences_test_environment_dialog_title": "Test environment host", + "@dev_preferences_test_environment_dialog_title": { + "description": "User dev preferences - Info about test environment - Dialog title" + }, + "dev_preferences_ml_kit_title": "Use ML Kit", + "@dev_preferences_ml_kit_title": { + "description": "User dev preferences - Enable ML Kit - Title" + }, + "dev_preferences_ml_kit_subtitle": "then you have to restart this app", + "@dev_preferences_ml_kit_subtitle": { + "description": "User dev preferences - Enable ML Kit - Subtitle" + }, + "dev_preferences_product_additional_features_title": "Additional button on product page", + "@dev_preferences_product_additional_features_title": { + "description": "User dev preferences - Additional buttons on product page - Title" + }, + "dev_preferences_edit_ingredients_title": "Edit ingredients via a knowledge panel button", + "@dev_preferences_edit_ingredients_title": { + "description": "User dev preferences - Additional buttons on product page - Subtitle" + }, + "dev_preferences_export_history_title": "Export History", + "@dev_preferences_export_history_title": { + "description": "User dev preferences - Export history - Title" + }, + "dev_preferences_export_history_progress_error": "exception", + "@dev_preferences_export_history_progress_error": { + "description": "User dev preferences - Export history - Item - Error" + }, + "dev_preferences_export_history_progress_found": "product found", + "@dev_preferences_export_history_progress_found": { + "description": "User dev preferences - Export history - Item - Found" + }, + "dev_preferences_export_history_progress_not_found": "product NOT found", + "@dev_preferences_export_history_progress_not_found": { + "description": "User dev preferences - Export history - Item - Not found" + }, + "dev_preferences_export_history_dialog_title": "Export history", + "@dev_preferences_export_history_dialog_title": { + "description": "User dev preferences - Export history - Dialog title" + }, + "dev_preferences_button_positive": "OK", + "@dev_preferences_button_positive": { + "description": "User dev preferences - Positive button label" + }, + "dev_preferences_button_negative": "Cancel", + "@dev_preferences_button_negative": { + "description": "User dev preferences - Negative button label" + }, + "dev_preferences_migration_title": "Data migration from V1", + "dev_preferences_migration_subtitle": "Status: {status}", + "@dev_preferences_migration_subtitle": { + "placeholders": { + "status": { + "type": "String" + } + } + }, + "dev_preferences_migration_status_already_done": "success or fresh install", + "dev_preferences_migration_status_success": "success", + "dev_preferences_migration_status_error": "error", + "dev_preferences_migration_status_in_progress": "in progress", + "dev_preferences_migration_status_required": "required (click to start)", + "dev_preferences_migration_status_not_started": "unknown", + "dev_preferences_import_history_subtitle": "Will clear history and put 3 products in there", + "@dev_preferences_import_history_subtitle": { + "description": "User dev preferences - Import history - Subtitle" + }, + "dev_preferences_news_custom_url_title": "Custom URL for news", + "@dev_preferences_news_custom_url_title": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_subtitle": "URL of the JSON file:", + "@dev_preferences_news_custom_url_subtitle": { + "description": "News dev preferences - Custom URL for news - Title" + }, + "dev_preferences_news_custom_url_empty_value": "Not set", + "@dev_preferences_news_custom_url_empty_value": { + "description": "Message to show when the custom news URL is not set" + }, + "dev_preferences_news_provider_status_title": "Status", + "@dev_preferences_news_provider_status_title": { + "description": "News dev preferences - Status - Title" + }, + "dev_preferences_news_provider_status_subtitle": "Last refresh: {date}", + "@dev_preferences_news_provider_status_subtitle": { + "description": "News dev preferences - Custom URL for news - Subtitle", + "placeholders": { + "date": { + "type": "String" + } + } + }, + "prices_app_dev_mode_flag": "Shortcut to Prices app on product page", + "prices_app_button": "Go to Prices app", + "prices_generic_title": "Prices", + "prices_add_n_prices": "{count,plural, =1{Add a price} other{App {count} prices}}", + "prices_send_n_prices": "{count,plural, =1{Send the price} other{Send {count} prices}}", + "prices_add_an_item": "Add an item", + "prices_add_a_price": "Add a price", + "prices_add_a_receipt": "Add a receipt", + "prices_add_price_tags": "Add price tags", + "prices_barcode_search_not_found": "Product not found", + "prices_barcode_search_none_yet": "No product yet", + "prices_barcode_search_question": "Do you want to look for this product?", + "prices_barcode_search_title": "Product search", + "prices_barcode_search_running": "Looking for {barcode}", + "@prices_barcode_search_running": { + "description": "Dialog title about barcode look-up", + "placeholders": { + "barcode": { + "type": "String" + } + } + }, + "prices_barcode_reader_action": "Barcode reader", + "prices_view_prices": "View the prices", + "prices_product_accessibility_summary": "{count,plural, =1{1 price} other{{count} prices}} for {product}", + "@prices_product_accessibility_summary": { + "description": "A card summarizing the number of prices for a product", + "placeholders": { + "count": { + "type": "int" + }, + "product": { + "type": "String" + } + } + }, + "prices_list_length_one_page": "{count,plural, =0{No price yet} =1{Only one price} other{All {count} prices}}", + "@prices_list_length_one_page": { + "description": "Number of prices for one-page result", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "prices_list_length_many_pages": "Latest {pageSize} prices (total: {total})", + "@prices_list_length_many_pages": { + "description": "Number of prices for one-page result", + "placeholders": { + "pageSize": { + "type": "int" + }, + "total": { + "type": "int" + } + } + }, + "prices_entry_accessibility_label": "Price: {price} / Store: \"{location}\" / Published on {date} by \"{user}\"", + "@prices_entry_accessibility_label": { + "description": "Accessibility label for a price entry", + "placeholders": { + "price": { + "type": "String" + }, + "location": { + "type": "String" + }, + "date": { + "type": "String" + }, + "user": { + "type": "String" + } + } + }, + "prices_open_user_proofs": "Open proofs of \"{user}\"", + "@prices_open_user_proofs": { + "description": "Button to open the proofs of a user", + "placeholders": { + "user": { + "type": "String" + } + } + }, + "prices_open_proof": "Open price proof", + "@prices_open_proof": { + "description": "Button to open a proof" + }, + "prices_proofs_list_length_one_page": "{count,plural, =0{No proof yet} =1{Only one proof} other{All {count} proofs}}", + "@prices_proofs_list_length_one_page": { + "description": "Number of proofs for one-page result", + "placeholders": { + "count": { + "type": "int" + } + } + }, + "prices_proofs_list_length_many_pages": "Latest {pageSize} proofs (total: {total})", + "@prices_proofs_list_length_many_pages": { + "description": "Number of proofs for one-page result", + "placeholders": { + "pageSize": { + "type": "int" + }, + "total": { + "type": "int" + } + } + }, + "prices_users_list_length_many_pages": "Top {pageSize} contributors (total: {total})", + "@prices_users_list_length_many_pages": { + "description": "Number of users for one-page result", + "placeholders": { + "pageSize": { + "type": "int" + }, + "total": { + "type": "int" + } + } + }, + "prices_amount_subtitle": "Amount", + "prices_amount_is_discounted": "Is discounted?", + "prices_amount_price_normal": "Price", + "prices_amount_price_discounted": "Discounted price", + "prices_amount_price_not_discounted": "Original price", + "prices_amount_no_product": "One product is missing!", + "prices_amount_price_incorrect": "Incorrect value", + "prices_amount_price_mandatory": "Mandatory value", + "prices_currency_subtitle": "Currency", + "prices_date_subtitle": "Date", + "prices_location_subtitle": "Shop", + "prices_location_find": "Find a shop", + "prices_location_mandatory": "You need to select a shop!", + "prices_proof_subtitle": "Proof", + "prices_proof_find": "Select a proof", + "prices_proof_receipt": "Receipt", + "prices_proof_price_tag": "Price tag", + "prices_proof_mandatory": "You need to select a proof!", + "prices_add_validation_error": "Validation error", + "prices_privacy_warning_title": "Privacy warning", + "prices_privacy_warning_message": "Prices will be public, along with the store they refer to.\nThat might allow people who know about your Open Food Facts pseudonym to:\n* infer in which area you live\n* know what you are buying\nIf you are uneasy with that, please change your pseudonym, or create a new Open Food Facts account and log into the app with it.", + "prices_unknown_product": "Unknown product", + "@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": "Done", + "@dev_preferences_import_history_result_success": { + "description": "User dev preferences - Import history - Result successful" + }, + "dev_mode_section_server": "Server configuration", + "dev_mode_section_news": "News provider configuration", + "dev_mode_section_product_page": "Product page", + "dev_mode_section_ui": "User Interface", + "dev_mode_section_data": "Data", + "dev_mode_section_experimental_features": "Experimental features", + "dev_mode_hide_ecoscore_title": "Exclude Eco-Score", + "@dev_mode_hide_ecoscore_title": { + "description": "User dev preferences - Disable Ecoscore - Title" + }, + "dev_mode_spellchecker_for_ocr_title": "Use a spellchecker for OCR screens", + "@dev_mode_spellchecker_for_ocr_title": { + "description": "User dev preferences - Enable Spellchecker on OCR screens - Title" + }, + "dev_mode_spellchecker_for_ocr_subtitle": "(Ingredients and packaging)", + "@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": { + "description": "A tooltip to explain the Pen button near a search term -> it allows to reuse the item" + }, + "product_search_no_more_results": "You've downloaded all the {totalSize} products.", + "@product_search_no_more_results": { + "description": "Product search list - No more results available", + "placeholders": { + "totalSize": { + "type": "int" + } + } + }, + "product_search_button_download_more": "Download {count} more products\nAlready downloaded {downloaded} out of {totalSize}.", + "@product_search_button_download_more": { + "description": "Product search list - Button to download more results", + "placeholders": { + "count": { + "type": "int" + }, + "downloaded": { + "type": "int" + }, + "totalSize": { + "type": "int" + } + } + }, + "product_search_loading_message": "Your search of {search} is in progress.\n\nPlease wait a few seconds…", + "@product_search_loading_message": { + "description": "This message will be displayed when a search is in progress.", + "search": { + "type": "String" + } + }, + "user_search_contributor_title": "Products I added", + "@user_search_contributor_title": { + "description": "User search (contributor): list tile title" + }, + "user_search_informer_title": "Products I edited", + "@user_search_informer_title": { + "description": "User search (informer): list tile title" + }, + "user_search_photographer_title": "Products I photographed", + "@user_search_photographer_title": { + "description": "User search (photographer): list tile title" + }, + "user_search_to_be_completed_title": "My to-be-completed products", + "@user_search_to_be_completed_title": { + "description": "User search (to be completed): list tile title" + }, + "user_search_prices_title": "My prices", + "@user_search_prices_title": { + "description": "User prices: list tile title" + }, + "user_search_proofs_title": "My proofs", + "@user_search_proofs_title": { + "description": "User proofs: list tile title" + }, + "user_search_proof_title": "My proof", + "@user_search_proof_title": { + "description": "User proof: page title" + }, + "user_any_search_prices_title": "Contributor prices", + "@user_any_search_prices_title": { + "description": "User prices (everybody except me): list tile title" + }, + "all_search_prices_latest_title": "Latest Prices added", + "@all_search_prices_latest_title": { + "description": "Latest prices: list tile title" + }, + "all_search_prices_top_user_title": "Top price contributors", + "@all_search_prices_top_user_title": { + "description": "Top price users: list tile title" + }, + "all_search_prices_top_location_title": "Stores with the most prices", + "@all_search_prices_top_location_title": { + "description": "Top price locations: list tile title" + }, + "all_search_prices_top_product_title": "Products with the most prices", + "@all_search_prices_top_product_title": { + "description": "Top price products: list tile title" + }, + "all_search_to_be_completed_title": "All to-be-completed products", + "@all_search_to_be_completed_title": { + "description": "All products to be completed: list tile title" + }, + "categorize_products_country_title": "Help categorize products in your country", + "@categorize_products_country_title": { + "description": "Help categorize products in your country: list tile title" + }, + "edit_product_action_retake_picture": "Retake photo", + "@edit_product_action_retake_picture": { + "description": "Product edition - FAB actions - retake a picture" + }, + "edit_product_action_take_picture": "Take photo", + "@edit_product_action_take_picture": { + "description": "Product edition - FAB actions - take a picture" + }, + "edit_product_action_confirm": "Confirm", + "@edit_product_action_confirm": { + "description": "Product edition - FAB actions - confirm" + }, + "signup_page_terms_of_use_line1": "I agree to the Open Food Facts ", + "@signup_page_terms_of_use_line1": { + "description": "User consent for terms of use (line 1)" + }, + "signup_page_terms_of_use_line2": "terms of use and contribution", + "@signup_page_terms_of_use_line2": { + "description": "User consent for terms of use (line 2)" + }, + "analytics_consent_image_semantic_label": "Analytics icon", + "@analytics_consent_image_semantic_label": { + "description": "Consent Analytics icon semantics label" + }, + "knowledge_panel_page_loading_error": "Fatal Error: {error}", + "@knowledge_panel_page_loading_error": { + "description": "Knowledge panel page template - Error while loading future", + "placeholders": { + "error": { + "type": "Object?" + } + } + }, + "preferences_page_loading_error": "Fatal Error: {error}", + "@preferences_page_loading_error": { + "description": "Preferences page - Error while loading future", + "placeholders": { + "error": { + "type": "Object?" + } + } + }, + "summary_card_button_add_basic_details": "Complete basic details", + "@summary_card_button_add_basic_details": { + "description": "Summary card - Button to add details about the product" + }, + "edit_photo_button_label": "Edit", + "@edit_photo_button_label": { + "description": "Edit photo button label" + }, + "edit_photo_unselect_button_label": "Unselect photo", + "@edit_photo_unselect_button_label": { + "description": "Edit 'unselect photo' button label" + }, + "edit_photo_select_existing_button_label": "Select an existing image", + "@edit_photo_select_existing_button_label": { + "description": "Edit 'select existing image' button label" + }, + "edit_photo_select_existing_all_label": "Existing images", + "@edit_photo_select_existing_all_label": { + "description": "Page title" + }, + "edit_photo_select_existing_download_label": "Retrieving existing images…", + "@edit_photo_select_existing_download_label": { + "description": "Dialog label" + }, + "edit_photo_select_existing_downloaded_none": "There are no images previously uploaded related to this product.", + "@edit_photo_select_existing_downloaded_none": { + "description": "Error message" + }, + "edit_photo_language_not_this_one": "No image in that language yet", + "@edit_photo_language_not_this_one": { + "description": "Warning message: for this product and this field, there are 'translated' images, but not in that language" + }, + "edit_photo_language_none": "No image yet", + "@edit_photo_language_none": { + "description": "Warning message: for this product and this field, there are no images at all, in any language" + }, + "category_picker_screen_title": "Categories", + "@category_picker_screen_title": { + "description": "Categories picker screen title" + }, + "basic_details": "Basic Details", + "product_name": "Product Name", + "add_basic_details_product_name_error": "Please enter the product name", + "brand_name": "Brand name", + "add_basic_details_brand_name_error": "Please enter the brand name", + "quantity": "Quantity and weight", + "barcode": "Barcode", + "barcode_barcode": "Barcode: {barcode}", + "@barcode_barcode": { + "description": "Displaying the raw barcode with label", + "placeholders": { + "barcode": { + "type": "String" + } + } + }, + "barcode_invalid_error": "Invalid barcode", + "basic_details_add_success": "Basic details added successfully", + "basic_details_add_error": "Unable to add basic details. Please try again after some time", + "@basic_details_add_error": { + "description": "Error message when error occurs while submitting basic details" + }, + "clear_search": "Clear your search", + "@confirm_clearclear_search": { + "description": "Tooltip to explain that the X button clears the content of the search" + }, + "confirm_clear": "You're about to clear your entire history: are you sure you want to continue?", + "@confirm_clear": { + "description": "Asking about whether to clear the history list or not" + }, + "alert_clear_selected_user_list": "You're about to clear selected items in your history", + "confirm_clear_selected_user_list": "Are you sure you want to continue?", + "alert_select_items_to_clear": "Please select one or more items to clear", + "confirm_clear_user_list": "You're about to clear this list ({name}): are you sure you want to continue?", + "@confirm_clear_user_list": { + "description": "Asking about whether to clear the list or not", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "confirm_delete_user_list_title": "Delete the list?", + "@confirm_delete_user_list_title": { + "description": "Title when asking about whether to delete the list or not" + }, + "confirm_delete_user_list_message": "You're about to delete the list \"{name}\".\nAre you sure you want to continue?", + "@confirm_delete_user_list_message": { + "description": "Message when asking about whether to delete the list or not", + "placeholders": { + "name": { + "type": "String" + } + } + }, + "confirm_delete_user_list_button": "Yes, I confirm", + "@confirm_delete_user_list_button": { + "description": "Button to delete a list" + }, + "importance_label": "{name} importance: {id}", + "@importance_label": { + "description": "Used when user selects a food preference. example: Vegan importance; mandatory", + "placeholders": { + "name": { + "type": "String" + }, + "id": { + "type": "String" + } + } + }, + "user_list_all_title": "Lists", + "@user_list_all_title": { + "description": "Title about the user lists in the user preferences" + }, + "user_list_all_empty": "Create your first list", + "@user_list_all_empty": { + "description": "Small message when there are no user lists" + }, + "product_list_select": "Select a list", + "@product_list_select": { + "description": "Top title for the selection of a list" + }, + "user_list_length": "{count,plural, =0{Empty list} =1{One product} other{{count} products}}", + "@user_list_length": { + "description": "Length of a user product list", + "placeholders": { + "count": {} + } + }, + "add_list_label": "Add list", + "@add_list_label": { + "description": "Label for the add list button" + }, + "open_food_preferences_tooltip": "Edit your food preferences", + "@open_food_preferences_tooltip": { + "description": "Tooltip (message displayed on long press) to open the user food preferences" + }, + "add_photo_button_label": "Add photo", + "@add_photo_button_label": { + "description": "Label for the add photo button" + }, + "add_packaging_photo_button_label": "Take photos of any packaging/recycling information", + "@add_packaging_photo_button_label": { + "description": "Label for the add PACKAGING photo button" + }, + "add_origin_photo_button_label": "Take photos of any origin information", + "@add_origin_photo_button_label": { + "description": "Label for the add ORIGIN photo button" + }, + "add_emb_photo_button_label": "Take photos of any traceability code information", + "@add_emb_photo_button_label": { + "description": "Label for the add EMB photo button" + }, + "add_label_photo_button_label": "Take photos of any labels & certifications information", + "@add_label_photo_button_label": { + "description": "Label for the add LABELS photo button" + }, + "choose_image_source_title": "Choose image source", + "@choose_image_source_title": { + "description": "Title for the image source chooser" + }, + "choose_image_source_body": "Please choose a image source", + "@choose_image_source_body": { + "description": "Body for the image source chooser" + }, + "gallery_source_label": "Gallery", + "@gallery_source_label": { + "description": "Label for the gallery image source" + }, + "gallery_source_access_denied_dialog_title": "Access denied", + "@gallery_source_access_denied_dialog_title": { + "description": "On iOS, the user has refused to give the permission (title of the dialog)" + }, + "gallery_source_access_denied_dialog_message_ios": "Unfortunately, the application can't access your gallery, as you have previously denied the permission.\n\nPlease go to the app settings in your phone Settings -> Photos", + "@gallery_source_access_denied_dialog_message_ios": { + "description": "On iOS, the user has refused to give the permission" + }, + "gallery_source_access_denied_dialog_button": "Open the Settings", + "@gallery_source_access_denied_dialog_button": { + "description": "Button to open the app settings" + }, + "share": "Share", + "@share": { + "description": "Button label for sharing something on another app. For example sharing the link to a product via Email" + }, + "share_product_text": "Have a look at this product on Open Food Facts: {url}", + "@share_product_text": { + "description": "The content which is send, when sharing a product", + "placeholders": { + "url": { + "type": "String" + } + } + }, + "share_product_list_text": "Have a look at my list of products on Open Food Facts: {url}", + "@share_product_list_text": { + "description": "The content which is send, when sharing a product list", + "placeholders": { + "url": { + "type": "String" + } + } + }, + "capture": "Take a new picture", + "@capture": { + "description": "Button label for taking a new photo (= there's already one)" + }, + "capture_new_picture": "Take a picture", + "@capture_new_picture": { + "description": "Button label for taking a new photo (= the first one)" + }, + "choose_from_gallery": "Choose from gallery", + "@choose_from_gallery": { + "description": "Button label for choosing a photo from gallery" + }, + "image_upload_queued": "The image will be uploaded in the background as soon as possible.", + "@image_upload_queued": { + "description": "Message when a photo is queued for upload" + }, + "add_price_queued": "The price will be sent to the server as soon as possible.", + "@add_price_queued": { + "description": "Message when an added price is queued for the server" + }, + "background_task_title_full_refresh": "Starting the refresh of all the products locally stored", + "@background_task_title_full_refresh": { + "description": "Snackbar message when a full refresh is started" + }, + "background_task_title_top_n": "Starting the download of the most popular products", + "@background_task_title_top_n": { + "description": "Snackbar message when a download of the most popular products is started" + }, + "expand_nutrition_facts": "Expand nutrition facts table", + "@expand_nutrition_facts": { + "description": "Label for expanding nutrition facts table in application setting" + }, + "expand_nutrition_facts_body": "Keep the nutrition facts table expanded", + "expand_ingredients": "Expand ingredients", + "@expand_ingredients": { + "description": "Label for expanding nutrition facts table in application setting" + }, + "expand_ingredients_body": "Keep the ingredients panel expanded", + "no_internet_connection": "No internet connection", + "@no_internet_connection": { + "description": "Message when there is no internet connection" + }, + "world_results_label": "Entire world", + "@world_results_label": { + "description": "Label describing the current source of the results: the entire world. Keep it short" + }, + "world_results_action": "Extend your search to the world", + "@world_results_action": { + "description": "Label for the action button that displays the results from the entire world" + }, + "copy_to_clipboard": "Copy", + "@copy_to_clipboard": { + "description": "Copy to clipboard button description" + }, + "paste_from_clipboard": "Paste from clipboard", + "@paste_from_clipboard": { + "description": "Paste the content of the clipboard" + }, + "no_data_available_in_clipboard": "No data available in your clipboard", + "@no_data_available_in_clipboard": { + "description": "No data available in your clipboard" + }, + "clipboard_barcode_copy": "Copy barcode to clipboard", + "@clipboard_barcode_copied": { + "description": "Snackbar label after clipboard copy", + "placeholders": { + "barcode": { + "type": "String", + "description": "barcode" + } + } + }, + "clipboard_barcode_copied": "Barcode {barcode} copied to the clipboard!", + "language_picker_label": "Your language", + "@language_picker_label": { + "description": "Choose Application Language" + }, + "help_with_openfoodfacts": "Help with OpenFoodFacts", + "@help_with_openfoodfacts": { + "description": "Label for the email title" + }, + "product_task_background_schedule": "The product will be updated in the background as soon as possible.", + "@product_task_background_schedule": { + "description": "Message when a product is scheduled for background update" + }, + "no_email_client_available_dialog_title": "No email apps!", + "@no_email_client_available_dialog_title": { + "description": "Title for the dialog when no email client is installed on the device" + }, + "no_email_client_available_dialog_content": "Please send us manually an email to mobile@openfoodfacts.org", + "@no_email_client_available_dialog_content": { + "description": "Content for the dialog when no email client is installed on the device" + }, + "all_images": "All Images", + "selected_images": "Selected Images", + "product_card_remove_product_tooltip": "Remove product", + "@product_card_remove_product_tooltip": { + "description": "Tooltip (message visible with a long-press) on a product item in the carousel" + }, + "scan_announce_new_barcode": "New barcode scanned: {barcode}", + "@scan_announce_new_barcode": { + "description": "Text to pronounce by the Accessibility tool when a new barcode is decoded", + "placeholders": { + "barcode": { + "type": "String", + "description": "barcode" + } + } + }, + "scan_header_clear_button_tooltip": "Remove all products from the carousel", + "@scan_header_clear_button_tooltip": { + "description": "Tooltip (message visible with a long-press) on the Clear button on top of the scanner" + }, + "scan_header_compare_button_invalid_state_tooltip": "Please scan at least two products to compare them", + "@scan_header_compare_button_invalid_state_tooltip": { + "description": "Tooltip (message visible with a long-press) on the Compare button on top of the scanner, when there is just one product scanned" + }, + "scan_header_compare_button_valid_state_tooltip": "Click to compare the products you have scanned", + "@scan_header_compare_button_valid_state_tooltip": { + "description": "Tooltip (message visible with a long-press) on the Compare button on top of the scanner, when there is at least two prodiucts" + }, + "scan_product_loading": "You have scanned\nthe barcode:", + "@scan_product_loading": { + "description": "Title when a product is loading (carousel card). Please ensure to keep the line break." + }, + "scan_product_loading_initial": "We're looking for this product!\nPlease wait a few seconds…", + "@scan_product_loading_initial": { + "description": "Message when a product is loading (carousel card). Please ensure to keep the line break." + }, + "scan_product_loading_long_request": "We're still looking for this product!\nDo you find it takes a long time to load? So are we…", + "@scan_product_loading_long_request": { + "description": "Message when a product is long to load (carousel card). Please ensure to keep the line break." + }, + "scan_product_loading_unresponsive": "We're still looking for this product.\nWould you like to restart the search?", + "@scan_product_loading_unresponsive": { + "description": "Message when a product is too long to load (carousel card). Please ensure to keep the line break." + }, + "scan_product_loading_restart_button": "Restart search", + "@scan_product_loading_restart_button": { + "description": "Button to force restart a product search" + }, + "portion_calculator_description": "Calculate nutrition facts for a specific quantity", + "@portion_calculator_description": { + "description": "Sort of title that describes the portion calculator." + }, + "portion_calculator_hint": "Quantity in", + "@portion_calculator_hint": { + "description": "Hint to show when a quantity is empty in the portion calculator." + }, + "portion_calculator_accessibility": "Input a quantity to calculate nutrition facts", + "@portion_calculator_accessibility": { + "description": "Hint for the acessibility to explain to enter a quantity." + }, + "portion_calculator_error": "Please enter a quantity between {min} and {max} g", + "@portion_calculator_error": { + "description": "Error message to explain that the quantity is invalid.", + "placeholders": { + "min": { + "type": "int" + }, + "max": { + "type": "int" + } + } + }, + "portion_calculator_result_title": "Nutrition facts for {grams} g (or ml)", + "@portion_calculator_result_title": { + "description": "Title of the results of the portion calculator.", + "placeholders": { + "grams": { + "type": "int" + } + } + }, + "offline_data": "Offline Data", + "@offline_data": { + "description": "App bar title for the offline data page" + }, + "ocr_image_upload_instruction": "Upload an image to automatically extract the information it contains.", + "@ocr_image_upload_instruction": { + "description": "Message shown when there is no image on the OCR extraction page for ingredients or recycling instructions" + }, + "upload_image": "Upload Photo", + "@upload_image": { + "description": "Message shown on asking to upload image" + }, + "word_separator_char": ",", + "@word_separator_char": { + "description": "Word separator character. In English language, this is a comma: ','" + }, + "word_separator": ", ", + "@word_separator": { + "description": "Word separator string. In English, this is a comma followed by a space: ', '" + }, + "image_download_error": "Failed to download image", + "@image_download_error": { + "description": "Error message, when image download fails" + }, + "image_edit_url_error": "Failed to edit image because the image URL was not set.", + "@image_edit_url_error": { + "description": "Error message, when editing image fails, due to missing url." + }, + "user_picture_source_remember": "Remember my choice", + "@user_picture_source_remember": { + "description": "Checkbox label when select a picture source" + }, + "user_picture_source_select": "Select each time", + "@user_picture_source_select": { + "description": "Choice of selecting the picture source each time" + }, + "robotoff_continue": "Continue", + "@robotoff_continue": { + "description": "Shown when robotoff question are all answered and user wants to continue answering" + }, + "robotoff_next_n_questions": "Next {count,plural, =1{question} other{{count} questions}}", + "@robotoff_next_n_questions": { + "description": "Shown when robotoff question are all answered and user wants to continue answering", + "placeholders": { + "count": {} + } + }, + "show_password": "Show Password", + "@show_password": { + "description": "Show hidden password in password field" + }, + "rate_app": "Rate the app", + "app_rating_dialog_title": "Great! Let others know what you think of this app!", + "app_rating_dialog_positive_action": "Rate the app", + "app_rating_dialog_negative_action": "Later", + "app_rating_dialog_title_enjoying_app": "Are you enjoying this app?", + "app_rating_dialog_title_enjoying_positive_actions": "Yeah!", + "not_really": "Not really", + "app_rating_dialog_title_not_enjoying_app": "We are so sorry to hear that! Could you tell us what happened?", + "edit_packagings_title": "Packaging components", + "@edit_packagings_title": { + "description": "Title of the structured packagings page" + }, + "edit_packagings_element_add": "Add a packaging component", + "@edit_packagings_element_add": { + "description": "Button label" + }, + "edit_packagings_completed": "The packaging is complete", + "edit_packagings_element_title": "Packaging component #{index}", + "@edit_packagings_element_title": { + "description": "Element title. Please do not change the index placeholder", + "placeholders": { + "index": { + "type": "int" + } + } + }, + "edit_packagings_element_field_units": "Number of units", + "@edit_packagings_element_field_units": { + "description": "Field label" + }, + "edit_packagings_element_hint_units": "Enter the number of packaging units of the same shape and material contained in the product.", + "@edit_packagings_element_hint_units": { + "description": "Field verbose hint, more like an info than a text field hint" + }, + "edit_packagings_element_field_shape": "Shape", + "@edit_packagings_element_field_shape": { + "description": "Field label" + }, + "edit_packagings_element_hint_shape": "Enter the shape name listed in the recycling instructions if they are available, or select a shape.", + "@edit_packagings_element_hint_shape": { + "description": "Field verbose hint, more like an info than a text field hint" + }, + "edit_packagings_element_example_shape": "Bottle", + "@edit_packagings_element_example_shape": { + "description": "Text field hint" + }, + "edit_packagings_element_field_material": "Material", + "@edit_packagings_element_field_material": { + "description": "Field label" + }, + "edit_packagings_element_hint_material": "Enter the specific material if it can be determined (a material code inside a triangle can often be found on packaging parts), or a generic material (for instance plastic or metal) if you are unsure.", + "@edit_packagings_element_hint_material": { + "description": "Field verbose hint, more like an info than a text field hint" + }, + "edit_packagings_element_example_material": "Glass", + "@edit_packagings_element_example_material": { + "description": "Text field hint" + }, + "edit_packagings_element_field_recycling": "Recycling instruction", + "@edit_packagings_element_field_recycling": { + "description": "Field label" + }, + "edit_packagings_element_hint_recycling": "Enter recycling instructions only if they are listed on the product.", + "@edit_packagings_element_hint_recycling": { + "description": "Field verbose hint, more like an info than a text field hint" + }, + "edit_packagings_element_example_recycling": "Recycle", + "@edit_packagings_element_example_recycling": { + "description": "Text field hint" + }, + "edit_packagings_element_field_quantity": "Net quantity of product per unit", + "@edit_packagings_element_field_quantity": { + "description": "Field label" + }, + "edit_packagings_element_hint_quantity": "Enter the net weight or net volume and indicate the unit (for example g or ml).", + "@edit_packagings_element_hint_quantity": { + "description": "Field verbose hint, more like an info than a text field hint" + }, + "edit_packagings_element_field_weight": "Weight of one empty unit (g)", + "@edit_packagings_element_field_weight": { + "description": "Field label" + }, + "edit_packagings_element_hint_weight": "Remove any remaining food and wash and dry the packaging part before weighing. If possible, use a scale with 0.1g or 0.01g precision.", + "@edit_packagings_element_hint_weight": { + "description": "Field verbose hint, more like an info than a text field hint" + }, + "background_task_title": "Pending contributions", + "background_task_subtitle": "Your contributions are automatically saved to our server, but not always in real-time.", + "background_task_list_empty": "No Pending Background Tasks", + "background_task_error_server_time_out": "Server timeout", + "background_task_error_no_internet": "Internet connection error. Try later.", + "background_task_operation_unknown": "unknown operation type", + "background_task_operation_details": "detailed changes", + "background_task_operation_image": "photo upload", + "background_task_operation_refresh": "refresh delayed after photo upload", + "background_task_run_started": "started", + "background_task_run_not_started": "not started yet", + "background_task_run_to_be_deleted": "to be deleted", + "background_task_question_stop": "Do you want to stop that task ASAP?", + "feed_back": "Feedback", + "undo": "Undo", + "copy_email_to_clip_board": "Copy email to clipboard", + "@copy_email_to_clip_board": { + "description": "Button: Copy the email adress to the clipboard. Shown when an automatic opening of an email application is not possible" + }, + "please_send_us_an_email_to": "Please send us manually an email to", + "email_copied_to_clip_board": "Email copied to clipboard!", + "select_accent_color": "Select Accent Color", + "@select_accent_color": { + "description": "Accent Color for the application in AMOLED mode." + }, + "theme_amoled": "AMOLED", + "@theme_amoled": { + "description": "AMOLED theme mode." + }, + "color_blue": "Blue", + "@color_blue": { + "description": "Color Blue" + }, + "color_cyan": "Cyan", + "@color_cyan": { + "description": "Color Cyan" + }, + "color_green": "Green", + "@color_green": { + "description": "Color Green" + }, + "color_light_brown": "Default", + "@color_light_brown": { + "description": "Color Light Brown, Default Open Food Facts Color" + }, + "color_magenta": "Magenta", + "@color_magenta": { + "description": "Color Magenta" + }, + "color_orange": "Orange", + "@color_orange": { + "description": "Color Orange" + }, + "color_pink": "Pink", + "@color_pink": { + "description": "Color Pink" + }, + "color_red": "Red", + "@color_red": { + "description": "Color Red" + }, + "color_rust": "Rust", + "@color_rust": { + "description": "Color Rust" + }, + "color_teal": "Teal", + "@color_teal": { + "description": "Color Teal" + }, + "text_contrast_mode": "Text Contrast", + "@text_contrast_mode": { + "description": "Text Contrast Color Mode" + }, + "contrast_high": "High", + "@contrast_high": { + "description": "High Contrast Text Color" + }, + "contrast_medium": "Medium", + "@contrast_medium": { + "description": "Medium Contrast Text Color" + }, + "contrast_low": "Low", + "@contrast_low": { + "description": "Low Contrast Text Color" + }, + "product_refresher_internet_not_found": "Product not found!", + "@product_refresher_internet_not_found": { + "description": "When refreshing a product that does not exist on the server. Label is the body of a dialog." + }, + "product_refresher_internet_not_connected": "You are not connected to internet!", + "@product_refresher_internet_not_connected": { + "description": "When refreshing a product and you're not even connected to internet. Label is the body of a dialog." + }, + "product_refresher_internet_no_ping": "Server down ({host})", + "@product_refresher_internet_no_ping": { + "description": "When refreshing a product and you cannot even ping the server. Label is the body of a dialog.", + "placeholders": { + "host": { + "type": "String?" + } + } + }, + "product_refresher_internet_error": "Server error ({exception})", + "@product_refresher_internet_error": { + "description": "When refreshing a product and the server returned an exception. Label is the body of a dialog.", + "placeholders": { + "exception": { + "type": "String?" + } + } + }, + "product_loader_not_found_title": "Product not found!", + "@product_loader_not_found_title": { + "description": "When fetching a product opened via a link and it doesn't exist" + }, + "product_loader_not_found_message": "A product with the following barcode doesn't exist in our database: {barcode}", + "@product_loader_not_found_message": { + "description": "When fetching a product opened via a link, it doesn't exist", + "placeholders": { + "barcode": { + "type": "String" + } + } + }, + "product_loader_network_error_title": "No internet connection!", + "@product_loader_network_error_title": { + "description": "When fetching a product opened via a link and there is no connection" + }, + "product_loader_network_error_message": "Please check that your smartphone is on a WiFi network or has mobile data enabled", + "@product_loader_network_error_message": { + "description": "When fetching a product opened via a link and there is no connection" + }, + "page_not_found_title": "Page not found!", + "@page_not_found_title": { + "description": "Title for a page not found (when an URL is not recognized)" + }, + "page_not_found_button": "Go back to the homepage", + "@page_not_found_button": { + "description": "Button to go back to the homepage" + }, + "download_data": "Download data", + "@download_data": { + "description": "App bar title for the download data page" + }, + "download_top_products": "Download the top 1000 products in your country for instant scanning", + "@download_top_products": { + "description": "Download the top 1000 products in your country for instant scanning" + }, + "download_top_n_products": "Download the top {count,plural, other{{count} products}} in your country for instant scanning", + "@download_top_n_products": { + "placeholders": { + "count": { + "type": "int" + } + } + }, + "download_in_progress": "Downloading data\nThis may take a while", + "@download_in_progress": { + "description": "Download in progress" + }, + "downloaded_products": "{num} products added", + "@downloaded_products": { + "description": "text to show when products added", + "placeholders": { + "num": { + "type": "int" + } + } + }, + "update_offline_data": "Update offline product data", + "@update_offline_data": { + "description": "List tile title for the update offline data page" + }, + "update_local_database_sub": "Update the local product database with the latest data from Open Food Facts", + "@update_local_database_sub": { + "description": "Update the local product database with the latest data from server" + }, + "clear_local_database": "Clear offline product data", + "@clear_local_database": { + "description": "List tile title for the clear local database page" + }, + "clear_local_database_sub": "Clear all local product data from your app to free up space", + "@clear_local_database_sub": { + "description": "Clear all local product data from your app to free up space" + }, + "deleted_products": "{num} products deleted", + "@deleted_products": { + "description": "text to show when products are deleted from local databse", + "placeholders": { + "num": { + "type": "int" + } + } + }, + "loading": "Loading…", + "@loading": { + "description": "Loading…" + }, + "know_more": "Know More", + "@know_more": { + "description": "Know More" + }, + "offline_data_desc": "Click to know more about offline data", + "@offline_data_desc": { + "description": "Click to know more about offline data" + }, + "offline_product_data_title": "Offline product data", + "@offline_product_data_title": { + "description": "Offline Product Data" + }, + "available_for_download": "{num} products available for immediate scaning", + "@available_for_download": { + "description": "text to show details of products available for download", + "placeholders": { + "num": { + "type": "int" + } + } + }, + "country_selector_title": "Select your country:", + "@country_selector_title": { + "description": "Label written as the title of the dialog to select the user country" + }, + "currency_selector_title": "Select your currency:", + "@currency_selector_title": { + "description": "Label written as the title of the dialog to select the user currency" + }, + "language_selector_title": "Select your language:", + "@language_selector_title": { + "description": "Label written as the title of the dialog to select the user language" + }, + "action_delete_list": "Delete", + "@action_delete_list": { + "description": "Delete a list action in a menu" + }, + "action_change_list": "Change the current list", + "@action_change_list": { + "description": "Action to change the current visible list" + }, + "product_list_create": "Create", + "@product_list_create": { + "description": "Button label to create a new list (short word)" + }, + "product_list_create_tooltip": "Create a new list", + "@product_list_create_tooltip": { + "description": "Button description to create a new list (long sentence)" + }, + "nutriscore_generic": "Nutri-Score", + "nutriscore_a": "Nutri-Score A", + "nutriscore_b": "Nutri-Score B", + "nutriscore_c": "Nutri-Score C", + "nutriscore_d": "Nutri-Score D", + "nutriscore_e": "Nutri-Score E", + "nutriscore_new_formula": "Nutri-Score {letter} (New calculation)", + "@nutriscore_new_formula": { + "description": "A generic string to define a Nutri-Score V2 with a letter [eg: \"Nutri-Score A (New calculation)\"]", + "placeholders": { + "letter": { + "type": "String" + } + } + }, + "nutriscore_new_formula_title": "Nutri-Score (New calculation)", + "nutriscore_unknown": "Unknown Nutri-Score", + "nutriscore_unknown_new_formula": "Unknown Nutri-Score (New calculation)", + "nutriscore_not_applicable": "Nutri-Score is not applicable", + "nutriscore_not_applicable_new_formula": "Nutri-Score is not applicable (New calculation)", + "ecoscore_generic": "Eco-Score", + "ecoscore_a": "Eco-Score A", + "ecoscore_b": "Eco-Score B", + "ecoscore_c": "Eco-Score C", + "ecoscore_d": "Eco-Score D", + "ecoscore_e": "Eco-Score E", + "ecoscore_unknown": "Unknown Eco-Score", + "ecoscore_not_applicable": "Eco-Score is not applicable", + "nova_group_generic": "Ultra-processing - NOVA groups", + "nova_group_1": "NOVA Group 1", + "nova_group_2": "NOVA Group 2", + "nova_group_3": "NOVA Group 3", + "nova_group_4": "NOVA Group 4", + "nova_group_unknown": "Unknown NOVA Group", + "nutrition_facts": "Nutrient Levels", + "faq_title_partners": "Partners & Patrons of the NGO", + "faq_title_vision": "The Open Food Facts Vision, Mission, Values and Programs", + "faq_title_install_beauty": "Install Open Beauty Facts to create a cosmetic database", + "faq_title_install_pet": "Install Open Pet Food Facts to create a pet food database", + "faq_title_install_product": "Install Open Products Facts to create a products database to extend the life of objects", + "faq_nutriscore_nutriscore": "New calculation of the Nutri-Score: what's new?", + "contact_title_pro_page": "Pro? Import your products in Open Food Facts", + "contact_title_pro_email": "Producer Contact", + "contact_title_press_page": "Press Page", + "contact_title_press_email": "Press Contact", + "contact_title_newsletter": "Subscribe to our newsletter", + "hunger_games_loading_line1": "Please give us a few seconds…", + "hunger_games_loading_line2": "We're downloading the questions!", + "hunger_games_error_label": "Argh! Something went wrong… and we couldn't load the questions.", + "hunger_games_error_retry_button": "Let's retry!", + "reorder_attribute_action": "Reorder the attributes", + "@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": { + "description": "An error may happen if the device doesn't have a browser installed." + }, + "knowledge_panel_page_title_no_title": "Details for {productName}", + "@knowledge_panel_page_title_no_title": { + "description": "The title of the page when we click on an item in the product page and this page is unnamed", + "placeholders": { + "productName": { + "type": "String" + } + } + }, + "knowledge_panel_page_title": "Details for {pageName} with {productName}", + "@knowledge_panel_page_title": { + "description": "The title of the page when we click on an item in the product page", + "placeholders": { + "pageName": { + "type": "String" + }, + "productName": { + "type": "String" + } + } + }, + "guide_title": "Guide", + "@guide_title": { + "description": "A title for a guide" + }, + "guide_share_label": "Share", + "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": "The Nutri-Score is evolving: explanations!", + "@guide_nutriscore_v2_title": { + "description": "The title of the guide (please don't forget the use of non-breaking spaces)" + }, + "guide_nutriscore_v2_file_language": "en", + "@guide_nutriscore_v2_file_language": { + "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": "What is the Nutri-Score?", + "guide_nutriscore_v2_what_is_nutriscore_paragraph1": "The Nutri-Score is a logo which aims to inform you about the **nutritional quality of foods**.", + "@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": "The color code varies from dark green (**A**) for the **healthiest** products to dark red (**E**) for the **less healthy** ones.", + "@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": "The Nutri-Score A logo", + "guide_nutriscore_v2_why_v2_title": "Why is Nutri-Score evolving?", + "guide_nutriscore_v2_why_v2_intro": "The Nutri-Score formula **is evolving** to provide better recommendations:", + "guide_nutriscore_v2_why_v2_arg1_title": "Better evaluate all drinks", + "guide_nutriscore_v2_why_v2_arg1_text": "The comparative notes of **milk**, **dairy drinks** with added sugar and **vegetable** drinks were better differentiated in the new algorithm.", + "guide_nutriscore_v2_why_v2_arg2_title": "Better ranking of drinks", + "guide_nutriscore_v2_why_v2_arg2_text": "The **sugar content** is better taken into account and favors **lowly sweetened** drinks.\\n**Sweeteners will also be penalized**: diet sodas will be downgraded from a B rating to between C and E. Water remains the recommended drink.", + "guide_nutriscore_v2_why_v2_arg3_title": "Salt and sugar penalized", + "guide_nutriscore_v2_why_v2_arg3_text": "Products **too sweet** or **too salty** will see their **rating further downgraded**.", + "guide_nutriscore_v2_why_v2_arg4_title": "Hierarchy within oils and fishes", + "guide_nutriscore_v2_why_v2_arg4_text": "The rating of certain **fatty fish** and **oils rich in good fats** will improve.", + "guide_nutriscore_v2_why_v2_arg5_title": "Limit red meat", + "guide_nutriscore_v2_why_v2_arg5_text": "Consumption of **red meat should be limited**. This is why **poultry will be comparatively better ranked**.", + "guide_nutriscore_v2_new_logo_title": "How to differentiate old Nutri-Score and new calculation?", + "guide_nutriscore_v2_new_logo_text": "From now on, the logo can display a mention \"**New calculation**\" to clarify that this is indeed the new calculation.", + "guide_nutriscore_v2_new_logo_image_caption": "The logo of the new Nutri-Score", + "guide_nutriscore_v2_where_title": "Where to find the new Nutri-Score calculation?", + "guide_nutriscore_v2_where_paragraph1": "The Nutri-Score is applied in several countries: Germany, Belgium, Spain, France, Luxembourg, the Netherlands and Switzerland.", + "guide_nutriscore_v2_where_paragraph2": "Manufacturers have until **2026** at the latest **to replace** the old calculation with the new one.", + "guide_nutriscore_v2_where_paragraph3": "Without waiting, you **will already find in the OpenFoodFacts application**, the new calculation, including if the manufacturers have not updated the score.", + "guide_nutriscore_v2_unchanged_title": "What doesn't change", + "guide_nutriscore_v2_unchanged_paragraph1": "The Nutri-Score is a score designed to **measure nutritional quality**. It is **complementary to the NOVA group** on **ultra-processed foods** (also present in the application).", + "guide_nutriscore_v2_unchanged_paragraph2": "For manufacturers, the display of the Nutri-Score **remains optional**.", + "guide_nutriscore_v2_share_link": "https://world.openfoodfacts.org/nutriscore-v2", + "guide_nutriscore_v2_share_message": "", + "@guide_nutriscore_v2_share_message": { + "description": "Please let empty for now (maybe use in the future)" + }, + "preview_badge": "Preview", + "@preview_badge": { + "description": "Badge to indicate that the product is in preview mode (Be careful with this translation)" + }, + "prices_feedback_form": "Click here to send us your feedback about this new feature!", + "@prices_feedback_form": { + "description": "A button to send feedback about the prices feature" + } +} \ No newline at end of file