Получить точный языковой объект из отображаемого имени

Как с помощью пакета langcodes получить точный языковой объект по отображаемому имени? Например,

langcodes.find("English (United Kingdom)")возвращаетLanguage.make(language='en')

вместо того, чтобы вернутьсяLanguage.make(language='en', territory='GB')который возвращаетсяlangcodes.get("en-GB")

Я хочу использовать это, чтобы проверить, например, если"English (United Kingdom)"==en-GB

1 ответ

К сожалению, похоже, что пакет не поддерживает эту функциональность. Из документации : [T]его метод в настоящее время игнорирует выражения в скобках, которые поступают из.display_name(). Это значит, чтоfindне сможет вернуть территорию из выражений типа «Английский (США)» или «Английский (Соединённое Королевство)».
Если вам абсолютно необходимо использовать этот пакет, лучший вариант, который я вижу, — это провести своего рода реверс-инжинирингLanguage.display_nameметод найден здесь .

Другие вопросы по тегам