generated from mirzaev/pot
51 lines
1.0 KiB
PHP
51 lines
1.0 KiB
PHP
![]() |
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace svoboda\negotiatior\models\enumerations;
|
||
|
|
||
|
/**
|
||
|
* Language
|
||
|
*
|
||
|
* Types of languages by ISO 639-1 standart
|
||
|
*
|
||
|
* @package svoboda\negotiatior\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 svoboda <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 => 'Русский'
|
||
|
}
|
||
|
};
|
||
|
}
|
||
|
}
|