我有一个基于 Python 的网络应用程序。它部署在 AWS Linux2 机器上,我在其中正确配置了区域设置。为了显示用户区域设置中的月份和其他便利设施,我有这行完美运行的代码:
from locale import LC_ALL, setlocale
from django.utils.translation import get_language
setlocale(LC_ALL, get_language().replace('-', '_'))
现在我迁移到新的 Linux 2023 机器,这一行给了我一个(臭名昭著的)错误
locale.Error: unsupported locale setting
我知道语言环境必须安装并可用,但重点是(我认为)它已经是:如果我输入
localectl list-locales
我需要的所有语言环境都在那里。
我还将它们调整为输出中显示的格式,即,
get_language().replace('-', '_') + '.UTF-8'
但这并没有解决问题。
dnf --assumeyes 安装 glibc-all-langpacks
一旦我添加了这个,它就修复了我的 amazon linux 2023 docker 镜像。尝试一下。