This translates %p into the upper-cased abbreviated meridia, 'PM' and 'AM' not 'pm' and 'am'.
If a case needs to be added for %P, let me know and I will add that in.
Fixed I18n::Backend::Base.localize to return the correct date format …
…case when translating %p into the abbreviated meridian ('PM' and 'AM' not 'pm' and 'am')
I guess that you're trying to change wrong thing. As I see you want to change translation keys to be upper-cased, what's not a desired behaviour (convention is that all translation keys are lower-cased). I understand that Time#strftime supports both %p and %P (IMO - in not a intuitive way, as %P is lower-cased and %p upper-cased ), but...it doesn't need to care about other languages. Note, that in other languages meridian indicators might be regular words or abbrev not supposed to be lower/upper-cased. I don't think that it should be supported by i18n, but strictly defined in translation values. Also, in my opinion - most apps uses only one form - to be consistent.