summaryrefslogtreecommitdiffhomepage
path: root/i18n/printer.go
diff options
context:
space:
mode:
Diffstat (limited to 'i18n/printer.go')
-rw-r--r--i18n/printer.go65
1 files changed, 33 insertions, 32 deletions
diff --git a/i18n/printer.go b/i18n/printer.go
index fc198f5..83ef625 100644
--- a/i18n/printer.go
+++ b/i18n/printer.go
@@ -9,7 +9,7 @@ import (
"golang.org/x/text/message"
)
-//go:generate gotext -srclang=en-GB update -out=catalog.go -lang=en-GB,nl-NL git.thomasvoss.com/euro-cash.eu
+//go:generate gotext -srclang=en update -out=catalog.go -lang=el,en,nl git.thomasvoss.com/euro-cash.eu
type Printer struct {
Locale Locale
@@ -17,7 +17,7 @@ type Printer struct {
}
type Locale struct {
- Code string
+ Bcp string
Name string
dateFmt string
moneyFmt string
@@ -28,133 +28,133 @@ type Locale struct {
var (
Locales = [...]Locale{
{
- Code: "ca-AD",
+ Bcp: "ca",
Name: "català",
dateFmt: "2/1/2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "de-DE",
+ Bcp: "de",
Name: "Deutsch",
dateFmt: "2.1.2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "el-GR",
+ Bcp: "el",
Name: "ελληνικά",
dateFmt: "2/1/2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "en-GB",
+ Bcp: "en",
Name: "English",
dateFmt: "02/01/2006",
Eurozone: true,
Enabled: true,
},
{
- Code: "es-ES",
+ Bcp: "es",
Name: "español",
dateFmt: "2/1/2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "et-EE",
+ Bcp: "et",
Name: "eesti",
dateFmt: "2.1.2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "fi-FI",
+ Bcp: "fi",
Name: "suomi",
dateFmt: "2.1.2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "fr-FR",
+ Bcp: "fr",
Name: "français",
dateFmt: "02/01/2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "ga-IE",
+ Bcp: "ga",
Name: "Gaeilge",
dateFmt: "02/01/2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "hr-HR",
+ Bcp: "hr",
Name: "hrvatski",
dateFmt: "02. 01. 2006.",
Eurozone: true,
Enabled: false,
},
{
- Code: "it-IT",
+ Bcp: "it",
Name: "italiano",
dateFmt: "02/01/2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "lb-LU",
+ Bcp: "lb",
Name: "lëtzebuergesch",
dateFmt: "2.1.2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "lt-LT",
+ Bcp: "lt",
Name: "lietuvių",
dateFmt: "2006-01-02",
Eurozone: true,
Enabled: false,
},
{
- Code: "lv-LV",
+ Bcp: "lv",
Name: "latviešu",
dateFmt: "2.01.2006.",
Eurozone: true,
Enabled: false,
},
{
- Code: "mt-MT",
+ Bcp: "mt",
Name: "Malti",
dateFmt: "2/1/2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "nl-NL",
+ Bcp: "nl",
Name: "Nederlands",
dateFmt: "2-1-2006",
Eurozone: true,
Enabled: true,
},
{
- Code: "pt-PT",
+ Bcp: "pt",
Name: "português",
dateFmt: "02/01/2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "sk-SK",
+ Bcp: "sk",
Name: "slovenčina",
dateFmt: "2. 1. 2006",
Eurozone: true,
Enabled: false,
},
{
- Code: "sl-SI",
+ Bcp: "sl",
Name: "slovenščina",
dateFmt: "2. 1. 2006",
Eurozone: true,
@@ -163,28 +163,28 @@ var (
/* Non-Eurozone locales */
{
- Code: "bg-BG",
+ Bcp: "bg",
Name: "български",
dateFmt: "2.01.2006 г.",
Eurozone: false,
Enabled: false,
},
{
- Code: "en-US",
+ Bcp: "en-US",
Name: "English (US)",
dateFmt: "1/2/2006",
Eurozone: false,
Enabled: false,
},
{
- Code: "ro-RO",
+ Bcp: "ro",
Name: "română",
dateFmt: "02.01.2006",
Eurozone: false,
Enabled: false,
},
{
- Code: "uk-UA",
+ Bcp: "uk",
Name: "yкраїнська",
dateFmt: "02.01.2006",
Eurozone: false,
@@ -201,14 +201,14 @@ var (
func InitPrinters() {
for _, loc := range Locales {
if loc.Enabled {
- lang := language.MustParse(loc.Code)
- Printers[strings.ToLower(loc.Code)] = Printer{
+ lang := language.MustParse(loc.Bcp)
+ Printers[strings.ToLower(loc.Bcp)] = Printer{
Locale: loc,
printer: message.NewPrinter(lang),
}
}
}
- DefaultPrinter = Printers["en-gb"]
+ DefaultPrinter = Printers["en"]
}
func (p Printer) T(fmt string, args ...any) string {
@@ -235,16 +235,17 @@ func (p Printer) Money(val float64, round bool) string {
/* All Eurozone languages place the eurosign after the value except
for Dutch, English, Gaelic, and Maltese. Austrian German also
uses Dutch-style formatting, but we do not support that dialect. */
- switch p.Locale.Code {
- case "en-GB", "en-US", "ga-IE", "mt-MT":
+ switch p.Locale.Bcp {
+ case "en", "en-US", "ga", "mt":
return fmt.Sprintf("€%s", valstr)
- case "nl-NL":
+ case "nl":
return fmt.Sprintf("€ %s", valstr)
default:
return fmt.Sprintf("%s €", valstr)
}
}
+/* Transform ‘en-US’ to ‘en’ */
func (l Locale) Language() string {
- return l.Code[:2]
+ return l.Bcp[:2]
}