40 lines
1.0 KiB
Python
40 lines
1.0 KiB
Python
# DRF Rack
|
|
# Библиотека классов расширений для Django REST Framework
|
|
#
|
|
# Автор: Николай В. Анохин <n.anokhin@xeaf.net>
|
|
# Все права защищены. Лицензия: MIT
|
|
|
|
"""
|
|
Описание класса UILanguage
|
|
"""
|
|
|
|
from net.xeaf.rack.core import CoreEnum
|
|
|
|
|
|
class UILanguage(CoreEnum):
|
|
"""
|
|
Перечисление доступных языков интерфейса
|
|
"""
|
|
|
|
ENGLISH = 'en'
|
|
""" Английский """
|
|
|
|
RUSSIAN = 'ru'
|
|
""" Русский """
|
|
|
|
@classmethod
|
|
def from_string(cls, value: str) -> UILanguage:
|
|
"""
|
|
Создает значение из строкового представления
|
|
|
|
:param value: Строковое значение
|
|
:return: Язык интерфейса пользователя
|
|
"""
|
|
|
|
normalized = value.lower().split('-')[0]
|
|
for member in cls:
|
|
if member.value == normalized:
|
|
return member
|
|
|
|
raise ValueError(f"Unsupported language: {value}")
|