diff options
Diffstat (limited to 'src/i18n.go')
-rw-r--r-- | src/i18n.go | 77 |
1 files changed, 50 insertions, 27 deletions
diff --git a/src/i18n.go b/src/i18n.go index 03a6951..cb54e28 100644 --- a/src/i18n.go +++ b/src/i18n.go @@ -1,7 +1,7 @@ -//go:generate gotext -srclang=en -dir=rosetta extract -lang=bg,el,en,nl . +//go:generate go tool gotext -srclang=en -dir=rosetta update -lang=bg,el,en,nl . //go:generate ../exttmpl -package src +package app import ( "fmt" @@ -23,10 +23,12 @@ type Printer struct { type locale struct { Bcp, Name string Eurozone, Enabled bool - dateFmt, moneyFmt string + dateFmt string } var ( + /* To determine the correct date format to use, use the ‘datefmt’ script in + the repository root */ Locales = [...]locale{ { Bcp: "ca", @@ -92,6 +94,13 @@ var ( Enabled: false, }, { + Bcp: "hr", + Name: "hrvatski", + dateFmt: "02. 01. 2006.", + Eurozone: true, + Enabled: false, + }, + { Bcp: "it", Name: "italiano", dateFmt: "02/01/2006", @@ -141,13 +150,6 @@ var ( Enabled: false, }, { - Bcp: "sh", - Name: "srpskohrvatski", - dateFmt: "02. 01. 2006.", - Eurozone: true, - Enabled: false, - }, - { Bcp: "sk", Name: "slovenčina", dateFmt: "2. 1. 2006", @@ -161,16 +163,30 @@ var ( Eurozone: true, Enabled: false, }, + { + Bcp: "sv", + Name: "svenska", + dateFmt: "2006-01-02", + Eurozone: true, + Enabled: false, + }, /* Non-Eurozone locales */ { Bcp: "bg", Name: "български", dateFmt: "2.01.2006 г.", - Eurozone: false, + Eurozone: false, /* TODO(2026): Set to true */ Enabled: true, }, { + Bcp: "da", + Name: "dansk", + dateFmt: "02.01.2006", + Eurozone: false, + Enabled: false, + }, + { Bcp: "en-US", Name: "English (US)", dateFmt: "1/2/2006", @@ -178,16 +194,23 @@ var ( Enabled: false, }, { - Bcp: "ro", - Name: "română", - dateFmt: "02.01.2006", + Bcp: "hu", + Name: "magyar", + dateFmt: "2006. 01. 02.", Eurozone: false, Enabled: false, }, { - Bcp: "sq", - Name: "Shqip", - dateFmt: "2.1.2006", + Bcp: "pl", + Name: "polski", + dateFmt: "2.01.2006", + Eurozone: false, + Enabled: false, + }, + { + Bcp: "ro", + Name: "română", + dateFmt: "02.01.2006", Eurozone: false, Enabled: false, }, @@ -219,15 +242,7 @@ func init() { defaultPrinter = printers["en"] } -func (p Printer) T(fmt string, args ...any) string { - return p.inner.Sprintf(fmt, args...) -} - -func (p Printer) N(n int) string { - return p.inner.Sprint(n) -} - -func (p Printer) Date(d time.Time) string { +func (p Printer) D(d time.Time) string { return d.Format(p.Locale.dateFmt) } @@ -246,7 +261,7 @@ func (p Printer) M(val any) string { default: go func() { if err := email.ServerError(badMType{"TODO"}); err != nil { - log.Print(err) + log.Println(err) } }() /* Hopefully this never happens */ @@ -266,6 +281,14 @@ func (p Printer) M(val any) string { } } +func (p Printer) N(n int) string { + return p.inner.Sprint(n) +} + +func (p Printer) T(fmt string, args ...any) string { + return p.inner.Sprintf(fmt, args...) +} + /* Transform ‘en-US’ to ‘en’ */ func (l locale) Language() string { return l.Bcp[:2] |