{
  "en": {
    "Menu Import": "Menu Import",
    "Menu Import Workspace": "Menu Import Workspace",
    "AI extraction workspace": "AI extraction workspace",
    "Interface language": "Interface language",
    "Import progress": "Import progress",
    "Import": "Import",
    "Review menu": "Review menu",
    "Review": "Review",
    "Images": "Images",
    "Export": "Export",
    "Import your menu": "Import your menu",
    "AI-powered menu operations": "AI-powered menu operations",
    "Upload menu files or import from any public restaurant website, then review bilingual items, option groups, and prices before export.": "Upload menu files or import from any public restaurant website, then review bilingual items, option groups, and prices before export.",
    "Start a new import": "Start a new import",
    "Choose files or a website to get started.": "Choose files or a website to get started.",
    "Processed securely": "Processed securely",
    "Upload files": "Upload files",
    "Website URL": "Website URL",
    "Menu source": "Menu source",
    "Drop menu files here": "Drop menu files here",
    "Choose files": "Choose files",
    "Change selection": "Change selection",
    "Starting from a spreadsheet?": "Starting from a spreadsheet?",
    "Download the CSV template": "Download the CSV template",
    "and fill one menu item per row.": "and fill one menu item per row.",
    "Public restaurant or menu URL": "Public restaurant or menu URL",
    "Public pages only. The importer checks the page and up to four likely menu links on the same website.": "Public pages only. The importer checks the page and up to four likely menu links on the same website.",
    "Note for AI": "Note for AI",
    "Optional": "Optional",
    "Add context or instructions to help the AI understand this menu. Your note is sent with the selected file or URL import.": "Add context or instructions to help the AI understand this menu. Your note is sent with the selected file or URL import.",
    "What gets extracted": "What gets extracted",
    "English and Arabic content, prices, categories, option groups, included components, and menu metadata.": "English and Arabic content, prices, categories, option groups, included components, and menu metadata.",
    "Advanced AI settings and import defaults": "Advanced AI settings and import defaults",
    "AI model": "AI model",
    "Loading available models…": "Loading available models…",
    "Loading models…": "Loading models…",
    "Choose the model for normalization and translation. Dedicated adapters use it only when AI fallback is required.": "Choose the model for normalization and translation. Dedicated adapters use it only when AI fallback is required.",
    "Analysis level": "Analysis level",
    "Fast · low reasoning": "Fast · low reasoning",
    "Balanced · medium reasoning": "Balanced · medium reasoning",
    "Accuracy · high reasoning": "Accuracy · high reasoning",
    "Fast is recommended for clear menus and adapter fallbacks.": "Fast is recommended for clear menus and adapter fallbacks.",
    "Import defaults": "Import defaults",
    "Fallback IDs are applied only where extracted values are missing.": "Fallback IDs are applied only where extracted values are missing.",
    "Default category ID": "Default category ID",
    "Default delivery box ID": "Default delivery box ID",
    "Known categories": "Known categories",
    "Help the AI map restaurant sections to existing POS IDs.": "Help the AI map restaurant sections to existing POS IDs.",
    "Clear": "Clear",
    "Add": "Add",
    "Category name": "Category name",
    "Known category name": "Known category name",
    "Known category ID": "Known category ID",
    "POS ID": "POS ID",
    "Remove category": "Remove category",
    "Extraction time depends on menu size and page count.": "Extraction time depends on menu size and page count.",
    "Extract menu data": "Extract menu data",
    "Import failed": "Import failed",
    "Extraction in progress": "Extraction in progress",
    "Reading your menu": "Reading your menu",
    "Sending to AI": "Sending to AI",
    "Menu extraction progress": "Menu extraction progress",
    "Keep this page open while the menu is processed.": "Keep this page open while the menu is processed.",
    "Review extracted items": "Review extracted items",
    "Correct the data, resolve validation issues, then preview your CSV.": "Correct the data, resolve validation issues, then preview your CSV.",
    "View source": "View source",
    "View import source": "View import source",
    "Continue to images": "Continue to images",
    "Preview export": "Preview export",
    "Edit with AI": "Edit with AI",
    "Edit this menu with AI": "Edit this menu with AI",
    "Describe a change, preview it, then approve before your data is replaced.": "Describe a change, preview it, then approve before your data is replaced.",
    "AI menu editing instruction": "AI menu editing instruction",
    "Apply to": "Apply to",
    "Whole menu": "Whole menu",
    "Selected items": "Selected items",
    "Model": "Model",
    "Analysis": "Analysis",
    "Fast": "Fast",
    "Balanced": "Balanced",
    "Accuracy": "Accuracy",
    "Preview AI edit": "Preview AI edit",
    "Undo last AI edit": "Undo last AI edit",
    "Menu images": "Menu images",
    "Choose images after reviewing your menu details.": "Choose images after reviewing your menu details.",
    "Fetch images": "Fetch images",
    "Generate missing": "Generate missing",
    "Approve all validated images": "Approve all validated images",
    "Stop": "Stop",
    "View image progress": "View image progress",
    "Image source details": "Image source details",
    "Back to review": "Back to review",
    "Continue without more images": "Continue without more images",
    "Search menu items": "Search menu items",
    "Search names, categories, or IDs": "Search names, categories, or IDs",
    "Item status filter": "Item status filter",
    "All": "All",
    "Needs review": "Needs review",
    "Ready": "Ready",
    "Blocking": "Blocking",
    "Detailed columns": "Detailed columns",
    "Map categories": "Map categories",
    "Option suggestions": "Option suggestions",
    "Open AI option relationship suggestions": "Open AI option relationship suggestions",
    "Review AI suggestions that connect standalone add-ons or shared option groups to menu items": "Review AI suggestions that connect standalone add-ons or shared option groups to menu items",
    "Included tax or markup or add to the price": "Included tax or markup or add to the price",
    "No price conversion": "No price conversion",
    "Items included": "Items included",
    "Options included": "Options included",
    "Same as items": "Same as items",
    "Add to all CSV prices": "Add to all CSV prices",
    "Reset": "Reset",
    "Assign selected items to category": "Assign selected items to category",
    "Assign to category…": "Assign to category…",
    "Assign to category...": "Assign to category...",
    "Apply": "Apply",
    "Delete": "Delete",
    "Select all visible items": "Select all visible items",
    "Status": "Status",
    "English name": "English name",
    "Arabic name": "Arabic name",
    "English description": "English description",
    "Description (EN)": "Description (EN)",
    "Description (AR)": "Description (AR)",
    "Section": "Section",
    "Category ID": "Category ID",
    "Source / export price": "Source / export price",
    "Options": "Options",
    "Fields": "Fields",
    "Reviewed": "Reviewed",
    "Actions": "Actions",
    "No matching items": "No matching items",
    "Adjust your search or choose another status filter.": "Adjust your search or choose another status filter.",
    "Add missing item": "Add missing item",
    "Final verification": "Final verification",
    "Export preview": "Export preview",
    "Review the exact CSV output before downloading.": "Review the exact CSV output before downloading.",
    "Ready to export": "Ready to export",
    "Download CSV": "Download CSV",
    "Preview is out of date": "Preview is out of date",
    "Return to review and generate the export again.": "Return to review and generate the export again.",
    "UTF-8 BOM · CSV · Read-only preview": "UTF-8 BOM · CSV · Read-only preview",
    "Edit item": "Edit item",
    "Update item details and option groups.": "Update item details and option groups.",
    "Close item editor": "Close item editor",
    "Cancel": "Cancel",
    "Save & next": "Save & next",
    "Mark ready": "Mark ready",
    "Save changes": "Save changes",
    "Category mapper": "Category mapper",
    "Rename extracted sections and apply POS category IDs to every matching item.": "Rename extracted sections and apply POS category IDs to every matching item.",
    "Close category mapper": "Close category mapper",
    "Done": "Done",
    "Add-on and option review": "Add-on and option review",
    "Resolve suggested relationships without changing standalone products unless you approve them.": "Resolve suggested relationships without changing standalone products unless you approve them.",
    "Close option review": "Close option review",
    "Import source": "Import source",
    "Review the original source used for extraction.": "Review the original source used for extraction.",
    "Close source preview": "Close source preview",
    "Source files": "Source files",
    "Keep reviewing": "Keep reviewing",
    "Unsaved changes": "Unsaved changes",
    "Start a new import?": "Start a new import?",
    "All unsaved review changes in this session will be discarded.": "All unsaved review changes in this session will be discarded.",
    "Discard changes": "Discard changes",
    "Cancel AI edit": "Cancel AI edit",
    "Preview AI changes": "Preview AI changes",
    "No menu data changes until you approve this preview.": "No menu data changes until you approve this preview.",
    "Approve changes": "Approve changes",
    "CSV downloaded": "CSV downloaded",
    "Check your browser downloads.": "Check your browser downloads.",
    "Dismiss notification": "Dismiss notification",
    "Skip to main content": "Skip to main content",
    "Bilingual details": "Bilingual details",
    "Item name (English)": "Item name (English)",
    "Item name (Arabic)": "Item name (Arabic)",
    "Description (English)": "Description (English)",
    "Description (Arabic)": "Description (Arabic)",
    "Arabic fields keep right-to-left direction and a subtle translated-field surface.": "Arabic fields keep right-to-left direction and a subtle translated-field surface.",
    "Classification and pricing": "Classification and pricing",
    "Map this item to the correct POS category and pricing behavior.": "Map this item to the correct POS category and pricing behavior.",
    "POS category ID": "POS category ID",
    "Category role": "Category role",
    "Source price": "Source price",
    "Final CSV price": "Final CSV price",
    "Final CSV item price": "Final CSV item price",
    "Final CSV option price": "Final CSV option price",
    "Calculated CSV price": "Calculated CSV price",
    "Calculated": "Calculated",
    "Manual override": "Manual override",
    "Use calculated": "Use calculated",
    "Calculated values are derived from the source price and current workspace rules. Manual overrides export directly.": "Calculated values are derived from the source price and current workspace rules. Manual overrides export directly.",
    "Price calculation": "Price calculation",
    "Included adjustment": "Included adjustment",
    "After included adjustment": "After included adjustment",
    "Markup": "Markup",
    "Export price": "Export price",
    "Gathering item": "Gathering item",
    "Included components": "Included components",
    "Fixed parts of the item that customers do not select.": "Fixed parts of the item that customers do not select.",
    "Option groups": "Option groups",
    "Configure selectable sizes, flavors, extras, and add-ons.": "Configure selectable sizes, flavors, extras, and add-ons.",
    "No option groups configured for this item.": "No option groups configured for this item.",
    "Add group": "Add group",
    "+ Add Group": "+ Add Group",
    "Group EN": "Group EN",
    "Group AR": "Group AR",
    "Group name (English)": "Group name (English)",
    "Option group type": "Option group type",
    "Required": "Required",
    "Single choice": "Single choice",
    "Single Choice": "Single Choice",
    "Multiple choice": "Multiple choice",
    "Multiple Choice": "Multiple Choice",
    "Add option": "Add option",
    "+ Add Option": "+ Add Option",
    "Opt EN": "Opt EN",
    "Opt AR": "Opt AR",
    "Option English name": "Option English name",
    "Option Arabic name": "Option Arabic name",
    "Option surcharge": "Option surcharge",
    "Option name (English)": "Option name (English)",
    "Delete option": "Delete option",
    "Delete option group": "Delete option group",
    "Custom fields": "Custom fields",
    "Reference metadata retained during review but not included in the current CSV template.": "Reference metadata retained during review but not included in the current CSV template.",
    "No custom metadata found.": "No custom metadata found.",
    "Add field": "Add field",
    "+ Add Field": "+ Add Field",
    "Field name": "Field name",
    "Custom field name": "Custom field name",
    "Custom field value": "Custom field value",
    "Delete custom field": "Delete custom field",
    "Review signals": "Review signals",
    "Confidence and validation feedback for this item.": "Confidence and validation feedback for this item.",
    "Acknowledge blocking issues": "Acknowledge blocking issues",
    "Acknowledge": "Acknowledge",
    "Blocking source issues": "Blocking source issues",
    "Resolve or acknowledge the blocking issues before marking this item ready.": "Resolve or acknowledge the blocking issues before marking this item ready.",
    "English and Arabic item names are required before saving.": "English and Arabic item names are required before saving.",
    "Are you sure you want to delete this item?": "Are you sure you want to delete this item?",
    "Enter new category name:": "Enter new category name:",
    "Please select a category first.": "Please select a category first.",
    "Please select a menu file first.": "Please select a menu file first.",
    "Please enter a public restaurant or menu URL.": "Please enter a public restaurant or menu URL.",
    "No AI model is available.": "No AI model is available.",
    "No AI model is available. Ask the server administrator to configure a provider.": "No AI model is available. Ask the server administrator to configure a provider.",
    "No AI models are configured on this server.": "No AI models are configured on this server.",
    "No model available": "No model available",
    "Models unavailable": "Models unavailable",
    "Could not load configured AI models.": "Could not load configured AI models.",
    "Analysis level is managed by the selected Google model.": "Analysis level is managed by the selected Google model.",
    "Describe the change you want the AI to make.": "Describe the change you want the AI to make.",
    "Select one or more menu rows before using selected-item scope.": "Select one or more menu rows before using selected-item scope.",
    "Select menu rows in the grid before previewing this edit.": "Select menu rows in the grid before previewing this edit.",
    "Preparing preview…": "Preparing preview…",
    "AI is preparing your edit preview…": "AI is preparing your edit preview…",
    "Preview ready. Your current menu is unchanged.": "Preview ready. Your current menu is unchanged.",
    "The AI edit timed out. Try selected-item scope, a smaller edit, or another model.": "The AI edit timed out. Try selected-item scope, a smaller edit, or another model.",
    "The AI could not prepare this edit.": "The AI could not prepare this edit.",
    "The last approved AI edit was undone.": "The last approved AI edit was undone.",
    "No data changes": "No data changes",
    "The AI returned the same menu data. Try a more specific instruction.": "The AI returned the same menu data. Try a more specific instruction.",
    "No option suggestions for this import": "No option suggestions for this import",
    "The AI did not find standalone add-ons or shared option groups that need relationship review. To edit an item's regular options, expand that item directly in the table.": "The AI did not find standalone add-ons or shared option groups that need relationship review. To edit an item's regular options, expand that item directly in the table.",
    "No AI relationship suggestions were found; open for details": "No AI relationship suggestions were found; open for details",
    "Reopen review": "Reopen review",
    "Apply to selected items": "Apply to selected items",
    "Confirm scope": "Confirm scope",
    "Confirm source scope": "Confirm source scope",
    "Confirm": "Confirm",
    "Keep separate": "Keep separate",
    "Keep as standalone only": "Keep as standalone only",
    "Keep all size variants separate": "Keep all size variants separate",
    "Keep the original products separate?": "Keep the original products separate?",
    "Apply size merge": "Apply size merge",
    "Product variants": "Product variants",
    "Grouped flavors": "Grouped flavors",
    "Reviewed add-on": "Reviewed add-on",
    "Prices confirmed as surcharges": "Prices confirmed as surcharges",
    "Confirm that the proposed prices are valid add-on surcharges first.": "Confirm that the proposed prices are valid add-on surcharges first.",
    "Select at least one eligible item before applying this add-on group.": "Select at least one eligible item before applying this add-on group.",
    "Some selected items already have overlapping source-defined options. Unselect them or edit their explicit group; nothing was overwritten.": "Some selected items already have overlapping source-defined options. Unselect them or edit their explicit group; nothing was overwritten.",
    "Shared source group": "Shared source group",
    "The source explicitly scoped this group to multiple items.": "The source explicitly scoped this group to multiple items.",
    "Explicit item choice": "Explicit item choice",
    "Rejected; standalone products were preserved.": "Rejected; standalone products were preserved.",
    "Availability: sold out at source": "Availability: sold out at source",
    "Sold out at source": "Sold out at source",
    "Source": "Source",
    "Item source": "Item source",
    "Original location retained for review and troubleshooting.": "Original location retained for review and troubleshooting.",
    "Item data": "Item data",
    "Restaurant website import": "Restaurant website import",
    "Restaurant website source": "Restaurant website source",
    "Talabat restaurant import": "Talabat restaurant import",
    "Talabat source": "Talabat source",
    "Bites N Bags restaurant import": "Bites N Bags restaurant import",
    "Bites N Bags source": "Bites N Bags source",
    "Review the submitted website and discovered menu sources.": "Review the submitted website and discovered menu sources.",
    "Discovered menu sources": "Discovered menu sources",
    "Review the original file used for extraction.": "Review the original file used for extraction.",
    "Open restaurant page": "Open restaurant page",
    "Download original": "Download original",
    "Excel workbook": "Excel workbook",
    "CSV file": "CSV file",
    "Uploading file…": "Uploading file…",
    "Uploading document…": "Uploading document…",
    "Uploading spreadsheet…": "Uploading spreadsheet…",
    "Reading Word text and tables…": "Reading Word text and tables…",
    "Reading worksheets and rows…": "Reading worksheets and rows…",
    "Inspecting embedded menu images…": "Inspecting embedded menu images…",
    "AI is reading the menu…": "AI is reading the menu…",
    "Extracting items & option groups…": "Extracting items & option groups…",
    "Extracting bilingual menu items…": "Extracting bilingual menu items…",
    "Translating to bilingual format…": "Translating to bilingual format…",
    "Completing bilingual fields…": "Completing bilingual fields…",
    "Mapping items and option groups…": "Mapping items and option groups…",
    "Building CSV columns…": "Building CSV columns…",
    "Waiting for the AI response…": "Waiting for the AI response…",
    "Preparing menu review…": "Preparing menu review…",
    "Processing…": "Processing…",
    "Generating preview…": "Generating preview…",
    "Failed to build CSV": "Failed to build CSV",
    "An unexpected error occurred.": "An unexpected error occurred.",
    "Upload approved images & preview export": "Upload approved images & preview export",
    "Upload image": "Upload image",
    "or drop a photo here": "or drop a photo here",
    "Choose from device": "Choose from device",
    "Selected device photo": "Selected device photo",
    "Check image": "Check image",
    "Checking image": "Checking image",
    "Checking images…": "Checking images…",
    "Choose exactly one photo for this item.": "Choose exactly one photo for this item.",
    "Choose a JPEG, PNG, WEBP or static GIF photo.": "Choose a JPEG, PNG, WEBP or static GIF photo.",
    "This photo file is empty.": "This photo file is empty.",
    "Choose one photo for this item. It will be optimized and checked before you approve it. A current image is kept if the new photo fails.": "Choose one photo for this item. It will be optimized and checked before you approve it. A current image is kept if the new photo fails.",
    "Image generation model": "Image generation model",
    "Image validation model": "Image validation model",
    "Internet search model": "Internet search model",
    "Search language": "Search language",
    "Generation prompt language": "Generation prompt language",
    "العربية (Arabic)": "العربية (Arabic)",
    "Search the Internet": "Search the Internet",
    "Find menu images": "Find menu images",
    "Generate missing menu images": "Generate missing menu images",
    "Generate previews": "Generate previews",
    "Select an image generation model": "Select an image generation model",
    "No image generation models are configured on this server.": "No image generation models are configured on this server.",
    "No Internet search model configured": "No Internet search model configured",
    "Choose an OpenAI or Gemini model for this search. Available models depend on the configured provider keys and your account access.": "Choose an OpenAI or Gemini model for this search. Available models depend on the configured provider keys and your account access.",
    "Checks item identity and image rules, and locates photos in uploaded menus.": "Checks item identity and image rules, and locates photos in uploaded menus.",
    "Sources are checked in this exact order for each item. Remove Internet to prevent a general web search.": "Sources are checked in this exact order for each item. Remove Internet to prevent a general web search.",
    "Add URL": "Add URL",
    "Add Internet": "Add Internet",
    "Add original menu": "Add original menu",
    "Add original menu URL": "Add original menu URL",
    "Add files": "Add files",
    "Choose only images, PDF, DOCX, or XLSX files.": "Choose only images, PDF, DOCX, or XLSX files.",
    "Files: images, PDF, DOCX, or XLSX. Excel supports image URL cells and ordinary embedded pictures; unsupported picture formats are reported. Private or unavailable pages are skipped.": "Files: images, PDF, DOCX, or XLSX. Excel supports image URL cells and ordinary embedded pictures; unsupported picture formats are reported. Private or unavailable pages are skipped.",
    "After Stop, Fetch continues with unfinished items. Use an item's Retry action to repeat a completed attempt.": "After Stop, Fetch continues with unfinished items. Use an item's Retry action to repeat a completed attempt.",
    "The selected language's name and description take priority; missing translations use the other language. Generated images stay free of added text and are optimized to 400 KB or less. After Stop, Generate continues with unfinished items.": "The selected language's name and description take priority; missing translations use the other language. Generated images stay free of added text and are optimized to 400 KB or less. After Stop, Generate continues with unfinished items.",
    "Allowed logos (optional)": "Allowed logos (optional)",
    "Only these logos, or the matching brand on a named drink, may appear. Other text, logos, and body parts are rejected.": "Only these logos, or the matching brand on a named drink, may appear. Other text, logos, and body parts are rejected.",
    "No logo exceptions uploaded.": "No logo exceptions uploaded.",
    "Clear allowed logos": "Clear allowed logos",
    "Allowed logos changed. Validate this image again.": "Allowed logos changed. Validate this image again.",
    "Add at least one source, or close this dialog to keep the current images.": "Add at least one source, or close this dialog to keep the current images.",
    "Enter a valid public http or https URL for each URL row, or remove the empty row.": "Enter a valid public http or https URL for each URL row, or remove the empty row.",
    "Select an available Internet search model, or remove Internet from the source list.": "Select an available Internet search model, or remove Internet from the source list.",
    "Select an available AI model.": "Select an available AI model.",
    "Confirm fetch": "Confirm fetch",
    "Image link": "Image link",
    "Image preview · review only": "Image preview · review only",
    "No image": "No image",
    "Existing image · not checked": "Existing image · not checked",
    "Awaiting visual review": "Awaiting visual review",
    "Approved · upload pending": "Approved · upload pending",
    "Approved": "Approved",
    "Menu changed · revalidate": "Menu changed · revalidate",
    "No image found": "No image found",
    "Could not validate": "Could not validate",
    "Rejected": "Rejected",
    "Choose a photo or skip": "Choose a photo or skip",
    "Your choice · AI rejected this photo": "Your choice · AI rejected this photo",
    "Choose image": "Choose image",
    "View AI checks": "View AI checks",
    "Approve": "Approve",
    "Reject": "Reject",
    "Retry image": "Retry image",
    "Remove": "Remove",
    "Remove image": "Remove image",
    "Approve image": "Approve image",
    "Review this image before export.": "Review this image before export.",
    "Menu image": "Menu image",
    "Menu item": "Menu item",
    "Preview unavailable": "Preview unavailable",
    "Size unavailable": "Size unavailable",
    "Image activity": "Image activity",
    "Close image dialog": "Close image dialog",
    "See candidate photos and the AI's checks. Hiding this panel keeps pending choices for later.": "See candidate photos and the AI's checks. Hiding this panel keeps pending choices for later.",
    "Start Fetch or Generate to see the photos found and the AI's checks here. You can hide this panel at any time.": "Start Fetch or Generate to see the photos found and the AI's checks here. You can hide this panel at any time.",
    "Your choice is waiting": "Your choice is waiting",
    "No photo passed the AI checks. Choose one below or skip this item.": "No photo passed the AI checks. Choose one below or skip this item.",
    "The AI did not accept these photos. Check its reasons, then choose a photo yourself or keep this item without an image.": "The AI did not accept these photos. Check its reasons, then choose a photo yourself or keep this item without an image.",
    "Hide progress": "Hide progress",
    "Stop processing": "Stop processing",
    "Waiting to start": "Waiting to start",
    "Found · not checked": "Found · not checked",
    "Opening image": "Opening image",
    "Finding the dish photo": "Finding the dish photo",
    "Passed AI checks": "Passed AI checks",
    "Rejected by AI": "Rejected by AI",
    "Could not check": "Could not check",
    "Checks stopped": "Checks stopped",
    "Photo preview appears when checked": "Photo preview appears when checked",
    "Photo preview unavailable from this source.": "Photo preview unavailable from this source.",
    "Use this image · my choice": "Use this image · my choice",
    "Skip · keep no image": "Skip · keep no image",
    "Skip · keep current image": "Skip · keep current image",
    "Saving your choice…": "Saving your choice…",
    "Could not select this image.": "Could not select this image.",
    "Choosing this image was interrupted. Your choices were kept; try again.": "Choosing this image was interrupted. Your choices were kept; try again.",
    "You chose this photo. It is approved and waiting for upload.": "You chose this photo. It is approved and waiting for upload.",
    "You selected this photo.": "You selected this photo.",
    "You skipped the rejected photos. No image selected.": "You skipped the rejected photos. No image selected.",
    "Skipped. This item will have no image.": "Skipped. This item will have no image.",
    "New photo skipped. Your current image was kept.": "New photo skipped. Your current image was kept.",
    "The new photo did not pass. Your current image has been kept.": "The new photo did not pass. Your current image has been kept.",
    "The new photo did not pass. Choose it yourself or keep your current image.": "The new photo did not pass. Choose it yourself or keep your current image.",
    "Review rejected photos in Image activity, or skip this item.": "Review rejected photos in Image activity, or skip this item.",
    "No usable image found.": "No usable image found.",
    "A photo passed. Review it in the menu table.": "A photo passed. Review it in the menu table.",
    "Another photo passed, so this photo did not need more checks.": "Another photo passed, so this photo did not need more checks.",
    "Not shortlisted for this item, or already checked from another source.": "Not shortlisted for this item, or already checked from another source.",
    "Processing was stopped.": "Processing was stopped.",
    "Processing was interrupted before these checks finished. Retry this item to continue.": "Processing was interrupted before these checks finished. Retry this item to continue.",
    "Activity history is full. Finish the pending choices, then retry this item separately.": "Activity history is full. Finish the pending choices, then retry this item separately.",
    "Preview memory is full. Finish pending choices, then retry this item separately to load its images.": "Preview memory is full. Finish pending choices, then retry this item separately to load its images.",
    "Preparing images…": "Preparing images…",
    "Image processing finished. Review the image previews before export.": "Image processing finished. Review the image previews before export.",
    "Stopped. Completed images were kept. Start Fetch or Generate again to continue with unfinished items.": "Stopped. Completed images were kept. Start Fetch or Generate again to continue with unfinished items.",
    "Image processing was interrupted. Completed images were kept; retry the remaining items.": "Image processing was interrupted. Completed images were kept; retry the remaining items.",
    "All items in this fetch have been checked. Use Retry on an item to search again.": "All items in this fetch have been checked. Use Retry on an item to search again.",
    "All items in this generation have been checked. Use Retry on an item to generate again.": "All items in this generation have been checked. Use Retry on an item to generate again.",
    "Image rejected. Retry to find or generate a replacement.": "Image rejected. Retry to find or generate a replacement.",
    "Could not approve this image. Retry the item.": "Could not approve this image. Retry the item.",
    "Menu details changed. Fetch or generate a new image before approval.": "Menu details changed. Fetch or generate a new image before approval.",
    "Wait for image processing to finish or stop it.": "Wait for image processing to finish or stop it.",
    "Stop the current image processing before uploading a photo.": "Stop the current image processing before uploading a photo.",
    "Wait for image processing to finish or stop it before uploading a photo.": "Wait for image processing to finish or stop it before uploading a photo.",
    "Wait for the current AI menu edit to finish before uploading a photo.": "Wait for the current AI menu edit to finish before uploading a photo.",
    "Wait for the current AI menu edit to finish before processing images.": "Wait for the current AI menu edit to finish before processing images.",
    "The menu changed while images were processing. Stale results were discarded; retry the remaining items.": "The menu changed while images were processing. Stale results were discarded; retry the remaining items.",
    "An image source was unavailable.": "An image source was unavailable.",
    "An item could not be processed.": "An item could not be processed.",
    "Could not process image.": "Could not process image.",
    "Image processing failed.": "Image processing failed.",
    "Image features could not be loaded.": "Image features could not be loaded.",
    "Image server returned an incomplete review.": "Image server returned an incomplete review.",
    "A local image exceeded the 400 KB preview limit.": "A local image exceeded the 400 KB preview limit.",
    "The image server returned an unsupported preview format.": "The image server returned an unsupported preview format.",
    "The image server returned an invalid preview.": "The image server returned an invalid preview.",
    "Image response exceeded the preview memory limit.": "Image response exceeded the preview memory limit.",
    "Your browser cannot read image processing progress.": "Your browser cannot read image processing progress.",
    "Could not load Google sign-in. Check your connection and retry.": "Could not load Google sign-in. Check your connection and retry.",
    "Upload cancelled. Your approved previews were kept.": "Upload cancelled. Your approved previews were kept.",
    "Approved images uploaded. Preparing export…": "Approved images uploaded. Preparing export…",
    "Some images are still awaiting upload. Retry export to reconnect and finish publishing them.": "Some images are still awaiting upload. Retry export to reconnect and finish publishing them.",
    "Upward price rounding active — item & option prices": "Upward price rounding active — item & option prices",
    "Upward price rounding active — item prices": "Upward price rounding active — item prices",
    "Upward price rounding active — option prices": "Upward price rounding active — option prices",
    "Yes": "Yes",
    "No": "No",
    "Untitled menu item": "Untitled menu item",
    "Export readiness": "Export readiness",
    "Images are optional. Review pending choices and approve selected photos before continuing.": "Images are optional. Review pending choices and approve selected photos before continuing.",
    "Menu review is locked while images are processing.": "Menu review is locked while images are processing.",
    "Provider details": "Provider details",
    "Something went wrong. Please try again.": "Something went wrong. Please try again.",
    "Request could not be completed. Check the details below.": "Request could not be completed. Check the details below.",
    "0 items": "0 items",
    "0 selected": "0 selected",
    "0 rows · 0 columns": "0 rows · 0 columns",
    "Showing 0 of 0 items": "Showing 0 of 0 items",
    "Review complete": "Review complete",
    "+ Create New Category...": "+ Create New Category...",
    "{count} selected": "{count} selected",
    "Showing {visible} of {count} items": "Showing {visible} of {count} items",
    "{count} rows · {columns} columns": "{count} rows · {columns} columns",
    "Choose a photo smaller than {size} MB.": "Choose a photo smaller than {size} MB.",
    "Checking item {index} of {count}…": "Checking item {index} of {count}…",
    "Image request failed ({status}).": "Image request failed ({status}).",
    "Upload image for {name}": "Upload image for {name}",
    "Review image for {name}": "Review image for {name}",
    "Upload photo · {name}": "Upload photo · {name}",
    "Select {name}": "Select {name}",
    "Edit {name}": "Edit {name}",
    "Delete {name}": "Delete {name}",
    "English name for item {index}": "English name for item {index}",
    "Arabic name for item {index}": "Arabic name for item {index}",
    "English description for {name}": "English description for {name}",
    "Arabic description for {name}": "Arabic description for {name}",
    "Section for {name}": "Section for {name}",
    "Category ID for {name}": "Category ID for {name}",
    "Source price for {name}": "Source price for {name}",
    "Final CSV price for {name}": "Final CSV price for {name}",
    "Edit {groups} option groups containing {options} options": "Edit {groups} option groups containing {options} options",
    "Edit {count} custom fields": "Edit {count} custom fields",
    "{count}% confidence": "{count}% confidence",
    "{count} item(s) need another attempt. Completed images were kept; see source details.": "{count} item(s) need another attempt. Completed images were kept; see source details.",
    "Fetching {name}": "Fetching {name}",
    "Generating {name}": "Generating {name}",
    "Checking your uploaded photo for {name}…": "Checking your uploaded photo for {name}…",
    "Source details": "Source details",
    "Item {index} of {count} · {category}": "Item {index} of {count} · {category}",
    "{name} · Correct the data, resolve validation issues, then preview your CSV.": "{name} · Correct the data, resolve validation issues, then preview your CSV.",
    "{filename} · {count} rows · {columns} columns": "{filename} · {count} rows · {columns} columns",
    "{filename} · {count} row · {columns} columns": "{filename} · {count} row · {columns} columns",
    "{count} files selected": "{count} files selected",
    "{count} action required": "{count} action required",
    "{count} actions required": "{count} actions required",
    "{count} selected item will be sent to the AI.": "{count} selected item will be sent to the AI.",
    "{count} selected items will be sent to the AI.": "{count} selected items will be sent to the AI.",
    "AI edit approved. Review the {count} affected item before export.": "AI edit approved. Review the {count} affected item before export.",
    "AI edit approved. Review the {count} affected items before export.": "AI edit approved. Review the {count} affected items before export.",
    "Generate missing images ({count})": "Generate missing images ({count})",
    "{missing} without images · {pending} awaiting review": "{missing} without images · {pending} awaiting review",
    "Waiting for your choice ({count})": "Waiting for your choice ({count})",
    "{count} waiting for your image choice": "{count} waiting for your image choice",
    "{name}: choose a photo or skip it in Image activity": "{name}: choose a photo or skip it in Image activity",
    "{name}: choose a rejected photo or skip it in Image activity": "{name}: choose a rejected photo or skip it in Image activity",
    "{name}: review or remove its image": "{name}: review or remove its image",
    "{name}: image preview is no longer available; generate or fetch again": "{name}: image preview is no longer available; generate or fetch again",
    "{name}: image has not passed validation": "{name}: image has not passed validation",
    "Delete the category \"{name}\" and all {count} matching items?": "Delete the category \"{name}\" and all {count} matching items?",
    "Delete the category \"{name}\" and all {count} matching item?": "Delete the category \"{name}\" and all {count} matching item?",
    "Are you sure you want to delete {count} selected item(s)?": "Are you sure you want to delete {count} selected item(s)?",
    "Review {count} AI option relationship suggestion": "Review {count} AI option relationship suggestion",
    "Review {count} AI option relationship suggestions": "Review {count} AI option relationship suggestions",
    "Extraction method: {method}": "Extraction method: {method}",
    "{count}% confidence · source match {match}%": "{count}% confidence · source match {match}%",
    "{count}% AI match confidence · {size}": "{count}% AI match confidence · {size}",
    " · AI generated": " · AI generated",
    " · source exceeds 400 KB": " · source exceeds 400 KB",
    "count.items.zero": "{count} items",
    "count.items.one": "{count} item",
    "count.items.two": "{count} items",
    "count.items.few": "{count} items",
    "count.items.many": "{count} items",
    "count.items.other": "{count} items",
    "count.changes.zero": "{count} changes",
    "count.changes.one": "{count} change",
    "count.changes.two": "{count} changes",
    "count.changes.few": "{count} changes",
    "count.changes.many": "{count} changes",
    "count.changes.other": "{count} changes",
    "count.choices.zero": "{count} image choices waiting",
    "count.choices.one": "{count} image choice waiting",
    "count.choices.two": "{count} image choices waiting",
    "count.choices.few": "{count} image choices waiting",
    "count.choices.many": "{count} image choices waiting",
    "count.choices.other": "{count} image choices waiting",
    "For example: This menu has two pages. Treat combo meals as main items and include the drink choices as options.": "For example: This menu has two pages. Treat combo meals as main items and include the drink choices as options.",
    "Example: translate any missing Arabic descriptions or there is an missunderstanding data in some group option in some item.": "Example: translate any missing Arabic descriptions or there is an missunderstanding data in some group option in some item.",
    "Candidate for {name}": "Candidate for {name}",
    "Choose at most {count} logos.": "Choose at most {count} logos.",
    "Menu items reviewed: {count}": "Menu items reviewed: {count}",
    "No images needed": "No images needed",
    "Opening the image…": "Opening the image…",
    "Finding this dish's photo inside the page…": "Finding this dish's photo inside the page…",
    "Checking the dish match, photo quality, text, logos and people…": "Checking the dish match, photo quality, text, logos and people…",
    "Source did not contain a usable image.": "Source did not contain a usable image.",
    "No clear item photo could be located in this page.": "No clear item photo could be located in this page.",
    "Visual checks passed; review before export.": "Visual checks passed; review before export.",
    "Image did not pass the visual checks.": "Image did not pass the visual checks.",
    "Image did not meet the required {count}% matching confidence. ": "Image did not meet the required {count}% matching confidence. ",
    "Dish: matches · Menu photo: suitable": "Dish: matches · Menu photo: suitable",
    "Dish: matches · Menu photo: suitable · AI uncertain": "Dish: matches · Menu photo: suitable · AI uncertain",
    "Dish: matches · Menu photo: unsuitable": "Dish: matches · Menu photo: unsuitable",
    "Dish: matches · Menu photo: unsuitable · AI uncertain": "Dish: matches · Menu photo: unsuitable · AI uncertain",
    "Dish: does not match · Menu photo: suitable": "Dish: does not match · Menu photo: suitable",
    "Dish: does not match · Menu photo: suitable · AI uncertain": "Dish: does not match · Menu photo: suitable · AI uncertain",
    "Dish: does not match · Menu photo: unsuitable": "Dish: does not match · Menu photo: unsuitable",
    "Dish: does not match · Menu photo: unsuitable · AI uncertain": "Dish: does not match · Menu photo: unsuitable · AI uncertain",
    "People/body parts: detected · Text: allowed · Logos: allowed": "People/body parts: detected · Text: allowed · Logos: allowed",
    "People/body parts: detected · Text: allowed · Logos: allowed · AI uncertain": "People/body parts: detected · Text: allowed · Logos: allowed · AI uncertain",
    "People/body parts: detected · Text: allowed · Logos: not allowed": "People/body parts: detected · Text: allowed · Logos: not allowed",
    "People/body parts: detected · Text: allowed · Logos: not allowed · AI uncertain": "People/body parts: detected · Text: allowed · Logos: not allowed · AI uncertain",
    "People/body parts: detected · Text: allowed · Logos: none detected": "People/body parts: detected · Text: allowed · Logos: none detected",
    "People/body parts: detected · Text: allowed · Logos: none detected · AI uncertain": "People/body parts: detected · Text: allowed · Logos: none detected · AI uncertain",
    "People/body parts: detected · Text: not allowed · Logos: allowed": "People/body parts: detected · Text: not allowed · Logos: allowed",
    "People/body parts: detected · Text: not allowed · Logos: allowed · AI uncertain": "People/body parts: detected · Text: not allowed · Logos: allowed · AI uncertain",
    "People/body parts: detected · Text: not allowed · Logos: not allowed": "People/body parts: detected · Text: not allowed · Logos: not allowed",
    "People/body parts: detected · Text: not allowed · Logos: not allowed · AI uncertain": "People/body parts: detected · Text: not allowed · Logos: not allowed · AI uncertain",
    "People/body parts: detected · Text: not allowed · Logos: none detected": "People/body parts: detected · Text: not allowed · Logos: none detected",
    "People/body parts: detected · Text: not allowed · Logos: none detected · AI uncertain": "People/body parts: detected · Text: not allowed · Logos: none detected · AI uncertain",
    "People/body parts: detected · Text: none detected · Logos: allowed": "People/body parts: detected · Text: none detected · Logos: allowed",
    "People/body parts: detected · Text: none detected · Logos: allowed · AI uncertain": "People/body parts: detected · Text: none detected · Logos: allowed · AI uncertain",
    "People/body parts: detected · Text: none detected · Logos: not allowed": "People/body parts: detected · Text: none detected · Logos: not allowed",
    "People/body parts: detected · Text: none detected · Logos: not allowed · AI uncertain": "People/body parts: detected · Text: none detected · Logos: not allowed · AI uncertain",
    "People/body parts: detected · Text: none detected · Logos: none detected": "People/body parts: detected · Text: none detected · Logos: none detected",
    "People/body parts: detected · Text: none detected · Logos: none detected · AI uncertain": "People/body parts: detected · Text: none detected · Logos: none detected · AI uncertain",
    "People/body parts: none detected · Text: allowed · Logos: allowed": "People/body parts: none detected · Text: allowed · Logos: allowed",
    "People/body parts: none detected · Text: allowed · Logos: allowed · AI uncertain": "People/body parts: none detected · Text: allowed · Logos: allowed · AI uncertain",
    "People/body parts: none detected · Text: allowed · Logos: not allowed": "People/body parts: none detected · Text: allowed · Logos: not allowed",
    "People/body parts: none detected · Text: allowed · Logos: not allowed · AI uncertain": "People/body parts: none detected · Text: allowed · Logos: not allowed · AI uncertain",
    "People/body parts: none detected · Text: allowed · Logos: none detected": "People/body parts: none detected · Text: allowed · Logos: none detected",
    "People/body parts: none detected · Text: allowed · Logos: none detected · AI uncertain": "People/body parts: none detected · Text: allowed · Logos: none detected · AI uncertain",
    "People/body parts: none detected · Text: not allowed · Logos: allowed": "People/body parts: none detected · Text: not allowed · Logos: allowed",
    "People/body parts: none detected · Text: not allowed · Logos: allowed · AI uncertain": "People/body parts: none detected · Text: not allowed · Logos: allowed · AI uncertain",
    "People/body parts: none detected · Text: not allowed · Logos: not allowed": "People/body parts: none detected · Text: not allowed · Logos: not allowed",
    "People/body parts: none detected · Text: not allowed · Logos: not allowed · AI uncertain": "People/body parts: none detected · Text: not allowed · Logos: not allowed · AI uncertain",
    "People/body parts: none detected · Text: not allowed · Logos: none detected": "People/body parts: none detected · Text: not allowed · Logos: none detected",
    "People/body parts: none detected · Text: not allowed · Logos: none detected · AI uncertain": "People/body parts: none detected · Text: not allowed · Logos: none detected · AI uncertain",
    "People/body parts: none detected · Text: none detected · Logos: allowed": "People/body parts: none detected · Text: none detected · Logos: allowed",
    "People/body parts: none detected · Text: none detected · Logos: allowed · AI uncertain": "People/body parts: none detected · Text: none detected · Logos: allowed · AI uncertain",
    "People/body parts: none detected · Text: none detected · Logos: not allowed": "People/body parts: none detected · Text: none detected · Logos: not allowed",
    "People/body parts: none detected · Text: none detected · Logos: not allowed · AI uncertain": "People/body parts: none detected · Text: none detected · Logos: not allowed · AI uncertain",
    "People/body parts: none detected · Text: none detected · Logos: none detected": "People/body parts: none detected · Text: none detected · Logos: none detected",
    "People/body parts: none detected · Text: none detected · Logos: none detected · AI uncertain": "People/body parts: none detected · Text: none detected · Logos: none detected · AI uncertain",
    "Dish match: {count}%": "Dish match: {count}%",
    "Dish match: {count}% · source match: {match}%": "Dish match: {count}% · source match: {match}%",
    "Review {name}": "Review {name}",
    "Confirm prices for {name}": "Confirm prices for {name}",
    "Resolve conflicts for {name}": "Resolve conflicts for {name}",
    "Review variant merge {name}": "Review variant merge {name}",
    "{name}: confirm {group}": "{name}: confirm {group}",
    "Item image confidence is below the required {count}% or the image does not match.": "Item image confidence is below the required {count}% or the image does not match.",
    "The image is not suitable for a menu.": "The image is not suitable for a menu.",
    "The AI reported uncertainty.": "The AI reported uncertainty.",
    "The Talabat item match did not meet the required {count}%.": "The Talabat item match did not meet the required {count}%.",
    "The image failed the content policy or contains a human/body part.": "The image failed the content policy or contains a human/body part.",
    "The logo assessment referenced an unavailable approved logo.": "The logo assessment referenced an unavailable approved logo.",
    "The image contains text outside the permitted logo or drink-packaging exceptions.": "The image contains text outside the permitted logo or drink-packaging exceptions.",
    "The image contains an unapproved logo or watermark.": "The image contains an unapproved logo or watermark.",
    "The AI returned incomplete or invalid image checks. The image was rejected.": "The AI returned incomplete or invalid image checks. The image was rejected.",
    "Name": "Name",
    "Value": "Value",
    "Price": "Price",
    "Default": "Default",
    "Min": "Min",
    "Max": "Max",
    "Select menu source": "Select menu source",
    "source files": "source files",
    "flagged": "flagged",
    "Item {index} English name": "Item {index} English name",
    "Item {index} Arabic name": "Item {index} Arabic name",
    "Option group {index} English name": "Option group {index} English name",
    "Option group {index} Arabic name": "Option group {index} Arabic name",
    "Image choices are waiting. Open image progress to choose or skip.": "Image choices are waiting. Open image progress to choose or skip.",
    "Browse files · JPG, PNG, WEBP, GIF, PDF, DOCX, CSV, XLSX": "Browse files · JPG, PNG, WEBP, GIF, PDF, DOCX, CSV, XLSX",
    "Up to {size} MB total": "Up to {size} MB total",
    "Approved logo references": "Approved logo references",
    "Entire item": "Entire item",
    "Finding candidate photos…": "Finding candidate photos…",
    "Preview reviewed CSV": "Preview reviewed CSV",
    "Section name": "Section name",
    "Main": "Main",
    "Side": "Side",
    "Drink": "Drink",
    "Dessert": "Dessert",
    "Addon": "Addon",
    "Other": "Other",
    "Category page:": "Category page:",
    "Sheet:": "Sheet:",
    "Row:": "Row:",
    "Size merge:": "Size merge:",
    "Sources:": "Sources:",
    "Explicit shared group:": "Explicit shared group:",
    "pending": "pending",
    "applied": "applied",
    "rejected": "rejected",
    "confirmed": "confirmed",
    "Suggested by AI": "Suggested by AI",
    "Review required": "Review required",
    "Items divide by {items}; option groups divide by {options}": "Items divide by {items}; option groups divide by {options}",
    "All prices divide by {divisor}": "All prices divide by {divisor}",
    "add {count}% to all CSV prices": "add {count}% to all CSV prices",
    "All prices divide by {divisor}; add {count}% to all CSV prices": "All prices divide by {divisor}; add {count}% to all CSV prices",
    "Items divide by {items}; option groups divide by {options}; add {count}% to all CSV prices": "Items divide by {items}; option groups divide by {options}; add {count}% to all CSV prices",
    "Reject all {count} pending size-merge suggestions and preserve every source item unchanged.": "Reject all {count} pending size-merge suggestions and preserve every source item unchanged.",
    "Reject all {count} pending size-merge suggestion and preserve every source item unchanged.": "Reject all {count} pending size-merge suggestion and preserve every source item unchanged.",
    "{count} flagged": "{count} flagged",
    "high confidence": "high confidence",
    "None": "None",
    " (manual)": " (manual)",
    "{count}% removed": "{count}% removed",
    "{count}% added": "{count}% added",
    "Standalone sources:": "Standalone sources:",
    "Select all suggested mains ({count})": "Select all suggested mains ({count})",
    "Fetch image": "Fetch image",
    "Generate image": "Generate image",
    "Only this item's image will be processed. Other items keep their current images.": "Only this item's image will be processed. Other items keep their current images.",
    "Minimum validation confidence (%)": "Minimum validation confidence (%)",
    "Default: 70%. Applies to new image and source-match checks. Previously reviewed images keep their original threshold.": "Default: 70%. Applies to new image and source-match checks. Previously reviewed images keep their original threshold.",
    "Enter a whole percentage from 1 to 100.": "Enter a whole percentage from 1 to 100.",
    "Account": "Account",
    "History": "History",
    "AI usage": "AI usage",
    "No saved menu selected": "No saved menu selected",
    "Save / retry": "Save / retry",
    "Log out": "Log out",
    "Sign in to your workspace": "Sign in to your workspace",
    "Email": "Email",
    "Password": "Password",
    "Sign in": "Sign in",
    "Create account": "Create account",
    "Continue with Google": "Continue with Google",
    "Reset password": "Reset password",
    "Resend verification": "Resend verification",
    "I verified my email": "I verified my email",
    "Close": "Close",
    "Verify your email before using the app.": "Verify your email before using the app.",
    "Verification email sent. Check your inbox.": "Verification email sent. Check your inbox.",
    "Password reset email requested. Check your inbox.": "Password reset email requested. Check your inbox.",
    "Firebase is not configured.": "Firebase is not configured.",
    "Please sign in again.": "Please sign in again.",
    "Email or password is incorrect.": "Email or password is incorrect.",
    "An account already exists for this email.": "An account already exists for this email.",
    "Use a stronger password (at least 6 characters).": "Use a stronger password (at least 6 characters).",
    "Sign-in was cancelled.": "Sign-in was cancelled.",
    "Too many attempts. Please try again later.": "Too many attempts. Please try again later.",
    "Connection failed. Please retry.": "Connection failed. Please retry.",
    "Sign in using your original account method.": "Sign in using your original account method.",
    "Account changed. Please retry.": "Account changed. Please retry.",
    "Saving…": "Saving…",
    "Saved": "Saved",
    "Save failed — retry": "Save failed — retry",
    "Resolve the save conflict before leaving this menu.": "Resolve the save conflict before leaving this menu.",
    "A newer version exists. Reload or save a copy.": "A newer version exists. Reload or save a copy.",
    "Reload saved menu": "Reload saved menu",
    "Save as separate archive": "Save as separate archive",
    "Discard local changes and reload the saved menu?": "Discard local changes and reload the saved menu?",
    "No saved menus yet.": "No saved menus yet.",
    "Open": "Open",
    "Rename": "Rename",
    "Menu name": "Menu name",
    "Delete this saved menu?": "Delete this saved menu?",
    "Load more": "Load more",
    "{used} of {limit} AI calls used · {remaining} remaining": "{used} of {limit} AI calls used · {remaining} remaining",
    "Resets: {date}": "Resets: {date}",
    "Reported tokens: {input} input · {output} output · {total} total": "Reported tokens: {input} input · {output} output · {total} total",
    "Token totals include only usage reported by providers. Failed calls also consume the allowance.": "Token totals include only usage reported by providers. Failed calls also consume the allowance.",
    "Menu import": "Menu import",
    "Website import": "Website import",
    "AI edit": "AI edit",
    "Image search and review": "Image search and review",
    "Image generation and review": "Image generation and review",
    "Image review": "Image review",
    "AI operation": "AI operation",
    "succeeded": "succeeded",
    "failed": "failed",
    "interrupted": "interrupted",
    "dispatched": "dispatched",
    "Unknown": "Unknown",
    "tokens": "tokens",
    "Monthly AI allowance exhausted.": "Monthly AI allowance exhausted.",
    "AI usage storage is unavailable. Please retry later.": "AI usage storage is unavailable. Please retry later.",
    "Your AI allowance is not configured correctly.": "Your AI allowance is not configured correctly.",
    "Saved data is temporarily unavailable. Please retry.": "Saved data is temporarily unavailable. Please retry.",
    "Temporary image unavailable. Fetch or generate a replacement.": "Temporary image unavailable. Fetch or generate a replacement.",
    "Please sign in.": "Please sign in.",
    "Authentication is temporarily unavailable.": "Authentication is temporarily unavailable.",
    "Archive not found.": "Archive not found.",
    "Archive changed while loading. Reload it.": "Archive changed while loading. Reload it.",
    "Archive exceeds the 20 MB snapshot limit.": "Archive exceeds the 20 MB snapshot limit.",
    "Archive was deleted. Save as a separate archive.": "Archive was deleted. Save as a separate archive.",
    "A newer version exists. Reload first.": "A newer version exists. Reload first.",
    "Cursor expired. Reload the list.": "Cursor expired. Reload the list.",
    "Link after Firebase Storage upload": "Link after Firebase Storage upload",
    "{count} awaiting Firebase Storage upload": "{count} awaiting Firebase Storage upload",
    "Storage: {stage}": "Storage: {stage}",
    "Generate one image for this item. You will review it before anything is uploaded to Firebase Storage.": "Generate one image for this item. You will review it before anything is uploaded to Firebase Storage.",
    "Create {count} image(s) for items without a usable image. You will review the exact image before anything is uploaded to Firebase Storage.": "Create {count} image(s) for items without a usable image. You will review the exact image before anything is uploaded to Firebase Storage.",
    "Firebase Storage is not configured. Your approved previews remain available in this tab.": "Firebase Storage is not configured. Your approved previews remain available in this tab.",
    "Uploading approved images to Firebase Storage…": "Uploading approved images to Firebase Storage…",
    "Publishing approved image to Firebase Storage": "Publishing approved image to Firebase Storage",
    "Uploading approved images to Firebase Storage. Anyone with an exported image link can download it.": "Uploading approved images to Firebase Storage. Anyone with an exported image link can download it.",
    "Firebase Storage upload failed. Retry to resume.": "Firebase Storage upload failed. Retry to resume.",
    "Firebase Storage link verification failed. Retry to resume.": "Firebase Storage link verification failed. Retry to resume.",
    "Firebase Storage publication failed. Retry to resume.": "Firebase Storage publication failed. Retry to resume.",
    "Some images are still awaiting upload. Retry export to finish publishing them.": "Some images are still awaiting upload. Retry export to finish publishing them.",
    "The Firebase download link did not return the approved image. Retry verification.": "The Firebase download link did not return the approved image. Retry verification.",
    "Upload stopped. Completed images were kept. Retry export to finish the remaining uploads.": "Upload stopped. Completed images were kept. Retry export to finish the remaining uploads.",
    "Edit image": "Edit image",
    "Discard edit": "Discard edit",
    "Describe the changes to this image. Review the edited preview before approving it. Failed edits keep your current image.": "Describe the changes to this image. Review the edited preview before approving it. Failed edits keep your current image.",
    "Image edit prompt": "Image edit prompt",
    "Custom generation instructions (optional)": "Custom generation instructions (optional)",
    "For example: use a darker background and softer lighting, keeping the food unchanged.": "For example: use a darker background and softer lighting, keeping the food unchanged.",
    "Applied to every selected image. Describe background, lighting, camera angle or presentation. Item identity and image checks still apply.": "Applied to every selected image. Describe background, lighting, camera angle or presentation. Item identity and image checks still apply.",
    "Generate edited preview": "Generate edited preview",
    "Editing image for {name}…": "Editing image for {name}…",
    "The edited image did not pass validation. Your current image has been kept.": "The edited image did not pass validation. Your current image has been kept.",
    "The image edit failed. Your current image has been kept. Retry or select another model.": "The image edit failed. Your current image has been kept. Retry or select another model.",
    "Choose an existing image to edit.": "Choose an existing image to edit.",
    "The current local image preview is required.": "The current local image preview is required.",
    "Choose exactly one image to edit.": "Choose exactly one image to edit.",
    "Delete image": "Delete image",
    "Generation prompts": "Generation prompts",
    "English generation prompt": "English generation prompt",
    "Arabic generation prompt": "Arabic generation prompt",
    "Generate in English": "Generate in English",
    "Generate in Arabic": "Generate in Arabic",
    "Loading initial prompt…": "Loading initial prompt…",
    "Could not load image prompts. Retry to see the initial prompts.": "Could not load image prompts. Retry to see the initial prompts.",
    "Retry prompts": "Retry prompts",
    "Global generation instructions": "Global generation instructions",
    "Loading initial instructions…": "Loading initial instructions…",
    "Follow global instructions": "Follow global instructions",
    "Global instructions are controlled by each image's checkbox in the Images tab.": "Global instructions are controlled by each image's checkbox in the Images tab.",
    "Image details and prompts": "Image details and prompts",
    "Enable AI image validation": "Enable AI image validation",
    "When off, images are used as found without AI ranking, cropping, or visual checks. Approve each preview yourself.": "When off, images are used as found without AI ranking, cropping, or visual checks. Approve each preview yourself.",
    "AI validation skipped": "AI validation skipped",
    "AI validation skipped; review this image yourself before approving.": "AI validation skipped; review this image yourself before approving.",
    "Opening candidate {count} of {count_2} for {text}": "Opening candidate {count} of {count_2} for {text}",
    "Shared by images with Follow global instructions checked. Uncheck an image to use only its own prompt. Choose whether to validate when fetching or generating.": "Shared by images with Follow global instructions checked. Uncheck an image to use only its own prompt. Choose whether to validate when fetching or generating.",
    "Edit either initial prompt, then generate only this item in that language. Choose whether to validate in the generation dialog.": "Edit either initial prompt, then generate only this item in that language. Choose whether to validate in the generation dialog.",
    "Reference images (optional)": "Reference images (optional)",
    "Attach up to 5 images to guide the style or appearance. Used only by images following global instructions. References stay in this tab; attach them again after reopening.": "Attach up to 5 images to guide the style or appearance. Used only by images following global instructions. References stay in this tab; attach them again after reopening.",
    "Remove reference": "Remove reference",
    "Choose at most 5 generation reference images.": "Choose at most 5 generation reference images.",
    "Reference images exceed the total upload limit.": "Reference images exceed the total upload limit.",
    "Image size (pixels)": "Image size (pixels)",
    "Generation logo (optional)": "Generation logo (optional)",
    "Remove logo": "Remove logo",
    "Export images": "Export images",
    "Import images": "Import images",
    "Delete images": "Delete images",
    "Import restaurant image ZIP": "Import restaurant image ZIP",
    "Image export failed. Please retry.": "Image export failed. Please retry.",
    "Wait for image processing to finish before opening History.": "Wait for image processing to finish before opening History.",
    "Import matching photos from this ZIP? Existing matching photos will be replaced. AI validation is skipped; review imported photos before exporting.": "Import matching photos from this ZIP? Existing matching photos will be replaced. AI validation is skipped; review imported photos before exporting.",
    "Permanently delete this restaurant's uploaded image files and remove all its saved photos? Menu items are kept. Exported links and other saved menus using these files will stop working.": "Permanently delete this restaurant's uploaded image files and remove all its saved photos? Menu items are kept. Exported links and other saved menus using these files will stop working.",
    "Image export progress": "Image export progress",
    "Starting image export…": "Starting image export…",
    "Preparing images: {completed} of {total}": "Preparing images: {completed} of {total}",
    "Creating ZIP…": "Creating ZIP…",
    "Downloading ZIP… {percent}%": "Downloading ZIP… {percent}%",
    "Image export complete": "Image export complete",
    "Image file format": "Image file format",
    "Images keep the selected size and format. If PNG exceeds 400 KB, choose a smaller size, JPEG or WebP.": "Images keep the selected size and format. If PNG exceeds 400 KB, choose a smaller size, JPEG or WebP.",
    "Request progress": "Request progress",
    "Working…": "Working…",
    "Exporting images": "Exporting images",
    "Importing images": "Importing images",
    "Generating images": "Generating images",
    "Editing image": "Editing image",
    "Finding images": "Finding images",
    "Uploading images": "Uploading images",
    "Importing image": "Importing image",
    "Saving image choice": "Saving image choice",
    "Loading image prompts": "Loading image prompts",
    "Deleting data": "Deleting data",
    "Exporting menu data": "Exporting menu data",
    "Preparing AI changes": "Preparing AI changes",
    "Importing menu data": "Importing menu data",
    "Saving data": "Saving data",
    "Loading AI usage": "Loading AI usage",
    "Loading saved menus": "Loading saved menus",
    "Loading settings": "Loading settings",
    "{percent}% complete": "{percent}% complete",
    "Processed {completed} of {total}": "Processed {completed} of {total}",
    "Request stopped": "Request stopped",
    "Request failed": "Request failed",
    "Complete": "Complete",
    "Signing in": "Signing in",
    "Updating account": "Updating account",
    "Upload one logo to overlay in the top-right corner of every generated image. The logo stays in this tab; attach it again after reopening.": "Upload one logo to overlay in the top-right corner of every generated image. The logo stays in this tab; attach it again after reopening.",
    "Queued image edit": "Queued image edit",
    "Edit queued · position {position}": "Edit queued · position {position}",
    "Queued image changed. Submit its edit again.": "Queued image changed. Submit its edit again.",
    "Edits run in submission order. Queue other images while waiting. Stop cancels active and queued edits.": "Edits run in submission order. Queue other images while waiting. Stop cancels active and queued edits.",
    "Choose the original or edited image before exporting.": "Choose the original or edited image before exporting.",
    "Choose one image to confirm. Your original stays unchanged until you choose.": "Choose one image to confirm. Your original stays unchanged until you choose.",
    "Edited image": "Edited image",
    "Original image": "Original image",
    "Use edited image": "Use edited image",
    "Keep original image": "Keep original image",
    "Meal presentation": "Meal presentation",
    "Always in boxes": "Always in boxes",
    "Always on plates": "Always on plates",
    "Mixed — boxes or plates": "Mixed — boxes or plates",
    "Shorten the global instructions to make room for the meal presentation rule.": "Shorten the global instructions to make room for the meal presentation rule.",
    "Logo position": "Logo position",
    "Top right": "Top right",
    "Top left": "Top left",
    "Bottom right": "Bottom right",
    "Bottom left": "Bottom left",
    "The uploaded logo overlays the selected corner of every generated image. With boxes or mixed presentation, it is also used to brand any meal boxes shown. The logo stays in this tab; attach it again after reopening.": "The uploaded logo overlays the selected corner of every generated image. With boxes or mixed presentation, it is also used to brand any meal boxes shown. The logo stays in this tab; attach it again after reopening.",
    "Search images by English or Arabic item name": "Search images by English or Arabic item name",
    "Search English or Arabic item name…": "Search English or Arabic item name…",
    "{count} of {total} items": "{count} of {total} items",
    "No items match this name.": "No items match this name.",
    "Price adjustments": "Price adjustments",
    "Adjustments apply from top to bottom. Source prices stay unchanged.": "Adjustments apply from top to bottom. Source prices stay unchanged.",
    "Add adjustment": "Add adjustment",
    "Adjustment": "Adjustment",
    "Tax": "Tax",
    "Options tax": "Options tax",
    "Enabled": "Enabled",
    "Operation": "Operation",
    "Amount type": "Amount type",
    "Amount": "Amount",
    "Amount or factor": "Amount or factor",
    "Price targets": "Price targets",
    "Subtract": "Subtract",
    "Multiply": "Multiply",
    "Divide": "Divide",
    "Remove included tax": "Remove included tax",
    "Fixed amount": "Fixed amount",
    "Percentage": "Percentage",
    "All items": "All items",
    "Specific items": "Specific items",
    "Item prices": "Item prices",
    "Option prices": "Option prices",
    "Items and options": "Items and options",
    "Move up": "Move up",
    "Move down": "Move down",
    "Choose items": "Choose items",
    "Use current selection": "Use current selection",
    "No matching items. This field will not change any prices.": "No matching items. This field will not change any prices.",
    "150% multiplies the price by 1.5.": "150% multiplies the price by 1.5.",
    "50% divides the price by 0.5.": "50% divides the price by 0.5.",
    "Adjustment name is required.": "Adjustment name is required.",
    "Choose a valid operation.": "Choose a valid operation.",
    "Choose an amount type.": "Choose an amount type.",
    "Choose valid price targets.": "Choose valid price targets.",
    "Amount must be a finite, nonnegative number.": "Amount must be a finite, nonnegative number.",
    "Percentage must be between 0 and 10000.": "Percentage must be between 0 and 10000.",
    "Cannot divide by zero.": "Cannot divide by zero.",
    "{name}: Adjustment produces a negative price.": "{name}: Adjustment produces a negative price.",
    "{name}: Cannot divide by zero.": "{name}: Cannot divide by zero.",
    "{name}: Adjustment name is required.": "{name}: Adjustment name is required.",
    "{name}: Amount must be a finite, nonnegative number.": "{name}: Amount must be a finite, nonnegative number.",
    "{name}: Percentage must be between 0 and 10000.": "{name}: Percentage must be between 0 and 10000.",
    "Legacy rounding preserved": "Legacy rounding preserved",
    "Workers": "Workers",
    "More workers can finish faster but use more resources and provider capacity.": "More workers can finish faster but use more resources and provider capacity.",
    "Scraped website": "Scraped website",
    "Talabat": "Talabat",
    "Bites N Bags": "Bites N Bags",
    "Other website": "Other website",
    "Comparing items": "Comparing items",
    "Source match passed": "Source match passed",
    "Source match rejected": "Source match rejected",
    "Source match: {count}%": "Source match: {count}%",
    "The menu URL must belong to the selected website.": "The menu URL must belong to the selected website.",
    "Choose a website and enter its public menu URL.": "Choose a website and enter its public menu URL.",
    "No source item passed the required matching confidence.": "No source item passed the required matching confidence.",
    "Source item did not pass the required matching confidence.": "Source item did not pass the required matching confidence.",
    "Not enough source item evidence to compare.": "Not enough source item evidence to compare.",
    "With AI validation enabled, website items must pass Validation confidence before their photos are downloaded and visually checked.": "With AI validation enabled, website items must pass Validation confidence before their photos are downloaded and visually checked.",
    "Use image": "Use image",
    "Choose one photo for this item. It will be optimized without AI validation. Review and approve it yourself. A current image is kept if the upload fails.": "Choose one photo for this item. It will be optimized without AI validation. Review and approve it yourself. A current image is kept if the upload fails.",
    "Preparing your uploaded photo for {name}…": "Preparing your uploaded photo for {name}…",
    "You chose this photo. Its original link is ready for export.": "You chose this photo. Its original link is ready for export.",
    "Choose the original fetched image link without uploading a file.": "Choose the original fetched image link without uploading a file.",
    "Similar dish · not verified as this restaurant’s photo": "Similar dish · not verified as this restaurant’s photo",
    "Internet fallback": "Internet fallback",
    "Restaurant and file sources run first. Internet is an automatic fallback for unresolved items, with one search and up to three photo checks per item. Remove Internet to disable fallback.": "Restaurant and file sources run first. Internet is an automatic fallback for unresolved items, with one search and up to three photo checks per item. Remove Internet to disable fallback.",
    "Reusing the approved image link; no AI checks needed.": "Reusing the approved image link; no AI checks needed.",
    "Visual identity did not pass; content check skipped to save AI usage.": "Visual identity did not pass; content check skipped to save AI usage.",
    "Internet fallback reached its three-photo limit. Retry this item to search again.": "Internet fallback reached its three-photo limit. Retry this item to search again.",
    "Not shortlisted · AI not used": "Not shortlisted · AI not used",
    "Not shortlisted; no AI comparison or image download was performed.": "Not shortlisted; no AI comparison or image download was performed.",
    "Administration": "Administration",
    "Admin sign-in": "Admin sign-in",
    "Sign out": "Sign out",
    "Users": "Users",
    "Model prices": "Model prices",
    "Admin activity": "Admin activity",
    "Account cleanup": "Account cleanup",
    "Loading…": "Loading…",
    "Admin session changed. Sign in again.": "Admin session changed. Sign in again.",
    "Admin sign-in required.": "Admin sign-in required.",
    "Admin session expired. Sign in again.": "Admin session expired. Sign in again.",
    "Admin credentials are not configured.": "Admin credentials are not configured.",
    "AI calls": "AI calls",
    "Reported tokens": "Reported tokens",
    "Estimated provider cost (USD)": "Estimated provider cost (USD)",
    "Lifetime cost (USD)": "Lifetime cost (USD)",
    "Known subtotal; {count} calls have incomplete costs.": "Known subtotal; {count} calls have incomplete costs.",
    "Lifetime: {count} calls have incomplete costs.": "Lifetime: {count} calls have incomplete costs.",
    "Find by email or user ID": "Find by email or user ID",
    "Month (UTC)": "Month (UTC)",
    "Search": "Search",
    "Costs are estimates of AI provider spending, excluding taxes, credits, free tiers, hosting and storage.": "Costs are estimates of AI provider spending, excluding taxes, credits, free tiers, hosting and storage.",
    "Disabled": "Disabled",
    "Manage": "Manage",
    "AI calls / limit": "AI calls / limit",
    "Incomplete costs": "Incomplete costs",
    "No users found.": "No users found.",
    "User management": "User management",
    "Back to users": "Back to users",
    "Enable account": "Enable account",
    "Disable account": "Disable account",
    "Disable this account and end its sessions?": "Disable this account and end its sessions?",
    "Revoke sessions": "Revoke sessions",
    "End all sessions for this user?": "End all sessions for this user?",
    "Sessions revoked.": "Sessions revoked.",
    "Send password reset email": "Send password reset email",
    "Monthly AI call limit": "Monthly AI call limit",
    "Save allowance": "Save allowance",
    "Delete account and data": "Delete account and data",
    "This permanently deletes the account, saved menus, usage and published images. Type the user ID to confirm:": "This permanently deletes the account, saved menus, usage and published images. Type the user ID to confirm:",
    "Saved history": "Saved history",
    "Started": "Started",
    "No usage recorded for this month.": "No usage recorded for this month.",
    "Items": "Items",
    "Updated": "Updated",
    "View menu": "View menu",
    "Category": "Category",
    "Description": "Description",
    "Download saved menu": "Download saved menu",
    "No saved history.": "No saved history.",
    "New prices apply to future calls. Blank prices mean unknown; existing estimates keep their original prices.": "New prices apply to future calls. Blank prices mean unknown; existing estimates keep their original prices.",
    "Text input ($ per 1M tokens)": "Text input ($ per 1M tokens)",
    "Cached text input ($ per 1M tokens)": "Cached text input ($ per 1M tokens)",
    "Text output ($ per 1M tokens)": "Text output ($ per 1M tokens)",
    "Image input ($ per 1M tokens)": "Image input ($ per 1M tokens)",
    "Cached image input ($ per 1M tokens)": "Cached image input ($ per 1M tokens)",
    "Image output ($ per 1M tokens)": "Image output ($ per 1M tokens)",
    "Search ($ per call)": "Search ($ per call)",
    "Image output ($ per image)": "Image output ($ per image)",
    "Cache writes ($ per 1M tokens)": "Cache writes ($ per 1M tokens)",
    "Provider": "Provider",
    "Price source": "Price source",
    "Price valid through (optional)": "Price valid through (optional)",
    "Long-context threshold (tokens, optional)": "Long-context threshold (tokens, optional)",
    "Long-context prices": "Long-context prices",
    "Save model prices": "Save model prices",
    "Apply these prices to future AI calls?": "Apply these prices to future AI calls?",
    "Actor": "Actor",
    "Action": "Action",
    "Target": "Target",
    "Cleanup waits for active requests to finish. Continue unfinished jobs to remove all account data.": "Cleanup waits for active requests to finish. Continue unfinished jobs to remove all account data.",
    "User ID": "User ID",
    "Continue cleanup": "Continue cleanup",
    "No account cleanup jobs.": "No account cleanup jobs.",
    "Estimated provider cost (USD): ${cost}": "Estimated provider cost (USD): ${cost}",
    "Lifetime provider cost (USD): ${cost}": "Lifetime provider cost (USD): ${cost}",
    "Known provider cost (USD): ${cost} · Incomplete costs": "Known provider cost (USD): ${cost} · Incomplete costs",
    "waiting": "waiting",
    "cleaning": "cleaning",
    "complete": "complete",
    "login": "login",
    "logout": "logout",
    "disable": "disable",
    "enable": "enable",
    "revoke_sessions": "revoke_sessions",
    "set_allowance": "set_allowance",
    "reset_password": "reset_password",
    "delete_account": "delete_account",
    "continue_deletion": "continue_deletion",
    "set_price": "set_price",
    "Too many login attempts. Try again in 15 minutes.": "Too many login attempts. Try again in 15 minutes.",
    "Invalid CSRF token.": "Invalid CSRF token.",
    "Cross-origin admin request rejected.": "Cross-origin admin request rejected.",
    "This user signs in through an external provider; reset their password there.": "This user signs in through an external provider; reset their password there.",
    "Password reset email is temporarily unavailable.": "Password reset email is temporarily unavailable.",
    "Firebase could not send the reset email. Check authentication settings and retry.": "Firebase could not send the reset email. Check authentication settings and retry.",
    "Account cleanup failed. Retry the deletion job.": "Account cleanup failed. Retry the deletion job.",
    "Account deletion is in progress.": "Account deletion is in progress.",
    "Deletion cleanup is already running. Retry shortly.": "Deletion cleanup is already running. Retry shortly.",
    "This account is being deleted.": "This account is being deleted.",
    "This account is disabled.": "This account is disabled.",
    "Your account is pending admin approval.": "Your account is pending admin approval.",
    "Verify your email before using the app. New accounts also need admin approval.": "Verify your email before using the app. New accounts also need admin approval.",
    "Check approval": "Check approval",
    "Approval": "Approval",
    "Pending approval": "Pending approval",
    "Approve account": "Approve account",
    "Approve access for this user?": "Approve access for this user?",
    "approve_account": "approve_account",
    "Cost unavailable": "Cost unavailable",
    "Estimated provider cost (USD): unavailable": "Estimated provider cost (USD): unavailable",
    "Lifetime provider cost (USD): unavailable": "Lifetime provider cost (USD): unavailable",
    "Costs are unavailable when prices or billing usage were not recorded.": "Costs are unavailable when prices or billing usage were not recorded.",
    "ADMIN WORKSPACE": "ADMIN WORKSPACE",
    "SECURE ACCESS": "SECURE ACCESS",
    "WORKSPACE": "WORKSPACE",
    "Your workspace, under control.": "Your workspace, under control.",
    "Manage access, understand AI spending, and keep every account organized.": "Manage access, understand AI spending, and keep every account organized.",
    "User approvals and account controls": "User approvals and account controls",
    "Usage history and transparent USD estimates": "Usage history and transparent USD estimates",
    "Versioned prices and an activity trail": "Versioned prices and an activity trail",
    "Back to workspace": "Back to workspace",
    "Use your administrator credentials. This login is separate from user accounts.": "Use your administrator credentials. This login is separate from user accounts.",
    "The email configured for the administrator.": "The email configured for the administrator.",
    "Enter your admin password, not its generated hash.": "Enter your admin password, not its generated hash.",
    "Access, accounts and usage": "Access, accounts and usage",
    "Rates for future AI calls": "Rates for future AI calls",
    "Actions and their outcomes": "Actions and their outcomes",
    "Track and retry deletions": "Track and retry deletions",
    "Admin session active": "Admin session active",
    "Management actions are recorded in the activity log.": "Management actions are recorded in the activity log.",
    "Enter a complete email address or user ID to find one account. Leave blank to browse all users.": "Enter a complete email address or user ID to find one account. Leave blank to browse all users.",
    "Usage and calls are grouped by calendar month in UTC. Lifetime totals include every recorded month.": "Usage and calls are grouped by calendar month in UTC. Lifetime totals include every recorded month.",
    "Maximum provider calls per UTC month. Retries and assessments also count. Changing this preserves past usage and costs.": "Maximum provider calls per UTC month. Retries and assessments also count. Changing this preserves past usage and costs.",
    "The AI company that bills this model. Choose OpenAI or Google.": "The AI company that bills this model. Choose OpenAI or Google.",
    "Use the exact provider model ID, including any preview or version suffix.": "Use the exact provider model ID, including any preview or version suffix.",
    "A pricing-page link or note explaining where these rates came from.": "A pricing-page link or note explaining where these rates came from.",
    "Last UTC date these rates may be used. Leave blank for no expiry; expired prices make future costs unavailable.": "Last UTC date these rates may be used. Leave blank for no expiry; expired prices make future costs unavailable.",
    "Use the alternate rates when input tokens exceed this number. Leave blank if this model has no pricing tier.": "Use the alternate rates when input tokens exceed this number. Leave blank if this model has no pricing tier.",
    "USD per million non-cached input tokens. Separate image-input pricing applies when configured.": "USD per million non-cached input tokens. Separate image-input pricing applies when configured.",
    "USD per million input tokens served from the provider cache.": "USD per million input tokens served from the provider cache.",
    "USD per million output tokens, including billable reasoning. Separately priced image tokens are excluded.": "USD per million output tokens, including billable reasoning. Separately priced image tokens are excluded.",
    "USD per million image-input tokens, only when the provider prices them separately.": "USD per million image-input tokens, only when the provider prices them separately.",
    "USD per million cached image-input tokens, when reported separately.": "USD per million cached image-input tokens, when reported separately.",
    "USD per million generated image tokens. Use this or per-image pricing, never both.": "USD per million generated image tokens. Use this or per-image pricing, never both.",
    "USD per billable provider search unit. This is added to token costs when reported.": "USD per billable provider search unit. This is added to token costs when reported.",
    "USD per generated image when the provider charges per image. Leave blank when using image-token pricing.": "USD per generated image when the provider charges per image. Leave blank when using image-token pricing.",
    "USD per million tokens written to the provider cache, where separately billed.": "USD per million tokens written to the provider cache, where separately billed.",
    "The email address associated with this user's sign-in account.": "The email address associated with this user's sign-in account.",
    "The user's display name, or the saved menu title in history.": "The user's display name, or the saved menu title in history.",
    "Account access or operation outcome. Disabled accounts cannot use the app.": "Account access or operation outcome. Disabled accounts cannot use the app.",
    "New users stay pending until an admin approves access. Email verification is still required.": "New users stay pending until an admin approves access. Email verification is still required.",
    "Provider calls used in the selected month, followed by the account's current monthly allowance.": "Provider calls used in the selected month, followed by the account's current monthly allowance.",
    "Input and output units reported by AI providers. Missing usage is not treated as zero-cost usage.": "Input and output units reported by AI providers. Missing usage is not treated as zero-cost usage.",
    "Known provider spending for the selected month. Incomplete calls may make the actual total higher.": "Known provider spending for the selected month. Incomplete calls may make the actual total higher.",
    "Known provider spending across all recorded months, including partial subtotals.": "Known provider spending across all recorded months, including partial subtotals.",
    "Calls with missing prices, billing details or final results. Historical calls may have no recorded prices.": "Calls with missing prices, billing details or final results. Historical calls may have no recorded prices.",
    "Open an account, preview a saved menu or continue an unfinished cleanup.": "Open an account, preview a saved menu or continue an unfinished cleanup.",
    "The app activity that requested this provider call, such as import or image generation.": "The app activity that requested this provider call, such as import or image generation.",
    "The time this action began, shown in your browser's local time zone.": "The time this action began, shown in your browser's local time zone.",
    "Number of menu items in the saved archive.": "Number of menu items in the saved archive.",
    "The most recent recorded update, shown in your browser's local time zone.": "The most recent recorded update, shown in your browser's local time zone.",
    "The administrator who initiated the action.": "The administrator who initiated the action.",
    "The management change requested by the administrator.": "The management change requested by the administrator.",
    "The account or resource affected by this action.": "The account or resource affected by this action.",
    "The permanent Firebase account identifier. Use it to confirm deletion of the correct user.": "The permanent Firebase account identifier. Use it to confirm deletion of the correct user.",
    "The Arabic item name saved in this menu.": "The Arabic item name saved in this menu.",
    "The menu category saved for this item.": "The menu category saved for this item.",
    "The item's saved menu price, not an AI provider charge.": "The item's saved menu price, not an AI provider charge.",
    "The item's saved description, displayed as a read-only preview.": "The item's saved description, displayed as a read-only preview.",
    "Approve new accounts, manage access, and inspect each user's AI activity and spending.": "Approve new accounts, manage access, and inspect each user's AI activity and spending.",
    "Review this account's activity and manage its access, limits, and security.": "Review this account's activity and manage its access, limits, and security.",
    "Configure provider rates used to estimate the cost of future AI calls.": "Configure provider rates used to estimate the cost of future AI calls.",
    "Review who changed what, when it happened, and whether the action succeeded.": "Review who changed what, when it happened, and whether the action succeeded.",
    "Monitor account deletions and retry cleanup after an interrupted or failed operation.": "Monitor account deletions and retry cleanup after an interrupted or failed operation.",
    "About these fields": "About these fields",
    "Provider calls in the selected UTC month, including retries and assessments.": "Provider calls in the selected UTC month, including retries and assessments.",
    "User directory": "User directory",
    "Email verified": "Email verified",
    "Email not verified": "Email not verified",
    "Account controls": "Account controls",
    "Account access": "Account access",
    "Monthly allowance": "Monthly allowance",
    "Account security": "Account security",
    "Danger zone": "Danger zone",
    "Approval and account status are separate controls. Both must allow access.": "Approval and account status are separate controls. Both must allow access.",
    "Allow this user to enter the app after email verification. This does not enable a disabled account.": "Allow this user to enter the app after email verification. This does not enable a disabled account.",
    "Disabling blocks app access and ends existing sessions. Enabling does not approve a pending account.": "Disabling blocks app access and ends existing sessions. Enabling does not approve a pending account.",
    "End this user's current sessions. They can sign in again if their account is approved and enabled.": "End this user's current sessions. They can sign in again if their account is approved and enabled.",
    "Send a reset email to password accounts. It does not force a password change or revoke sessions.": "Send a reset email to password accounts. It does not force a password change or revoke sessions.",
    "This account uses an external sign-in provider. Passwords are managed by that provider.": "This account uses an external sign-in provider. Passwords are managed by that provider.",
    "Permanently remove this account, its saved menus, usage records and owned images. Access is blocked before cleanup starts.": "Permanently remove this account, its saved menus, usage records and owned images. Access is blocked before cleanup starts.",
    "Read-only previews of this user's saved menus. Download a snapshot to inspect the original data.": "Read-only previews of this user's saved menus. Download a snapshot to inspect the original data.",
    "Choose a model": "Choose a model",
    "Select a configured model, then review or edit its billing rates.": "Select a configured model, then review or edit its billing rates.",
    "Model catalog": "Model catalog",
    "Models marked Unknown have no configured prices. Add verified rates before estimating their costs.": "Models marked Unknown have no configured prices. Add verified rates before estimating their costs.",
    "How pricing works": "How pricing works",
    "Standard rates": "Standard rates",
    "Model configuration": "Model configuration",
    "Enter paid rates in USD. Token prices are per million tokens; search and per-image prices are per unit. Blank means unknown, while 0 means a verified zero rate.": "Enter paid rates in USD. Token prices are per million tokens; search and per-image prices are per unit. Blank means unknown, while 0 means a verified zero rate.",
    "Activity log": "Activity log",
    "Each management action records an outcome. Failed actions can be investigated without exposing passwords or session tokens.": "Each management action records an outcome. Failed actions can be investigated without exposing passwords or session tokens.",
    "No admin activity recorded.": "No admin activity recorded.",
    "Deletion jobs": "Deletion jobs",
    "This account has admin approval.": "This account has admin approval.",
    "Usage history is temporarily unavailable while its database index is being set up. Please retry shortly.": "Usage history is temporarily unavailable while its database index is being set up. Please retry shortly."
  },
  "ar": {
    "Menu Import": "استيراد القائمة",
    "Menu Import Workspace": "مساحة استيراد القائمة",
    "AI extraction workspace": "مساحة استخراج القائمة بالذكاء الاصطناعي",
    "Interface language": "لغة الواجهة",
    "Import progress": "مراحل العمل",
    "Import": "الاستيراد",
    "Review menu": "مراجعة القائمة",
    "Review": "المراجعة",
    "Images": "الصور",
    "Export": "التصدير",
    "Import your menu": "استورد قائمتك",
    "AI-powered menu operations": "إدارة القائمة بالذكاء الاصطناعي",
    "Upload menu files or import from any public restaurant website, then review bilingual items, option groups, and prices before export.": "ارفع ملفات القائمة أو استوردها من موقع المطعم، ثم راجع الأصناف والخيارات والأسعار قبل التصدير.",
    "Start a new import": "بدء استيراد جديد",
    "Choose files or a website to get started.": "اختر ملفات أو موقعاً للبدء.",
    "Processed securely": "معالجة آمنة",
    "Upload files": "رفع الملفات",
    "Website URL": "رابط الموقع",
    "Menu source": "مصدر القائمة",
    "Drop menu files here": "اسحب ملفات القائمة هنا",
    "Choose files": "اختيار الملفات",
    "Change selection": "تغيير الملفات",
    "Starting from a spreadsheet?": "هل تبدأ من جدول بيانات؟",
    "Download the CSV template": "تنزيل قالب CSV",
    "and fill one menu item per row.": "وأدخل صنفاً واحداً في كل صف.",
    "Public restaurant or menu URL": "رابط عام للمطعم أو القائمة",
    "Public pages only. The importer checks the page and up to four likely menu links on the same website.": "للصفحات العامة فقط. يتم فحص الصفحة وما يصل إلى أربعة روابط محتملة للقائمة من الموقع نفسه.",
    "Note for AI": "تعليمات للذكاء الاصطناعي",
    "Optional": "اختياري",
    "Add context or instructions to help the AI understand this menu. Your note is sent with the selected file or URL import.": "أضف معلومات تساعد الذكاء الاصطناعي على فهم القائمة. تُرسل تعليماتك مع مصدر الاستيراد.",
    "What gets extracted": "البيانات المستخرجة",
    "English and Arabic content, prices, categories, option groups, included components, and menu metadata.": "الأسماء والأوصاف بالعربية والإنجليزية والأسعار والتصنيفات والخيارات والمكونات وبيانات القائمة.",
    "Advanced AI settings and import defaults": "إعدادات الذكاء الاصطناعي والقيم الافتراضية",
    "AI model": "نموذج الذكاء الاصطناعي",
    "Loading available models…": "جارٍ تحميل النماذج المتاحة…",
    "Loading models…": "جارٍ تحميل النماذج…",
    "Choose the model for normalization and translation. Dedicated adapters use it only when AI fallback is required.": "اختر نموذجاً لتنظيم البيانات وترجمتها. تستخدمه أدوات الاستيراد عند الحاجة فقط.",
    "Analysis level": "مستوى التحليل",
    "Fast · low reasoning": "سريع · تحليل منخفض",
    "Balanced · medium reasoning": "متوازن · تحليل متوسط",
    "Accuracy · high reasoning": "دقيق · تحليل مرتفع",
    "Fast is recommended for clear menus and adapter fallbacks.": "يُنصح بالمستوى السريع للقوائم الواضحة.",
    "Import defaults": "القيم الافتراضية للاستيراد",
    "Fallback IDs are applied only where extracted values are missing.": "تُستخدم المعرفات الافتراضية عند غياب القيم المستخرجة فقط.",
    "Default category ID": "معرف التصنيف الافتراضي",
    "Default delivery box ID": "معرف صندوق التوصيل الافتراضي",
    "Known categories": "التصنيفات المعروفة",
    "Help the AI map restaurant sections to existing POS IDs.": "ساعد الذكاء الاصطناعي على ربط أقسام المطعم بمعرفات نظام البيع.",
    "Clear": "مسح",
    "Add": "إضافة",
    "Category name": "اسم التصنيف",
    "Known category name": "اسم التصنيف المعروف",
    "Known category ID": "معرف التصنيف المعروف",
    "POS ID": "معرف نظام البيع",
    "Remove category": "حذف التصنيف",
    "Extraction time depends on menu size and page count.": "تتوقف مدة الاستخراج على حجم القائمة وعدد صفحاتها.",
    "Extract menu data": "استخراج القائمة",
    "Import failed": "تعذر الاستيراد",
    "Extraction in progress": "جارٍ استخراج القائمة",
    "Reading your menu": "جارٍ قراءة القائمة",
    "Sending to AI": "جارٍ الإرسال للذكاء الاصطناعي",
    "Menu extraction progress": "تقدم استخراج القائمة",
    "Keep this page open while the menu is processed.": "اترك الصفحة مفتوحة أثناء معالجة القائمة.",
    "Review extracted items": "مراجعة الأصناف المستخرجة",
    "Correct the data, resolve validation issues, then preview your CSV.": "راجع البيانات وعالج الملاحظات، ثم اعرض ملف CSV.",
    "View source": "عرض المصدر",
    "View import source": "عرض مصدر الاستيراد",
    "Continue to images": "المتابعة إلى الصور",
    "Preview export": "معاينة التصدير",
    "Edit with AI": "التعديل بالذكاء الاصطناعي",
    "Edit this menu with AI": "تعديل القائمة بالذكاء الاصطناعي",
    "Describe a change, preview it, then approve before your data is replaced.": "اكتب التعديل المطلوب، ثم راجع المعاينة واعتمدها لتطبيق التغييرات.",
    "AI menu editing instruction": "تعليمات تعديل القائمة",
    "Apply to": "تطبيق على",
    "Whole menu": "القائمة كاملة",
    "Selected items": "الأصناف المحددة",
    "Model": "النموذج",
    "Analysis": "التحليل",
    "Fast": "سريع",
    "Balanced": "متوازن",
    "Accuracy": "دقيق",
    "Preview AI edit": "معاينة تعديل الذكاء الاصطناعي",
    "Undo last AI edit": "التراجع عن آخر تعديل",
    "Menu images": "صور القائمة",
    "Choose images after reviewing your menu details.": "اختر الصور بعد مراجعة بيانات القائمة. الصور اختيارية.",
    "Fetch images": "البحث عن الصور",
    "Generate missing": "توليد الصور الناقصة",
    "Approve all validated images": "اعتماد جميع الصور المقبولة",
    "Stop": "إيقاف",
    "View image progress": "عرض تقدم الصور",
    "Image source details": "تفاصيل مصادر الصور",
    "Back to review": "العودة للمراجعة",
    "Continue without more images": "المتابعة دون صور إضافية",
    "Search menu items": "البحث في الأصناف",
    "Search names, categories, or IDs": "ابحث بالأسماء أو التصنيفات أو المعرفات",
    "Item status filter": "تصفية حالة الأصناف",
    "All": "الكل",
    "Needs review": "يحتاج مراجعة",
    "Ready": "جاهز",
    "Blocking": "يتطلب معالجة",
    "Detailed columns": "الأعمدة التفصيلية",
    "Map categories": "ربط التصنيفات",
    "Option suggestions": "اقتراحات الخيارات",
    "Open AI option relationship suggestions": "فتح اقتراحات ربط الخيارات",
    "Review AI suggestions that connect standalone add-ons or shared option groups to menu items": "مراجعة اقتراحات ربط الإضافات والخيارات بالأصناف",
    "Included tax or markup or add to the price": "ضبط الضرائب والزيادة على الأسعار",
    "No price conversion": "دون تعديل الأسعار",
    "Items included": "النسبة المضمنة للأصناف",
    "Options included": "النسبة المضمنة للخيارات",
    "Same as items": "مثل الأصناف",
    "Add to all CSV prices": "زيادة على جميع أسعار CSV",
    "Reset": "إعادة ضبط",
    "Assign selected items to category": "ربط الأصناف المحددة بتصنيف",
    "Assign to category…": "اختر التصنيف…",
    "Assign to category...": "اختر التصنيف…",
    "Apply": "تطبيق",
    "Delete": "حذف",
    "Select all visible items": "تحديد جميع الأصناف الظاهرة",
    "Status": "الحالة",
    "English name": "الاسم بالإنجليزية",
    "Arabic name": "الاسم بالعربية",
    "English description": "الوصف بالإنجليزية",
    "Description (EN)": "الوصف (إنجليزي)",
    "Description (AR)": "الوصف (عربي)",
    "Section": "القسم",
    "Category ID": "معرف التصنيف",
    "Source / export price": "سعر المصدر والتصدير",
    "Options": "الخيارات",
    "Fields": "الحقول",
    "Reviewed": "تمت المراجعة",
    "Actions": "الإجراءات",
    "No matching items": "لا توجد أصناف مطابقة",
    "Adjust your search or choose another status filter.": "عدّل البحث أو اختر حالة أخرى.",
    "Add missing item": "إضافة صنف ناقص",
    "Final verification": "التحقق النهائي",
    "Export preview": "معاينة التصدير",
    "Review the exact CSV output before downloading.": "راجع محتوى ملف CSV قبل التنزيل.",
    "Ready to export": "جاهز للتصدير",
    "Download CSV": "تنزيل CSV",
    "Preview is out of date": "المعاينة غير محدثة",
    "Return to review and generate the export again.": "عد للمراجعة وأنشئ المعاينة مرة أخرى.",
    "UTF-8 BOM · CSV · Read-only preview": "UTF-8 BOM · CSV · معاينة للقراءة فقط",
    "Edit item": "تعديل الصنف",
    "Update item details and option groups.": "عدّل بيانات الصنف ومجموعات خياراته.",
    "Close item editor": "إغلاق محرر الصنف",
    "Cancel": "إلغاء",
    "Save & next": "حفظ والتالي",
    "Mark ready": "تحديد كجاهز",
    "Save changes": "حفظ التغييرات",
    "Category mapper": "ربط التصنيفات",
    "Rename extracted sections and apply POS category IDs to every matching item.": "عدّل أسماء الأقسام واربط الأصناف المطابقة بمعرفات التصنيفات في نظام البيع.",
    "Close category mapper": "إغلاق ربط التصنيفات",
    "Done": "تم",
    "Add-on and option review": "مراجعة الإضافات والخيارات",
    "Resolve suggested relationships without changing standalone products unless you approve them.": "راجع العلاقات المقترحة. لا تتغير المنتجات المستقلة إلا بموافقتك.",
    "Close option review": "إغلاق مراجعة الخيارات",
    "Import source": "مصدر الاستيراد",
    "Review the original source used for extraction.": "راجع المصدر الأصلي المستخدم للاستخراج.",
    "Close source preview": "إغلاق معاينة المصدر",
    "Source files": "ملفات المصدر",
    "Keep reviewing": "متابعة المراجعة",
    "Unsaved changes": "تغييرات غير محفوظة",
    "Start a new import?": "بدء استيراد جديد؟",
    "All unsaved review changes in this session will be discarded.": "ستُحذف جميع تغييرات المراجعة في هذه الجلسة.",
    "Discard changes": "حذف التغييرات",
    "Cancel AI edit": "إلغاء تعديل الذكاء الاصطناعي",
    "Preview AI changes": "معاينة التغييرات المقترحة",
    "No menu data changes until you approve this preview.": "لن تتغير بيانات القائمة إلا بعد اعتماد هذه المعاينة.",
    "Approve changes": "اعتماد التغييرات",
    "CSV downloaded": "تم تنزيل CSV",
    "Check your browser downloads.": "تحقق من تنزيلات المتصفح.",
    "Dismiss notification": "إغلاق الإشعار",
    "Skip to main content": "الانتقال إلى المحتوى",
    "Bilingual details": "البيانات باللغتين",
    "Item name (English)": "اسم الصنف بالإنجليزية",
    "Item name (Arabic)": "اسم الصنف بالعربية",
    "Description (English)": "الوصف بالإنجليزية",
    "Description (Arabic)": "الوصف بالعربية",
    "Arabic fields keep right-to-left direction and a subtle translated-field surface.": "حقول العربية تتجه من اليمين إلى اليسار.",
    "Classification and pricing": "التصنيف والأسعار",
    "Map this item to the correct POS category and pricing behavior.": "اربط الصنف بالتصنيف الصحيح واضبط طريقة حساب السعر.",
    "POS category ID": "معرف التصنيف في نظام البيع",
    "Category role": "دور التصنيف",
    "Source price": "سعر المصدر",
    "Final CSV price": "سعر CSV النهائي",
    "Final CSV item price": "سعر الصنف النهائي",
    "Final CSV option price": "سعر الخيار النهائي",
    "Calculated CSV price": "سعر CSV المحسوب",
    "Calculated": "محسوب",
    "Manual override": "قيمة يدوية",
    "Use calculated": "استخدام السعر المحسوب",
    "Calculated values are derived from the source price and current workspace rules. Manual overrides export directly.": "يُحسب السعر من سعر المصدر وإعدادات القائمة. تُصدّر القيم اليدوية مباشرة.",
    "Price calculation": "حساب السعر",
    "Included adjustment": "خصم النسبة المضمنة",
    "After included adjustment": "بعد خصم النسبة المضمنة",
    "Markup": "الزيادة",
    "Export price": "سعر التصدير",
    "Gathering item": "صنف تجميعي",
    "Included components": "المكونات المضمنة",
    "Fixed parts of the item that customers do not select.": "مكونات ثابتة لا يختارها العميل.",
    "Option groups": "مجموعات الخيارات",
    "Configure selectable sizes, flavors, extras, and add-ons.": "اضبط الأحجام والنكهات والإضافات التي يختارها العميل.",
    "No option groups configured for this item.": "لا توجد مجموعات خيارات لهذا الصنف.",
    "Add group": "إضافة مجموعة",
    "+ Add Group": "+ إضافة مجموعة",
    "Group EN": "المجموعة بالإنجليزية",
    "Group AR": "المجموعة بالعربية",
    "Group name (English)": "اسم المجموعة بالإنجليزية",
    "Option group type": "نوع مجموعة الخيارات",
    "Required": "مطلوب",
    "Single choice": "اختيار واحد",
    "Single Choice": "اختيار واحد",
    "Multiple choice": "اختيارات متعددة",
    "Multiple Choice": "اختيارات متعددة",
    "Add option": "إضافة خيار",
    "+ Add Option": "+ إضافة خيار",
    "Opt EN": "الخيار بالإنجليزية",
    "Opt AR": "الخيار بالعربية",
    "Option English name": "اسم الخيار بالإنجليزية",
    "Option Arabic name": "اسم الخيار بالعربية",
    "Option surcharge": "سعر إضافة الخيار",
    "Option name (English)": "اسم الخيار بالإنجليزية",
    "Delete option": "حذف الخيار",
    "Delete option group": "حذف مجموعة الخيارات",
    "Custom fields": "حقول إضافية",
    "Reference metadata retained during review but not included in the current CSV template.": "بيانات مرجعية تُحفظ أثناء المراجعة ولا تُدرج في قالب CSV الحالي.",
    "No custom metadata found.": "لا توجد بيانات إضافية.",
    "Add field": "إضافة حقل",
    "+ Add Field": "+ إضافة حقل",
    "Field name": "اسم الحقل",
    "Custom field name": "اسم الحقل الإضافي",
    "Custom field value": "قيمة الحقل الإضافي",
    "Delete custom field": "حذف الحقل الإضافي",
    "Review signals": "ملاحظات المراجعة",
    "Confidence and validation feedback for this item.": "درجة الثقة وملاحظات التحقق من هذا الصنف.",
    "Acknowledge blocking issues": "الإقرار بالملاحظات المانعة",
    "Acknowledge": "إقرار",
    "Blocking source issues": "ملاحظات مصدر تتطلب المعالجة",
    "Resolve or acknowledge the blocking issues before marking this item ready.": "عالج الملاحظات أو أقر بها قبل تحديد الصنف كجاهز.",
    "English and Arabic item names are required before saving.": "يلزم اسما الصنف بالعربية والإنجليزية قبل الحفظ.",
    "Are you sure you want to delete this item?": "هل تريد حذف هذا الصنف؟",
    "Enter new category name:": "أدخل اسم التصنيف الجديد:",
    "Please select a category first.": "اختر تصنيفاً أولاً.",
    "Please select a menu file first.": "اختر ملف القائمة أولاً.",
    "Please enter a public restaurant or menu URL.": "أدخل رابطاً عاماً للمطعم أو القائمة.",
    "No AI model is available.": "لا يوجد نموذج متاح.",
    "No AI model is available. Ask the server administrator to configure a provider.": "لا يوجد نموذج متاح. اطلب من مسؤول الخادم إعداد مزود.",
    "No AI models are configured on this server.": "لم تُضبط نماذج ذكاء اصطناعي على الخادم.",
    "No model available": "لا يوجد نموذج متاح",
    "Models unavailable": "النماذج غير متاحة",
    "Could not load configured AI models.": "تعذر تحميل النماذج.",
    "Analysis level is managed by the selected Google model.": "يتحكم نموذج Google المحدد في مستوى التحليل.",
    "Describe the change you want the AI to make.": "اكتب التعديل المطلوب.",
    "Select one or more menu rows before using selected-item scope.": "حدد صنفاً أو أكثر أولاً.",
    "Select menu rows in the grid before previewing this edit.": "حدد أصنافاً من الجدول قبل معاينة التعديل.",
    "Preparing preview…": "جارٍ إعداد المعاينة…",
    "AI is preparing your edit preview…": "الذكاء الاصطناعي يُعد معاينة التعديل…",
    "Preview ready. Your current menu is unchanged.": "المعاينة جاهزة. لم تتغير قائمتك الحالية.",
    "The AI edit timed out. Try selected-item scope, a smaller edit, or another model.": "انتهت مهلة التعديل. جرب أصنافاً محددة أو تعديلاً أصغر أو نموذجاً آخر.",
    "The AI could not prepare this edit.": "تعذر إعداد هذا التعديل.",
    "The last approved AI edit was undone.": "تم التراجع عن آخر تعديل معتمد.",
    "No data changes": "لا توجد تغييرات",
    "The AI returned the same menu data. Try a more specific instruction.": "لم تتغير بيانات القائمة. جرّب تعليمات أكثر تحديداً.",
    "No option suggestions for this import": "لا توجد اقتراحات خيارات لهذا الاستيراد",
    "The AI did not find standalone add-ons or shared option groups that need relationship review. To edit an item's regular options, expand that item directly in the table.": "لم تُكتشف إضافات أو خيارات مشتركة تحتاج مراجعة. عدّل الخيارات العادية من محرر الصنف.",
    "No AI relationship suggestions were found; open for details": "لا توجد اقتراحات ربط. افتح للاطلاع على التفاصيل.",
    "Reopen review": "إعادة فتح المراجعة",
    "Apply to selected items": "تطبيق على الأصناف المحددة",
    "Confirm scope": "تأكيد النطاق",
    "Confirm source scope": "تأكيد نطاق المصدر",
    "Confirm": "تأكيد",
    "Keep separate": "إبقاء الأصناف منفصلة",
    "Keep as standalone only": "إبقاء كصنف مستقل",
    "Keep all size variants separate": "إبقاء الأحجام كأصناف منفصلة",
    "Keep the original products separate?": "إبقاء المنتجات الأصلية منفصلة؟",
    "Apply size merge": "دمج الأحجام",
    "Product variants": "أشكال المنتج",
    "Grouped flavors": "نكهات مجمعة",
    "Reviewed add-on": "إضافة تمت مراجعتها",
    "Prices confirmed as surcharges": "تم تأكيد أسعار الإضافات",
    "Confirm that the proposed prices are valid add-on surcharges first.": "أكد أن الأسعار المقترحة أسعار إضافات صحيحة أولاً.",
    "Select at least one eligible item before applying this add-on group.": "حدد صنفاً مؤهلاً واحداً على الأقل قبل تطبيق مجموعة الإضافات.",
    "Some selected items already have overlapping source-defined options. Unselect them or edit their explicit group; nothing was overwritten.": "لبعض الأصناف خيارات متداخلة من المصدر. ألغ تحديدها أو عدّل مجموعتها. لم تُستبدل أي بيانات.",
    "Shared source group": "مجموعة مشتركة من المصدر",
    "The source explicitly scoped this group to multiple items.": "حدد المصدر هذه المجموعة لعدة أصناف.",
    "Explicit item choice": "اختيار صريح للصنف",
    "Rejected; standalone products were preserved.": "تم الرفض مع إبقاء المنتجات المستقلة.",
    "Availability: sold out at source": "التوفر: غير متاح في المصدر",
    "Sold out at source": "غير متاح في المصدر",
    "Source": "المصدر",
    "Item source": "مصدر الصنف",
    "Original location retained for review and troubleshooting.": "تم الاحتفاظ بالمصدر للمراجعة وحل المشكلات.",
    "Item data": "بيانات الصنف",
    "Restaurant website import": "استيراد من موقع مطعم",
    "Restaurant website source": "مصدر موقع المطعم",
    "Talabat restaurant import": "استيراد مطعم من طلبات",
    "Talabat source": "مصدر طلبات",
    "Bites N Bags restaurant import": "استيراد مطعم Bites N Bags",
    "Bites N Bags source": "مصدر Bites N Bags",
    "Review the submitted website and discovered menu sources.": "راجع الموقع ومصادر القائمة المكتشفة.",
    "Discovered menu sources": "مصادر القائمة المكتشفة",
    "Review the original file used for extraction.": "راجع الملف الأصلي المستخدم للاستخراج.",
    "Open restaurant page": "فتح صفحة المطعم",
    "Download original": "تنزيل المصدر الأصلي",
    "Excel workbook": "ملف Excel",
    "CSV file": "ملف CSV",
    "Uploading file…": "جارٍ رفع الملف…",
    "Uploading document…": "جارٍ رفع المستند…",
    "Uploading spreadsheet…": "جارٍ رفع جدول البيانات…",
    "Reading Word text and tables…": "جارٍ قراءة نصوص وجداول Word…",
    "Reading worksheets and rows…": "جارٍ قراءة الأوراق والصفوف…",
    "Inspecting embedded menu images…": "جارٍ فحص الصور المضمنة…",
    "AI is reading the menu…": "الذكاء الاصطناعي يقرأ القائمة…",
    "Extracting items & option groups…": "جارٍ استخراج الأصناف والخيارات…",
    "Extracting bilingual menu items…": "جارٍ استخراج الأصناف باللغتين…",
    "Translating to bilingual format…": "جارٍ استكمال البيانات باللغتين…",
    "Completing bilingual fields…": "جارٍ استكمال الحقول باللغتين…",
    "Mapping items and option groups…": "جارٍ ربط الأصناف والخيارات…",
    "Building CSV columns…": "جارٍ إنشاء أعمدة CSV…",
    "Waiting for the AI response…": "بانتظار رد الذكاء الاصطناعي…",
    "Preparing menu review…": "جارٍ إعداد مراجعة القائمة…",
    "Processing…": "جارٍ المعالجة…",
    "Generating preview…": "جارٍ إنشاء المعاينة…",
    "Failed to build CSV": "تعذر إنشاء CSV",
    "An unexpected error occurred.": "حدث خطأ غير متوقع.",
    "Upload approved images & preview export": "رفع الصور المعتمدة ومعاينة التصدير",
    "Upload image": "رفع صورة",
    "or drop a photo here": "أو اسحب صورة هنا",
    "Choose from device": "اختيار من الجهاز",
    "Selected device photo": "الصورة المحددة من الجهاز",
    "Check image": "فحص الصورة",
    "Checking image": "جارٍ فحص الصورة",
    "Checking images…": "جارٍ فحص الصور…",
    "Choose exactly one photo for this item.": "اختر صورة واحدة فقط لهذا الصنف.",
    "Choose a JPEG, PNG, WEBP or static GIF photo.": "اختر صورة JPEG أو PNG أو WEBP أو GIF ثابتة.",
    "This photo file is empty.": "ملف الصورة فارغ.",
    "Choose one photo for this item. It will be optimized and checked before you approve it. A current image is kept if the new photo fails.": "اختر صورة للصنف. تُحسّن وتُفحص قبل اعتمادها. تُحفظ الصورة الحالية إذا رُفضت الصورة الجديدة.",
    "Image generation model": "نموذج توليد الصور",
    "Image validation model": "نموذج التحقق من الصور",
    "Internet search model": "نموذج البحث على الإنترنت",
    "Search language": "لغة البحث",
    "Generation prompt language": "لغة تعليمات التوليد",
    "العربية (Arabic)": "العربية",
    "Search the Internet": "البحث على الإنترنت",
    "Find menu images": "البحث عن صور القائمة",
    "Generate missing menu images": "توليد صور الأصناف الناقصة",
    "Generate previews": "توليد الصور للمعاينة",
    "Select an image generation model": "اختر نموذج توليد الصور",
    "No image generation models are configured on this server.": "لم تُضبط نماذج توليد صور على الخادم.",
    "No Internet search model configured": "لم يُضبط نموذج بحث على الإنترنت",
    "Choose an OpenAI or Gemini model for this search. Available models depend on the configured provider keys and your account access.": "اختر نموذج OpenAI أو Gemini للبحث. تتوقف النماذج المتاحة على إعداد المزود وصلاحيات الحساب.",
    "Checks item identity and image rules, and locates photos in uploaded menus.": "يفحص مطابقة الصنف وقواعد الصور ويحدد الصور داخل القوائم المرفوعة.",
    "Sources are checked in this exact order for each item. Remove Internet to prevent a general web search.": "تُفحص المصادر بهذا الترتيب لكل صنف. احذف الإنترنت إذا لم ترغب بالبحث العام.",
    "Add URL": "إضافة رابط",
    "Add Internet": "إضافة الإنترنت",
    "Add original menu": "إضافة القائمة الأصلية",
    "Add original menu URL": "إضافة رابط القائمة الأصلية",
    "Add files": "إضافة ملفات",
    "Choose only images, PDF, DOCX, or XLSX files.": "اختر صوراً أو ملفات PDF أو DOCX أو XLSX فقط.",
    "Files: images, PDF, DOCX, or XLSX. Excel supports image URL cells and ordinary embedded pictures; unsupported picture formats are reported. Private or unavailable pages are skipped.": "الملفات: صور أو PDF أو DOCX أو XLSX. يدعم Excel روابط الصور والصور المضمنة العادية. يتم تجاوز الصفحات غير المتاحة.",
    "After Stop, Fetch continues with unfinished items. Use an item's Retry action to repeat a completed attempt.": "بعد الإيقاف، يُستأنف البحث للأصناف غير المكتملة. استخدم إعادة المحاولة للصنف لتكرار بحث مكتمل.",
    "The selected language's name and description take priority; missing translations use the other language. Generated images stay free of added text and are optimized to 400 KB or less. After Stop, Generate continues with unfinished items.": "تُستخدم أسماء وأوصاف اللغة المحددة أولاً، ثم اللغة الأخرى عند الحاجة. تبقى الصور دون نصوص مضافة وبحجم لا يزيد عن 400 كيلوبايت. يُستأنف التوليد للأصناف غير المكتملة بعد الإيقاف.",
    "Allowed logos (optional)": "الشعارات المسموح بها (اختياري)",
    "Only these logos, or the matching brand on a named drink, may appear. Other text, logos, and body parts are rejected.": "يُسمح بهذه الشعارات أو علامة مشروب مطابق فقط. تُرفض النصوص والشعارات الأخرى وأجزاء الجسم.",
    "No logo exceptions uploaded.": "لم تُرفع شعارات مستثناة.",
    "Clear allowed logos": "مسح الشعارات المسموح بها",
    "Allowed logos changed. Validate this image again.": "تغيرت الشعارات المسموح بها. افحص الصورة مرة أخرى.",
    "Add at least one source, or close this dialog to keep the current images.": "أضف مصدراً واحداً على الأقل، أو أغلق النافذة لإبقاء الصور الحالية.",
    "Enter a valid public http or https URL for each URL row, or remove the empty row.": "أدخل رابط http أو https عاماً وصحيحاً لكل صف، أو احذف الصف الفارغ.",
    "Select an available Internet search model, or remove Internet from the source list.": "اختر نموذج بحث متاحاً، أو احذف الإنترنت من المصادر.",
    "Select an available AI model.": "اختر نموذج ذكاء اصطناعي متاحاً.",
    "Confirm fetch": "تأكيد البحث",
    "Image link": "رابط الصورة",
    "Image preview · review only": "معاينة الصورة للمراجعة",
    "No image": "دون صورة",
    "Existing image · not checked": "صورة موجودة · لم تُفحص",
    "Awaiting visual review": "بانتظار مراجعة الصورة",
    "Approved · upload pending": "معتمدة · بانتظار الرفع",
    "Approved": "تمت الموافقة",
    "Menu changed · revalidate": "تغيرت بيانات الصنف · أعد الفحص",
    "No image found": "لم يُعثر على صورة",
    "Could not validate": "تعذر التحقق",
    "Rejected": "مرفوضة",
    "Choose a photo or skip": "اختر صورة أو تجاوز الصنف",
    "Your choice · AI rejected this photo": "اختيارك · رفض الذكاء الاصطناعي الصورة",
    "Choose image": "اختيار صورة",
    "View AI checks": "عرض فحوص الذكاء الاصطناعي",
    "Approve": "اعتماد",
    "Reject": "رفض",
    "Retry image": "إعادة محاولة الصورة",
    "Remove": "إزالة",
    "Remove image": "إزالة الصورة",
    "Approve image": "اعتماد الصورة",
    "Review this image before export.": "راجع الصورة قبل التصدير.",
    "Menu image": "صورة الصنف",
    "Menu item": "صنف",
    "Preview unavailable": "المعاينة غير متاحة",
    "Size unavailable": "الحجم غير متاح",
    "Image activity": "نشاط الصور",
    "Close image dialog": "إغلاق نافذة الصور",
    "See candidate photos and the AI's checks. Hiding this panel keeps pending choices for later.": "شاهد الصور والفحوص. يمكنك إخفاء النافذة وتبقى الخيارات محفوظة للمراجعة لاحقاً.",
    "Start Fetch or Generate to see the photos found and the AI's checks here. You can hide this panel at any time.": "ابدأ البحث أو التوليد لعرض الصور والفحوص هنا. يمكنك إخفاء النافذة في أي وقت.",
    "Your choice is waiting": "بانتظار اختيارك",
    "No photo passed the AI checks. Choose one below or skip this item.": "لم تقبل الفحوص أي صورة. اختر صورة بنفسك أو تجاوز الصنف.",
    "The AI did not accept these photos. Check its reasons, then choose a photo yourself or keep this item without an image.": "رفض الذكاء الاصطناعي هذه الصور. راجع الأسباب ثم اختر صورة بنفسك أو أبقِ الصنف دون صورة.",
    "Hide progress": "إخفاء التقدم",
    "Stop processing": "إيقاف المعالجة",
    "Waiting to start": "بانتظار البدء",
    "Found · not checked": "تم العثور عليها · لم تُفحص",
    "Opening image": "جارٍ فتح الصورة",
    "Finding the dish photo": "جارٍ تحديد صورة الطبق",
    "Passed AI checks": "اجتازت الفحوص",
    "Rejected by AI": "رفضها الذكاء الاصطناعي",
    "Could not check": "تعذر الفحص",
    "Checks stopped": "توقفت الفحوص",
    "Photo preview appears when checked": "تظهر المعاينة عند فحص الصورة",
    "Photo preview unavailable from this source.": "معاينة الصورة غير متاحة من المصدر.",
    "Use this image · my choice": "استخدام هذه الصورة · اختياري",
    "Skip · keep no image": "تجاوز · دون صورة",
    "Skip · keep current image": "تجاوز · إبقاء الصورة الحالية",
    "Saving your choice…": "جارٍ حفظ اختيارك…",
    "Could not select this image.": "تعذر اختيار الصورة.",
    "Choosing this image was interrupted. Your choices were kept; try again.": "توقف اختيار الصورة. حُفظت الخيارات، حاول مرة أخرى.",
    "You chose this photo. It is approved and waiting for upload.": "اخترت هذه الصورة. اعتُمدت وهي بانتظار الرفع.",
    "You selected this photo.": "اخترت هذه الصورة.",
    "You skipped the rejected photos. No image selected.": "تجاوزت الصور المرفوضة. لم تُحدد صورة.",
    "Skipped. This item will have no image.": "تم التجاوز. سيبقى الصنف دون صورة.",
    "New photo skipped. Your current image was kept.": "تم تجاوز الصورة الجديدة وإبقاء الصورة الحالية.",
    "The new photo did not pass. Your current image has been kept.": "رُفضت الصورة الجديدة. حُفظت الصورة الحالية.",
    "The new photo did not pass. Choose it yourself or keep your current image.": "رُفضت الصورة الجديدة. اخترها بنفسك أو أبقِ الصورة الحالية.",
    "Review rejected photos in Image activity, or skip this item.": "راجع الصور المرفوضة في نشاط الصور أو تجاوز الصنف.",
    "No usable image found.": "لم يُعثر على صورة مناسبة.",
    "A photo passed. Review it in the menu table.": "اجتازت صورة الفحوص. راجعها في خطوة الصور.",
    "Another photo passed, so this photo did not need more checks.": "اجتازت صورة أخرى الفحوص، فلم تُفحص هذه الصورة أكثر.",
    "Not shortlisted for this item, or already checked from another source.": "لم تُرشح للصنف أو سبق فحصها من مصدر آخر.",
    "Processing was stopped.": "توقفت المعالجة.",
    "Processing was interrupted before these checks finished. Retry this item to continue.": "توقفت المعالجة قبل اكتمال الفحوص. أعد المحاولة لهذا الصنف.",
    "Activity history is full. Finish the pending choices, then retry this item separately.": "سجل النشاط ممتلئ. أكمل الخيارات المعلقة ثم أعد محاولة الصنف منفرداً.",
    "Preview memory is full. Finish pending choices, then retry this item separately to load its images.": "ذاكرة المعاينة ممتلئة. أكمل الخيارات المعلقة ثم أعد محاولة الصنف منفرداً.",
    "Preparing images…": "جارٍ إعداد الصور…",
    "Image processing finished. Review the image previews before export.": "اكتملت المعالجة. راجع الصور قبل التصدير.",
    "Stopped. Completed images were kept. Start Fetch or Generate again to continue with unfinished items.": "توقفت المعالجة وحُفظت الصور المكتملة. ابدأ البحث أو التوليد لاستكمال الأصناف المتبقية.",
    "Image processing was interrupted. Completed images were kept; retry the remaining items.": "توقفت معالجة الصور وحُفظت النتائج المكتملة. أعد محاولة الأصناف المتبقية.",
    "All items in this fetch have been checked. Use Retry on an item to search again.": "فُحصت جميع الأصناف. استخدم إعادة المحاولة للصنف للبحث مجدداً.",
    "All items in this generation have been checked. Use Retry on an item to generate again.": "اكتمل توليد جميع الأصناف. استخدم إعادة المحاولة للصنف للتوليد مجدداً.",
    "Image rejected. Retry to find or generate a replacement.": "رُفضت الصورة. أعد المحاولة للبحث أو التوليد.",
    "Could not approve this image. Retry the item.": "تعذر اعتماد الصورة. أعد محاولة الصنف.",
    "Menu details changed. Fetch or generate a new image before approval.": "تغيرت بيانات القائمة. ابحث عن صورة جديدة أو ولّدها قبل الاعتماد.",
    "Wait for image processing to finish or stop it.": "انتظر اكتمال معالجة الصور أو أوقفها.",
    "Stop the current image processing before uploading a photo.": "أوقف معالجة الصور قبل رفع صورة.",
    "Wait for image processing to finish or stop it before uploading a photo.": "انتظر اكتمال المعالجة أو أوقفها قبل رفع صورة.",
    "Wait for the current AI menu edit to finish before uploading a photo.": "انتظر اكتمال تعديل القائمة قبل رفع صورة.",
    "Wait for the current AI menu edit to finish before processing images.": "انتظر اكتمال تعديل القائمة قبل معالجة الصور.",
    "The menu changed while images were processing. Stale results were discarded; retry the remaining items.": "تغيرت القائمة أثناء معالجة الصور. تم تجاهل النتائج القديمة. أعد محاولة الأصناف المتبقية.",
    "An image source was unavailable.": "أحد مصادر الصور غير متاح.",
    "An item could not be processed.": "تعذرت معالجة صنف.",
    "Could not process image.": "تعذرت معالجة الصورة.",
    "Image processing failed.": "تعذرت معالجة الصور.",
    "Image features could not be loaded.": "تعذر تحميل أدوات الصور.",
    "Image server returned an incomplete review.": "أعاد الخادم مراجعة غير مكتملة.",
    "A local image exceeded the 400 KB preview limit.": "تجاوزت الصورة حد المعاينة البالغ 400 كيلوبايت.",
    "The image server returned an unsupported preview format.": "صيغة معاينة الصورة غير مدعومة.",
    "The image server returned an invalid preview.": "أعاد الخادم معاينة غير صالحة.",
    "Image response exceeded the preview memory limit.": "تجاوزت استجابة الصور حد ذاكرة المعاينة.",
    "Your browser cannot read image processing progress.": "لا يدعم متصفحك قراءة تقدم الصور.",
    "Could not load Google sign-in. Check your connection and retry.": "تعذر تحميل تسجيل الدخول إلى Google. تحقق من الاتصال وأعد المحاولة.",
    "Upload cancelled. Your approved previews were kept.": "أُلغي الرفع. حُفظت الصور المعتمدة.",
    "Approved images uploaded. Preparing export…": "رُفعت الصور المعتمدة. جارٍ إعداد التصدير…",
    "Some images are still awaiting upload. Retry export to reconnect and finish publishing them.": "بعض الصور بانتظار الرفع. أعد محاولة التصدير لإكمال نشرها.",
    "Upward price rounding active — item & option prices": "التقريب للأعلى مفعّل لأسعار الأصناف والخيارات",
    "Upward price rounding active — item prices": "التقريب للأعلى مفعّل لأسعار الأصناف",
    "Upward price rounding active — option prices": "التقريب للأعلى مفعّل لأسعار الخيارات",
    "Yes": "نعم",
    "No": "لا",
    "Untitled menu item": "صنف بلا اسم",
    "Export readiness": "جاهزية التصدير",
    "Images are optional. Review pending choices and approve selected photos before continuing.": "الصور اختيارية. راجع الخيارات المعلقة واعتمد الصور المحددة قبل المتابعة.",
    "Menu review is locked while images are processing.": "تعديل القائمة مقفل أثناء معالجة الصور.",
    "Provider details": "تفاصيل المزود",
    "Something went wrong. Please try again.": "حدث خطأ. حاول مرة أخرى.",
    "Request could not be completed. Check the details below.": "تعذر إكمال الطلب. راجع التفاصيل أدناه.",
    "0 items": "0 أصناف",
    "0 selected": "لم يُحدد شيء",
    "0 rows · 0 columns": "0 صفوف · 0 أعمدة",
    "Showing 0 of 0 items": "عرض 0 من 0 أصناف",
    "Review complete": "اكتملت المراجعة",
    "+ Create New Category...": "+ إنشاء تصنيف جديد…",
    "{count} selected": "تم تحديد {count}",
    "Showing {visible} of {count} items": "عرض {visible} من {count} أصناف",
    "{count} rows · {columns} columns": "{count} صفوف · {columns} أعمدة",
    "Choose a photo smaller than {size} MB.": "اختر صورة أصغر من {size} ميغابايت.",
    "Checking item {index} of {count}…": "جارٍ فحص الصنف {index} من {count}…",
    "Image request failed ({status}).": "تعذر طلب الصور ({status}).",
    "Upload image for {name}": "رفع صورة للصنف {name}",
    "Review image for {name}": "مراجعة صورة الصنف {name}",
    "Upload photo · {name}": "رفع صورة · {name}",
    "Select {name}": "تحديد {name}",
    "Edit {name}": "تعديل {name}",
    "Delete {name}": "حذف {name}",
    "English name for item {index}": "اسم الصنف {index} بالإنجليزية",
    "Arabic name for item {index}": "اسم الصنف {index} بالعربية",
    "English description for {name}": "الوصف بالإنجليزية للصنف {name}",
    "Arabic description for {name}": "الوصف بالعربية للصنف {name}",
    "Section for {name}": "قسم الصنف {name}",
    "Category ID for {name}": "معرف تصنيف الصنف {name}",
    "Source price for {name}": "سعر المصدر للصنف {name}",
    "Final CSV price for {name}": "سعر CSV النهائي للصنف {name}",
    "Edit {groups} option groups containing {options} options": "تعديل {groups} مجموعات تضم {options} خيارات",
    "Edit {count} custom fields": "تعديل {count} حقول إضافية",
    "{count}% confidence": "الثقة {count}%",
    "{count} item(s) need another attempt. Completed images were kept; see source details.": "تحتاج {count} أصناف إلى إعادة المحاولة. حُفظت الصور المكتملة؛ راجع تفاصيل المصادر.",
    "Fetching {name}": "جارٍ البحث عن صور {name}",
    "Generating {name}": "جارٍ توليد صورة {name}",
    "Checking your uploaded photo for {name}…": "جارٍ فحص صورتك للصنف {name}…",
    "Source details": "تفاصيل المصدر",
    "Item {index} of {count} · {category}": "الصنف {index} من {count} · {category}",
    "{name} · Correct the data, resolve validation issues, then preview your CSV.": "{name} · راجع البيانات وعالج الملاحظات ثم اعرض CSV.",
    "{filename} · {count} rows · {columns} columns": "{filename} · {count} صفوف · {columns} أعمدة",
    "{filename} · {count} row · {columns} columns": "{filename} · صف واحد · {columns} أعمدة",
    "{count} files selected": "تم اختيار {count} ملفات",
    "{count} action required": "إجراء واحد مطلوب",
    "{count} actions required": "{count} إجراءات مطلوبة",
    "{count} selected item will be sent to the AI.": "سيُرسل صنف واحد للذكاء الاصطناعي.",
    "{count} selected items will be sent to the AI.": "ستُرسل {count} أصناف للذكاء الاصطناعي.",
    "AI edit approved. Review the {count} affected item before export.": "اعتُمد التعديل. راجع الصنف المتأثر قبل التصدير.",
    "AI edit approved. Review the {count} affected items before export.": "اعتُمد التعديل. راجع الأصناف المتأثرة ({count}) قبل التصدير.",
    "Generate missing images ({count})": "توليد الصور الناقصة ({count})",
    "{missing} without images · {pending} awaiting review": "{missing} دون صور · {pending} بانتظار المراجعة",
    "Waiting for your choice ({count})": "بانتظار اختيارك ({count})",
    "{count} waiting for your image choice": "{count} بانتظار اختيارك للصورة",
    "{name}: choose a photo or skip it in Image activity": "{name}: اختر صورة أو تجاوز الصنف في نشاط الصور",
    "{name}: choose a rejected photo or skip it in Image activity": "{name}: اختر صورة مرفوضة أو تجاوز الصنف في نشاط الصور",
    "{name}: review or remove its image": "{name}: راجع الصورة أو أزلها",
    "{name}: image preview is no longer available; generate or fetch again": "{name}: المعاينة غير متاحة؛ ابحث عن صورة أو ولّدها مجدداً",
    "{name}: image has not passed validation": "{name}: لم تجتز الصورة التحقق",
    "Delete the category \"{name}\" and all {count} matching items?": "حذف التصنيف «{name}» وجميع أصنافه ({count})؟",
    "Delete the category \"{name}\" and all {count} matching item?": "حذف التصنيف «{name}» وصنفه المطابق؟",
    "Are you sure you want to delete {count} selected item(s)?": "هل تريد حذف الأصناف المحددة ({count})؟",
    "Review {count} AI option relationship suggestion": "مراجعة اقتراح واحد لربط الخيارات",
    "Review {count} AI option relationship suggestions": "مراجعة {count} اقتراحات لربط الخيارات",
    "Extraction method: {method}": "طريقة الاستخراج: {method}",
    "{count}% confidence · source match {match}%": "الثقة {count}% · مطابقة المصدر {match}%",
    "{count}% AI match confidence · {size}": "ثقة المطابقة {count}% · {size}",
    " · AI generated": " · مولدة بالذكاء الاصطناعي",
    " · source exceeds 400 KB": " · حجم المصدر يتجاوز 400 كيلوبايت",
    "count.items.zero": "لا توجد أصناف",
    "count.items.one": "صنف واحد",
    "count.items.two": "صنفان",
    "count.items.few": "{count} أصناف",
    "count.items.many": "{count} صنفاً",
    "count.items.other": "{count} صنف",
    "count.changes.zero": "لا توجد تغييرات",
    "count.changes.one": "تغيير واحد",
    "count.changes.two": "تغييران",
    "count.changes.few": "{count} تغييرات",
    "count.changes.many": "{count} تغييراً",
    "count.changes.other": "{count} تغيير",
    "count.choices.zero": "لا توجد خيارات معلقة",
    "count.choices.one": "صورة واحدة بانتظار اختيارك",
    "count.choices.two": "صورتان بانتظار اختيارك",
    "count.choices.few": "{count} صور بانتظار اختيارك",
    "count.choices.many": "{count} صورة بانتظار اختيارك",
    "count.choices.other": "{count} صورة بانتظار اختيارك",
    "For example: This menu has two pages. Treat combo meals as main items and include the drink choices as options.": "مثال: هذه القائمة من صفحتين. اعتبر الوجبات أصنافاً رئيسية وأضف المشروبات كخيارات.",
    "Example: translate any missing Arabic descriptions or there is an missunderstanding data in some group option in some item.": "مثال: استكمل الأوصاف العربية الناقصة أو صحح خيارات صنف معين.",
    "Candidate for {name}": "صورة مرشحة للصنف {name}",
    "Choose at most {count} logos.": "اختر ما لا يزيد عن {count} شعارات.",
    "Menu items reviewed: {count}": "أصناف تمت مراجعتها: {count}",
    "No images needed": "الصور غير مطلوبة",
    "Opening the image…": "جارٍ فتح الصورة…",
    "Finding this dish's photo inside the page…": "جارٍ تحديد صورة الطبق داخل الصفحة…",
    "Checking the dish match, photo quality, text, logos and people…": "جارٍ فحص مطابقة الطبق وجودة الصورة والنصوص والشعارات والأشخاص…",
    "Source did not contain a usable image.": "لم يحتوِ المصدر على صورة مناسبة.",
    "No clear item photo could be located in this page.": "لم تُحدد صورة واضحة للصنف في الصفحة.",
    "Visual checks passed; review before export.": "اجتازت الصورة الفحوص. راجعها قبل التصدير.",
    "Image did not pass the visual checks.": "لم تجتز الصورة الفحوص.",
    "Image did not meet the required {count}% matching confidence. ": "لم تحقق الصورة ثقة المطابقة المطلوبة ({count}%). ",
    "Dish: matches · Menu photo: suitable": "الطبق: مطابق · صورة القائمة: مناسبة",
    "Dish: matches · Menu photo: suitable · AI uncertain": "الطبق: مطابق · صورة القائمة: مناسبة · الذكاء الاصطناعي غير متأكد",
    "Dish: matches · Menu photo: unsuitable": "الطبق: مطابق · صورة القائمة: غير مناسبة",
    "Dish: matches · Menu photo: unsuitable · AI uncertain": "الطبق: مطابق · صورة القائمة: غير مناسبة · الذكاء الاصطناعي غير متأكد",
    "Dish: does not match · Menu photo: suitable": "الطبق: غير مطابق · صورة القائمة: مناسبة",
    "Dish: does not match · Menu photo: suitable · AI uncertain": "الطبق: غير مطابق · صورة القائمة: مناسبة · الذكاء الاصطناعي غير متأكد",
    "Dish: does not match · Menu photo: unsuitable": "الطبق: غير مطابق · صورة القائمة: غير مناسبة",
    "Dish: does not match · Menu photo: unsuitable · AI uncertain": "الطبق: غير مطابق · صورة القائمة: غير مناسبة · الذكاء الاصطناعي غير متأكد",
    "People/body parts: detected · Text: allowed · Logos: allowed": "أشخاص أو أجزاء جسم: موجودة · نصوص: مسموح بها · شعارات: مسموح بها",
    "People/body parts: detected · Text: allowed · Logos: allowed · AI uncertain": "أشخاص أو أجزاء جسم: موجودة · نصوص: مسموح بها · شعارات: مسموح بها · الذكاء الاصطناعي غير متأكد",
    "People/body parts: detected · Text: allowed · Logos: not allowed": "أشخاص أو أجزاء جسم: موجودة · نصوص: مسموح بها · شعارات: غير مسموح بها",
    "People/body parts: detected · Text: allowed · Logos: not allowed · AI uncertain": "أشخاص أو أجزاء جسم: موجودة · نصوص: مسموح بها · شعارات: غير مسموح بها · الذكاء الاصطناعي غير متأكد",
    "People/body parts: detected · Text: allowed · Logos: none detected": "أشخاص أو أجزاء جسم: موجودة · نصوص: مسموح بها · شعارات: لم تُكتشف",
    "People/body parts: detected · Text: allowed · Logos: none detected · AI uncertain": "أشخاص أو أجزاء جسم: موجودة · نصوص: مسموح بها · شعارات: لم تُكتشف · الذكاء الاصطناعي غير متأكد",
    "People/body parts: detected · Text: not allowed · Logos: allowed": "أشخاص أو أجزاء جسم: موجودة · نصوص: غير مسموح بها · شعارات: مسموح بها",
    "People/body parts: detected · Text: not allowed · Logos: allowed · AI uncertain": "أشخاص أو أجزاء جسم: موجودة · نصوص: غير مسموح بها · شعارات: مسموح بها · الذكاء الاصطناعي غير متأكد",
    "People/body parts: detected · Text: not allowed · Logos: not allowed": "أشخاص أو أجزاء جسم: موجودة · نصوص: غير مسموح بها · شعارات: غير مسموح بها",
    "People/body parts: detected · Text: not allowed · Logos: not allowed · AI uncertain": "أشخاص أو أجزاء جسم: موجودة · نصوص: غير مسموح بها · شعارات: غير مسموح بها · الذكاء الاصطناعي غير متأكد",
    "People/body parts: detected · Text: not allowed · Logos: none detected": "أشخاص أو أجزاء جسم: موجودة · نصوص: غير مسموح بها · شعارات: لم تُكتشف",
    "People/body parts: detected · Text: not allowed · Logos: none detected · AI uncertain": "أشخاص أو أجزاء جسم: موجودة · نصوص: غير مسموح بها · شعارات: لم تُكتشف · الذكاء الاصطناعي غير متأكد",
    "People/body parts: detected · Text: none detected · Logos: allowed": "أشخاص أو أجزاء جسم: موجودة · نصوص: لم تُكتشف · شعارات: مسموح بها",
    "People/body parts: detected · Text: none detected · Logos: allowed · AI uncertain": "أشخاص أو أجزاء جسم: موجودة · نصوص: لم تُكتشف · شعارات: مسموح بها · الذكاء الاصطناعي غير متأكد",
    "People/body parts: detected · Text: none detected · Logos: not allowed": "أشخاص أو أجزاء جسم: موجودة · نصوص: لم تُكتشف · شعارات: غير مسموح بها",
    "People/body parts: detected · Text: none detected · Logos: not allowed · AI uncertain": "أشخاص أو أجزاء جسم: موجودة · نصوص: لم تُكتشف · شعارات: غير مسموح بها · الذكاء الاصطناعي غير متأكد",
    "People/body parts: detected · Text: none detected · Logos: none detected": "أشخاص أو أجزاء جسم: موجودة · نصوص: لم تُكتشف · شعارات: لم تُكتشف",
    "People/body parts: detected · Text: none detected · Logos: none detected · AI uncertain": "أشخاص أو أجزاء جسم: موجودة · نصوص: لم تُكتشف · شعارات: لم تُكتشف · الذكاء الاصطناعي غير متأكد",
    "People/body parts: none detected · Text: allowed · Logos: allowed": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: مسموح بها · شعارات: مسموح بها",
    "People/body parts: none detected · Text: allowed · Logos: allowed · AI uncertain": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: مسموح بها · شعارات: مسموح بها · الذكاء الاصطناعي غير متأكد",
    "People/body parts: none detected · Text: allowed · Logos: not allowed": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: مسموح بها · شعارات: غير مسموح بها",
    "People/body parts: none detected · Text: allowed · Logos: not allowed · AI uncertain": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: مسموح بها · شعارات: غير مسموح بها · الذكاء الاصطناعي غير متأكد",
    "People/body parts: none detected · Text: allowed · Logos: none detected": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: مسموح بها · شعارات: لم تُكتشف",
    "People/body parts: none detected · Text: allowed · Logos: none detected · AI uncertain": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: مسموح بها · شعارات: لم تُكتشف · الذكاء الاصطناعي غير متأكد",
    "People/body parts: none detected · Text: not allowed · Logos: allowed": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: غير مسموح بها · شعارات: مسموح بها",
    "People/body parts: none detected · Text: not allowed · Logos: allowed · AI uncertain": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: غير مسموح بها · شعارات: مسموح بها · الذكاء الاصطناعي غير متأكد",
    "People/body parts: none detected · Text: not allowed · Logos: not allowed": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: غير مسموح بها · شعارات: غير مسموح بها",
    "People/body parts: none detected · Text: not allowed · Logos: not allowed · AI uncertain": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: غير مسموح بها · شعارات: غير مسموح بها · الذكاء الاصطناعي غير متأكد",
    "People/body parts: none detected · Text: not allowed · Logos: none detected": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: غير مسموح بها · شعارات: لم تُكتشف",
    "People/body parts: none detected · Text: not allowed · Logos: none detected · AI uncertain": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: غير مسموح بها · شعارات: لم تُكتشف · الذكاء الاصطناعي غير متأكد",
    "People/body parts: none detected · Text: none detected · Logos: allowed": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: لم تُكتشف · شعارات: مسموح بها",
    "People/body parts: none detected · Text: none detected · Logos: allowed · AI uncertain": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: لم تُكتشف · شعارات: مسموح بها · الذكاء الاصطناعي غير متأكد",
    "People/body parts: none detected · Text: none detected · Logos: not allowed": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: لم تُكتشف · شعارات: غير مسموح بها",
    "People/body parts: none detected · Text: none detected · Logos: not allowed · AI uncertain": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: لم تُكتشف · شعارات: غير مسموح بها · الذكاء الاصطناعي غير متأكد",
    "People/body parts: none detected · Text: none detected · Logos: none detected": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: لم تُكتشف · شعارات: لم تُكتشف",
    "People/body parts: none detected · Text: none detected · Logos: none detected · AI uncertain": "أشخاص أو أجزاء جسم: لم تُكتشف · نصوص: لم تُكتشف · شعارات: لم تُكتشف · الذكاء الاصطناعي غير متأكد",
    "Dish match: {count}%": "مطابقة الطبق: {count}%",
    "Dish match: {count}% · source match: {match}%": "مطابقة الطبق: {count}% · مطابقة المصدر: {match}%",
    "Review {name}": "راجع {name}",
    "Confirm prices for {name}": "أكد أسعار {name}",
    "Resolve conflicts for {name}": "عالج التعارضات في {name}",
    "Review variant merge {name}": "راجع دمج أشكال المنتج {name}",
    "{name}: confirm {group}": "{name}: أكد المجموعة {group}",
    "Item image confidence is below the required {count}% or the image does not match.": "ثقة المطابقة أقل من النسبة المطلوبة ({count}%) أو الصورة لا تطابق الصنف.",
    "The image is not suitable for a menu.": "الصورة غير مناسبة للقائمة.",
    "The AI reported uncertainty.": "الذكاء الاصطناعي غير متأكد من نتيجة التحقق.",
    "The Talabat item match did not meet the required {count}%.": "مطابقة الصنف من طلبات أقل من النسبة المطلوبة ({count}%).",
    "The image failed the content policy or contains a human/body part.": "الصورة تخالف قواعد المحتوى أو تحتوي أشخاصاً أو أجزاء جسم.",
    "The logo assessment referenced an unavailable approved logo.": "أشار فحص الشعار إلى شعار معتمد غير متاح.",
    "The image contains text outside the permitted logo or drink-packaging exceptions.": "تحتوي الصورة نصوصاً خارج استثناءات الشعارات أو عبوات المشروبات المسموح بها.",
    "The image contains an unapproved logo or watermark.": "تحتوي الصورة شعاراً غير معتمد أو علامة مائية.",
    "The AI returned incomplete or invalid image checks. The image was rejected.": "فحوص الصورة غير مكتملة أو غير صالحة. تم رفض الصورة.",
    "Name": "الاسم",
    "Value": "القيمة",
    "Price": "السعر",
    "Default": "افتراضي",
    "Min": "الحد الأدنى",
    "Max": "الحد الأعلى",
    "Select menu source": "اختيار مصدر القائمة",
    "source files": "ملفات المصدر",
    "flagged": "بحاجة للمراجعة",
    "Item {index} English name": "اسم الصنف {index} بالإنجليزية",
    "Item {index} Arabic name": "اسم الصنف {index} بالعربية",
    "Option group {index} English name": "اسم مجموعة الخيارات {index} بالإنجليزية",
    "Option group {index} Arabic name": "اسم مجموعة الخيارات {index} بالعربية",
    "Image choices are waiting. Open image progress to choose or skip.": "توجد خيارات صور معلقة. افتح تقدم الصور للاختيار أو التجاوز.",
    "Browse files · JPG, PNG, WEBP, GIF, PDF, DOCX, CSV, XLSX": "اختيار الملفات · JPG, PNG, WEBP, GIF, PDF, DOCX, CSV, XLSX",
    "Up to {size} MB total": "الحجم الإجمالي حتى {size} ميغابايت",
    "Approved logo references": "الشعارات المعتمدة",
    "Entire item": "الصنف كامل",
    "Finding candidate photos…": "جارٍ البحث عن صور مرشحة…",
    "Preview reviewed CSV": "معاينة CSV بعد المراجعة",
    "Section name": "اسم القسم",
    "Main": "رئيسي",
    "Side": "جانبي",
    "Drink": "مشروب",
    "Dessert": "حلوى",
    "Addon": "إضافة",
    "Other": "آخر",
    "Category page:": "صفحة التصنيف:",
    "Sheet:": "الورقة:",
    "Row:": "الصف:",
    "Size merge:": "دمج الأحجام:",
    "Sources:": "المصادر:",
    "Explicit shared group:": "مجموعة مشتركة صريحة:",
    "pending": "قيد التنفيذ",
    "applied": "تم التطبيق",
    "rejected": "مرفوض",
    "confirmed": "مؤكد",
    "Suggested by AI": "اقترحه الذكاء الاصطناعي",
    "Review required": "تتطلب المراجعة",
    "Items divide by {items}; option groups divide by {options}": "تقسيم أسعار الأصناف على {items} وأسعار الخيارات على {options}",
    "All prices divide by {divisor}": "تقسيم جميع الأسعار على {divisor}",
    "add {count}% to all CSV prices": "إضافة {count}% إلى جميع أسعار CSV",
    "All prices divide by {divisor}; add {count}% to all CSV prices": "تقسيم جميع الأسعار على {divisor} ثم إضافة {count}% إلى أسعار CSV",
    "Items divide by {items}; option groups divide by {options}; add {count}% to all CSV prices": "تقسيم أسعار الأصناف على {items} والخيارات على {options} ثم إضافة {count}% إلى أسعار CSV",
    "Reject all {count} pending size-merge suggestions and preserve every source item unchanged.": "رفض اقتراحات دمج الأحجام المعلقة ({count}) وإبقاء جميع الأصناف الأصلية.",
    "Reject all {count} pending size-merge suggestion and preserve every source item unchanged.": "رفض اقتراح دمج الأحجام وإبقاء جميع الأصناف الأصلية.",
    "{count} flagged": "{count} بحاجة للمراجعة",
    "high confidence": "ثقة مرتفعة",
    "None": "لا شيء",
    " (manual)": " (يدوي)",
    "{count}% removed": "خصم {count}%",
    "{count}% added": "إضافة {count}%",
    "Standalone sources:": "مصادر الأصناف المستقلة:",
    "Select all suggested mains ({count})": "تحديد الأصناف الرئيسية المقترحة ({count})",
    "Fetch image": "جلب صورة",
    "Generate image": "إنشاء صورة",
    "Only this item's image will be processed. Other items keep their current images.": "ستتم معالجة صورة هذا الصنف فقط. تحتفظ الأصناف الأخرى بصورها الحالية.",
    "Minimum validation confidence (%)": "الحد الأدنى لثقة التحقق (%)",
    "Default: 70%. Applies to new image and source-match checks. Previously reviewed images keep their original threshold.": "الافتراضي: 70٪. يُطبق على عمليات التحقق الجديدة من الصورة وتطابق المصدر. تحتفظ الصور التي تمت مراجعتها بالحد السابق.",
    "Enter a whole percentage from 1 to 100.": "أدخل نسبة مئوية صحيحة من 1 إلى 100.",
    "Account": "الحساب",
    "History": "السجل",
    "AI usage": "استخدام الذكاء الاصطناعي",
    "No saved menu selected": "لم يتم اختيار قائمة محفوظة",
    "Save / retry": "حفظ / إعادة المحاولة",
    "Log out": "تسجيل الخروج",
    "Sign in to your workspace": "سجّل الدخول إلى مساحة عملك",
    "Email": "البريد الإلكتروني",
    "Password": "كلمة المرور",
    "Sign in": "تسجيل الدخول",
    "Create account": "إنشاء حساب",
    "Continue with Google": "المتابعة باستخدام Google",
    "Reset password": "إعادة تعيين كلمة المرور",
    "Resend verification": "إعادة إرسال التحقق",
    "I verified my email": "تم التحقق من بريدي",
    "Close": "إغلاق",
    "Verify your email before using the app.": "تحقق من بريدك الإلكتروني قبل استخدام التطبيق.",
    "Verification email sent. Check your inbox.": "تم إرسال رسالة التحقق. تحقق من بريدك الوارد.",
    "Password reset email requested. Check your inbox.": "تم طلب رسالة إعادة تعيين كلمة المرور. تحقق من بريدك الوارد.",
    "Firebase is not configured.": "لم يتم إعداد Firebase.",
    "Please sign in again.": "يرجى تسجيل الدخول مجدداً.",
    "Email or password is incorrect.": "البريد الإلكتروني أو كلمة المرور غير صحيحة.",
    "An account already exists for this email.": "يوجد حساب لهذا البريد الإلكتروني بالفعل.",
    "Use a stronger password (at least 6 characters).": "استخدم كلمة مرور أقوى (6 أحرف على الأقل).",
    "Sign-in was cancelled.": "تم إلغاء تسجيل الدخول.",
    "Too many attempts. Please try again later.": "محاولات كثيرة. يرجى المحاولة لاحقاً.",
    "Connection failed. Please retry.": "فشل الاتصال. يرجى إعادة المحاولة.",
    "Sign in using your original account method.": "سجّل الدخول بطريقة الحساب الأصلية.",
    "Account changed. Please retry.": "تم تغيير الحساب. يرجى إعادة المحاولة.",
    "Saving…": "جارٍ الحفظ…",
    "Saved": "تم الحفظ",
    "Save failed — retry": "فشل الحفظ — أعد المحاولة",
    "Resolve the save conflict before leaving this menu.": "حل تعارض الحفظ قبل مغادرة هذه القائمة.",
    "A newer version exists. Reload or save a copy.": "توجد نسخة أحدث. أعد التحميل أو احفظ نسخة مستقلة.",
    "Reload saved menu": "إعادة تحميل القائمة المحفوظة",
    "Save as separate archive": "حفظ كسجل مستقل",
    "Discard local changes and reload the saved menu?": "تجاهل التغييرات المحلية وإعادة تحميل القائمة المحفوظة؟",
    "No saved menus yet.": "لا توجد قوائم محفوظة بعد.",
    "Open": "فتح",
    "Rename": "إعادة تسمية",
    "Menu name": "اسم القائمة",
    "Delete this saved menu?": "حذف هذه القائمة المحفوظة؟",
    "Load more": "تحميل المزيد",
    "{used} of {limit} AI calls used · {remaining} remaining": "تم استخدام {used} من {limit} استدعاء ذكاء اصطناعي · المتبقي {remaining}",
    "Resets: {date}": "يتجدد في: {date}",
    "Reported tokens: {input} input · {output} output · {total} total": "الرموز المبلّغ عنها: {input} إدخال · {output} إخراج · الإجمالي {total}",
    "Token totals include only usage reported by providers. Failed calls also consume the allowance.": "تشمل إجماليات الرموز الاستخدام الذي يبلغ عنه المزودون فقط. تُحتسب الاستدعاءات الفاشلة ضمن الحد أيضاً.",
    "Menu import": "استيراد القائمة",
    "Website import": "استيراد موقع إلكتروني",
    "AI edit": "تعديل بالذكاء الاصطناعي",
    "Image search and review": "بحث الصور ومراجعتها",
    "Image generation and review": "إنشاء الصور ومراجعتها",
    "Image review": "مراجعة الصور",
    "AI operation": "عملية ذكاء اصطناعي",
    "succeeded": "نجح",
    "failed": "فشل",
    "interrupted": "متوقف",
    "dispatched": "تم الإرسال",
    "Unknown": "غير معروف",
    "tokens": "رموز",
    "Monthly AI allowance exhausted.": "تم استنفاد الحد الشهري للذكاء الاصطناعي.",
    "AI usage storage is unavailable. Please retry later.": "تخزين استخدام الذكاء الاصطناعي غير متاح. يرجى المحاولة لاحقاً.",
    "Your AI allowance is not configured correctly.": "لم يتم إعداد حد استخدام الذكاء الاصطناعي بشكل صحيح.",
    "Saved data is temporarily unavailable. Please retry.": "البيانات المحفوظة غير متاحة مؤقتاً. يرجى إعادة المحاولة.",
    "Temporary image unavailable. Fetch or generate a replacement.": "الصورة المؤقتة غير متاحة. ابحث عن بديل أو أنشئ صورة جديدة.",
    "Please sign in.": "يرجى تسجيل الدخول.",
    "Authentication is temporarily unavailable.": "المصادقة غير متاحة مؤقتاً.",
    "Archive not found.": "القائمة المحفوظة غير موجودة.",
    "Archive changed while loading. Reload it.": "تغيرت القائمة أثناء التحميل. أعد تحميلها.",
    "Archive exceeds the 20 MB snapshot limit.": "تتجاوز القائمة حد الحفظ البالغ 20 ميغابايت.",
    "Archive was deleted. Save as a separate archive.": "تم حذف القائمة. احفظها كسجل مستقل.",
    "A newer version exists. Reload first.": "توجد نسخة أحدث. أعد التحميل أولاً.",
    "Cursor expired. Reload the list.": "انتهت صلاحية مؤشر الصفحة. أعد تحميل القائمة.",
    "Link after Firebase Storage upload": "يتوفر الرابط بعد الرفع إلى Firebase Storage",
    "{count} awaiting Firebase Storage upload": "{count} بانتظار الرفع إلى Firebase Storage",
    "Storage: {stage}": "التخزين: {stage}",
    "Generate one image for this item. You will review it before anything is uploaded to Firebase Storage.": "أنشئ صورة واحدة لهذا الصنف. ستراجعها قبل رفع أي شيء إلى Firebase Storage.",
    "Create {count} image(s) for items without a usable image. You will review the exact image before anything is uploaded to Firebase Storage.": "أنشئ {count} صورة للأصناف التي لا تملك صورة مناسبة. ستراجع الصورة قبل رفعها إلى Firebase Storage.",
    "Firebase Storage is not configured. Your approved previews remain available in this tab.": "لم يتم إعداد Firebase Storage. الصور المعتمدة محفوظة في هذه الصفحة.",
    "Uploading approved images to Firebase Storage…": "جارٍ رفع الصور المعتمدة إلى Firebase Storage…",
    "Publishing approved image to Firebase Storage": "نشر الصورة المعتمدة في Firebase Storage",
    "Uploading approved images to Firebase Storage. Anyone with an exported image link can download it.": "جارٍ رفع الصور المعتمدة إلى Firebase Storage. يمكن لأي شخص يملك رابط الصورة المصدّر تنزيلها.",
    "Firebase Storage upload failed. Retry to resume.": "فشل الرفع إلى Firebase Storage. أعد المحاولة للمتابعة.",
    "Firebase Storage link verification failed. Retry to resume.": "فشل التحقق من رابط Firebase Storage. أعد المحاولة للمتابعة.",
    "Firebase Storage publication failed. Retry to resume.": "فشل النشر في Firebase Storage. أعد المحاولة للمتابعة.",
    "Some images are still awaiting upload. Retry export to finish publishing them.": "لا تزال بعض الصور تنتظر الرفع. أعد محاولة التصدير لإكمال نشرها.",
    "The Firebase download link did not return the approved image. Retry verification.": "لم يُرجع رابط Firebase الصورة المعتمدة. أعد محاولة التحقق.",
    "Upload stopped. Completed images were kept. Retry export to finish the remaining uploads.": "تم إيقاف الرفع. تم الاحتفاظ بالصور المكتملة. أعد التصدير لإكمال رفع الصور المتبقية.",
    "Edit image": "تعديل الصورة",
    "Discard edit": "تجاهل التعديل",
    "Describe the changes to this image. Review the edited preview before approving it. Failed edits keep your current image.": "اكتب التغييرات المطلوبة على هذه الصورة. راجع الصورة المعدّلة قبل اعتمادها. إذا فشل التعديل، ستبقى صورتك الحالية.",
    "Image edit prompt": "تعليمات تعديل الصورة",
    "Custom generation instructions (optional)": "تعليمات مخصصة لإنشاء الصور (اختياري)",
    "For example: use a darker background and softer lighting, keeping the food unchanged.": "مثال: استخدم خلفية أغمق وإضاءة أنعم، مع إبقاء الطعام كما هو.",
    "Applied to every selected image. Describe background, lighting, camera angle or presentation. Item identity and image checks still apply.": "تُطبّق على كل صورة محددة. صف الخلفية أو الإضاءة أو زاوية التصوير أو التقديم. تبقى هوية الصنف وفحوصات الصور مطلوبة.",
    "Generate edited preview": "إنشاء معاينة معدّلة",
    "Editing image for {name}…": "جارٍ تعديل صورة {name}…",
    "The edited image did not pass validation. Your current image has been kept.": "لم تجتز الصورة المعدّلة التحقق. تم الاحتفاظ بصورتك الحالية.",
    "The image edit failed. Your current image has been kept. Retry or select another model.": "فشل تعديل الصورة. تم الاحتفاظ بصورتك الحالية. أعد المحاولة أو اختر نموذجاً آخر.",
    "Choose an existing image to edit.": "اختر صورة موجودة لتعديلها.",
    "The current local image preview is required.": "معاينة الصورة المحلية الحالية مطلوبة.",
    "Choose exactly one image to edit.": "اختر صورة واحدة فقط لتعديلها.",
    "Delete image": "حذف الصورة",
    "Generation prompts": "تعليمات إنشاء الصور",
    "English generation prompt": "تعليمات إنشاء الصورة بالإنجليزية",
    "Arabic generation prompt": "تعليمات إنشاء الصورة بالعربية",
    "Generate in English": "إنشاء بالإنجليزية",
    "Generate in Arabic": "إنشاء بالعربية",
    "Loading initial prompt…": "جارٍ تحميل التعليمات الأولية…",
    "Could not load image prompts. Retry to see the initial prompts.": "تعذر تحميل تعليمات الصور. أعد المحاولة لعرض التعليمات الأولية.",
    "Retry prompts": "إعادة تحميل التعليمات",
    "Global generation instructions": "تعليمات إنشاء الصور العامة",
    "Loading initial instructions…": "جارٍ تحميل التعليمات الأولية…",
    "Follow global instructions": "اتباع التعليمات العامة",
    "Global instructions are controlled by each image's checkbox in the Images tab.": "يحدد مربع الاختيار الخاص بكل صورة في تبويب الصور ما إذا كانت ستتبع التعليمات العامة.",
    "Image details and prompts": "تفاصيل الصورة وتعليمات الإنشاء",
    "Enable AI image validation": "تفعيل التحقق من الصور بالذكاء الاصطناعي",
    "When off, images are used as found without AI ranking, cropping, or visual checks. Approve each preview yourself.": "عند إيقافه، تُستخدم الصور كما وُجدت دون ترتيب أو قص أو تحقق بصري بالذكاء الاصطناعي. راجع كل صورة ووافق عليها بنفسك.",
    "AI validation skipped": "تم تخطي التحقق بالذكاء الاصطناعي",
    "AI validation skipped; review this image yourself before approving.": "تم تخطي التحقق بالذكاء الاصطناعي؛ راجع هذه الصورة بنفسك قبل الموافقة عليها.",
    "Opening candidate {count} of {count_2} for {text}": "فتح الصورة المرشحة {count} من {count_2} للصنف {text}",
    "Shared by images with Follow global instructions checked. Uncheck an image to use only its own prompt. Choose whether to validate when fetching or generating.": "تُطبق التعليمات المشتركة على الصور التي تم تفعيل اتباع التعليمات العامة لها. ألغِ التحديد لاستخدام وصف الصورة فقط. اختر تفعيل التحقق أو إيقافه عند الجلب أو الإنشاء.",
    "Edit either initial prompt, then generate only this item in that language. Choose whether to validate in the generation dialog.": "عدّل أحد الوصفين، ثم أنشئ صورة لهذا الصنف فقط بتلك اللغة. اختر تفعيل التحقق أو إيقافه في نافذة إنشاء الصور.",
    "Reference images (optional)": "صور مرجعية (اختياري)",
    "Attach up to 5 images to guide the style or appearance. Used only by images following global instructions. References stay in this tab; attach them again after reopening.": "أرفق حتى 5 صور لتوجيه الأسلوب أو المظهر. تُستخدم فقط مع الصور التي تتبع التعليمات العامة. تبقى الصور المرجعية في هذه الصفحة؛ أرفقها مجدداً عند إعادة الفتح.",
    "Remove reference": "حذف الصورة المرجعية",
    "Choose at most 5 generation reference images.": "اختر حتى 5 صور مرجعية لإنشاء الصور.",
    "Reference images exceed the total upload limit.": "تتجاوز الصور المرجعية الحد الإجمالي للرفع.",
    "Image size (pixels)": "حجم الصورة (بالبكسل)",
    "Generation logo (optional)": "شعار الصور المولدة (اختياري)",
    "Remove logo": "إزالة الشعار",
    "Export images": "تصدير الصور",
    "Import images": "استيراد الصور",
    "Delete images": "حذف الصور",
    "Import restaurant image ZIP": "استيراد ملف ZIP لصور المطعم",
    "Image export failed. Please retry.": "تعذر تصدير الصور. حاول مجدداً.",
    "Wait for image processing to finish before opening History.": "انتظر انتهاء معالجة الصور قبل فتح السجل.",
    "Import matching photos from this ZIP? Existing matching photos will be replaced. AI validation is skipped; review imported photos before exporting.": "هل تريد استيراد الصور المطابقة من ملف ZIP هذا؟ ستُستبدل الصور الحالية المطابقة. لن يتم التحقق بالذكاء الاصطناعي؛ راجع الصور المستوردة قبل التصدير.",
    "Permanently delete this restaurant's uploaded image files and remove all its saved photos? Menu items are kept. Exported links and other saved menus using these files will stop working.": "هل تريد حذف ملفات الصور المرفوعة لهذا المطعم نهائياً وإزالة جميع صوره المحفوظة؟ ستبقى أصناف القائمة. ستتوقف الروابط المصدرة والقوائم الأخرى التي تستخدم هذه الملفات عن عرض الصور.",
    "Image export progress": "تقدم تصدير الصور",
    "Starting image export…": "جارٍ بدء تصدير الصور…",
    "Preparing images: {completed} of {total}": "جارٍ تجهيز الصور: {completed} من {total}",
    "Creating ZIP…": "جارٍ إنشاء ملف ZIP…",
    "Downloading ZIP… {percent}%": "جارٍ تنزيل ملف ZIP… {percent}%",
    "Image export complete": "اكتمل تصدير الصور",
    "Image file format": "صيغة ملف الصورة",
    "Images keep the selected size and format. If PNG exceeds 400 KB, choose a smaller size, JPEG or WebP.": "تحتفظ الصور بالحجم والصيغة المحددين. إذا تجاوزت صورة PNG حجم 400 كيلوبايت، اختر حجماً أصغر أو صيغة JPEG أو WebP.",
    "Request progress": "تقدم الطلبات",
    "Working…": "جارٍ العمل…",
    "Exporting images": "جارٍ تصدير الصور",
    "Importing images": "جارٍ استيراد الصور",
    "Generating images": "جارٍ توليد الصور",
    "Editing image": "جارٍ تعديل الصورة",
    "Finding images": "جارٍ البحث عن الصور",
    "Uploading images": "جارٍ رفع الصور",
    "Importing image": "جارٍ استيراد الصورة",
    "Saving image choice": "جارٍ حفظ الصورة المختارة",
    "Loading image prompts": "جارٍ تحميل تعليمات الصور",
    "Deleting data": "جارٍ حذف البيانات",
    "Exporting menu data": "جارٍ تصدير بيانات القائمة",
    "Preparing AI changes": "جارٍ تجهيز تغييرات الذكاء الاصطناعي",
    "Importing menu data": "جارٍ استيراد بيانات القائمة",
    "Saving data": "جارٍ حفظ البيانات",
    "Loading AI usage": "جارٍ تحميل استخدام الذكاء الاصطناعي",
    "Loading saved menus": "جارٍ تحميل القوائم المحفوظة",
    "Loading settings": "جارٍ تحميل الإعدادات",
    "{percent}% complete": "اكتمل {percent}%",
    "Processed {completed} of {total}": "تمت معالجة {completed} من {total}",
    "Request stopped": "توقف الطلب",
    "Request failed": "فشل الطلب",
    "Complete": "مكتمل",
    "Signing in": "جارٍ تسجيل الدخول",
    "Updating account": "جارٍ تحديث الحساب",
    "Upload one logo to overlay in the top-right corner of every generated image. The logo stays in this tab; attach it again after reopening.": "ارفع شعاراً واحداً لعرضه كطبقة فوق الزاوية العلوية اليمنى لكل صورة مولدة. يبقى الشعار في علامة التبويب هذه؛ أعد إرفاقه بعد إعادة الفتح.",
    "Queued image edit": "تعديل صورة في قائمة الانتظار",
    "Edit queued · position {position}": "التعديل في الانتظار · الموضع {position}",
    "Queued image changed. Submit its edit again.": "تغيرت الصورة الموجودة في الانتظار. أرسل تعديلها مجدداً.",
    "Edits run in submission order. Queue other images while waiting. Stop cancels active and queued edits.": "تُنفذ التعديلات بترتيب إرسالها. أضف صوراً أخرى إلى الانتظار أثناء العمل. يؤدي الإيقاف إلى إلغاء التعديل الحالي والتعديلات المنتظرة.",
    "Choose the original or edited image before exporting.": "اختر الصورة الأصلية أو المعدلة قبل التصدير.",
    "Choose one image to confirm. Your original stays unchanged until you choose.": "اختر إحدى الصورتين للتأكيد. تبقى صورتك الأصلية دون تغيير حتى تختار.",
    "Edited image": "الصورة المعدلة",
    "Original image": "الصورة الأصلية",
    "Use edited image": "استخدم الصورة المعدلة",
    "Keep original image": "احتفظ بالصورة الأصلية",
    "Meal presentation": "طريقة تقديم الوجبات",
    "Always in boxes": "دائماً في علب، بدون أطباق",
    "Always on plates": "دائماً على أطباق، بدون علب",
    "Mixed — boxes or plates": "مزيج — علب أو أطباق",
    "Shorten the global instructions to make room for the meal presentation rule.": "اختصر التعليمات العامة لإتاحة مساحة لقاعدة تقديم الوجبات.",
    "Logo position": "موضع الشعار",
    "Top right": "أعلى اليمين",
    "Top left": "أعلى اليسار",
    "Bottom right": "أسفل اليمين",
    "Bottom left": "أسفل اليسار",
    "The uploaded logo overlays the selected corner of every generated image. With boxes or mixed presentation, it is also used to brand any meal boxes shown. The logo stays in this tab; attach it again after reopening.": "يظهر الشعار المرفوع في الزاوية المختارة لكل صورة مولدة. عند اختيار العلب أو المزيج، يُستخدم الشعار أيضاً على علب الوجبات الظاهرة. يبقى الشعار في علامة التبويب هذه؛ أعد إرفاقه بعد إعادة الفتح.",
    "Search images by English or Arabic item name": "ابحث في الصور باسم الصنف بالعربية أو الإنجليزية",
    "Search English or Arabic item name…": "ابحث باسم الصنف بالعربية أو الإنجليزية…",
    "{count} of {total} items": "{count} من {total} أصناف",
    "No items match this name.": "لا توجد أصناف تطابق هذا الاسم.",
    "Price adjustments": "تعديلات الأسعار",
    "Adjustments apply from top to bottom. Source prices stay unchanged.": "تُطبّق التعديلات بالترتيب من الأعلى إلى الأسفل. تبقى الأسعار الأصلية دون تغيير.",
    "Add adjustment": "إضافة تعديل",
    "Adjustment": "تعديل",
    "Tax": "الضريبة",
    "Options tax": "ضريبة الخيارات",
    "Enabled": "مفعّل",
    "Operation": "العملية",
    "Amount type": "نوع القيمة",
    "Amount": "القيمة",
    "Amount or factor": "القيمة أو المعامل",
    "Price targets": "الأسعار المستهدفة",
    "Subtract": "طرح",
    "Multiply": "ضرب",
    "Divide": "قسمة",
    "Remove included tax": "إزالة الضريبة المتضمنة",
    "Fixed amount": "قيمة ثابتة",
    "Percentage": "نسبة مئوية",
    "All items": "جميع الأصناف",
    "Specific items": "أصناف محددة",
    "Item prices": "أسعار الأصناف",
    "Option prices": "أسعار الخيارات",
    "Items and options": "الأصناف والخيارات",
    "Move up": "نقل للأعلى",
    "Move down": "نقل للأسفل",
    "Choose items": "اختيار الأصناف",
    "Use current selection": "استخدام التحديد الحالي",
    "No matching items. This field will not change any prices.": "لا توجد أصناف مطابقة. لن يغيّر هذا الحقل أي أسعار.",
    "150% multiplies the price by 1.5.": "‏150% تضرب السعر في 1.5.",
    "50% divides the price by 0.5.": "‏50% تقسم السعر على 0.5.",
    "Adjustment name is required.": "اسم التعديل مطلوب.",
    "Choose a valid operation.": "اختر عملية صالحة.",
    "Choose an amount type.": "اختر نوع القيمة.",
    "Choose valid price targets.": "اختر أسعارًا مستهدفة صالحة.",
    "Amount must be a finite, nonnegative number.": "يجب أن تكون القيمة رقمًا محدودًا وغير سالب.",
    "Percentage must be between 0 and 10000.": "يجب أن تكون النسبة بين 0 و10000.",
    "Cannot divide by zero.": "لا يمكن القسمة على صفر.",
    "{name}: Adjustment produces a negative price.": "{name}: ينتج عن التعديل سعر سالب.",
    "{name}: Cannot divide by zero.": "{name}: لا يمكن القسمة على صفر.",
    "{name}: Adjustment name is required.": "{name}: اسم التعديل مطلوب.",
    "{name}: Amount must be a finite, nonnegative number.": "{name}: يجب أن تكون القيمة رقمًا محدودًا وغير سالب.",
    "{name}: Percentage must be between 0 and 10000.": "{name}: يجب أن تكون النسبة بين 0 و10000.",
    "Legacy rounding preserved": "تم الحفاظ على التقريب السابق",
    "Workers": "عدد العمال",
    "More workers can finish faster but use more resources and provider capacity.": "زيادة عدد العمال قد تُسرّع الإنجاز، لكنها تستهلك موارد أكثر وسعة أكبر لدى مزوّد الخدمة.",
    "Scraped website": "موقع للاستخراج",
    "Talabat": "طلبات",
    "Bites N Bags": "بايتس إن باغز",
    "Other website": "موقع آخر",
    "Comparing items": "جارٍ مقارنة الأصناف",
    "Source match passed": "اجتازت مطابقة المصدر",
    "Source match rejected": "رُفضت مطابقة المصدر",
    "Source match: {count}%": "مطابقة المصدر: {count}٪",
    "The menu URL must belong to the selected website.": "يجب أن ينتمي رابط القائمة إلى الموقع المحدد.",
    "Choose a website and enter its public menu URL.": "اختر موقعًا وأدخل رابط قائمته العامة.",
    "No source item passed the required matching confidence.": "لم يجتز أي صنف من المصدر نسبة الثقة المطلوبة للمطابقة.",
    "Source item did not pass the required matching confidence.": "لم يجتز صنف المصدر نسبة الثقة المطلوبة للمطابقة.",
    "Not enough source item evidence to compare.": "لا توجد معلومات كافية عن صنف المصدر للمقارنة.",
    "With AI validation enabled, website items must pass Validation confidence before their photos are downloaded and visually checked.": "عند تفعيل التحقق بالذكاء الاصطناعي، يجب أن تجتاز أصناف الموقع نسبة الثقة المطلوبة قبل تنزيل صورها وفحصها بصريًا.",
    "Use image": "استخدام الصورة",
    "Choose one photo for this item. It will be optimized without AI validation. Review and approve it yourself. A current image is kept if the upload fails.": "اختر صورة واحدة لهذا الصنف. سيتم تحسينها دون تحقق بالذكاء الاصطناعي. راجعها ووافق عليها بنفسك. ستبقى الصورة الحالية إذا فشل الرفع.",
    "Preparing your uploaded photo for {name}…": "جارٍ تجهيز صورتك المرفوعة للصنف {name}…",
    "You chose this photo. Its original link is ready for export.": "اخترت هذه الصورة. رابطها الأصلي جاهز للتصدير.",
    "Choose the original fetched image link without uploading a file.": "اختر رابط الصورة المسترجعة الأصلي دون رفع ملف.",
    "Similar dish · not verified as this restaurant’s photo": "صنف مشابه · لم يتم التحقق من أنها صورة هذا المطعم",
    "Internet fallback": "البحث الاحتياطي على الإنترنت",
    "Restaurant and file sources run first. Internet is an automatic fallback for unresolved items, with one search and up to three photo checks per item. Remove Internet to disable fallback.": "تُستخدم مصادر المطعم والملفات أولًا. يُستخدم الإنترنت تلقائيًا للأصناف المتبقية، ببحث واحد وفحص ثلاث صور كحد أقصى لكل صنف. احذف مصدر الإنترنت لتعطيل البحث الاحتياطي.",
    "Reusing the approved image link; no AI checks needed.": "إعادة استخدام رابط الصورة المعتمدة؛ لا حاجة لفحص بالذكاء الاصطناعي.",
    "Visual identity did not pass; content check skipped to save AI usage.": "لم تجتز الصورة مطابقة الصنف؛ تم تخطي فحص المحتوى لتوفير استخدام الذكاء الاصطناعي.",
    "Internet fallback reached its three-photo limit. Retry this item to search again.": "وصل البحث الاحتياطي إلى حد ثلاث صور. أعد محاولة هذا الصنف للبحث مجددًا.",
    "Not shortlisted · AI not used": "لم تُدرج ضمن المرشحين · لم يُستخدم الذكاء الاصطناعي",
    "Not shortlisted; no AI comparison or image download was performed.": "لم تُدرج ضمن المرشحين؛ لم تُجرَ مقارنة بالذكاء الاصطناعي أو تُنزل الصورة.",
    "Administration": "الإدارة",
    "Admin sign-in": "تسجيل دخول المسؤول",
    "Sign out": "تسجيل الخروج",
    "Users": "المستخدمون",
    "Model prices": "أسعار النماذج",
    "Admin activity": "نشاط المسؤول",
    "Account cleanup": "حذف بيانات الحسابات",
    "Loading…": "جارٍ التحميل…",
    "Admin session changed. Sign in again.": "تغيرت جلسة المسؤول. سجّل الدخول مجدداً.",
    "Admin sign-in required.": "يجب تسجيل دخول المسؤول.",
    "Admin session expired. Sign in again.": "انتهت جلسة المسؤول. سجّل الدخول مجدداً.",
    "Admin credentials are not configured.": "لم تُضبط بيانات دخول المسؤول.",
    "AI calls": "استدعاءات الذكاء الاصطناعي",
    "Reported tokens": "الرموز المسجلة",
    "Estimated provider cost (USD)": "تكلفة المزود التقديرية (دولار أمريكي)",
    "Lifetime cost (USD)": "التكلفة الإجمالية (دولار أمريكي)",
    "Known subtotal; {count} calls have incomplete costs.": "المجموع المعروف؛ تكلفة {count} استدعاء غير مكتملة.",
    "Lifetime: {count} calls have incomplete costs.": "الإجمالي: تكلفة {count} استدعاء غير مكتملة.",
    "Find by email or user ID": "البحث بالبريد الإلكتروني أو معرّف المستخدم",
    "Month (UTC)": "الشهر (بتوقيت UTC)",
    "Search": "بحث",
    "Costs are estimates of AI provider spending, excluding taxes, credits, free tiers, hosting and storage.": "التكاليف تقديرية لمزودي الذكاء الاصطناعي، ولا تشمل الضرائب والأرصدة والحصص المجانية والاستضافة والتخزين.",
    "Disabled": "معطّل",
    "Manage": "إدارة",
    "AI calls / limit": "الاستدعاءات / الحد",
    "Incomplete costs": "تكاليف غير مكتملة",
    "No users found.": "لم يُعثر على مستخدمين.",
    "User management": "إدارة المستخدم",
    "Back to users": "العودة إلى المستخدمين",
    "Enable account": "تفعيل الحساب",
    "Disable account": "تعطيل الحساب",
    "Disable this account and end its sessions?": "هل تريد تعطيل هذا الحساب وإنهاء جلساته؟",
    "Revoke sessions": "إنهاء الجلسات",
    "End all sessions for this user?": "هل تريد إنهاء جميع جلسات هذا المستخدم؟",
    "Sessions revoked.": "تم إنهاء الجلسات.",
    "Send password reset email": "إرسال بريد إعادة تعيين كلمة المرور",
    "Monthly AI call limit": "الحد الشهري لاستدعاءات الذكاء الاصطناعي",
    "Save allowance": "حفظ الحد",
    "Delete account and data": "حذف الحساب والبيانات",
    "This permanently deletes the account, saved menus, usage and published images. Type the user ID to confirm:": "سيُحذف الحساب والقوائم المحفوظة والاستخدام والصور المنشورة نهائياً. اكتب معرّف المستخدم للتأكيد:",
    "Saved history": "السجل المحفوظ",
    "Started": "وقت البدء",
    "No usage recorded for this month.": "لا يوجد استخدام مسجل لهذا الشهر.",
    "Items": "العناصر",
    "Updated": "آخر تحديث",
    "View menu": "عرض القائمة",
    "Category": "الفئة",
    "Description": "الوصف",
    "Download saved menu": "تنزيل القائمة المحفوظة",
    "No saved history.": "لا يوجد سجل محفوظ.",
    "New prices apply to future calls. Blank prices mean unknown; existing estimates keep their original prices.": "تُطبق الأسعار الجديدة على الاستدعاءات المستقبلية. السعر الفارغ يعني غير معروف؛ وتحتفظ التقديرات السابقة بأسعارها الأصلية.",
    "Text input ($ per 1M tokens)": "إدخال النص (دولار لكل مليون رمز)",
    "Cached text input ($ per 1M tokens)": "إدخال النص المخزن مؤقتاً (دولار لكل مليون رمز)",
    "Text output ($ per 1M tokens)": "إخراج النص (دولار لكل مليون رمز)",
    "Image input ($ per 1M tokens)": "إدخال الصور (دولار لكل مليون رمز)",
    "Cached image input ($ per 1M tokens)": "إدخال الصور المخزن مؤقتاً (دولار لكل مليون رمز)",
    "Image output ($ per 1M tokens)": "إخراج الصور (دولار لكل مليون رمز)",
    "Search ($ per call)": "البحث (دولار لكل استدعاء)",
    "Image output ($ per image)": "إخراج الصور (دولار لكل صورة)",
    "Cache writes ($ per 1M tokens)": "كتابة التخزين المؤقت (دولار لكل مليون رمز)",
    "Provider": "المزود",
    "Price source": "مصدر الأسعار",
    "Price valid through (optional)": "السعر صالح حتى (اختياري)",
    "Long-context threshold (tokens, optional)": "حد السياق الطويل (بالرموز، اختياري)",
    "Long-context prices": "أسعار السياق الطويل",
    "Save model prices": "حفظ أسعار النموذج",
    "Apply these prices to future AI calls?": "هل تريد تطبيق هذه الأسعار على الاستدعاءات المستقبلية؟",
    "Actor": "المسؤول",
    "Action": "الإجراء",
    "Target": "الهدف",
    "Cleanup waits for active requests to finish. Continue unfinished jobs to remove all account data.": "ينتظر الحذف انتهاء الطلبات النشطة. تابع المهام غير المكتملة لحذف جميع بيانات الحساب.",
    "User ID": "معرّف المستخدم",
    "Continue cleanup": "متابعة الحذف",
    "No account cleanup jobs.": "لا توجد مهام لحذف الحسابات.",
    "Estimated provider cost (USD): ${cost}": "تكلفة المزود التقديرية (دولار أمريكي): ${cost}",
    "Lifetime provider cost (USD): ${cost}": "إجمالي تكلفة المزود (دولار أمريكي): ${cost}",
    "Known provider cost (USD): ${cost} · Incomplete costs": "تكلفة المزود المعروفة (دولار أمريكي): ${cost} · تكاليف غير مكتملة",
    "waiting": "بانتظار انتهاء الطلبات",
    "cleaning": "جارٍ حذف البيانات",
    "complete": "مكتمل",
    "login": "تسجيل الدخول",
    "logout": "تسجيل الخروج",
    "disable": "تعطيل",
    "enable": "تفعيل",
    "revoke_sessions": "إنهاء الجلسات",
    "set_allowance": "تعديل الحد",
    "reset_password": "إعادة تعيين كلمة المرور",
    "delete_account": "حذف الحساب",
    "continue_deletion": "متابعة الحذف",
    "set_price": "تعديل السعر",
    "Too many login attempts. Try again in 15 minutes.": "محاولات دخول كثيرة. حاول بعد 15 دقيقة.",
    "Invalid CSRF token.": "رمز حماية الطلب غير صالح.",
    "Cross-origin admin request rejected.": "تم رفض طلب إدارة من مصدر آخر.",
    "This user signs in through an external provider; reset their password there.": "يستخدم هذا المستخدم مزود تسجيل دخول خارجي؛ أعد تعيين كلمة المرور هناك.",
    "Password reset email is temporarily unavailable.": "بريد إعادة تعيين كلمة المرور غير متاح مؤقتاً.",
    "Firebase could not send the reset email. Check authentication settings and retry.": "تعذر إرسال بريد إعادة التعيين. تحقق من إعدادات المصادقة وحاول مجدداً.",
    "Account cleanup failed. Retry the deletion job.": "فشل حذف بيانات الحساب. أعد محاولة المهمة.",
    "Account deletion is in progress.": "حذف الحساب قيد التنفيذ.",
    "Deletion cleanup is already running. Retry shortly.": "حذف البيانات قيد التنفيذ بالفعل. حاول بعد قليل.",
    "This account is being deleted.": "يجري حذف هذا الحساب.",
    "This account is disabled.": "هذا الحساب معطّل.",
    "Your account is pending admin approval.": "حسابك بانتظار موافقة المسؤول.",
    "Verify your email before using the app. New accounts also need admin approval.": "تحقق من بريدك الإلكتروني قبل استخدام التطبيق. تحتاج الحسابات الجديدة أيضًا إلى موافقة المسؤول.",
    "Check approval": "التحقق من الموافقة",
    "Approval": "الموافقة",
    "Pending approval": "بانتظار الموافقة",
    "Approve account": "الموافقة على الحساب",
    "Approve access for this user?": "هل تريد السماح لهذا المستخدم بالوصول إلى التطبيق؟",
    "approve_account": "الموافقة على الحساب",
    "Cost unavailable": "التكلفة غير متاحة",
    "Estimated provider cost (USD): unavailable": "تكلفة المزود التقديرية (بالدولار): غير متاحة",
    "Lifetime provider cost (USD): unavailable": "تكلفة المزود طوال مدة الحساب (بالدولار): غير متاحة",
    "Costs are unavailable when prices or billing usage were not recorded.": "التكاليف غير متاحة عندما لا تكون الأسعار أو بيانات الاستخدام للفوترة مسجلة.",
    "ADMIN WORKSPACE": "مساحة إدارة التطبيق",
    "SECURE ACCESS": "دخول آمن",
    "WORKSPACE": "مساحة العمل",
    "Your workspace, under control.": "مساحة عملك تحت إدارتك.",
    "Manage access, understand AI spending, and keep every account organized.": "أدر الوصول، وتابع تكاليف الذكاء الاصطناعي، ونظّم جميع الحسابات.",
    "User approvals and account controls": "الموافقة على المستخدمين وإدارة الحسابات",
    "Usage history and transparent USD estimates": "سجل الاستخدام وتقديرات واضحة بالدولار",
    "Versioned prices and an activity trail": "إصدارات الأسعار وسجل إجراءات الإدارة",
    "Back to workspace": "العودة إلى مساحة العمل",
    "Use your administrator credentials. This login is separate from user accounts.": "استخدم بيانات دخول المسؤول. هذا الدخول منفصل عن حسابات المستخدمين.",
    "The email configured for the administrator.": "عنوان البريد الإلكتروني المحدد لحساب المسؤول.",
    "Enter your admin password, not its generated hash.": "أدخل كلمة مرور المسؤول نفسها، وليس قيمة التجزئة التي تم إنشاؤها.",
    "Access, accounts and usage": "الوصول والحسابات والاستخدام",
    "Rates for future AI calls": "أسعار طلبات الذكاء الاصطناعي القادمة",
    "Actions and their outcomes": "الإجراءات ونتائجها",
    "Track and retry deletions": "متابعة عمليات الحذف وإعادة محاولتها",
    "Admin session active": "جلسة المسؤول نشطة",
    "Management actions are recorded in the activity log.": "تُسجّل إجراءات الإدارة في سجل النشاط.",
    "Enter a complete email address or user ID to find one account. Leave blank to browse all users.": "أدخل البريد الإلكتروني كاملًا أو معرّف المستخدم للعثور على حساب. اترك الحقل فارغًا لعرض جميع المستخدمين.",
    "Usage and calls are grouped by calendar month in UTC. Lifetime totals include every recorded month.": "يُجمع الاستخدام والطلبات حسب الشهر بتوقيت UTC. تشمل الإجماليات طوال مدة الحساب جميع الأشهر المسجلة.",
    "Maximum provider calls per UTC month. Retries and assessments also count. Changing this preserves past usage and costs.": "أقصى عدد لطلبات المزود خلال شهر بتوقيت UTC. تُحتسب إعادة المحاولات والتقييمات أيضًا. تغيير الحد لا يحذف الاستخدام أو التكاليف السابقة.",
    "The AI company that bills this model. Choose OpenAI or Google.": "شركة الذكاء الاصطناعي التي تفوتر هذا النموذج. اختر OpenAI أو Google.",
    "Use the exact provider model ID, including any preview or version suffix.": "استخدم معرّف النموذج الدقيق لدى المزود، بما في ذلك لاحقة المعاينة أو الإصدار إن وجدت.",
    "A pricing-page link or note explaining where these rates came from.": "رابط صفحة الأسعار أو ملاحظة توضح مصدر هذه الأسعار.",
    "Last UTC date these rates may be used. Leave blank for no expiry; expired prices make future costs unavailable.": "آخر تاريخ بتوقيت UTC يمكن استخدام هذه الأسعار فيه. اتركه فارغًا لعدم تحديد انتهاء؛ تصبح تكاليف الطلبات القادمة غير متاحة عند انتهاء الأسعار.",
    "Use the alternate rates when input tokens exceed this number. Leave blank if this model has no pricing tier.": "استخدم الأسعار البديلة عندما تتجاوز رموز الإدخال هذا العدد. اتركه فارغًا إذا لم يكن للنموذج مستوى أسعار إضافي.",
    "USD per million non-cached input tokens. Separate image-input pricing applies when configured.": "دولار لكل مليون رمز إدخال غير مخزّن مؤقتًا. يُطبّق سعر منفصل لرموز الصور عند ضبطه.",
    "USD per million input tokens served from the provider cache.": "دولار لكل مليون رمز إدخال مسترجع من ذاكرة المزود المؤقتة.",
    "USD per million output tokens, including billable reasoning. Separately priced image tokens are excluded.": "دولار لكل مليون رمز إخراج، بما فيها رموز التفكير المفوترة. تُستثنى رموز الصور ذات الأسعار المنفصلة.",
    "USD per million image-input tokens, only when the provider prices them separately.": "دولار لكل مليون رمز إدخال للصور، فقط عندما يسعّرها المزود بشكل منفصل.",
    "USD per million cached image-input tokens, when reported separately.": "دولار لكل مليون رمز إدخال للصور من الذاكرة المؤقتة، عند الإبلاغ عنها منفصلة.",
    "USD per million generated image tokens. Use this or per-image pricing, never both.": "دولار لكل مليون رمز للصور المُولّدة. استخدم هذا السعر أو السعر لكل صورة، وليس كليهما.",
    "USD per billable provider search unit. This is added to token costs when reported.": "دولار لكل وحدة بحث مفوترة لدى المزود. تُضاف إلى تكاليف الرموز عند الإبلاغ عنها.",
    "USD per generated image when the provider charges per image. Leave blank when using image-token pricing.": "دولار لكل صورة مُولّدة عندما يفوتر المزود لكل صورة. اتركه فارغًا عند استخدام سعر رموز الصور.",
    "USD per million tokens written to the provider cache, where separately billed.": "دولار لكل مليون رمز مكتوب في ذاكرة المزود المؤقتة، عند فوترة ذلك بشكل منفصل.",
    "The email address associated with this user's sign-in account.": "البريد الإلكتروني المرتبط بحساب تسجيل دخول هذا المستخدم.",
    "The user's display name, or the saved menu title in history.": "اسم المستخدم الظاهر، أو عنوان القائمة المحفوظة في السجل.",
    "Account access or operation outcome. Disabled accounts cannot use the app.": "حالة الوصول للحساب أو نتيجة العملية. لا تستطيع الحسابات المعطّلة استخدام التطبيق.",
    "New users stay pending until an admin approves access. Email verification is still required.": "يبقى المستخدمون الجدد قيد الانتظار حتى يوافق المسؤول على الوصول. يظل التحقق من البريد الإلكتروني مطلوبًا.",
    "Provider calls used in the selected month, followed by the account's current monthly allowance.": "طلبات المزود المستخدمة في الشهر المحدد، يليها الحد الشهري الحالي للحساب.",
    "Input and output units reported by AI providers. Missing usage is not treated as zero-cost usage.": "وحدات الإدخال والإخراج التي أبلغ عنها مزودو الذكاء الاصطناعي. لا يُعتبر الاستخدام المفقود استخدامًا مجانيًا.",
    "Known provider spending for the selected month. Incomplete calls may make the actual total higher.": "الإنفاق المعروف لدى المزود في الشهر المحدد. قد تجعل الطلبات غير المكتملة الإجمالي الفعلي أعلى.",
    "Known provider spending across all recorded months, including partial subtotals.": "الإنفاق المعروف لدى المزود في جميع الأشهر المسجلة، بما فيه الإجماليات الجزئية.",
    "Calls with missing prices, billing details or final results. Historical calls may have no recorded prices.": "طلبات ينقصها السعر أو تفاصيل الفوترة أو النتائج النهائية. قد لا تتضمن الطلبات القديمة أسعارًا مسجلة.",
    "Open an account, preview a saved menu or continue an unfinished cleanup.": "افتح حسابًا، أو عاين قائمة محفوظة، أو تابع عملية تنظيف لم تكتمل.",
    "The app activity that requested this provider call, such as import or image generation.": "نشاط التطبيق الذي طلب هذا الاتصال بالمزود، مثل الاستيراد أو توليد الصور.",
    "The time this action began, shown in your browser's local time zone.": "وقت بدء هذا الإجراء، معروضًا حسب المنطقة الزمنية المحلية للمتصفح.",
    "Number of menu items in the saved archive.": "عدد عناصر القائمة في الأرشيف المحفوظ.",
    "The most recent recorded update, shown in your browser's local time zone.": "آخر تحديث مسجل، معروضًا حسب المنطقة الزمنية المحلية للمتصفح.",
    "The administrator who initiated the action.": "المسؤول الذي بدأ الإجراء.",
    "The management change requested by the administrator.": "التغيير الإداري الذي طلبه المسؤول.",
    "The account or resource affected by this action.": "الحساب أو المورد الذي تأثر بهذا الإجراء.",
    "The permanent Firebase account identifier. Use it to confirm deletion of the correct user.": "المعرّف الدائم لحساب Firebase. استخدمه لتأكيد حذف المستخدم الصحيح.",
    "The Arabic item name saved in this menu.": "اسم العنصر العربي المحفوظ في هذه القائمة.",
    "The menu category saved for this item.": "فئة القائمة المحفوظة لهذا العنصر.",
    "The item's saved menu price, not an AI provider charge.": "سعر العنصر المحفوظ في القائمة، وليس تكلفة مزود الذكاء الاصطناعي.",
    "The item's saved description, displayed as a read-only preview.": "الوصف المحفوظ للعنصر، معروضًا كمعاينة للقراءة فقط.",
    "Approve new accounts, manage access, and inspect each user's AI activity and spending.": "وافق على الحسابات الجديدة، وأدر الوصول، وراجع نشاط الذكاء الاصطناعي والإنفاق لكل مستخدم.",
    "Review this account's activity and manage its access, limits, and security.": "راجع نشاط هذا الحساب وأدر وصوله وحدوده وأمانه.",
    "Configure provider rates used to estimate the cost of future AI calls.": "اضبط أسعار المزود المستخدمة لتقدير تكاليف طلبات الذكاء الاصطناعي القادمة.",
    "Review who changed what, when it happened, and whether the action succeeded.": "راجع من أجرى التغيير وما الذي تغيّر ووقت حدوثه وما إذا نجح الإجراء.",
    "Monitor account deletions and retry cleanup after an interrupted or failed operation.": "تابع عمليات حذف الحسابات وأعد محاولة التنظيف بعد عملية متوقفة أو فاشلة.",
    "About these fields": "شرح هذه الحقول",
    "Provider calls in the selected UTC month, including retries and assessments.": "طلبات المزود في الشهر المحدد بتوقيت UTC، بما فيها إعادة المحاولات والتقييمات.",
    "User directory": "دليل المستخدمين",
    "Email verified": "تم التحقق من البريد",
    "Email not verified": "البريد غير متحقق منه",
    "Account controls": "إدارة الحساب",
    "Account access": "الوصول إلى الحساب",
    "Monthly allowance": "الحد الشهري",
    "Account security": "أمان الحساب",
    "Danger zone": "إجراءات حساسة",
    "Approval and account status are separate controls. Both must allow access.": "الموافقة وحالة الحساب إعدادان منفصلان. يجب أن يسمح كلاهما بالوصول.",
    "Allow this user to enter the app after email verification. This does not enable a disabled account.": "اسمح لهذا المستخدم بالدخول بعد التحقق من البريد. لا يؤدي ذلك إلى تفعيل حساب معطّل.",
    "Disabling blocks app access and ends existing sessions. Enabling does not approve a pending account.": "يمنع التعطيل الوصول للتطبيق وينهي الجلسات القائمة. لا يؤدي التفعيل إلى الموافقة على حساب قيد الانتظار.",
    "End this user's current sessions. They can sign in again if their account is approved and enabled.": "أنهِ الجلسات الحالية لهذا المستخدم. يمكنه تسجيل الدخول مجددًا إذا كان حسابه معتمدًا ومفعّلًا.",
    "Send a reset email to password accounts. It does not force a password change or revoke sessions.": "أرسل بريد إعادة تعيين للحسابات التي تستخدم كلمة مرور. لا يفرض ذلك تغيير كلمة المرور ولا ينهي الجلسات.",
    "This account uses an external sign-in provider. Passwords are managed by that provider.": "يستخدم هذا الحساب مزود دخول خارجيًا. تُدار كلمات المرور لدى ذلك المزود.",
    "Permanently remove this account, its saved menus, usage records and owned images. Access is blocked before cleanup starts.": "احذف هذا الحساب وقوائمه وسجلات استخدامه وصوره نهائيًا. يُحظر الوصول قبل بدء التنظيف.",
    "Read-only previews of this user's saved menus. Download a snapshot to inspect the original data.": "معاينات للقراءة فقط لقوائم هذا المستخدم المحفوظة. نزّل نسخة لمراجعة البيانات الأصلية.",
    "Choose a model": "اختر نموذجًا",
    "Select a configured model, then review or edit its billing rates.": "اختر نموذجًا مضبوطًا، ثم راجع أسعار الفوترة أو عدّلها.",
    "Model catalog": "دليل النماذج",
    "Models marked Unknown have no configured prices. Add verified rates before estimating their costs.": "النماذج المحددة بأنها غير معروفة ليس لها أسعار مضبوطة. أضف أسعارًا موثوقة قبل تقدير تكاليفها.",
    "How pricing works": "كيف تعمل الأسعار",
    "Standard rates": "الأسعار الأساسية",
    "Model configuration": "إعدادات النموذج",
    "Enter paid rates in USD. Token prices are per million tokens; search and per-image prices are per unit. Blank means unknown, while 0 means a verified zero rate.": "أدخل الأسعار المدفوعة بالدولار. أسعار الرموز لكل مليون رمز؛ وأسعار البحث والصور لكل وحدة. الحقل الفارغ يعني سعرًا غير معروف، بينما 0 يعني سعرًا صفريًا مؤكّدًا.",
    "Activity log": "سجل النشاط",
    "Each management action records an outcome. Failed actions can be investigated without exposing passwords or session tokens.": "تُسجّل نتيجة لكل إجراء إداري. يمكن مراجعة الإجراءات الفاشلة دون كشف كلمات المرور أو رموز الجلسات.",
    "No admin activity recorded.": "لا توجد إجراءات إدارية مسجلة.",
    "Deletion jobs": "عمليات الحذف",
    "This account has admin approval.": "حصل هذا الحساب على موافقة المسؤول.",
    "Usage history is temporarily unavailable while its database index is being set up. Please retry shortly.": "سجل الاستخدام غير متاح مؤقتًا أثناء إعداد فهرس قاعدة البيانات. يرجى إعادة المحاولة بعد قليل."
  }
}
