CognxSafeTrack
fix(admin): replace vague Meta hints with direct clickable links in Direct Setup modal
295c327 | { | |
| "common": { | |
| "welcome": "Welcome", | |
| "dashboard": "Dashboard", | |
| "clients": "Client Management", | |
| "analytics": "Analytics", | |
| "settings": "Settings", | |
| "logout": "Logout", | |
| "save": "Save Changes", | |
| "cancel": "Cancel", | |
| "loading": "Loading...", | |
| "error": "An error occurred", | |
| "success": "Action successful", | |
| "create": "Create", | |
| "delete": "Delete", | |
| "edit": "Edit", | |
| "search": "Search...", | |
| "actions": "Actions", | |
| "export": "Export", | |
| "sync": "Sync", | |
| "send": "Send", | |
| "close": "Close", | |
| "confirm": "Confirm", | |
| "back": "Back", | |
| "next": "Next", | |
| "yes": "Yes", | |
| "no": "No", | |
| "status": "Status", | |
| "date": "Date", | |
| "name": "Name", | |
| "email": "Email", | |
| "phone": "Phone", | |
| "day": "Day", | |
| "none": "None", | |
| "select_org": "Please select an organization", | |
| "clear_filter": "Clear filter", | |
| "no_data": "No data available", | |
| "retry": "Retry", | |
| "of": "of" | |
| }, | |
| "nav": { | |
| "home": "Home", | |
| "inbox": "Conversations", | |
| "campaigns": "Campaign History", | |
| "templates": "WhatsApp Templates", | |
| "organizations": "Organizations", | |
| "users": "Users", | |
| "training": "Training Lab", | |
| "moderation": "Moderation", | |
| "b2b": "B2B Clients", | |
| "kb": "Knowledge Base", | |
| "content": "Courses", | |
| "conversations": "Conversations", | |
| "ai_setup": "AI Agent", | |
| "billing": "Billing" | |
| }, | |
| "dashboard": { | |
| "title": "Dashboard", | |
| "subtitle": "Your platform status in real time", | |
| "select_org": "Welcome to EdTech Admin", | |
| "select_org_hint": "To get started, please select an organization from the dropdown on the left.", | |
| "isolation_note": "Data isolation ensures you only see statistics for the active organization.", | |
| "loading": "Analyzing data...", | |
| "no_enrollments": "No enrollments", | |
| "recent_enrollments": "Recent Enrollments", | |
| "export_csv": "Export CSV", | |
| "stats": { | |
| "users": "Users", | |
| "active": "Active", | |
| "completed": "Completed", | |
| "tracks": "Courses", | |
| "revenue": "Revenue", | |
| "total_messages": "Total Messages", | |
| "active_users": "Active Users", | |
| "completion_rate": "Completion Rate", | |
| "ai_cost": "Estimated AI Cost" | |
| }, | |
| "table": { | |
| "phone": "Phone", | |
| "track": "Course", | |
| "status": "Status", | |
| "day": "Day", | |
| "date": "Date" | |
| } | |
| }, | |
| "analytics": { | |
| "title": "Analytics & Performance", | |
| "export": "Export report", | |
| "explain": "Explain", | |
| "messages": { | |
| "title": "Message Volume", | |
| "inbound": "Inbound", | |
| "outbound": "Outbound" | |
| }, | |
| "completion": { | |
| "title": "Success Rate", | |
| "completed": "Completed", | |
| "in_progress": "In progress" | |
| }, | |
| "performance": { | |
| "title": "Performance", | |
| "avg_score": "Average exercise score" | |
| }, | |
| "engagement": { | |
| "title": "Engagement", | |
| "avg_days": "Average training days" | |
| }, | |
| "sql_error": "Error executing query", | |
| "sql_example_1": "How many active users this week?", | |
| "sql_example_2": "What are the 5 users with the most messages?", | |
| "sql_example_3": "What is the average completion rate?", | |
| "sql_example_4": "How many AI credits were consumed this month?", | |
| "ai_cost_title": "AI Cost by Feature", | |
| "ai_cost_subtitle": "Real data — source: UsageEvent", | |
| "col_feature": "Feature", | |
| "col_calls": "Calls", | |
| "col_tokens_in": "Tokens in", | |
| "col_tokens_out": "Tokens out", | |
| "col_cost": "Cost (USD)", | |
| "total": "Total", | |
| "nl_search_title": "Natural language search", | |
| "nl_search_subtitle": "Ask a question about your data — AI generates the SQL query", | |
| "nl_search_placeholder": "E.g.: What users have been inactive for 7 days?", | |
| "search_btn": "Search", | |
| "view_sql": "View SQL", | |
| "no_results": "No results" | |
| }, | |
| "tracks": { | |
| "title": "Courses", | |
| "new": "New course", | |
| "no_tracks": "No courses yet. Create one!", | |
| "confirm_delete": "Delete this course?", | |
| "days": "days", | |
| "enrolled": "enrolled", | |
| "days_label": "Days", | |
| "no_days": "No days created yet.", | |
| "edit_day": "Edit Day", | |
| "new_day": "New day", | |
| "day_number": "Day number", | |
| "day_title": "Title", | |
| "lesson_text": "Lesson text", | |
| "lesson_placeholder": "Pedagogical content...", | |
| "audio_url": "Audio URL (optional)", | |
| "exercise_type": "Exercise type", | |
| "exercise_type_text": "Free text", | |
| "exercise_type_audio": "Audio", | |
| "exercise_type_button": "Buttons", | |
| "validation_keyword": "Validation keyword", | |
| "exercise_prompt": "Exercise prompt", | |
| "exercise_prompt_placeholder": "Question asked to the student...", | |
| "no_lesson_text": "No text", | |
| "form_title_label": "Title", | |
| "form_description": "Description", | |
| "form_duration": "Duration (days)", | |
| "form_language": "Language", | |
| "form_lang_fr": "French", | |
| "form_lang_wolof": "Wolof", | |
| "form_premium": "Premium Training (paid)", | |
| "form_price": "Price (XOF)", | |
| "ai_generate_btn": "Generate with AI", | |
| "ai_generate_first": "Generate your first program with AI", | |
| "ai_modal_badge": "Content Creator Agent", | |
| "ai_modal_title": "Generate a program", | |
| "ai_modal_subtitle": "AI creates the entire curriculum in seconds", | |
| "ai_description_label": "Program description", | |
| "ai_description_placeholder": "E.g.: 5-day training on digital marketing basics for SMEs in Senegal...", | |
| "ai_num_days": "Number of days", | |
| "ai_language": "Language", | |
| "ai_lang_fr": "French", | |
| "ai_lang_en": "English", | |
| "ai_lang_wol": "Wolof", | |
| "ai_audience": "Target audience", | |
| "ai_audience_optional": "optional", | |
| "ai_audience_placeholder": "E.g.: Beginner entrepreneurs, rural women, students...", | |
| "ai_generating": "Generating... (15-30s)", | |
| "ai_generate_submit": "Generate program", | |
| "ai_error": "AI generation failed" | |
| }, | |
| "users": { | |
| "title": "Users", | |
| "subtitle": "All enrolled learners", | |
| "no_users": "No users found", | |
| "invite": "Invite", | |
| "columns": { | |
| "name": "Name", | |
| "phone": "Phone", | |
| "track": "Active course", | |
| "day": "Day", | |
| "status": "Status", | |
| "joined": "Joined" | |
| }, | |
| "confirm_delete": "Delete this user? This action is reversible in the database.", | |
| "delete_success": "User deleted", | |
| "delete_error": "Deletion failed", | |
| "handoff_released": "Handoff released — AI resumes the conversation", | |
| "handoff_none": "No active handoff for this user", | |
| "handoff_error": "Failed", | |
| "load_error": "Error loading users", | |
| "language_column": "Language", | |
| "sector_column": "Sector", | |
| "conversation_btn": "Conversation", | |
| "delete_title": "Delete user", | |
| "handoff_active": "Handoff active", | |
| "release_ai": "Release AI", | |
| "prev": "Previous" | |
| }, | |
| "contacts": { | |
| "title": "Contacts", | |
| "subtitle": "Manage your CRM contact base", | |
| "add": "Add contact", | |
| "import": "Import", | |
| "no_contacts": "No contacts", | |
| "search_placeholder": "Search a contact...", | |
| "tags_update_error": "Failed to update tags", | |
| "import_success": "Import successful: {{created}} added, {{updated}} updated, {{errors}} errors.", | |
| "upload_critical_error": "A critical error occurred during the upload.", | |
| "ai_generation_error": "AI generation failed.", | |
| "generation_error_fallback": "Generation error", | |
| "confirm_delete_one": "Are you sure you want to delete this contact?", | |
| "delete_error": "Error during deletion.", | |
| "confirm_delete_many": "Are you sure you want to delete {{count}} contacts?", | |
| "bulk_delete_success": "Contacts successfully deleted.", | |
| "bulk_delete_error": "Error during bulk deletion.", | |
| "csv_name": "Name", | |
| "csv_phone": "Phone", | |
| "csv_created": "Created at", | |
| "message_copied": "Message copied!", | |
| "copied": "Copied!", | |
| "generation_completed": "Generation completed successfully" | |
| }, | |
| "campaigns": { | |
| "title": "Campaign History", | |
| "no_records": "No campaigns found", | |
| "first_hint": "Send your first campaign from the Contacts section.", | |
| "total": "messages sent in total", | |
| "clear_filter": "Clear filter", | |
| "columns": { | |
| "contact": "Contact", | |
| "message": "Message", | |
| "status": "Status", | |
| "sent": "Sent" | |
| } | |
| }, | |
| "knowledge": { | |
| "title": "Knowledge Base", | |
| "subtitle": "Manage your AI documents", | |
| "chunks": "indexed chunks", | |
| "reindex": "Re-index", | |
| "reindexing": "Indexing...", | |
| "search_placeholder": "Search chunks...", | |
| "no_documents": "No chunks found.", | |
| "import_hint": "Import a document in the AI Agent tab to get started.", | |
| "confirm_delete": "Delete this chunk from the knowledge base?", | |
| "delete_error": "Deletion failed", | |
| "reindex_success": "Reindexing started successfully", | |
| "no_kb_url": "No knowledge base URL configured. Add a URL in Settings.", | |
| "reindex_error": "Reindexing failed", | |
| "generate_error": "Generation failed", | |
| "generate_from_desc": "Generate from description", | |
| "generate_placeholder": "Describe your activity, products or services… AI will automatically generate a FAQ and index it in the knowledge base.", | |
| "generating_btn": "Generating…", | |
| "generate_btn": "Generate", | |
| "generate_success_count": "{{count}} Q&A generated and indexed", | |
| "generate_result_summary": "{{count}} Q&A generated · {{chunks}} chunks indexed" | |
| }, | |
| "ai_setup": { | |
| "title": "AI Agent Setup", | |
| "subtitle": "Turn your documents into conversational intelligence on WhatsApp.", | |
| "kb_title": "Knowledge Base", | |
| "kb_desc": "Upload your catalogues, training manuals or FAQs. The AI will use these to answer your clients precisely.", | |
| "upload_idle": "Click to upload a document", | |
| "upload_loading": "Uploading and indexing...", | |
| "upload_success": "Document indexed successfully!", | |
| "upload_error": "Upload error", | |
| "personality_title": "Agent Personality", | |
| "role_label": "Main role", | |
| "role_placeholder": "e.g. Technical advisor for Agritech", | |
| "tone_label": "Tone & Style", | |
| "save": "Save personality", | |
| "saving": "Saving...", | |
| "saved": "Saved", | |
| "preview_title": "WhatsApp Preview", | |
| "stats_title": "Agent Statistics", | |
| "stats_status": "Status", | |
| "stats_active": "Active", | |
| "stats_chunks": "Indexed chunks", | |
| "stats_words": "Estimated words", | |
| "no_kb": "No knowledge base indexed.", | |
| "notifications_title": "Automated Notifications", | |
| "notifications_desc": "Select the Meta template to use for automated follow-ups sent by the AI.", | |
| "kb_empty_title": "Your agent is not yet operational", | |
| "kb_empty_desc": "Upload at least one document (FAQ, catalog, pricing…) so it can answer your clients. Without a knowledge base, the agent won't know what to say.", | |
| "upload_success_detail": "Document analyzed — your agent has been updated!", | |
| "current_file": "Current:", | |
| "indexing_title": "What happens now?", | |
| "indexing_desc": "Your document is being analyzed. Within 30 to 60 seconds, your agent will be able to answer questions it covers. Test it in the panel on the right.", | |
| "role_hint": "Describe in one or two sentences what your agent does and for whom. The more precise, the better the responses.", | |
| "tone_recommended": "— recommended for your sector", | |
| "tone_desc_professional": "Formal and precise — ideal for B2B services", | |
| "tone_desc_friendly": "Warm and accessible — ideal for the general public", | |
| "tone_desc_direct": "Short and factual — ideal for support", | |
| "tone_desc_pedagogical": "Patient and explanatory — ideal for training", | |
| "test_live": "Live test", | |
| "test_hint": "Ask your agent a real question", | |
| "test_empty_with_kb": "Ask a question below to test your agent.", | |
| "test_empty_no_kb": "Upload a document first, then test here.", | |
| "test_placeholder": "e.g. What are your rates?", | |
| "test_error": "Sorry, the test is unavailable at the moment.", | |
| "kb_save_blocked": "Add a document to the knowledge base above before activating your agent.", | |
| "coverage_excellent": "Excellent", | |
| "coverage_good": "Good", | |
| "coverage_poor": "Insufficient", | |
| "coverage_label": "passages analyzed — coverage", | |
| "coverage_low_hint": "Add more documents to improve response accuracy.", | |
| "no_kb_hint": "Add your FAQs, pricing, or product sheets to activate the agent.", | |
| "stats_status_label": "Status", | |
| "stats_active_label": "Active", | |
| "words_covered": "Words covered", | |
| "bot_name_label": "Agent name", | |
| "bot_name_placeholder": "E.g. Kora, Awa, SupportBot...", | |
| "bot_name_hint": "The name your agent will use to introduce itself on WhatsApp.", | |
| "tone_professional": "Professional", | |
| "tone_friendly": "Friendly", | |
| "tone_direct": "Direct", | |
| "tone_pedagogical": "Pedagogical" | |
| }, | |
| "livefeed": { | |
| "title": "Live Feed", | |
| "subtitle": "Real-time conversation monitoring", | |
| "no_messages": "No messages yet.", | |
| "refresh": "Refresh" | |
| }, | |
| "training": { | |
| "title": "Training Lab", | |
| "subtitle": "Test and refine your pedagogical AI", | |
| "rules_injected": "Success! {{count}} rules have been injected into the dictionary.", | |
| "inject_rules": "Inject ({{count}}) Rules", | |
| "ground_truth_label": "Ground Truth", | |
| "training_saved": "Training saved!" | |
| }, | |
| "b2b": { | |
| "title": "B2B Client Management", | |
| "subtitle": "Manage your partner organizations" | |
| }, | |
| "settings": { | |
| "title": "Settings", | |
| "profile": "Organization Profile", | |
| "branding": "Branding & Colors", | |
| "ai_config": "AI Configuration", | |
| "whatsapp_config": "WhatsApp Technical State", | |
| "billing": "Billing & Subscription", | |
| "org_name": "Organization name", | |
| "primary_color": "Primary color", | |
| "logo_url": "Logo URL", | |
| "save_success": "Settings saved successfully.", | |
| "save_error": "Failed to save settings.", | |
| "no_org_selected": "Please select an organization.", | |
| "advanced_config": "Advanced configuration", | |
| "developers_badge": "Developers", | |
| "flow_config_desc": "This field contains the JSON configuration for the educational flow. Only modify it if you know what you're doing.", | |
| "wa_account": "WhatsApp account", | |
| "wa_token": "System token", | |
| "not_configured": "Not configured", | |
| "token_absent": "Absent", | |
| "token_expired": "Expired", | |
| "token_valid": "Valid", | |
| "token_present": "Present", | |
| "token_expired_alert": "Your WhatsApp token is invalid or expired. Messages can no longer be sent. Go to Meta Business Manager → System Users to generate a new token, then update your organization.", | |
| "api_keys_title": "AI API Keys", | |
| "api_keys_locked": "Available from the SCALE plan. By adding your own OpenAI or Google keys, you use your own AI quota — with no limit tied to your Xamlé plan.", | |
| "api_keys_unlocked": "Your keys are encrypted and stored securely. They replace the platform's shared keys — your AI consumption is no longer deducted from your credit balance.", | |
| "wa_connect_success": "WhatsApp connected successfully ✅", | |
| "wa_connect_error": "WhatsApp connection failed. Check the token and WABA ID.", | |
| "mode_edtech": "EdTech", | |
| "mode_webhook": "Webhook", | |
| "mode_ai_agent": "AI Agent", | |
| "mode_pedagogy": "Pedagogy", | |
| "mode_customer_service": "Customer Service", | |
| "mode_crm_marketing": "CRM & Campaigns", | |
| "wa_cancel": "Cancel", | |
| "wa_reconfigure": "🔄 Reconfigure", | |
| "wa_connect_btn": "🔗 Connect", | |
| "wa_connecting": "Connecting...", | |
| "wa_connect_submit": "Connect WhatsApp" | |
| }, | |
| "auth": { | |
| "org_id": "Organisation ID", | |
| "email": "Email", | |
| "password": "Password", | |
| "login_subtitle_edtech": "Sign in to your EdTech workspace", | |
| "login_subtitle_admin": "Admin workspace — restricted access", | |
| "login_button": "Sign in", | |
| "login_loading": "Signing in...", | |
| "org_id_required": "Organisation ID is required.", | |
| "powered_by": "Powered by Xamlé Studio", | |
| "forgot_password": "Forgot password?", | |
| "reset_title": "Forgot password", | |
| "reset_sent_title": "Email sent", | |
| "reset_sent_subtitle": "Check your inbox and click the reset link.", | |
| "reset_new_title": "New password", | |
| "reset_success_title": "Password updated", | |
| "reset_success_subtitle": "You can now sign in with your new password.", | |
| "reset_email_label": "Email address", | |
| "reset_email_placeholder": "your@email.com", | |
| "reset_send_button": "Send link", | |
| "reset_sending": "Sending...", | |
| "reset_new_password": "New password", | |
| "reset_confirm_password": "Confirm", | |
| "reset_set_button": "Set password", | |
| "reset_setting": "Updating...", | |
| "reset_login_link": "Sign in", | |
| "reset_back": "Back to sign in", | |
| "reset_network_error": "Network error. Please try again.", | |
| "reset_password_mismatch": "Passwords do not match.", | |
| "reset_password_min_length": "Password must be at least 6 characters.", | |
| "reset_token_expired": "Invalid or expired token." | |
| }, | |
| "onboarding": { | |
| "title": "Welcome to Xamlé.Studio", | |
| "subtitle": "Set up your WhatsApp school in a few minutes.", | |
| "step_welcome": "Welcome", | |
| "step_legal": "Contract", | |
| "step_whatsapp": "WhatsApp", | |
| "step_ai": "AI Brain", | |
| "connect_fb": "Connect with Facebook", | |
| "fb_connected": "Facebook Account Connected!", | |
| "setup_waba": "Setting up your WhatsApp Business Account...", | |
| "cta_launch": "Launch my platform", | |
| "legal_text": "By accepting, you agree to our Platform Solution Provider terms and Meta's Business Policies.", | |
| "whatsapp_help_title": "Where to find this information?", | |
| "help_waba_id": "Log in to WhatsApp Manager → \"WhatsApp Business Account\" column → 15-digit number.", | |
| "help_business_id": "Meta Settings → Business Info → \"Meta Business ID\".", | |
| "help_token": "In Meta Business Manager → System Users → your user → Generate token. Choose \"Never expire\" to avoid interruptions.", | |
| "help_new_to_meta": "New to Meta? Use the \"Connect with Facebook\" button below — simpler, everything is automatic.", | |
| "already_configured": "Account already configured on Meta", | |
| "fb_account_connected": "Facebook account connected", | |
| "new_account_via_fb": "New account — Connect via Facebook", | |
| "new_account_desc": "The client configures their number directly in the Facebook popup.", | |
| "token_valid_msg": "Valid token — recognized by Meta", | |
| "token_invalid_msg": "Invalid or expired token. Check in Meta Business Manager → System Users.", | |
| "token_idle_hint": "Generate a \"Never expire\" token in Meta Business Manager → System Users.", | |
| "skip_whatsapp": "Configure WhatsApp later", | |
| "create_org": "Create organization", | |
| "creating": "Creating…", | |
| "step_org": "Organization", | |
| "step_admin": "Administrator", | |
| "org_title": "The organization", | |
| "org_subtitle": "Name, URL identifier and use case.", | |
| "org_name_label": "Organization name", | |
| "slug_label": "URL identifier (slug)", | |
| "slug_hint": "Auto-generated from name. Editable — lowercase letters, numbers and hyphens only.", | |
| "mode_label": "Use case", | |
| "mode_edtech_label": "Training & EdTech", | |
| "mode_edtech_desc": "Educational courses, exercises, learner tracking via WhatsApp", | |
| "mode_crm_label": "CRM & Campaigns", | |
| "mode_crm_desc": "Contact management, broadcast campaigns, marketing follow-ups", | |
| "mode_ai_label": "AI Agent", | |
| "mode_ai_desc": "Conversational AI bot to respond autonomously 24/7", | |
| "mode_customer_service_label": "Customer Service", | |
| "mode_customer_service_desc": "Manage incoming conversations and escalate to a human agent", | |
| "admin_title": "The administrator", | |
| "admin_subtitle": "The first admin account for this organization.", | |
| "admin_name_label": "Full name", | |
| "admin_email_label": "Email", | |
| "admin_pass_label": "Initial password", | |
| "admin_pass_optional": "optional — auto-generated if empty", | |
| "admin_pass_placeholder": "Leave empty to auto-generate", | |
| "admin_pass_hint": "An email with the temporary password is sent to the admin after creation.", | |
| "wa_title": "WhatsApp Connection", | |
| "wa_subtitle": "Optional — can be configured later from the organization profile.", | |
| "create_error": "Creation failed", | |
| "fb_error": "Facebook login was cancelled or failed." | |
| }, | |
| "crm": { | |
| "stats": { | |
| "total_contacts": "Total Contacts", | |
| "messages_sent": "Messages Sent", | |
| "open_rate": "Open Rate", | |
| "conversion": "Conversion" | |
| }, | |
| "assistant": { | |
| "placeholder": "Type your command here...", | |
| "thinking": "AI is preparing a response...", | |
| "contact_preview": "Contact Preview", | |
| "campaign_summary": "Campaign Summary", | |
| "messages_ready": "personalized messages ready to send", | |
| "recipient": "RECIPIENT", | |
| "more_contacts": "+ {{count}} more contacts", | |
| "more_messages": "+ {{count}} more messages", | |
| "send_all": "🚀 Send all via WhatsApp API", | |
| "powered_by": "Powered by Xamlé AI • Integrated CRM PaaS", | |
| "btn_history": "📊 History", | |
| "btn_import": "📤 Import", | |
| "btn_campaign": "✨ Campaign", | |
| "error_mic": "Microphone access error.", | |
| "error_bulk": "Error sending in bulk.", | |
| "import_first": "Please import a contact list first.", | |
| "campaign_queued": "🚀 Your campaign has been queued for progressive delivery!", | |
| "error_occurred": "A technical error occurred.", | |
| "drop_file_note": "Please use the import button for now." | |
| }, | |
| "inbox": { | |
| "title": "Conversations", | |
| "no_messages": "No conversations found.", | |
| "reply_placeholder": "Type your message here...", | |
| "send": "Send Reply" | |
| }, | |
| "campaigns": { | |
| "title": "Campaign History", | |
| "subtitle": "Track all your outgoing broadcasts and their performance.", | |
| "new_campaign": "New Campaign", | |
| "select_template": "WhatsApp Template (Optional)", | |
| "choose_approved": "Select an approved template...", | |
| "no_approved_templates": "No approved templates found. Sync them first.", | |
| "use_ai_text": "Use AI Generated Text", | |
| "status_sent": "Sent", | |
| "status_delivered": "Delivered", | |
| "status_read": "Read", | |
| "status_failed": "Failed", | |
| "fetch_failed": "Failed to load templates" | |
| } | |
| }, | |
| "whatsapp": { | |
| "templates": { | |
| "title": "WhatsApp Message Templates", | |
| "subtitle": "Manage and synchronize your pre-approved Meta templates.", | |
| "sync_button": "Sync with Meta", | |
| "create_button": "Create Template", | |
| "no_templates": "No templates found. Synchronize or create your first one.", | |
| "table": { | |
| "name": "Template Name", | |
| "category": "Category", | |
| "language": "Language", | |
| "status": "Status" | |
| }, | |
| "create_modal": { | |
| "title": "Create New Template", | |
| "name_label": "Template Name (lowercase, no spaces)", | |
| "category_label": "Category", | |
| "language_label": "Language", | |
| "body_label": "Body Text", | |
| "submit": "Submit for Approval", | |
| "success": "Template submitted successfully!", | |
| "error": "Failed to submit template.", | |
| "meta_approval": "Templates must be approved by Meta before use.", | |
| "ai_generate_label": "Generate with AI", | |
| "ai_placeholder": "e.g. \"welcome message for a new learner\"", | |
| "ai_generating": "Generating…", | |
| "ai_generate": "Generate", | |
| "ai_hint": "The AI fills in the fields below — you can edit them before submitting.", | |
| "name_hint": "Lowercase letters, numbers and underscores only. e.g. payment_reminder", | |
| "policy_marketing": "Promotional — Meta approval 24–48h. Avoid overly commercial wording.", | |
| "policy_utility": "Transactional — faster approval (often a few hours). Confirmations, reminders, alerts.", | |
| "preview_label": "WhatsApp Preview", | |
| "view_preview": "View Full Preview" | |
| }, | |
| "status_approved": "Approved", | |
| "status_pending": "Pending", | |
| "status_rejected": "Rejected", | |
| "status_paused": "Paused", | |
| "status_disabled": "Disabled", | |
| "waba_not_configured": "WhatsApp Business not configured", | |
| "waba_not_configured_desc": "This organization does not yet have a WhatsApp Business account (WABA) associated. Go to Settings → WhatsApp Integration to configure your number and WABA ID." | |
| } | |
| }, | |
| "billing": { | |
| "select_org": "Select an organization to view billing.", | |
| "error_prefix": "Error:", | |
| "page_title": "My credits & usage", | |
| "period_label": "Period:", | |
| "recharge_btn": "Top up", | |
| "alert_exhausted_title": "Service suspended — your credits are exhausted", | |
| "alert_exhausted_desc": "Top up to restore AI messages immediately.", | |
| "alert_low_title": "Credits almost exhausted — {{count}} credits remaining", | |
| "alert_low_desc": "Top up before service is interrupted.", | |
| "alert_recharge_btn": "Top up →", | |
| "wallet_label": "Available credits", | |
| "wallet_unit": "credits", | |
| "wallet_fcfa": "≈ {{amount}} FCFA", | |
| "wallet_recharge_btn": "Top up credits", | |
| "wallet_rate": "1 credit = 1 AI message = 10 FCFA", | |
| "days_remaining": "At this rate: ~{{days}} day left", | |
| "days_remaining_plural": "At this rate: ~{{days}} days left", | |
| "ai_messages_title": "AI messages this month", | |
| "ai_cost_label": "≈ {{cost}} FCFA in AI cost", | |
| "ai_quota_warning": "Monthly quota almost reached ({{pct}}%)", | |
| "wa_messages_title": "WhatsApp messages this month", | |
| "wa_free_note": "✅ Free for you — Meta bills your WhatsApp Business account directly", | |
| "activity_title": "Activity over the last 30 days", | |
| "activity_subtitle": "Each bar = total AI + WhatsApp messages on that day", | |
| "activity_empty": "No activity during this period", | |
| "breakdown_title": "Where do your AI credits go?", | |
| "breakdown_subtitle": "Usage breakdown by message type this month", | |
| "transactions_title": "Recent credit movements", | |
| "transactions_subtitle": "The last 20 operations on your balance", | |
| "balance_label": "Balance:", | |
| "csv_btn": "CSV", | |
| "csv_col_date": "Date", | |
| "csv_col_type": "Type", | |
| "csv_col_desc": "Description", | |
| "csv_col_amount": "Amount (credits)", | |
| "csv_col_balance": "Balance after", | |
| "chat_title": "Ask a question about your usage", | |
| "chat_subtitle": "Answers based on your real data", | |
| "chat_placeholder": "e.g. How many credits have I used this week?", | |
| "chat_empty": "Click a question above or type your own", | |
| "chat_error": "Sorry, I can't respond right now.", | |
| "quick_q1": "How many credits do I have left?", | |
| "quick_q2": "How many days until I run out?", | |
| "quick_q3": "Which feature consumes the most?", | |
| "quick_q4": "How much have I spent this week?", | |
| "feature_LESSON": "📚 Lessons sent", | |
| "feature_FEEDBACK": "✅ Exercise feedback", | |
| "feature_DEEPDIVE": "🔍 Deep dives", | |
| "feature_TRANSCRIPTION": "🎤 Audio transcriptions", | |
| "feature_IMAGE_ANALYSIS": "🖼️ Image analyses", | |
| "feature_CAMPAIGN": "📣 Campaigns", | |
| "feature_ONBOARDING": "👋 Learner onboarding", | |
| "feature_OTHER": "⚙️ Other", | |
| "tx_TOP_UP_MANUAL": "➕ Top-up", | |
| "tx_TOP_UP_PAYMENT": "➕ Top-up", | |
| "tx_ADJUSTMENT": "🔧 Adjustment", | |
| "tx_DEBIT_AI": "🤖 AI message", | |
| "tx_DEBIT_WHATSAPP": "💬 WhatsApp message", | |
| "tx_DEBIT_BROADCAST": "📣 Campaign", | |
| "modal_title": "Top up credits", | |
| "modal_rate": "1 credit = 10 FCFA · used for each AI message", | |
| "modal_popular": "Most popular", | |
| "modal_ai_messages": "≈ {{count}} AI messages", | |
| "modal_footer": "Click a pack → WhatsApp opens → our team completes the top-up in under 2 hours.", | |
| "pack_500_label": "500 credits", | |
| "pack_2000_label": "2,000 credits", | |
| "pack_5000_label": "5,000 credits", | |
| "pack_500_price": "5,000 FCFA", | |
| "pack_2000_price": "18,000 FCFA", | |
| "pack_5000_price": "40,000 FCFA" | |
| }, | |
| "clients": { | |
| "page_title": "B2B Client Management", | |
| "page_subtitle": "Manage partner organizations and their WhatsApp assets.", | |
| "new_org_button": "New Organization", | |
| "loading": "Loading clients...", | |
| "no_clients_title": "No clients", | |
| "no_clients_desc": "Start by adding your first partner organization.", | |
| "status": { | |
| "operational": "Operational", | |
| "config_required": "Setup required", | |
| "online": "Online", | |
| "suspended": "SUSPENDED" | |
| }, | |
| "actions": { | |
| "reconfigure_wa": "Reconfigure WhatsApp", | |
| "connect_wa": "Connect WhatsApp (Meta)", | |
| "direct_setup": "Direct Setup", | |
| "personality_studio": "Personality Studio", | |
| "ai_credits": "AI Credits", | |
| "billing_details": "Details & Billing" | |
| }, | |
| "waba": { | |
| "checking": "Checking…", | |
| "not_connected": "Not connected", | |
| "approved": "Approved", | |
| "pending": "Under review", | |
| "rejected": "Rejected", | |
| "banned": "Suspended", | |
| "unknown": "Unknown", | |
| "refresh_tooltip": "Refresh", | |
| "what_to_do": "What to do? →", | |
| "verified": "Verified", | |
| "not_verified": "Not verified", | |
| "verify_link": "Verify →" | |
| }, | |
| "tier": { | |
| "tier_50": "50 conv./day", | |
| "tier_250": "250 conv./day", | |
| "tier_1k": "1,000 conv./day", | |
| "tier_10k": "10,000 conv./day", | |
| "tier_100k": "100,000 conv./day", | |
| "unlimited": "Unlimited", | |
| "label": "Daily Limit", | |
| "meta_compliance": "Meta Tech Provider Compliance" | |
| }, | |
| "quality": { | |
| "good_label": "Good", | |
| "good_desc": "Low report rate. Keep it up.", | |
| "medium_label": "Medium", | |
| "medium_desc": "Users have reported your messages. Avoid unsolicited sends.", | |
| "risky_label": "Risky", | |
| "risky_desc": "Risk of Meta block. Reduce volume and improve content.", | |
| "dot_title": "Quality: " | |
| }, | |
| "tier_modal": { | |
| "title": "WhatsApp Messaging Limit", | |
| "levels_heading": "Meta Capacity Levels", | |
| "current_badge": "Current", | |
| "tier_50_desc": "Restricted account or activation in progress.", | |
| "tier_250_desc": "Starting level for any newly approved account.", | |
| "tier_1k_desc": "Reached automatically after 1,000 unique users/month.", | |
| "tier_10k_desc": "Reached after 10,000 unique users/month.", | |
| "tier_100k_desc": "High volume — unlocked by Meta on request.", | |
| "unlimited_desc": "No limit enforced by Meta.", | |
| "quality_heading": "Phone Number Quality Score", | |
| "meta_auto_update": "Meta updates this data automatically.", | |
| "levels_auto": "Levels progress without any action on your part." | |
| }, | |
| "cells": { | |
| "waba_header": "WABA", | |
| "business_header": "Meta Business", | |
| "daily_limit_header": "Daily Limit", | |
| "daily_limit_info_tooltip": "Learn more about Meta limits" | |
| }, | |
| "create_modal": { | |
| "title": "New Organization", | |
| "company_name_label": "Company name", | |
| "company_name_placeholder": "E.g. AgroBusiness Senegal", | |
| "slug_label": "Slug (URL)", | |
| "slug_placeholder": "agro-sn", | |
| "use_case_label": "Use case", | |
| "use_case_education": "🎓 Education Platform (Modules)", | |
| "use_case_crm": "💬 CRM & WhatsApp Messages (Excel)", | |
| "workstream_label": "Workstream", | |
| "mode_crm": "CRM & Marketing", | |
| "mode_pedagogy": "Pedagogy & Training", | |
| "mode_service": "AI Customer Service", | |
| "admin_section": "Primary Administrator", | |
| "admin_name_label": "Full name", | |
| "admin_name_placeholder": "John Smith", | |
| "admin_email_label": "Email", | |
| "admin_email_placeholder": "admin@company.com", | |
| "password_label": "Temporary password", | |
| "password_placeholder": "Min. 8 characters", | |
| "submit": "Create organization & Admin", | |
| "submitting": "Creating...", | |
| "error_create": "Error creating organization. Make sure the slug is unique." | |
| }, | |
| "validation": { | |
| "name_required": "Name required", | |
| "slug_required": "Slug required", | |
| "slug_format": "Lowercase letters, numbers and dashes only", | |
| "admin_name_required": "Name required", | |
| "email_required": "Email required", | |
| "email_invalid": "Invalid email", | |
| "password_min": "Minimum 8 characters" | |
| }, | |
| "billing_modal": { | |
| "title": "Details & Billing", | |
| "mode_label": "Mode", | |
| "waba_status_label": "WABA Status", | |
| "daily_limit_label": "Daily limit", | |
| "meta_business_label": "Meta Business", | |
| "waba_id_label": "WABA ID", | |
| "plan_label": "Subscription plan", | |
| "plan_starter": "Starter — 20,000 FCFA/month", | |
| "plan_growth": "Growth — 60,000 FCFA/month", | |
| "plan_scale": "Scale — 150,000 FCFA/month", | |
| "plan_enterprise": "Enterprise — 500,000+ FCFA/month", | |
| "apply_plan": "Apply plan", | |
| "plan_updated": "Plan updated!", | |
| "close": "Close" | |
| }, | |
| "credits_modal": { | |
| "title": "AI Credits", | |
| "current_balance": "Current wallet balance", | |
| "credits_unit": "credits", | |
| "add_credits_label": "Credits to add", | |
| "add_credits_placeholder": "E.g. 500", | |
| "rate_hint": "1 credit = 10 FCFA · Minimum 1 credit", | |
| "submit": "Credit the wallet", | |
| "error": "Error allocating credits" | |
| }, | |
| "personality_modal": { | |
| "title": "Personality Studio", | |
| "subtitle": "Configuring AI Identity for {{orgName}}", | |
| "bot_name_label": "Bot Name", | |
| "bot_name_placeholder": "e.g. XAMLÉ, Coach Sarah...", | |
| "mission_label": "Core Mission", | |
| "mission_placeholder": "What is the main goal of this AI? e.g. Help entrepreneurs master financial literacy...", | |
| "tone_label": "Tone & Personality Description", | |
| "tone_placeholder": "e.g. Professional yet encouraging, uses local metaphors, strict on concepts but friendly...", | |
| "cancel": "Cancel", | |
| "submit": "Deploy Personality", | |
| "success": "Personality updated!" | |
| }, | |
| "wa_setup_modal": { | |
| "title": "Configure WhatsApp", | |
| "already_on_meta": "Account already configured on Meta", | |
| "waba_id_label": "WABA ID", | |
| "waba_id_placeholder": "e.g. 102938475610293", | |
| "waba_id_hint_link": "Open WhatsApp Accounts", | |
| "business_id_label": "Meta Business ID", | |
| "business_id_optional": "(optional — to display verification)", | |
| "business_id_placeholder": "e.g. 25855038707486178", | |
| "business_id_hint_link": "Open Business Info", | |
| "token_label": "System token", | |
| "token_optional": "(optional — uses env token by default)", | |
| "token_placeholder": "EAAxxxxxxx... — leave blank if already in env var", | |
| "token_hint_link": "Generate from System Users", | |
| "phone_number_detected": "Phone Number ID detected:", | |
| "save_config": "Save configuration", | |
| "success": "WhatsApp configuration updated!", | |
| "new_account_heading": "New account — Connect via Facebook", | |
| "new_account_desc": "For a client who hasn't yet set up their WhatsApp Business account on your platform.", | |
| "connect_facebook": "Connect with Facebook" | |
| }, | |
| "toast": { | |
| "wa_connected": "WhatsApp connected successfully!", | |
| "error_prefix": "Error: " | |
| } | |
| }, | |
| "admin_chat": { | |
| "aria_label": "AI Assistant", | |
| "choose_or_write": "Choose a question or write your own", | |
| "input_placeholder": "Your question...", | |
| "error": "Sorry, I can't respond right now. Try again in a moment.", | |
| "billing_title": "Billing assistant", | |
| "billing_subtitle": "Answers based on your real data", | |
| "billing_q1": "How many credits do I have left?", | |
| "billing_q2": "How many days until I run out?", | |
| "billing_q3": "Which feature consumes the most?", | |
| "billing_q4": "How much have I spent this week?", | |
| "settings_title": "Help — Settings", | |
| "settings_subtitle": "I explain each parameter", | |
| "settings_q1": "How do I connect my WhatsApp?", | |
| "settings_q2": "What is the AI Agent mode for?", | |
| "settings_q3": "Are my API keys secure?", | |
| "settings_q4": "How do I change my organization's mode?", | |
| "templates_title": "Help — Templates", | |
| "templates_subtitle": "I help you create your messages", | |
| "templates_q1": "How do I create a good template?", | |
| "templates_q2": "What are template variables for?", | |
| "templates_q3": "Why can a template be rejected?", | |
| "templates_q4": "What's the difference between utility and marketing?", | |
| "agent_title": "Help — AI Agent", | |
| "agent_subtitle": "I guide you to configure your agent", | |
| "agent_q1": "What type of document should I upload?", | |
| "agent_q2": "How do I choose the right tone for my agent?", | |
| "agent_q3": "How many documents are enough?", | |
| "agent_q4": "How do I improve my agent's responses?", | |
| "onboarding_title": "Help — WhatsApp Connection", | |
| "onboarding_subtitle": "I guide you step by step", | |
| "onboarding_q1": "Where do I find my WABA ID?", | |
| "onboarding_q2": "What's the difference between the two options?", | |
| "onboarding_q3": "My token expired, what should I do?", | |
| "onboarding_q4": "I don't have a Meta account, where do I start?", | |
| "general_title": "Xamlé Assistant", | |
| "general_subtitle": "Ask me your questions", | |
| "general_q1": "How do I get started with Xamlé?", | |
| "general_q2": "What's the difference between the modes?", | |
| "general_q3": "How does billing work?", | |
| "general_q4": "Where can I see my statistics?" | |
| }, | |
| "super_admin": { | |
| "nav_dashboard": "Dashboard", | |
| "nav_organizations": "Organizations", | |
| "nav_users": "Users", | |
| "nav_whatsapp": "WA Numbers", | |
| "nav_templates": "WA Templates", | |
| "nav_profiles": "WA Profiles", | |
| "nav_monitoring": "Monitoring", | |
| "nav_billing": "Billing", | |
| "nav_ai": "AI Insights", | |
| "nav_audit_logs": "Audit Logs", | |
| "exit_admin": "Exit admin", | |
| "logout": "Log out", | |
| "system_active": "System active", | |
| "platform_admin": "Platform Admin", | |
| "super_admin_label": "Super-admin", | |
| "dashboard_title": "Platform Dashboard", | |
| "dashboard_subtitle": "Global overview of all organizations", | |
| "kpi_organizations": "Organizations", | |
| "kpi_orgs_active": "{{count}} active", | |
| "kpi_users": "Users", | |
| "kpi_messages_24h": "Messages / 24h", | |
| "kpi_queue_depth": "Queue depth", | |
| "kpi_queue_failed": "{{count}} failed", | |
| "kpi_revenue": "Revenue / month", | |
| "kpi_alerts": "Alerts", | |
| "system_health": "System health", | |
| "health_db": "Database", | |
| "health_redis": "Redis", | |
| "health_queue": "Queue", | |
| "active_alerts": "Active alerts ({{count}})", | |
| "alert_token": "Expiring token — {{orgName}} ({{daysOld}}d)", | |
| "alert_balance": "Low balance — {{orgName}}: {{balance}} credits", | |
| "alert_queue_failed": "{{count}} failed jobs in queue", | |
| "orgs_title": "Organizations", | |
| "orgs_total": "{{count}} organizations total", | |
| "org_new": "New organization", | |
| "org_search_placeholder": "Search an organization...", | |
| "org_search_btn": "Search", | |
| "org_loading": "Loading...", | |
| "org_empty": "No organization found", | |
| "col_name": "Name", | |
| "col_plan": "Plan", | |
| "col_status": "Status", | |
| "col_users": "Users", | |
| "col_credits": "Credits", | |
| "status_suspended": "Suspended", | |
| "status_trial": "Trial", | |
| "status_active": "Active", | |
| "org_reactivated": "Organization reactivated", | |
| "org_suspended": "Organization suspended", | |
| "org_delete_confirm": "Permanently delete \"{{name}}\"? This action cannot be undone.", | |
| "org_deleted": "\"{{name}}\" deleted", | |
| "org_updated": "Organization updated", | |
| "org_created": "Organization created", | |
| "label_plan": "Plan", | |
| "label_ai_credits": "AI credits limit", | |
| "label_crm_active": "CRM active", | |
| "label_edtech_active": "EdTech active", | |
| "saving": "Saving...", | |
| "save": "Save", | |
| "modal_new_org": "New organization", | |
| "org_name_placeholder": "Organization name", | |
| "cancel": "Cancel", | |
| "creating": "Creating...", | |
| "create": "Create", | |
| "err_load_orgs": "Error loading organizations", | |
| "err_suspend": "Error changing status", | |
| "err_delete": "Error deleting", | |
| "err_update": "Error updating", | |
| "err_create": "Error creating", | |
| "btn_edit": "Edit", | |
| "btn_reactivate": "Reactivate", | |
| "btn_suspend": "Suspend", | |
| "btn_delete_forever": "Delete permanently", | |
| "pagination_info": "{{from}}–{{to}} of {{total}}", | |
| "prev": "Previous", | |
| "next": "Next", | |
| "users_title": "Users", | |
| "users_total": "{{count}} users total", | |
| "user_search_placeholder": "Search by name or email...", | |
| "col_user": "User", | |
| "col_organization": "Organization", | |
| "col_role": "Role", | |
| "col_created_at": "Created on", | |
| "user_empty": "No user found", | |
| "role_updated": "Role updated", | |
| "btn_reset_password": "Reset password", | |
| "reset_no_email": "This user has no email address", | |
| "reset_confirm": "Send a reset link to {{email}}?", | |
| "reset_sent": "Link sent to {{email}}", | |
| "err_load_users": "Error loading users", | |
| "err_role_change": "Error changing role", | |
| "err_reset_password": "Error sending email", | |
| "wa_numbers_title": "WhatsApp Numbers", | |
| "wa_numbers_total": "{{count}} numbers registered", | |
| "wa_refresh": "Refresh", | |
| "wa_register_number": "Register a number", | |
| "wa_no_numbers": "No WhatsApp number registered", | |
| "col_number": "Number", | |
| "col_id": "ID", | |
| "col_added_at": "Added on", | |
| "wa_register_title": "Register a WhatsApp number", | |
| "wa_step": "Step {{step}}/2", | |
| "label_org": "Organization", | |
| "org_select_placeholder": "Select an organization...", | |
| "label_phone_number_id": "Phone Number ID", | |
| "phone_id_hint": "Find this ID in Meta Business Manager > WhatsApp Accounts", | |
| "label_pin": "Security PIN", | |
| "pin_hint": "6-digit PIN to secure the number (leave blank = 000000)", | |
| "wa_select_org_error": "Please select an organization.", | |
| "wa_phone_id_error": "Phone Number ID must be between 12 and 18 digits.", | |
| "wa_pin_error": "PIN must be exactly 6 digits.", | |
| "wa_sending": "Sending...", | |
| "wa_send_otp": "Send OTP code", | |
| "wa_reg_error": "Error during registration.", | |
| "wa_net_error": "Network error.", | |
| "wa_otp_hint": "Meta sent you an OTP code by SMS or voice call. Enter it below.", | |
| "label_otp": "OTP code", | |
| "wa_otp_error": "OTP code must be between 4 and 8 digits.", | |
| "wa_verifying": "Verifying...", | |
| "wa_verify": "Verify", | |
| "wa_otp_invalid": "Invalid or expired OTP code.", | |
| "wa_number_registered": "Number registered successfully!", | |
| "wa_back": "Back", | |
| "err_load_numbers": "Error loading numbers", | |
| "tpl_title": "WhatsApp Templates", | |
| "tpl_orgs_count_one": "{{count}} organization with WhatsApp configured", | |
| "tpl_orgs_count_other": "{{count}} organizations with WhatsApp configured", | |
| "tpl_select_hint": "Select an organization to manage its WhatsApp message templates.", | |
| "tpl_search_placeholder": "Search an organization or WABA ID...", | |
| "tpl_empty": "No organization with WhatsApp configured", | |
| "col_waba_id": "WABA ID", | |
| "col_actions": "Actions", | |
| "tpl_view": "View templates", | |
| "tpl_no_templates": "No templates found for this organization.", | |
| "col_category": "Category", | |
| "col_language": "Language", | |
| "tpl_create_btn": "Create template", | |
| "tpl_create_title": "New WhatsApp template", | |
| "label_template_name": "Template name", | |
| "template_name_hint": "Lowercase, digits, underscores only", | |
| "template_name_error": "Lowercase, digits, underscores only", | |
| "label_category": "Category", | |
| "label_language": "Language", | |
| "label_header_optional": "Header (optional)", | |
| "label_body": "Message body", | |
| "label_footer_optional": "Footer (optional)", | |
| "label_preview": "Preview", | |
| "body_placeholder": "Message body...", | |
| "tpl_select_org_placeholder": "Select an organization…", | |
| "tpl_submitted": "Template submitted to Meta for approval", | |
| "tpl_create_required": "Organization, name and message body are required.", | |
| "tpl_name_invalid": "Template name is invalid.", | |
| "tpl_creating": "Creating…", | |
| "tpl_create_submit": "Create template", | |
| "tpl_create_error": "Error creating the template.", | |
| "profiles_title": "WhatsApp Profiles", | |
| "profiles_count_one": "{{count}} profile", | |
| "profiles_count_other": "{{count}} profiles", | |
| "profile_empty": "No WhatsApp profile found", | |
| "label_org_name": "Organization name", | |
| "label_logo_url": "Logo URL", | |
| "label_primary_color": "Primary color", | |
| "profile_updated": "Profile updated", | |
| "err_load_profiles": "Error loading profiles", | |
| "err_save_profile": "Error saving", | |
| "btn_cancel_edit": "Cancel", | |
| "btn_save": "Save", | |
| "saving_profile": "Saving…", | |
| "btn_edit_profile": "Edit", | |
| "monitoring_title": "Monitoring & Alerts", | |
| "monitoring_subtitle": "Real-time system status", | |
| "system_health_title": "System health", | |
| "health_redis_cache": "Redis / Cache", | |
| "health_queue_jobs": "Queue jobs", | |
| "queue_failed_detail": "{{count}} failed", | |
| "queue_waiting_detail": "{{count}} waiting", | |
| "token_expiry_title": "Expiring WhatsApp tokens", | |
| "token_no_risk": "No token at risk of expiration", | |
| "col_org": "Organization", | |
| "col_issued_ago": "Issued", | |
| "col_days": "{{count}} days", | |
| "low_balance_title": "Low balances (< 100 credits)", | |
| "low_balance_none": "No organization with low balance", | |
| "credits_label": "{{count}} credits", | |
| "err_load_monitoring": "Error loading monitoring", | |
| "billing_title": "Billing", | |
| "billing_transactions": "{{count}} transactions", | |
| "billing_add_credits": "Add credits", | |
| "billing_no_transactions": "No transactions", | |
| "col_date": "Date", | |
| "col_type": "Type", | |
| "col_description": "Description", | |
| "col_amount": "Amount", | |
| "col_balance_after": "Balance after", | |
| "credits_added": "{{amount}} credits added. New balance: {{balance}}", | |
| "modal_add_credits": "Add credits", | |
| "label_org_id": "Organization ID", | |
| "org_id_placeholder": "org-uuid...", | |
| "label_credits_amount": "Amount (credits)", | |
| "label_description_optional": "Description (optional)", | |
| "credits_desc_placeholder": "Manual top-up...", | |
| "adding": "Adding...", | |
| "add": "Add", | |
| "err_load_transactions": "Error loading transactions", | |
| "err_add_credits": "Error adding credits", | |
| "audit_title": "Audit Logs", | |
| "audit_total": "{{count}} entries total", | |
| "col_datetime": "Date / Time", | |
| "col_action": "Action", | |
| "col_actor": "Actor", | |
| "col_resource": "Resource", | |
| "col_details": "Details", | |
| "col_from": "From", | |
| "col_to": "To", | |
| "audit_search": "Search", | |
| "audit_empty": "No logs for these criteria", | |
| "audit_show": "View", | |
| "audit_hide": "Hide", | |
| "ai_title": "AI Insights", | |
| "ai_subtitle": "Natural language commands to manage the platform", | |
| "ai_suggestion_1": "Show me organizations with a low balance", | |
| "ai_suggestion_2": "What are the platform statistics?", | |
| "ai_suggestion_3": "List the active alerts", | |
| "ai_suggestion_4": "Show the 10 latest organizations", | |
| "ai_greeting": "Hello! I am your AI assistant for managing the XAMLÉ platform. Ask me a question or give me an instruction.", | |
| "ai_input_placeholder": "Type a command... e.g. 'Add 500 credits to org XAMLÉ'", | |
| "ai_confirm": "Confirm", | |
| "ai_cancelled": "Action cancelled.", | |
| "ai_err": "AI error", | |
| "ai_err_exec": "Execution error", | |
| "ai_err_message": "Sorry, an error occurred.", | |
| "ai_err_exec_message": "Error during execution.", | |
| "ai_done": "Action completed.", | |
| "ai_no_result": "No results found.", | |
| "rel_today": "today", | |
| "rel_yesterday": "1 day ago", | |
| "rel_days_ago": "{{count}} days ago", | |
| "tpl_cat_marketing_desc": "Promotions, offers, newsletters", | |
| "tpl_cat_utility_desc": "Confirmations, transactional updates", | |
| "tpl_cat_authentication_desc": "OTP codes, verification" | |
| } | |
| } | |