Dates in event (and likely other) pages show in site locale rather than current user locale
Overview
Please describe your problem or bug in detail.
When Mutlilang is enabled on Civi, translation works well for everything except date display. This is mostly only an issue for event info pages, but will happen anywhere that a date is displayed as part of the page content. I just made a sample event (with nearly nothing in it) on the demo site to show what happens. This link goes to the french version and the whole page is translated, but the date is still in English.
https://dmaster.demo.civicrm.org/civicrm/event/info?reset=1&id=7&lcMessages=fr_CA
I have done a little exploring in civicrm/CRM/Core/I18n.php and /civicrm/CRM/Utils/Date.php and found that the methods seem to be locale aware, but appear to use a more global locale (CiviCRM default, Wordpress default, or maybe System
Reproduction steps
- make site multilingual and ensure there is more than one language. In my case english (default) and french (additional)
- create an event and set basic information including a future date. save
- view the info page in french by adding &lcMessages=fr_CA to the URL
- the page will show in french, but the date format and language of month and day names will be in english.
Current behaviour
Date is rendered in default languange
Expected behaviour
Date should be rendered in the language that the browser requested
Environment information
Happens in every environment and version I have tested including the test site at dmaster.demo.civicrm.org