<?php

namespace GriffinForms\Admin\Language;

class Message extends \GriffinForms\Admin\Language\Format
{
    protected static $instance;

    
    protected function nameLabel()
    {
        return __('Message Name', 'griffinforms-form-builder');
    }
    
    protected function headingLabel()
    {
        return __('Message Subject', 'griffinforms-form-builder');
    }
    
    protected function headingDescription()
    {
        return __('Enter the subject line for the message. This subject will be used as the email’s subject when the message is sent. Make sure it is clear, concise, and accurately reflects the content of the email. A good subject line encourages recipients to open the email.
', 'griffinforms-form-builder');
    }
    
    protected function nameDescription()
    {
        return __('Provide an internal name for this message. This will be used for internal reference and is not visible to users. Use a unique, systematic name for easier backend management.', 'griffinforms-form-builder');
    }
    
    protected function descriptionLabel()
    {
        return __('Message Description', 'griffinforms-form-builder');
    }
    
    protected function descriptionDescription()
    {
        return __('Provide a brief description of this message. This description is for internal use only and helps you and other administrators understand the purpose and context of the message. It won’t appear in the email itself but is useful for organizing and managing multiple messages.', 'griffinforms-form-builder');
    }
    
    protected function subjectLabel()
    {
        return __('Message Subject', 'griffinforms-form-builder');
    }
    
    protected function contentLabel()
    {
        return __('Message Body', 'griffinforms-form-builder');
    }
    
    protected function contentDescription()
    {
        return __('Write the content of your message. This content will be used in emails, so make sure it is clear and concise. Always review the message for accuracy before saving.', 'griffinforms-form-builder');
    }

    protected function mergeTokensDescription()
    {
        return __('Build a JSON merge token for this message. Tokens are resolved at send time using the submission context. Tip: Submission attributes are form-agnostic, while Field attributes require a selected form for lookup.', 'griffinforms-form-builder');
    }

    protected function mergeFormContextLabel()
    {
        return __('Form Context (Preview)', 'griffinforms-form-builder');
    }

    protected function mergeItemTypeLabel()
    {
        return __('Item Type', 'griffinforms-form-builder');
    }

    protected function mergeItemTypeField()
    {
        return __('Field', 'griffinforms-form-builder');
    }

    protected function mergeItemTypeForm()
    {
        return __('Form', 'griffinforms-form-builder');
    }

    protected function mergeItemTypeSubmission()
    {
        return __('Submission', 'griffinforms-form-builder');
    }

    protected function mergeFieldLabel()
    {
        return __('Field', 'griffinforms-form-builder');
    }

    protected function mergeAttrLabel()
    {
        return __('Attribute', 'griffinforms-form-builder');
    }

    protected function mergeFallbackLabel()
    {
        return __('Fallback', 'griffinforms-form-builder');
    }


    protected function mergeTokenPreviewLabel()
    {
        return __('Token Preview', 'griffinforms-form-builder');
    }

    protected function mergeInsertTokenLabel()
    {
        return __('Insert Token', 'griffinforms-form-builder');
    }

    protected function selectForm()
    {
        return __('Select Form', 'griffinforms-form-builder');
    }

    protected function selectField()
    {
        return __('Select Field', 'griffinforms-form-builder');
    }

    protected function mergeAttrIdLabel()
    {
        return __('ID', 'griffinforms-form-builder');
    }

    protected function mergeAttrNameLabel()
    {
        return __('Name', 'griffinforms-form-builder');
    }

    protected function mergeAttrHeadingLabel()
    {
        return __('Heading', 'griffinforms-form-builder');
    }

    protected function mergeAttrDescriptionLabel()
    {
        return __('Description', 'griffinforms-form-builder');
    }

    protected function mergeAttrHelptextLabel()
    {
        return __('Helptext', 'griffinforms-form-builder');
    }

    protected function mergeAttrLabelLabel()
    {
        return __('Label', 'griffinforms-form-builder');
    }

    protected function mergeAttrValueLabel()
    {
        return __('Value', 'griffinforms-form-builder');
    }

    protected function mergeAttrAnswerCountLabel()
    {
        return __('Number of Answers', 'griffinforms-form-builder');
    }

    protected function mergeAttrPositionLabel()
    {
        return __('Position', 'griffinforms-form-builder');
    }

    protected function mergeAttrTimeLabel()
    {
        return __('Time', 'griffinforms-form-builder');
    }

    protected function mergeAttrDataLabel()
    {
        return __('Submission Data', 'griffinforms-form-builder');
    }

    protected function mergeAttrAttachmentsCountLabel()
    {
        return __('Attachments Count', 'griffinforms-form-builder');
    }

    protected function mergeAttrAttachmentsSizeLabel()
    {
        return __('Attachments Size', 'griffinforms-form-builder');
    }

    protected function mergeAttrPaymentTotalLabel()
    {
        return __('Payment Total', 'griffinforms-form-builder');
    }

    protected function mergeAttrPaymentBreakdownLabel()
    {
        return __('Payment Breakdown', 'griffinforms-form-builder');
    }

    protected function mergeAttrPaymentStatusLabel()
    {
        return __('Payment Status', 'griffinforms-form-builder');
    }

    protected function mergeAttrEditUrlLabel()
    {
        return __('Edit URL', 'griffinforms-form-builder');
    }
    
    protected function headingEditMessage()
    {
        return __('Edit Message', 'griffinforms-form-builder');
    }
    
    protected function headingCreateMessage()
    {
        return __('Create Message', 'griffinforms-form-builder');
    }
    
    protected function createItem()
    {
        return __('Save Message', 'griffinforms-form-builder');
    }

    protected function backToMessages()
    {
        return __('All Messages', 'griffinforms-form-builder');
    }
    
    public static function getInstance()
    {
        if (self::$instance == null)
        {
            self::$instance = new Message();
        }
        
        return self::$instance;
    }
    
    private function __construct() 
    {
    }
}
