fix(services/templater): Update kilometer formatting to include dynamic separator based on locale
All checks were successful
Build release images / build-container (push) Successful in 4m8s
Build latest image / build-container (push) Successful in 4m14s

This commit is contained in:
Nicolai Ort 2025-05-27 16:51:09 +02:00
parent 76d982fa04
commit ac471b28a6
Signed by: niggl
GPG Key ID: 13AFA55AF62F269F

View File

@ -90,16 +90,23 @@ func (t *DefaultTemplater) LoadImage(name string) (string, error) {
func (t *DefaultTemplater) FormatUnit(unit string, locale string, amount int) (string, error) { func (t *DefaultTemplater) FormatUnit(unit string, locale string, amount int) (string, error) {
var formatted string var formatted string
var seperator string
switch locale {
case "de":
seperator = " "
default:
seperator = ""
}
switch unit { switch unit {
case "kilometer": case "kilometer":
if amount < 1000 { if amount < 1000 {
formatted = fmt.Sprintf("%dm", amount) formatted = fmt.Sprintf("%d%sm", amount, seperator)
} else if (amount % 1000) == 0 { } else if (amount % 1000) == 0 {
formatted = fmt.Sprintf("%dkm", amount/1000) formatted = fmt.Sprintf("%d%skm", amount/1000, seperator)
} else { } else {
kilometers := math.Floor(float64(amount) / 1000) kilometers := math.Floor(float64(amount) / 1000)
meters := amount - int(kilometers)*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": case "euro":
formatted = fmt.Sprintf("%.2f", float64(amount)/100) formatted = fmt.Sprintf("%.2f", float64(amount)/100)