From a00810e3607c7b178d590e47a985c59a2401c99d Mon Sep 17 00:00:00 2001 From: Mayra Cabrera Date: Tue, 22 Jan 2019 17:59:01 -0600 Subject: [PATCH] Document how to format localized dates in Ruby This documents the two ways we currently localized dates: 1) Using l helper 2) Through strftime Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/41237 --- doc/development/i18n/externalization.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/development/i18n/externalization.md b/doc/development/i18n/externalization.md index 6323275426f..00db58a45a2 100644 --- a/doc/development/i18n/externalization.md +++ b/doc/development/i18n/externalization.md @@ -228,6 +228,16 @@ This makes use of [`Intl.DateTimeFormat`]. [`Intl.DateTimeFormat`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat +- In Ruby/HAML, we have two ways of adding format to dates and times: + + 1. **Through the `l` helper**, i.e. `l(active_session.created_at, format: :short)`. We have some predefined formats for +[dates](https://gitlab.com/gitlab-org/gitlab-ce/blob/v11.7.0/config/locales/en.yml#L54) and [times](https://gitlab.com/gitlab-org/gitlab-ce/blob/v11.7.0/config/locales/en.yml#L261). + If you need to add a new format, because other parts of the code could benefit from it, + you'll need to add it to [en.yml](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/locales/en.yml) file. + 2. **Through `strftime`**, i.e. `milestone.start_date.strftime('%b %-d')`. We use `strftime` in case none of the formats + defined on [en.yml](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/config/locales/en.yml) matches the date/time + specifications we need, and if there is no need to add it as a new format because is very particular (i.e. it's only used in a single view). + ## Best practices ### Splitting sentences -- GitLab