WIP: feat: translation support
Some checks failed
continuous-integration/drone/push Build is failing

See #483
This commit is contained in:
2025-08-19 11:22:52 +02:00
parent 5cf6048ecb
commit 396f0f4406
107 changed files with 15977 additions and 1645 deletions

View File

@ -8,6 +8,7 @@ import (
"strings"
"time"
"coopcloud.tech/abra/pkg/i18n"
"github.com/charmbracelet/lipgloss"
"github.com/charmbracelet/lipgloss/table"
"github.com/docker/go-units"
@ -42,7 +43,7 @@ func RemoveSha(str string) string {
func HumanDuration(timestamp int64) string {
date := time.Unix(timestamp, 0)
now := time.Now().UTC()
return units.HumanDuration(now.Sub(date)) + " ago"
return units.HumanDuration(now.Sub(date)) + i18n.G(" ago")
}
// CreateTable prepares a table layout for output.
@ -76,7 +77,7 @@ func CreateTable() (*table.Table, error) {
func PrintTable(t *table.Table) error {
if isAbraCI, ok := os.LookupEnv("ABRA_CI"); ok && isAbraCI == "1" {
// NOTE(d1): no width limits for CI testing since we test against outputs
log.Debug("detected ABRA_CI=1")
log.Debug(i18n.G("detected ABRA_CI=1"))
fmt.Println(t)
return nil
}
@ -130,7 +131,7 @@ func CreateOverview(header string, rows [][]string) string {
}
if len(row) > 2 {
panic("CreateOverview: only accepts rows of len == 2")
panic(i18n.G("CreateOverview: only accepts rows of len == 2"))
}
lenOffset := 4
@ -234,7 +235,7 @@ func StripTagMeta(image string) string {
}
if originalImage != image {
log.Debugf("stripped %s to %s for parsing", originalImage, image)
log.Debug(i18n.G("stripped %s to %s for parsing", originalImage, image))
}
return image