<?php

namespace Sibs\Stargate\Constants;

defined('ABSPATH') || exit;

class Languages implements ConstantsInterface
{
    public const ENGLISH = 'en';
    public const CZECH = 'cs';
    public const GERMAN = 'de';
    public const FRENCH = 'fr';
    public const DUCTH = 'nl';
    public const POLISH = 'pl';

    /**
     * All.
     */
    public static function all(): array
    {
        return [
            self::ENGLISH,
            self::CZECH,
            self::GERMAN,
            self::FRENCH,
            self::DUCTH,
            self::POLISH,
        ];
    }

    /**
     * Default.
     */
    public static function default(): mixed
    {
        return self::ENGLISH;
    }

    /**
     * Accepted Languages.
     */
    public static function acceptedLanguages(): array
    {
        return [
            'de_DE' => 'de',
            'el_GR' => 'el',
            'en_US' => 'en',
            'en_GB' => 'en',
            'es_ES' => 'es',
            'fr_FR' => 'fr',
            'it_IT' => 'it',
            'nl_NL' => 'nl',
            'pl_PL' => 'pl',
            'pt_PT' => 'pt',
            'ro_RO' => 'ro',
        ];
    }

    /**
     * Accepted Languages Regions.
     */
    public static function acceptedLanguagesRegions(): array
    {
        return [
            'de-DE' => 'de',
            'el-GR' => 'el',
            'en-US' => 'en',
            'en-GB' => 'en',
            'es-ES' => 'es',
            'fr-FR' => 'fr',
            'it-IT' => 'it',
            'nl-NL' => 'nl',
            'pl-PL' => 'pl',
            'pt-PT' => 'pt',
            'ro-RO' => 'ro',
        ];
    }

    /**
     * Accepted Countries.
     */
    public static function acceptedCountries(): array
    {
        return [
            // TODO
        ];
    }
}
