[英]Different date format and one locale
我使用I18n.t('date.formats.default')
進行日期格式化。
問題是,在不同的國家/地區, 日期格式不同 ,但是只有一種英語語言環境 。
例如, '%M。%d。%Y' FO 美國和'%d。%米。%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
需要|| format
來支持普通格式,沒有括號。
如果您不喜歡正則表達式,請在其中存儲JSON,其中包含哈希{CODE => FORMAT}
,對其進行解析並檢索值。
我認為這是使用不同語言環境的更便捷方法。
例如en-AU.yml
, en-US.yml
, en-CA.yml
等? 特別是i18n支持這一點。
澳大利亞也有不同的時間格式。
每次您必須考慮到每個國家的所有細微差別。
使用不同的語言環境可以簡化此過程。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.