summaryrefslogtreecommitdiffhomepage
path: root/src/i18n.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/i18n.go')
-rw-r--r--src/i18n.go77
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]