<?php

namespace GriffinForms\Admin\Language;

class License extends \GriffinForms\Admin\Language\Settings
{
    protected static $instance;

    public static function getInstance()
    {
        if (self::$instance == null)
        {
            self::$instance = new License();
        }

        return self::$instance;
    }

    private function __construct()
    {
    }

    protected function headingLicense()
    {
        return __('License', 'griffinforms-form-builder');
    }

    protected function licenseStatusHeading()
    {
        return __('Current license status', 'griffinforms-form-builder');
    }

    protected function licenseKeyLabel()
    {
        return __('License key', 'griffinforms-form-builder');
    }

    protected function licenseKeyDescription()
    {
        return __('Enter the GriffinForms Pro license key you received after purchase. Once a key is activated, this field stays locked until you choose to edit it.', 'griffinforms-form-builder');
    }

    protected function activateLicense()
    {
        return __('Activate License', 'griffinforms-form-builder');
    }

    protected function updateLicense()
    {
        return __('Update License', 'griffinforms-form-builder');
    }

    protected function editLicenseKey()
    {
        return __('Edit Key', 'griffinforms-form-builder');
    }

    protected function manageLicenseAccount()
    {
        return __('Manage License Account', 'griffinforms-form-builder');
    }

    protected function viewUpgradeOptions()
    {
        return __('View Upgrade Options', 'griffinforms-form-builder');
    }

    protected function licenseStateLabel()
    {
        return __('License state', 'griffinforms-form-builder');
    }

    protected function entitlementStateLabel()
    {
        return __('Entitlement state', 'griffinforms-form-builder');
    }

    protected function runtimeAccessLabel()
    {
        return __('Runtime access', 'griffinforms-form-builder');
    }

    protected function licenseExpiryLabel()
    {
        return __('License expires', 'griffinforms-form-builder');
    }

    protected function trialEndsLabel()
    {
        return __('Trial ends', 'griffinforms-form-builder');
    }

    protected function activationUnavailable()
    {
        return __('License activation is unavailable until GriffinForms Pro is active, compatible, and connected.', 'griffinforms-form-builder');
    }

    protected function licenseActivationSuccess()
    {
        return __('License activated successfully. Refreshing status…', 'griffinforms-form-builder');
    }

    protected function licenseActivationUnexpected()
    {
        return __('The license activation response could not be understood.', 'griffinforms-form-builder');
    }

    protected function licenseKeyRequired()
    {
        return __('Please enter a license key first.', 'griffinforms-form-builder');
    }
}
