diff options
author | Yarden Shoham <git@yardenshoham.com> | 2023-04-23 22:12:33 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-23 15:12:33 -0400 |
commit | 70bb4984cdad9a15d676708bd345b590aa42d72a (patch) | |
tree | dda9461e4928839fa08641d68cf1c5bb29252b3d /modules/templates/helper.go | |
parent | cbe2e99aed5e479b0fae38726e16baefacb1a7f1 (diff) | |
download | gitea-70bb4984cdad9a15d676708bd345b590aa42d72a.tar.gz gitea-70bb4984cdad9a15d676708bd345b590aa42d72a.zip |
Allow using localized absolute date times within phrases with place holders and localize issue due date events (#24275)
This refactors the `shared/datetime/short|long|full` templates into a
template helper function, which allows us to render absolute date times
within translatable phrases.
- Follows #23988
- The first attempt was in #24055
- This should help #22664
Changes:
1. Added the `DateTime` template helper that replaces the
`shared/datetime/short|long|full` templates
2. Used find-and-replace with varying regexes to replace the templates
from step 1 (for example, `\{\{template "shared/datetime/(\S+) \(dict
"Datetime" ([^"]+) "Fallback" ([^\)]+\)?) ?\)?\}\}` -> `{{DateTime "$1
$2 $3}}`)
3. Used the new `DateTime` helper in the issue due date timestamp
rendering
# Before
![image](https://user-images.githubusercontent.com/20454870/233791256-b454c455-aca0-4b76-b300-7866c7bd529e.png)
# After
![image](https://user-images.githubusercontent.com/20454870/233790809-c4913355-2822-4657-bb29-2298deb6d4b3.png)
---------
Signed-off-by: Yarden Shoham <git@yardenshoham.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'modules/templates/helper.go')
-rw-r--r-- | modules/templates/helper.go | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/modules/templates/helper.go b/modules/templates/helper.go index c82f88a42f..b7bef20560 100644 --- a/modules/templates/helper.go +++ b/modules/templates/helper.go @@ -139,6 +139,7 @@ func NewFuncMap() []template.FuncMap { "CountFmt": base.FormatNumberSI, "TimeSince": timeutil.TimeSince, "TimeSinceUnix": timeutil.TimeSinceUnix, + "DateTime": timeutil.DateTime, "Sec2Time": util.SecToTime, "DateFmtLong": func(t time.Time) string { return t.Format(time.RFC3339) |