Когда пользователи отправляют запрос на мой сервер, они отправляют вместе с ним локаль из своего браузера, чтобы мы могли обслуживать их на языке, который они предпочитают. Для большинства пользователей US Engli sh мы получаем локаль как en-US
, как и ожидалось. Однако некоторые отправляют локаль как en-US-posix
или en-US-u-va-posix
. Мы хотели бы просто взять версию об этом в США. Очевидно, что мы могли бы просто найти-заменить -posix
и -u-va-posix
, но мы также хотели бы сделать это с другими языками, не изучая каждую локаль и не принимая это решение вручную.
Так что мы действительно просто хотим раздеть вариант любой локали и получить упрощенную локаль. Проблема в том, что это не согласовано между локалями, где размещен вариант. В некоторых языках вариант встречается между языком и страной.
Мне еще предстоит найти библиотеку, которая может анализировать все типы локалей, которые мы также видим. Например, babel не распознал 120 из 555 локалей, которые мы собрали.
Нативный модуль python locale
, кажется, распознает по крайней мере все локали, но я не вижу способ извлечения только языка / страны, заданный примерно как en-US-u-va-posix
.
Как я могу удалить вариант из любой локали в python?