chore: perauset customer project

This commit is contained in:
e2e
2026-07-11 08:21:55 +02:00
commit 52cd52e41a
293 changed files with 28412 additions and 0 deletions

27
apps/app/messages/de.json Normal file
View File

@@ -0,0 +1,27 @@
{
"$schema": "https://inlang.com/schema/inlang-message-format",
"brand": "PerAuset",
"common_email": "E-Mail",
"common_password": "Passwort",
"login_subtitle": "Melden Sie sich bei Ihrem Konto an",
"login_cta": "Anmelden",
"login_invalid_credentials": "Ungültige E-Mail oder Passwort",
"login_error": "Anmeldung fehlgeschlagen",
"nav_dashboard": "Übersicht",
"nav_stays": "Meine Aufenthalte",
"nav_tasks": "Meine Aufgaben",
"nav_kitchen": "Küche",
"nav_inventory": "Inventar",
"nav_retreats": "Retreats",
"nav_finance": "Finanzen",
"nav_rooms": "Zimmer",
"nav_boats": "Boote",
"nav_users": "Benutzer",
"nav_audit_log": "Audit-Protokoll",
"nav_sign_out": "Abmelden",
"dashboard_title": "Übersicht",
"dashboard_stays": "Aufenthalte",
"dashboard_tasks": "Aufgaben",
"dashboard_boats": "Boote",
"dashboard_retreats": "Retreats"
}

612
apps/app/messages/en.json Normal file
View File

