<?php

namespace GriffinForms\Admin\Language;

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

    protected function paymentCurrencyLabel()
    {
        return __('Currency', 'griffinforms-form-builder');
    }

    protected function paymentCurrencyDescription()
    {
        return __('Choose the default currency used for form payments. Individual forms can override this when needed.', 'griffinforms-form-builder');
    }

    protected function allowedPaymentGatewaysLabel()
    {
        return __('Allowed Payment Gateways', 'griffinforms-form-builder');
    }

    protected function allowedPaymentGatewaysDescription()
    {
        return __('Choose which gateways should appear to users on payment forms. Leave all unchecked (or select “Disable payments”) to turn payments off globally.', 'griffinforms-form-builder');
    }

    protected function taxEnabledLabel()
    {
        return __('Global Tax', 'griffinforms-form-builder');
    }

    protected function taxEnabledDescription()
    {
        return __('Enable tax calculations for every payment field automatically. Individual fields will inherit these values unless they override them.', 'griffinforms-form-builder');
    }

    protected function taxRateTypeLabel()
    {
        return __('Tax Rate Type', 'griffinforms-form-builder');
    }

    protected function taxRateTypeDescription()
    {
        return __('Choose whether the tax is calculated as a percentage of the cart total or a fixed amount added to the order.', 'griffinforms-form-builder');
    }

    protected function taxRateValueLabel()
    {
        return __('Tax Rate', 'griffinforms-form-builder');
    }

    protected function taxRateValueDescription()
    {
        return __('Enter the tax rate. Use percentage values (e.g., 18 for 18%) or currency amounts when fixed amount is selected.', 'griffinforms-form-builder');
    }

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

    protected function taxDisplayLabelDescription()
    {
        return __('Label shown next to the tax row in the frontend cart summary (e.g., “VAT”, “GST”).', 'griffinforms-form-builder');
    }

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

    protected function taxRegistrationLabelDescription()
    {
        return __('Optional label for your tax registration number (e.g., “GSTIN”, “VAT ID”). Leave blank to hide.', 'griffinforms-form-builder');
    }

    protected function taxRegistrationNumberLabel()
    {
        return __('Tax Registration Number', 'griffinforms-form-builder');
    }

    protected function taxRegistrationNumberDescription()
    {
        return __('Enter the registration number you want to display alongside the label above.', 'griffinforms-form-builder');
    }

    protected function invalidCurrency()
    {
        return __('Please select a valid currency.', 'griffinforms-form-builder');
    }

    protected function invalidPaymentGateway()
    {
        return __('Please select a valid payment gateway.', 'griffinforms-form-builder');
    }

    protected function gatewayNotConfigured()
    {
        return __('This gateway has not been configured yet. Save credentials in the Integrations modal before activating it.', 'griffinforms-form-builder');
    }

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

        return self::$instance;
    }

    private function __construct()
    {
    }
}
