Получить точный языковой объект из отображаемого имени
Как с помощью пакета 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
метод найден здесь .