generated from mirzaev/pot
51 lines
1022 B
PHP
Executable File
51 lines
1022 B
PHP
Executable File
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace mirzaev\comrader\models\enumerations;
|
|
|
|
/**
|
|
* Language
|
|
*
|
|
* Types of languages by ISO 639-1 standart
|
|
*
|
|
* @package mirzaev\comrader\models\enumerations
|
|
*
|
|
* @license http://www.wtfpl.net/ Do What The Fuck You Want To Public License
|
|
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
|
|
* @author mirzaev <mail@domain.zone>
|
|
*/
|
|
enum language
|
|
{
|
|
case en;
|
|
case ru;
|
|
|
|
/**
|
|
* Label
|
|
*
|
|
* Initialize label of the language
|
|
*
|
|
* @param language|null $language Language into which to translate
|
|
*
|
|
* @return string Translated label of the language
|
|
*
|
|
* @todo
|
|
* 1. More languages
|
|
* 2. Cases???
|
|
*/
|
|
public function label(?language $language = language::en): string
|
|
{
|
|
// Exit (success)
|
|
return match ($this) {
|
|
language::en => match ($language) {
|
|
language::en => 'English',
|
|
language::ru => 'Английский'
|
|
},
|
|
language::ru => match ($language) {
|
|
language::en => 'Russian',
|
|
language::ru => 'Русский'
|
|
}
|
|
};
|
|
}
|
|
}
|