Хотя вы могли бы просто использовать что-то другое для форматов даты, самое простое решение было бы сохранить все возможных вариантов в одной строке и при извлечении делать (при условии, что код страны известен):
'date.formats.default': 'US[%m.%d.%Y],AU[%d.%m.%Y]'
code = 'AU'
format = I18n.t('date.formats.default')
format[/(?<=#{code}\[).*?(?=\])/] || format
#⇒ "%d.%m.%Y"
Последний || format
необходим для поддержки нормального формата без скобок.
Если вам не нравятся регулярные выражения, сохраните там JSON, содержащий хэш {CODE => FORMAT}
, проанализируйте его и получите значение.