Можете ли вы поддерживать карту внутренних языков, которые вы фактически поддерживаете?
Примерно так:
def locale_iso15897(locale)
iso_map = {
"en" => "en_US.UTF8",
"fr" => "fr_FR.UTF8",
"fr-CA" => "fr_CA.UTF8",
"pl" => "pl_PL.UTF8"
}
iso_map[locale.to_s]
end