@@ -0,0 +1,612 @@
{
"$schema": "https://inlang.com/schema/inlang-message-format",
"ai_chat_greeting": "How can I help you today?",
"ai_chat_input_placeholder": "Ask me anything about the village...",
"ai_chat_subtitle": "Ask me anything about the village -- stays, tasks, boats, retreats, and more.",
"ai_chat_title": "PerAuset Assistant",
"audit_action": "Action",
"audit_changed_fields": "Changed Fields",
"audit_description": "View a record of all changes made in the system.",
"audit_record_id": "Record ID",
"audit_table": "Table",
"audit_timestamp": "Timestamp",
"audit_title": "Audit Log",
"audit_user": "User",
"boats_accessibility_needs": "Any accessibility or special needs...",
"boats_actions": "Actions",
"boats_active": "Active",
"boats_add_boat": "Add Boat",
"boats_add_route": "Add Route",
"boats_additional_information": "Any additional information...",
"boats_arrival": "Arrival",
"boats_assigned": "Assigned",
"boats_boat": "Boat",
"boats_boat_name": "Boat Name",
"boats_boat_name_placeholder": "e.g. Nile Star",
"boats_boat_notes_placeholder": "Additional details about the boat...",
"boats_boats": "Boats",
"boats_cancel_trip": "Cancel Trip",
"boats_cargo": "Cargo",
"boats_cargo_capacity": "Cargo Capacity (kg)",
"boats_cargo_capacity_placeholder": "e.g. 500",
"boats_cargo_kg": "Cargo (kg)",
"boats_cargo_notes": "Cargo Notes",
"boats_complete_trip": "Complete Trip",
"boats_confirm": "Confirm",
"boats_create_trip": "Create Trip",
"boats_decline": "Decline",
"boats_departure": "Departure",
"boats_describe_cargo": "Describe any cargo you need to bring...",
"boats_destination": "Destination",
"boats_destination_placeholder": "e.g. Aswan",
"boats_edit_boat": "Edit Boat",
"boats_edit_route": "Edit Route",
"boats_fleet_description": "Manage boats and routes.",
"boats_fleet_management": "Fleet Management",
"boats_inactive": "Inactive",
"boats_manifest": "Manifest",
"boats_name": "Name",
"boats_no_boats": "No boats found. Add one to get started.",
"boats_no_boats_available": "No boats available",
"boats_no_confirmed_passengers": "No confirmed passengers yet.",
"boats_no_matching_trips": "No matching trips",
"boats_no_open_trips": "No open trips available",
"boats_no_routes": "No routes found. Add one to get started.",
"boats_no_routes_available": "No routes available",
"boats_no_trips": "No boat trips found.",
"boats_notes": "Notes",
"boats_number_of_seats": "Number of Seats",
"boats_open_for_requests": "Open for Requests",
"boats_origin": "Origin",
"boats_origin_placeholder": "e.g. Luxor",
"boats_passenger_capacity": "Passenger Capacity",
"boats_passengers": "Passengers",
"boats_print_manifest": "Print Manifest",
"boats_request_seat": "Request Seat",
"boats_request_seat_description": "Request a seat on an upcoming boat trip.",
"boats_request_seat_title": "Request Boat Seat",
"boats_requested": "Requested",
"boats_route": "Route",
"boats_route_name": "Route Name",
"boats_route_name_placeholder": "e.g. Luxor Express",
"boats_routes": "Routes",
"boats_save_boat": "Save Boat",
"boats_save_route": "Save Route",
"boats_scheduled_arrival": "Scheduled Arrival",
"boats_scheduled_departure": "Scheduled Departure",
"boats_seat_requests": "Seat Requests",
"boats_seats": "Seats",
"boats_select_boat_optional": "Select a boat (optional)",
"boats_select_route": "Select a route",
"boats_select_trip": "Select a trip",
"boats_special_requirements": "Special Requirements",
"boats_status": "Status",
"boats_trip": "Trip",
"boats_trip_details": "Trip Details",
"boats_trip_not_found": "Trip Not Found",
"boats_trip_not_found_message": "This boat trip could not be found.",
"boats_trips_description": "View upcoming and past boat trips.",
"boats_trips_title": "Boat Trips",
"boats_unknown_boat": "Unknown Boat",
"boats_user": "User",
"brand": "PerAuset",
"common_cancel": "Cancel",
"common_close": "Close",
"common_email": "Email",
"common_error": "Error",
"common_password": "Password",
"common_save_changes": "Save Changes",
"common_success": "Success",
"common_validation": "Validation",
"dashboard_boats": "Boats",
"dashboard_retreats": "Retreats",
"dashboard_stays": "Stays",
"dashboard_tasks": "Tasks",
"dashboard_title": "Dashboard",
"finance_actions": "Actions",
"finance_add_link": "Add New Link",
"finance_add_record": "Add Record",
"finance_amount": "Amount",
"finance_base": "Base",
"finance_by_category": "By Category",
"finance_category": "Category",
"finance_create_record": "Create Record",
"finance_currency": "Currency",
"finance_date": "Date",
"finance_description": "Description",
"finance_edit_record": "Edit Finance Record",
"finance_empty": "No finance records found.",
"finance_entity_type": "Entity Type",
"finance_exchange_rates": "Exchange Rates",
"finance_existing_links": "Existing Links",
"finance_last_updated": "Last updated",
"finance_link_entity": "Link Entity",
"finance_name": "Name",
"finance_net": "Net",
"finance_no_links": "No linked entities yet.",
"finance_notes": "Notes",
"finance_reference": "Reference",
"finance_reference_id": "Reference ID",
"finance_refresh_rates": "Refresh Rates",
"finance_save_changes": "Save Changes",
"finance_subtitle": "Track expenses, income, and reimbursements.",
"finance_title": "Finance",
"finance_total_expenses": "Total Expenses",
"finance_total_income": "Total Income",
"finance_type": "Type",
"inventory_add_item": "Add Item",
"inventory_add_item_title": "Add Inventory Item",
"inventory_alert_threshold": "Alert threshold",
"inventory_cancel": "Cancel",
"inventory_cat_equipment": "Equipment",
"inventory_cat_garden": "Garden",
"inventory_cat_kitchen": "Kitchen",
"inventory_cat_other": "Other",
"inventory_cat_rooms": "Rooms",
"inventory_category": "Category",
"inventory_col_actions": "Actions",
"inventory_col_change": "Change",
"inventory_col_date": "Date",
"inventory_col_item": "Item",
"inventory_col_notes": "Notes",
"inventory_col_quantity": "Quantity",
"inventory_col_reason": "Reason",
"inventory_col_status": "Status",
"inventory_col_unit": "Unit",
"inventory_create_item": "Create Item",
"inventory_current_quantity": "Current Quantity",
"inventory_description": "Track supplies and request items.",
"inventory_edit_item": "Edit Item",
"inventory_edit_item_title": "Edit Inventory Item",
"inventory_error_create": "Failed to create item.",
"inventory_error_request": "Failed to submit request.",
"inventory_error_stocktake": "Failed to submit stocktake.",
"inventory_error_title": "Error",
"inventory_error_update": "Failed to update item.",
"inventory_field_name": "Item Name",
"inventory_field_unit": "Unit",
"inventory_history_title": "History: {name}",
"inventory_in_stock": "In Stock",
"inventory_item_created_message": "Inventory item has been added.",
"inventory_item_created_title": "Item created",
"inventory_item_updated_message": "Inventory item has been updated.",
"inventory_item_updated_title": "Item updated",
"inventory_low_stock": "Low Stock",
"inventory_minimum_quantity": "Minimum Quantity",
"inventory_missing_fields_message": "Name and unit are required.",
"inventory_missing_fields_title": "Missing fields",
"inventory_name_placeholder": "e.g. Rice, Soap, Candles",
"inventory_no_history": "No transaction history for this item.",
"inventory_no_items": "No inventory items found.",
"inventory_request_item": "Request Item",
"inventory_request_item_title": "Request Inventory Item",
"inventory_request_name_placeholder": "e.g., Olive oil, Cleaning supplies",
"inventory_request_purpose": "Purpose",
"inventory_request_purpose_placeholder": "What is this for?",
"inventory_request_quantity": "Quantity",
"inventory_request_quantity_placeholder": "Amount needed",
"inventory_request_submitted_message": "Your inventory request has been submitted.",
"inventory_request_submitted_title": "Request submitted",
"inventory_request_unit_placeholder": "e.g., liters, kg, boxes",
"inventory_save_changes": "Save Changes",
"inventory_stocktake": "Stocktake",
"inventory_stocktake_current": "Current: {quantity} {unit}",
"inventory_stocktake_intro": "Enter the actual counted quantity for each item. Only changed items will be updated.",
"inventory_stocktake_submitted_message": "{count} item(s) adjusted.",
"inventory_stocktake_submitted_title": "Stocktake submitted",
"inventory_stocktake_title": "Stocktake",
"inventory_submit_request": "Submit Request",
"inventory_submit_stocktake": "Submit Stocktake",
"inventory_tab_all": "All ({count})",
"inventory_tab_equipment": "Equipment ({count})",
"inventory_tab_garden": "Garden ({count})",
"inventory_tab_kitchen": "Kitchen ({count})",
"inventory_tab_other": "Other ({count})",
"inventory_tab_rooms": "Rooms ({count})",
"inventory_title": "Inventory",
"inventory_transaction_history": "Transaction History",
"inventory_unit_placeholder": "e.g. kg, liters, pieces",
"kitchen_cancel": "Cancel",
"kitchen_create_meal": "Create Meal",
"kitchen_create_meal_service": "Create Meal Service",
"kitchen_description": "Meal services and dietary management.",
"kitchen_dietary_allergy_notes": "Allergy Notes",
"kitchen_dietary_allergy_notes_placeholder": "Describe any allergies in detail...",
"kitchen_dietary_cancel": "Cancel",
"kitchen_dietary_dairy_free": "Dairy-free",
"kitchen_dietary_description": "Update your dietary preferences and allergies so the kitchen can accommodate your needs.",
"kitchen_dietary_dislikes": "Dislikes",
"kitchen_dietary_dislikes_placeholder": "Foods you prefer to avoid...",
"kitchen_dietary_error": "Failed to save dietary profile",
"kitchen_dietary_gluten_free": "Gluten-free",
"kitchen_dietary_nut_allergy": "Nut allergy",
"kitchen_dietary_other_requirements": "Other Requirements",
"kitchen_dietary_other_requirements_placeholder": "Any other dietary requirements...",
"kitchen_dietary_preferences": "Dietary Preferences",
"kitchen_dietary_save": "Save Profile",
"kitchen_dietary_success": "Dietary profile saved successfully.",
"kitchen_dietary_title": "Dietary Profile",
"kitchen_dietary_vegan": "Vegan",
"kitchen_dietary_vegetarian": "Vegetarian",
"kitchen_error_create_meal": "Failed to create meal service.",
"kitchen_error_title": "Error",
"kitchen_expected_headcount": "Expected headcount: {count}",
"kitchen_meal_created_message": "The meal service has been created.",
"kitchen_meal_created_title": "Meal created",
"kitchen_meal_type_breakfast": "Breakfast",
"kitchen_meal_type_dinner": "Dinner",
"kitchen_meal_type_lunch": "Lunch",
"kitchen_meal_type_snack": "Snack",
"kitchen_menu_notes": "Menu Notes",
"kitchen_menu_notes_placeholder": "Menu description or notes",
"kitchen_no_meals": "No meal services scheduled.",
"kitchen_planned_headcount": "Planned Headcount",
"kitchen_planned_headcount_placeholder": "Expected number of diners",
"kitchen_select_meal_type": "Select meal type",
"kitchen_service_date": "Service Date",
"kitchen_service_type": "Service Type",
"kitchen_status_cancelled": "Cancelled",
"kitchen_status_planned": "Planned",
"kitchen_status_preparing": "Preparing",
"kitchen_status_served": "Served",
"kitchen_title": "Kitchen",
"login_cta": "Sign in",
"login_error": "Sign-in failed",
"login_invalid_credentials": "Invalid email or password",
"login_subtitle": "Sign in to your account",
"my_active_stays": "Active Stays",
"my_dietary_profile": "Dietary Profile",
"my_dietary_profile_description": "Manage your dietary preferences, allergies, and meal requirements.",
"my_display_name": "Display Name",
"my_display_name_placeholder": "How should we call you?",
"my_edit_profile": "Edit Profile",
"my_field_email": "Email",
"my_field_name": "Name",
"my_field_roles": "Roles",
"my_field_status": "Status",
"my_first_name": "First Name",
"my_first_name_placeholder": "First name",
"my_last_name": "Last Name",
"my_last_name_placeholder": "Last name",
"my_mobile_number": "Mobile Number",
"my_no_active_stays": "You don't have any active stays at the moment.",
"my_no_active_tasks": "No active tasks right now. Enjoy the calm!",
"my_no_requests": "You haven't submitted any stay requests yet.",
"my_phone": "Phone",
"my_phone_placeholder": "+1 (555) 000-0000",
"my_profile_description": "View and update your personal information.",
"my_profile_title": "My Profile",
"my_requests": "My Requests",
"my_save_profile": "Save Profile",
"my_sign_in_to_view": "Please sign in to view your profile.",
"my_stays_description": "Your stay requests and active stays.",
"my_stays_title": "My Stays",
"my_tasks_assigned": "Assigned to Me",
"my_tasks_blocked": "Blocked",
"my_tasks_description": "Tasks assigned to you or available to claim.",
"my_tasks_in_progress": "In Progress",
"my_tasks_open": "Open (Claimable)",
"my_tasks_title": "My Tasks",
"my_update_failed": "Failed to update profile",
"my_update_success": "Profile updated successfully.",
"my_whatsapp_number": "WhatsApp Number",
"nav_audit_log": "Audit Log",
"nav_boat_management": "Boat Management",
"nav_boats": "Boats",
"nav_dashboard": "Dashboard",
"nav_finance": "Finance",
"nav_inventory": "Inventory",
"nav_kitchen": "Kitchen",
"nav_management": "Management",
"nav_more": "More",
"nav_my_profile": "My Profile",
"nav_my_stays": "My Stays",
"nav_my_tasks": "My Tasks",
"nav_operations": "Operations",
"nav_personal": "Personal",
"nav_profile": "Profile",
"nav_retreats": "Retreats",
"nav_rooms": "Rooms",
"nav_sign_out": "Sign out",
"nav_stays": "My Stays",
"nav_tasks": "My Tasks",
"nav_users": "Users",
"notifications_all_caught_up": "You are all caught up.",
"notifications_empty": "No notifications",
"notifications_title": "Notifications",
"notifications_unread_count": "{count} unread",
"notifications_view_all": "View all notifications",
"profile_description": "View and update your personal information.",
"profile_dietary_profile": "Dietary Profile",
"profile_dietary_profile_description": "Manage your dietary preferences and allergies.",
"profile_display_name": "Display Name",
"profile_display_name_placeholder": "How should we call you?",
"profile_edit_dietary_profile": "Edit Dietary Profile",
"profile_edit_profile": "Edit Profile",
"profile_field_email": "Email",
"profile_field_roles": "Roles",
"profile_field_status": "Status",
"profile_first_name": "First Name",
"profile_first_name_placeholder": "First name",
"profile_last_name": "Last Name",
"profile_last_name_placeholder": "Last name",
"profile_phone": "Phone",
"profile_phone_placeholder": "+1 (555) 000-0000",
"profile_save_profile": "Save Profile",
"profile_sign_in_to_view": "Please sign in to view your profile.",
"profile_title": "My Profile",
"profile_update_failed": "Failed to update profile",
"profile_update_success": "Profile updated successfully.",
"retreats_add_meal": "Add Meal",
"retreats_add_meal_service": "Add Meal Service",
"retreats_add_person": "Add Person",
"retreats_add_person_title": "Add Person to Retreat",
"retreats_add_schedule_item": "Add Schedule Item",
"retreats_back": "Back to Retreats",
"retreats_capacity": "Capacity",
"retreats_create": "Create Retreat",
"retreats_description": "Description",
"retreats_empty": "No retreats found. Create one to get started.",
"retreats_end_date": "End Date",
"retreats_ends_at": "Ends At",
"retreats_headcount": "Headcount",
"retreats_lead_facilitator": "Lead Facilitator",
"retreats_location": "Location",
"retreats_menu_notes": "Menu Notes",
"retreats_name": "Retreat Name",
"retreats_no_meals": "No meal services planned for this retreat yet.",
"retreats_no_people": "No people added to this retreat yet.",
"retreats_no_schedule": "No schedule items yet.",
"retreats_not_found_body": "The retreat you are looking for does not exist or you do not have access.",
"retreats_not_found_title": "Retreat Not Found",
"retreats_notify_body": "Body",
"retreats_notify_participants": "Notify Participants",
"retreats_notify_subject": "Title",
"retreats_notify_title": "Notify Retreat Participants",
"retreats_person_name": "Name",
"retreats_planned_headcount": "Planned Headcount",
"retreats_role": "Role",
"retreats_schedule_title": "Title",
"retreats_send_notification": "Send Notification",
"retreats_service_date": "Service Date",
"retreats_service_type": "Service Type",
"retreats_slug": "Slug",
"retreats_start_date": "Start Date",
"retreats_starts_at": "Starts At",
"retreats_status": "Status",
"retreats_subtitle": "Manage and view scheduled retreats.",
"retreats_tab_meals": "Meals",
"retreats_tab_overview": "Overview",
"retreats_tab_people": "People",
"retreats_tab_schedule": "Schedule",
"retreats_title": "Retreats",
"rooms_active": "Active",
"rooms_allocations_all_description": "All room allocations across the village.",
"rooms_allocations_room_description": "Allocations for this room.",
"rooms_allocations_title": "Room Allocations",
"rooms_availability": "Availability",
"rooms_availability_end": "Available To",
"rooms_availability_start": "Available From",
"rooms_available": "Available",
"rooms_capacity": "Capacity",
"rooms_create_room": "Create Room",
"rooms_dates": "Dates",
"rooms_description": "View and manage room inventory.",
"rooms_edit_room": "Edit Room",
"rooms_full": "Full",
"rooms_inactive": "Inactive",
"rooms_no_rooms": "No rooms found.",
"rooms_notes": "Notes",
"rooms_notes_placeholder": "Additional details...",
"rooms_price_night": "Price / Night",
"rooms_price_per_night": "Price per Night (EUR)",
"rooms_price_placeholder": "e.g. 25.00",
"rooms_reason": "Reason",
"rooms_room": "Room",
"rooms_room_code": "Room Code",
"rooms_room_code_placeholder": "e.g. R101",
"rooms_room_name": "Room Name",
"rooms_room_name_placeholder": "e.g. Sunrise Room",
"rooms_room_type": "Room Type",
"rooms_save_room": "Save Room",
"rooms_select_type": "Select type",
"rooms_showing_availability": "Showing availability",
"rooms_status": "Status",
"rooms_title": "Rooms",
"rooms_type": "Type",
"rooms_view_allocations": "View Allocations",
"stays_actions": "Actions",
"stays_active_stays": "Active Stays",
"stays_approve": "Approve",
"stays_approve_failed": "Failed to approve request.",
"stays_cancel_failed": "Failed to cancel stay.",
"stays_cancel_stay": "Cancel Stay",
"stays_check_in": "Check In",
"stays_check_in_date": "Check-in Date",
"stays_check_in_failed": "Failed to check in.",
"stays_check_out": "Check Out",
"stays_check_out_failed": "Failed to check out.",
"stays_checked_in": "Checked In",
"stays_checked_in_message": "Guest has been checked in.",
"stays_checked_out": "Checked out",
"stays_checked_out_message": "Guest has been checked out.",
"stays_create_failed": "Something went wrong creating the stay.",
"stays_create_stay": "Create Stay",
"stays_create_stay_hint": "This will create a stay request, auto-approve it, and generate the stay record in one step. The stay will be ready for check-in immediately.",
"stays_dates": "Dates",
"stays_description": "Manage stays, requests, and check-ins.",
"stays_end_date": "End Date",
"stays_expected_checkout": "Expected Checkout",
"stays_guest": "Guest",
"stays_missing_fields": "Missing fields",
"stays_missing_fields_message": "Please fill in all required fields.",
"stays_no_active_stays": "No active stays found.",
"stays_no_checked_in": "No guests currently checked in.",
"stays_no_requests": "No stay requests found.",
"stays_notes": "Notes",
"stays_notes_placeholder": "Any additional information...",
"stays_reject": "Reject",
"stays_reject_failed": "Failed to reject request.",
"stays_request_approved": "Request approved",
"stays_request_approved_message": "The stay request has been approved.",
"stays_request_rejected": "Request rejected",
"stays_request_rejected_message": "The stay request has been rejected.",
"stays_request_stay": "Request a Stay",
"stays_request_submitted": "Request submitted",
"stays_request_submitted_message": "Your stay request has been submitted for review.",
"stays_request_type": "Request Type",
"stays_requested_dates": "Requested Dates",
"stays_requests": "Requests",
"stays_select_type": "Select type",
"stays_something_went_wrong": "Something went wrong.",
"stays_start_date": "Start Date",
"stays_status": "Status",
"stays_stay_cancelled": "Stay cancelled",
"stays_stay_cancelled_message": "The stay has been cancelled.",
"stays_stay_created": "Stay created",
"stays_stay_created_message": "The stay has been created and is ready for check-in.",
"stays_stay_type": "Stay Type",
"stays_submit_request": "Submit Request",
"stays_title": "Stays",
"stays_type": "Type",
"stays_type_day_visit": "Day Visit",
"stays_type_facilitator": "Facilitator",
"stays_type_guest": "Guest",
"stays_type_staff": "Staff",
"stays_type_volunteer": "Volunteer",
"stays_user": "User",
"tasks_assign_role": "Assign Role",
"tasks_assign_to_role": "Assign Task to Role",
"tasks_assign_to_role_optional": "Assign to Role (optional)",
"tasks_block": "Block",
"tasks_block_title": "Mark Task Blocked",
"tasks_blocked": "Task marked as blocked",
"tasks_cancel": "Cancel",
"tasks_category": "Category",
"tasks_category_housekeeping": "Housekeeping",
"tasks_category_kitchen": "Kitchen",
"tasks_category_maintenance": "Maintenance",
"tasks_category_operations": "Operations",
"tasks_category_retreat": "Retreat",
"tasks_category_transport": "Transport",
"tasks_claim": "Claim",
"tasks_claimed": "Task claimed",
"tasks_complete": "Complete",
"tasks_complete_title": "Complete Task",
"tasks_completed": "Task completed",
"tasks_create_new_task": "Create New Task",
"tasks_create_task": "Create Task",
"tasks_created_message": "\"{title}\" has been created successfully.",
"tasks_created_title": "Task created",
"tasks_description": "View and manage village tasks across all categories.",
"tasks_description_placeholder": "Optional details about the task",
"tasks_error_assign_role": "Failed to assign role.",
"tasks_error_generate": "Failed to generate recurring tasks.",
"tasks_error_generic": "Something went wrong",
"tasks_error_title": "Error",
"tasks_field_description": "Description",
"tasks_field_title": "Title",
"tasks_generate_recurring": "Generate Recurring Tasks",
"tasks_generated_message": "Generated {count} recurring task(s).",
"tasks_generated_title": "Tasks generated",
"tasks_location": "Location",
"tasks_location_placeholder": "e.g. Main building, Kitchen",
"tasks_mark_blocked": "Mark Blocked",
"tasks_new_task": "New Task",
"tasks_no_status_tasks": "No {status} tasks",
"tasks_no_tasks": "No tasks",
"tasks_notes_optional": "Notes (optional)",
"tasks_notes_placeholder": "Any completion notes?",
"tasks_reason": "Reason",
"tasks_reason_placeholder": "Why is this task blocked?",
"tasks_role": "Role",
"tasks_role_admin": "Admin",
"tasks_role_assigned_message": "Task has been assigned to the selected role.",
"tasks_role_assigned_title": "Role assigned",
"tasks_role_boat_coordinator": "Boat Coordinator",
"tasks_role_community_member": "Community Member",
"tasks_role_coordinator": "Coordinator",
"tasks_role_facilitator": "Facilitator",
"tasks_role_kitchen_lead": "Kitchen Lead",
"tasks_role_staff": "Staff",
"tasks_role_volunteer": "Volunteer",
"tasks_scheduled_end": "Scheduled End",
"tasks_scheduled_start": "Scheduled Start",
"tasks_select_category": "Select category",
"tasks_select_role": "Select a role",
"tasks_start": "Start",
"tasks_started": "Task started",
"tasks_status_assigned": "Assigned",
"tasks_status_blocked": "Blocked",
"tasks_status_cancelled": "Cancelled",
"tasks_status_completed": "Completed",
"tasks_status_in_progress": "In Progress",
"tasks_status_open": "Open",
"tasks_status_planned": "Planned",
"tasks_templates": "Templates",
"tasks_templates_back": "Back to Tasks",
"tasks_templates_claimable": "Claimable",
"tasks_templates_col_category": "Category",
"tasks_templates_col_claimable": "Claimable",
"tasks_templates_col_duration": "Est. Duration",
"tasks_templates_col_recurrence": "Recurrence",
"tasks_templates_col_title": "Title",
"tasks_templates_description": "Reusable task definitions for recurring village operations.",
"tasks_templates_empty": "No templates yet. Create one above to get started.",
"tasks_templates_error": "Failed to load templates",
"tasks_templates_minutes": "{minutes} min",
"tasks_templates_no": "No",
"tasks_templates_not_claimable": "Not claimable",
"tasks_templates_one_time": "One-time",
"tasks_templates_recurring": "Recurring",
"tasks_templates_title": "Task Templates",
"tasks_templates_yes": "Yes",
"tasks_title": "Tasks",
"tasks_title_placeholder": "e.g. Clean guest rooms",
"tasks_validation_message": "Title and category are required.",
"tasks_validation_title": "Validation",
"templates_create": "Create Template",
"templates_created": "Template created",
"templates_field_category": "Category",
"templates_field_category_placeholder": "Select category",
"templates_field_claimable": "Claimable by volunteers",
"templates_field_default_location": "Default Location",
"templates_field_default_location_placeholder": "e.g. Main kitchen",
"templates_field_description": "Description",
"templates_field_description_placeholder": "What does this task involve?",
"templates_field_estimated_minutes": "Estimated Duration (minutes)",
"templates_field_estimated_minutes_placeholder": "e.g. 30",
"templates_field_recurrence": "Recurrence (cron)",
"templates_field_recurrence_placeholder": "e.g. 0 8 * * 1,3,5",
"templates_field_title": "Title",
"templates_field_title_placeholder": "e.g. Daily kitchen clean-up",
"templates_hide_form": "Hide Form",
"templates_new": "New Template",
"templates_recurrence_hint": "Leave blank for one-time tasks",
"templates_title_category_required": "Title and category are required.",
"user_select_label": "User",
"users_back": "Back to Users",
"users_display_name": "Display Name",
"users_edit_roles": "Edit Roles",
"users_first_name": "First Name",
"users_invite": "Invite User",
"users_last_name": "Last Name",
"users_name": "Name",
"users_no_roles": "No roles",
"users_not_found_body": "The user you are looking for does not exist or you do not have access.",
"users_not_found_title": "User Not Found",
"users_registered_count": "{count} users registered.",
"users_role_management": "Role Management",
"users_roles": "Roles",
"users_roles_updated": "Roles updated successfully.",
"users_save_roles": "Save Roles",
"users_send_invitation": "Send Invitation",
"users_status": "Status",
"users_title": "Users & Roles",
"profile_name": "Name",
"profile_name_placeholder": "Full name",
"profile_mobile_number": "Mobile number",
"profile_mobile_number_placeholder": "Mobile number",
"profile_whatsapp_number": "WhatsApp number",
"profile_whatsapp_number_placeholder": "WhatsApp number"
}