<?php
namespace App\Exports;

use App\Libs\Facades\Localization;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithMapping;

class StaticTranslationsExport implements FromCollection, WithHeadings, WithMapping
{
    protected $languageId;

    public function __construct($languageId)
    {
        $this->languageId = $languageId;
    }

    public function collection()
    {
        $defaultLang = Localization::getDefaultLocale();
        $translations = trans('frontend', [], $this->languageId);
        $defaultTranslations = trans('frontend', [], $defaultLang);

        $out = [];

        foreach ($defaultTranslations as $key => $defaultTranslation) {
            $out[] = [
                'key' => $key,
                'default' => $defaultTranslation,
                'translation' => !empty($translations[$key]) ? $translations[$key] : '',
            ];
        }

        return collect($out);
    }
    public function headings(): array
    {
        return [
            'KEY',
            'DEFAULT',
            'TRANSLATION',
        ];
    }
    public function map($translation): array
    {
        return [
            $translation['key'],
            $translation['default'],
            $translation['translation']
        ];
    }
}
