diff options
-rw-r--r-- | src/i18n/i18n.go | 52 | ||||
-rw-r--r-- | src/templates/language.html.tmpl | 20 | ||||
-rw-r--r-- | static/style.css | 28 |
3 files changed, 62 insertions, 38 deletions
diff --git a/src/i18n/i18n.go b/src/i18n/i18n.go index 02016bd..106f5d1 100644 --- a/src/i18n/i18n.go +++ b/src/i18n/i18n.go @@ -47,7 +47,7 @@ var ( locales = [...]LocaleInfo{ { Bcp: "ca", - Name: "Català", + Name: gotext.GetC("Català", "Language Name"), DateFormat: "2/1/2006", Eurozone: true, Enabled: false, @@ -58,7 +58,7 @@ var ( }, { Bcp: "de", - Name: "Deutsch", + Name: gotext.GetC("Deutsch", "Language Name"), DateFormat: "2.1.2006", Eurozone: true, Enabled: false, @@ -69,7 +69,7 @@ var ( }, { Bcp: "el", - Name: "Ελληνικά", + Name: gotext.GetC("Ελληνικά", "Language Name"), DateFormat: "2/1/2006", Eurozone: true, Enabled: false, @@ -80,7 +80,7 @@ var ( }, { Bcp: "en", - Name: "English", + Name: gotext.GetC("English", "Language Name"), DateFormat: "02/01/2006", Eurozone: true, Enabled: true, @@ -90,7 +90,7 @@ var ( }, { Bcp: "es", - Name: "Español", + Name: gotext.GetC("Español", "Language Name"), DateFormat: "2/1/2006", Eurozone: true, Enabled: false, @@ -101,7 +101,7 @@ var ( }, { Bcp: "et", - Name: "Eesti", + Name: gotext.GetC("Eesti", "Language Name"), DateFormat: "2.1.2006", Eurozone: true, Enabled: false, @@ -112,7 +112,7 @@ var ( }, { Bcp: "fi", - Name: "Suomi", + Name: gotext.GetC("Suomi", "Language Name"), DateFormat: "2.1.2006", Eurozone: true, Enabled: false, @@ -123,7 +123,7 @@ var ( }, { Bcp: "fr", - Name: "Français", + Name: gotext.GetC("Français", "Language Name"), DateFormat: "02/01/2006", Eurozone: true, Enabled: false, @@ -134,7 +134,7 @@ var ( }, { Bcp: "ga", - Name: "Gaeilge", + Name: gotext.GetC("Gaeilge", "Language Name"), DateFormat: "02/01/2006", Eurozone: true, Enabled: false, @@ -144,7 +144,7 @@ var ( }, { Bcp: "hr", - Name: "Hrvatski", + Name: gotext.GetC("Hrvatski", "Language Name"), DateFormat: "02. 01. 2006.", Eurozone: true, Enabled: false, @@ -155,7 +155,7 @@ var ( }, { Bcp: "it", - Name: "Italiano", + Name: gotext.GetC("Italiano", "Language Name"), DateFormat: "02/01/2006", Eurozone: true, Enabled: false, @@ -166,7 +166,7 @@ var ( }, { Bcp: "lb", - Name: "Lëtzebuergesch", + Name: gotext.GetC("Lëtzebuergesch", "Language Name"), DateFormat: "2.1.2006", Eurozone: true, Enabled: false, @@ -177,7 +177,7 @@ var ( }, { Bcp: "lt", - Name: "Lietuvių", + Name: gotext.GetC("Lietuvių", "Language Name"), DateFormat: "2006-01-02", Eurozone: true, Enabled: false, @@ -188,7 +188,7 @@ var ( }, { Bcp: "lv", - Name: "Latviešu", + Name: gotext.GetC("Latviešu", "Language Name"), DateFormat: "2.01.2006.", Eurozone: true, Enabled: false, @@ -199,7 +199,7 @@ var ( }, { Bcp: "mt", - Name: "Malti", + Name: gotext.GetC("Malti", "Language Name"), DateFormat: "2/1/2006", Eurozone: true, Enabled: false, @@ -209,7 +209,7 @@ var ( }, { Bcp: "nl", - Name: "Nederlands", + Name: gotext.GetC("Nederlands", "Language Name"), DateFormat: "2-1-2006", Eurozone: true, Enabled: true, @@ -219,7 +219,7 @@ var ( }, { Bcp: "pt", - Name: "Português", + Name: gotext.GetC("Português", "Language Name"), DateFormat: "02/01/2006", Eurozone: true, Enabled: false, @@ -229,7 +229,7 @@ var ( }, { Bcp: "sk", - Name: "Slovenčina", + Name: gotext.GetC("Slovenčina", "Language Name"), DateFormat: "2. 1. 2006", Eurozone: true, Enabled: false, @@ -240,7 +240,7 @@ var ( }, { Bcp: "sl", - Name: "Slovenščina", + Name: gotext.GetC("Slovenščina", "Language Name"), DateFormat: "2. 1. 2006", Eurozone: true, Enabled: false, @@ -251,7 +251,7 @@ var ( }, { Bcp: "sv", - Name: "Svenska", + Name: gotext.GetC("Svenska", "Language Name"), DateFormat: "2006-01-02", Eurozone: true, Enabled: true, @@ -262,7 +262,7 @@ var ( }, { Bcp: "tr", - Name: "Türkçe", + Name: gotext.GetC("Türkçe", "Language Name"), DateFormat: "2.01.2006", Eurozone: true, Enabled: false, @@ -273,7 +273,7 @@ var ( /* Non-Eurozone locales */ { Bcp: "bg", - Name: "Български", + Name: gotext.GetC("Български", "Language Name"), DateFormat: "2.01.2006 г.", Eurozone: false, /* TODO(2026): Set to true */ Enabled: false, @@ -284,7 +284,7 @@ var ( }, { Bcp: "ro", - Name: "Română", + Name: gotext.GetC("Română", "Language Name"), DateFormat: "02.01.2006", Eurozone: false, Enabled: false, @@ -295,7 +295,7 @@ var ( }, { Bcp: "uk", - Name: "Yкраїнська", + Name: gotext.GetC("Yкраїнська", "Language Name"), DateFormat: "02.01.2006", Eurozone: false, Enabled: false, @@ -331,6 +331,10 @@ func (p Printer) Get(fmt string, args ...map[string]any) string { return p.Sprintf(p.inner.Get(fmt), args...) } +func (p Printer) GetC(fmt, ctx string, args ...map[string]any) string { + return p.Sprintf(p.inner.GetC(fmt, ctx), args...) +} + func (p Printer) GetN(fmtS, fmtP string, n int, args ...map[string]any) string { return p.Sprintf(p.inner.GetN(fmtS, fmtP, n), args...) } diff --git a/src/templates/language.html.tmpl b/src/templates/language.html.tmpl index e3b6fcd..768190c 100644 --- a/src/templates/language.html.tmpl +++ b/src/templates/language.html.tmpl @@ -66,17 +66,18 @@ {{ .Get "Eurozone Languages" }} <br><span class="lang-fade-in-out translation"> </span> </h2> - {{ template "langgrid" true }} + {{ template "langgrid" (tuple .Printer true) }} <h2> {{ .Get "Other Languages" }} <br><span class="lang-fade-in-out translation"> </span> </h2> - {{ template "langgrid" false }} + {{ template "langgrid" (tuple .Printer false) }} </main> {{ end }} {{ define "langgrid" }} -{{ $ez := . }} +{{ $p := index . 0 }} +{{ $ez := index . 1 }} <form action="/language" method="POST"> <div class="lang-grid"> {{ range locales }} @@ -84,16 +85,17 @@ <button type="submit" name="locale" - value={{ .Bcp }} + value="{{ .Bcp }}" {{ if not .Enabled }} disabled {{ end }} > - <span - lang={{ .Bcp }} - data-code={{ .Language | toUpper }} - > - {{ .Name }} + <span>{{ .Language | toUpper }}</span> + <span lang="{{ .Bcp }}"> + {{ .Name }}<br> + <span lang="{{ $p.Bcp }}" class="translation"> + {{ $p.GetC .Name "Language Name" }} + </span> </span> </button> {{ end }} diff --git a/static/style.css b/static/style.css index 2ceee0c..3f0ac91 100644 --- a/static/style.css +++ b/static/style.css @@ -2166,15 +2166,33 @@ textarea, column-gap: var(--grid-spacing-horizontal); } -.country-grid a, .lang-grid button { - text-align: left; +.lang-grid { + button { + display: flex; + align-items: center; + padding-left: 0; + + > :first-child { + font-size: 2em; + width: calc(var(--form-element-spacing-horizontal) * 2 + 2ch); + } + > :nth-child(2) { + text-align: left; + } + } } -.country-grid a::before, .lang-grid span::before { - display: inline-block; +.country-grid a { + display: flex; + align-items: center; + padding-left: 0; +} + +.country-grid a::before { content: attr(data-code); font-weight: bold; - width: 4ch; + width: 2ch; + width: calc(var(--form-element-spacing-horizontal) * 2 + 2ch); } #nav-icon-lang a { |