ruby-on-rails - 不同的日期格式和一种语言环境
问题描述
我I18n.t('date.formats.default')
用于日期格式。
问题是在不同的国家有不同的日期格式,但只有一种英语语言环境。
例如美国的“ %m.%d.%Y ”和澳大利亚的“ %d.%m.%Y ”
我需要如何处理它的想法。
解决方案
虽然您可能只是将其他东西用于日期格式,但最简单的插入式解决方案是将所有可能的变体存储在同一字符串中并在检索时执行(假设国家代码已知):
'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
需要支持正常格式,不带括号。
如果您不喜欢正则表达式,请将包含 hash 的 JSON 存储在那里,{CODE => FORMAT}
解析它并检索值。
推荐阅读
- windows - 如何连接代理:IPC connect call
- php - php: simplexml_load_file 在不同的环境下输出不同
- python - 何时使用 `raise_for_status` 与 `status_code` 测试
- go - 为什么我的 Go 应用程序没有像 busybox `cat` 命令那样从 sysfs 中读取数据?
- c# - WPF 应用程序的 ICommand 实施中的 CS0201 错误
- hyperledger-fabric - 将 Fabric 节点 SDK 1.4.x 与 Fabric 2.0 一起使用
- amazon-web-services - 如何修复 AWS Config 生成 AccessDenied 错误?
- android - 项目构建任务失败(无法解析所有配置文件)
- vbscript - 将 int 数组拆分为两个数组偶数和奇数 VBscript 错误
- python - 子类中的 Jsonpickle 更改数据类型