From ac471b28a6d4c1fb207bbcd538e62e65c0ebe8c6 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Tue, 27 May 2025 16:51:09 +0200 Subject: [PATCH] fix(services/templater): Update kilometer formatting to include dynamic separator based on locale --- services/templater.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/services/templater.go b/services/templater.go index a475f4e..46d8b00 100644 --- a/services/templater.go +++ b/services/templater.go @@ -90,16 +90,23 @@ func (t *DefaultTemplater) LoadImage(name string) (string, error) { func (t *DefaultTemplater) FormatUnit(unit string, locale string, amount int) (string, error) { var formatted string + var seperator string + switch locale { + case "de": + seperator = " " + default: + seperator = "" + } switch unit { case "kilometer": if amount < 1000 { - formatted = fmt.Sprintf("%dm", amount) + formatted = fmt.Sprintf("%d%sm", amount, seperator) } else if (amount % 1000) == 0 { - formatted = fmt.Sprintf("%dkm", amount/1000) + formatted = fmt.Sprintf("%d%skm", amount/1000, seperator) } else { kilometers := math.Floor(float64(amount) / 1000) meters := amount - int(kilometers)*1000 - formatted = fmt.Sprintf("%dkm %dm", int(kilometers), meters) + formatted = fmt.Sprintf("%d%skm %d%sm", int(kilometers), seperator, meters, seperator) } case "euro": formatted = fmt.Sprintf("%.2f", float64(amount)/100)