85 lines
1.9 KiB
PHP
85 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace app;
|
|
|
|
use enums\LangEnum;
|
|
|
|
/**
|
|
*
|
|
*/
|
|
class LangService
|
|
{
|
|
|
|
/**
|
|
* @return string[]
|
|
*/
|
|
public static function getAllowLang(): array
|
|
{
|
|
return array_map(function ($item) {
|
|
return $item->value;
|
|
}, array_filter(LangEnum::cases(), function ($item) {
|
|
return $item->is_open();
|
|
}));
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public static function getLangCases(): array
|
|
{
|
|
return array_map(function ($item) {
|
|
return [
|
|
'value' => $item->value,
|
|
'lang' => $item->lang(),
|
|
'label' => $item->label()
|
|
];
|
|
}, array_filter(LangEnum::cases(), function ($item) {
|
|
return $item->is_open();
|
|
}));
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public static function getLabelCases(): array
|
|
{
|
|
return array_map(function ($item) {
|
|
return [
|
|
'value' => $item->value,
|
|
'label' => $item->label()
|
|
];
|
|
}, array_filter(LangEnum::cases(), function ($item) {
|
|
return $item->is_open();
|
|
}));
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public static function getLangExtend(): array
|
|
{
|
|
$extend = [];
|
|
foreach (array_filter(LangEnum::cases(), function ($item) {
|
|
return $item->is_open();
|
|
}) as $item) {
|
|
$extend[$item->value] = $item->extend();
|
|
}
|
|
return $extend;
|
|
}
|
|
|
|
/**
|
|
* @return array
|
|
*/
|
|
public static function getAcceptLang(): array
|
|
{
|
|
$extend = [];
|
|
foreach (array_filter(LangEnum::cases(), function ($item) {
|
|
return $item->is_open();
|
|
}) as $item) {
|
|
foreach ($item->getLangList() as $langListitem) {
|
|
$extend[$langListitem] = $item->value;
|
|
}
|
|
}
|
|
return $extend;
|
|
}
|
|
} |