aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--GNUmakefile2
-rw-r--r--main.go20
-rw-r--r--po/en-US/messages.po754
-rw-r--r--po/nl/messages.po641
-rw-r--r--src/app.go16
-rw-r--r--src/email/email.go14
-rw-r--r--src/http.go6
-rw-r--r--src/i18n/i18n.go19
-rw-r--r--src/templates.go6
-rw-r--r--src/templates/coins-designs-ee.html.tmpl18
-rw-r--r--src/templates/language.html.tmpl5
11 files changed, 62 insertions, 1439 deletions
diff --git a/GNUmakefile b/GNUmakefile
index 46c685b..e4fb99d 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -15,7 +15,7 @@ euro-cash.eu: $(cssfiles) $(templates) $(gofiles) $(sqlfiles)
po: exttmpl
find . -name '*.html.tmpl' -exec ./exttmpl -out po/templates.pot {} +
- for bcp in en en-US nl; \
+ for bcp in en; \
do \
mkdir -p "po/$$bcp"; \
msgmerge --update "po/$$bcp/messages.po" po/templates.pot; \
diff --git a/main.go b/main.go
index ff1ced3..f73567b 100644
--- a/main.go
+++ b/main.go
@@ -5,10 +5,13 @@ package main
import (
"flag"
+ "fmt"
+ "log"
"os"
"os/signal"
"path/filepath"
"syscall"
+ "time"
"git.thomasvoss.com/euro-cash.eu/pkg/atexit"
. "git.thomasvoss.com/euro-cash.eu/pkg/try"
@@ -41,6 +44,17 @@ func main() {
"database name or ‘:memory:’ for an in-memory database")
flag.Parse()
+ defer func() {
+ if p := recover(); p != nil {
+ if *debugp {
+ log.Print(p)
+ time.Sleep(1 * time.Second)
+ app.Restart()
+ }
+ email.Send("URGENT: Server Panicked", fmt.Sprint(p))
+ }
+ }()
+
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
go func() {
@@ -50,11 +64,7 @@ func main() {
}()
if *debugp {
- path := Try2(os.Executable())
- go watch.File(path, func() {
- atexit.Exec()
- Try(syscall.Exec(path, os.Args, os.Environ()))
- })
+ go watch.File(Try2(os.Executable()), app.Restart)
}
i18n.Init()
diff --git a/po/en-US/messages.po b/po/en-US/messages.po
deleted file mode 100644
index 3fdce7d..0000000
--- a/po/en-US/messages.po
+++ /dev/null
@@ -1,754 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: 1.0.0\n"
-"PO-Revision-Date: 2025-07-23 21:20+0200\n"
-"Last-Translator: Thomas Voss <mail@thomasvoss.com>\n"
-"Language-Team: English (American) <(nothing)>\n"
-"Language: en_US\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/templates/coins-designs-ad.html.tmpl:28
-msgid "Andorra’s Romanesque art"
-msgstr "Andorra’s Romanesque art"
-
-#: src/templates/banknotes-codes.html.tmpl:54
-#: src/templates/banknotes-codes.html.tmpl:133
-#: src/templates/banknotes-codes.html.tmpl:223
-msgid "Code"
-msgstr "Code"
-
-#: src/templates/coins.html.tmpl:26
-msgid "Mintages"
-msgstr "Mintages"
-
-#: src/templates/-404.html.tmpl:4
-msgid "Page Not Found"
-msgstr "Page Not Found"
-
-#: src/templates/banknotes-codes.html.tmpl:85
-#: src/templates/banknotes-codes.html.tmpl:210
-#: src/templates/banknotes-codes.html.tmpl:240
-msgid "Portugal"
-msgstr "Portugal"
-
-#: src/templates/banknotes-codes.html.tmpl:113
-#: src/templates/banknotes-codes.html.tmpl:195
-#: src/templates/banknotes-codes.html.tmpl:200
-#: src/templates/banknotes-codes.html.tmpl:259
-#: src/templates/banknotes-codes.html.tmpl:284
-#: src/templates/banknotes-codes.html.tmpl:289
-msgid "Germany"
-msgstr "Germany"
-
-#: src/templates/index.html.tmpl:10
-msgid "cash"
-msgstr "cash"
-
-#: src/templates/about.html.tmpl:9
-msgid ""
-"This website is an open project, and a collaboration between developers, "
-"translators, and researchers. All source code, data, images, and more for "
-"the website are open source and can be found {LinkGit:L}here{-:E}. This site "
-"is licensed under the {LinkBSD:L}BSD Zero Clause License{-:E} giving you the "
-"full freedom to do whatever you would like with any of the content on this "
-"site."
-msgstr ""
-"This website is an open project, and a collaboration between developers, "
-"translators, and researchers. All source code, data, images, and more for "
-"the website are open source and can be found {LinkGit:L}here{-:E}. This site "
-"is licensed under the {LinkBSD:L}BSD Zero Clause License{-:E} giving you the "
-"full freedom to do whatever you would like with any of the content on this "
-"site."
-
-#: src/templates/language.html.tmpl:18
-msgid "Other Languages"
-msgstr "Other Languages"
-
-#: src/templates/-navbar.html.tmpl:5
-msgid "News"
-msgstr "News"
-
-#: src/templates/coins.html.tmpl:4
-msgid "Euro Coins"
-msgstr "Euro Coins"
-
-#: src/templates/banknotes.html.tmpl:39
-msgid "Learn about the special test notes!"
-msgstr "Learn about the special test notes!"
-
-#: src/templates/banknotes-codes.html.tmpl:186
-#: src/templates/banknotes-codes.html.tmpl:280
-msgid "Royal Mint of Spain"
-msgstr "Royal Mint of Spain"
-
-#: src/templates/banknotes-codes.html.tmpl:285
-msgid "Leipzig"
-msgstr "Leipzig"
-
-#: src/templates/coins-designs-ad.html.tmpl:51
-msgid "The arms of the Viscounts of Béarn"
-msgstr "The arms of the Viscounts of Béarn"
-
-#: src/templates/banknotes.html.tmpl:36
-msgid "Test Notes"
-msgstr "Test Notes"
-
-#: src/templates/banknotes-codes.html.tmpl:101
-#: src/templates/banknotes-codes.html.tmpl:175
-#: src/templates/banknotes-codes.html.tmpl:269
-msgid "Ireland"
-msgstr "Ireland"
-
-#: src/templates/banknotes-codes.html.tmpl:191
-#: src/templates/banknotes-codes.html.tmpl:295
-msgid "Bank of Greece"
-msgstr "Bank of Greece"
-
-#: src/templates/banknotes-codes.html.tmpl:235
-msgid "Bulgaria"
-msgstr "Bulgaria"
-
-#: src/templates/about.html.tmpl:15
-msgid ""
-"While we try to stay as up-to-date as possible and to fact check our "
-"information, it is always possible that we get something wrong, lack a "
-"translation, or are missing some piece of data you may have. Should that be "
-"the case, don’t hesitate to contact us; we’ll try to get the site updated or "
-"fixed as soon as possible. You are always free to contribute via a git patch "
-"if you are more technically inclined, but if not you can always send an "
-"email to {Email:e} or contact ‘@onetruemangoman’ on Discord."
-msgstr ""
-"While we try to stay as up-to-date as possible and to fact check our "
-"information, it is always possible that we get something wrong, lack a "
-"translation, or are missing some piece of data you may have. Should that be "
-"the case, don’t hesitate to contact us; we’ll try to get the site updated or "
-"fixed as soon as possible. You are always free to contribute via a git patch "
-"if you are more technically inclined, but if not you can always send an "
-"email to {Email:e} or contact ‘@onetruemangoman’ on Discord."
-
-#: src/templates/language.html.tmpl:4
-msgid "Select Your Language"
-msgstr "Select Your Language"
-
-#: src/templates/-404.html.tmpl:8
-msgid ""
-"The page you were looking for does not exist. If you believe this is a "
-"mistake then don’t hesitate to contact ‘@onetruemangoman’ on Discord or "
-"email us at %(Email:e)."
-msgstr ""
-"The page you were looking for does not exist. If you believe this is a "
-"mistake then don’t hesitate to contact ‘@onetruemangoman’ on Discord or "
-"email us at %(Email:e)."
-
-#: src/templates/coins.html.tmpl:36
-msgid "Varieties"
-msgstr "Varieties"
-
-#: src/templates/coins-designs-ad.html.tmpl:48
-msgid "The arms of the Bishop of Urgell"
-msgstr "The arms of the Bishop of Urgell"
-
-#: src/templates/banknotes-codes.html.tmpl:206
-#: src/templates/banknotes-codes.html.tmpl:300
-msgid "National Bank of Belgium"
-msgstr "National Bank of Belgium"
-
-#: src/templates/banknotes-codes.html.tmpl:290
-msgid "Munich"
-msgstr "Munich"
-
-#: src/templates/language.html.tmpl:8
-msgid "Select your preferred language to use on the site."
-msgstr "Select your preferred language to use on the site."
-
-#: src/templates/coins.html.tmpl:29
-msgid "View the mintage figures of all the Euro coins!"
-msgstr "View the mintage figures of all the Euro coins!"
-
-#: src/templates/coins-designs.html.tmpl:8
-msgid ""
-"Here you’ll be able to view all the coin designs for each country in the "
-"Eurozone. This section of the site doesn’t include minor varieties such as "
-"different mintmarks or errors; those are on the {Link:l}varieties{-:E} page."
-msgstr ""
-"Here you’ll be able to view all the coin designs for each country in the "
-"Eurozone. This section of the site doesn’t include minor varieties such as "
-"different mintmarks or errors; those are on the {Link:l}varieties{-:E} page."
-
-#: src/templates/coins-designs-at.html.tmpl:8
-msgid ""
-"The Austrian euro coins can be grouped into three different themes. The "
-"bronze coins feature Austrian flowers, the gold coins feature Austrian "
-"architecture, and the bimetalic coins feature famous Austrian people. All "
-"coins also feature an Austrian flag as well as the coins denomination. These "
-"coins together with the {Link:l}Greek euro coins{-:E} are the only coins "
-"that feature the denomination on both the common- and national-sides of the "
-"coin."
-msgstr ""
-"The Austrian euro coins can be grouped into three different themes. The "
-"bronze coins feature Austrian flowers, the gold coins feature Austrian "
-"architecture, and the bimetalic coins feature famous Austrian people. All "
-"coins also feature an Austrian flag as well as the coins denomination. These "
-"coins together with the {Link:l}Greek euro coins{-:E} are the only coins "
-"that feature the denomination on both the common- and national-sides of the "
-"coin."
-
-#: src/templates/banknotes-codes.html.tmpl:69
-msgid "Malta"
-msgstr "Malta"
-
-#: src/templates/banknotes-codes.html.tmpl:105
-#: src/templates/banknotes-codes.html.tmpl:146
-#: src/templates/banknotes-codes.html.tmpl:180
-#: src/templates/banknotes-codes.html.tmpl:230
-#: src/templates/banknotes-codes.html.tmpl:274
-msgid "France"
-msgstr "France"
-
-#: src/templates/index.html.tmpl:17
-msgid ""
-"Welcome to the Euro Cash Wiki! This sites aims to be a resource for you to "
-"discover everything there is to know about the coins and banknotes of the "
-"Euro, a currency that spans 26 countries and 350 million people. We also "
-"have dedicated sections of the site for collectors."
-msgstr ""
-"Welcome to the Euro Cash Wiki! This sites aims to be a resource for you to "
-"discover everything there is to know about the coins and banknotes of the "
-"Euro, a currency that spans 26 countries and 350 million people. We also "
-"have dedicated sections of the site for collectors."
-
-#: src/templates/about.html.tmpl:7
-msgid "Open Source"
-msgstr "Open Source"
-
-#: src/templates/about.html.tmpl:24
-msgid "Translations"
-msgstr "Translations"
-
-#: src/templates/coins-designs-at.html.tmpl:17
-msgid ""
-"\n"
-"\t\t\tThe bronze coins feature the Alpine gentian, -edelweiss, and\n"
-"\t\t\t-primrose respectively, and were chosen to symbolize the role that\n"
-"\t\t\tAustria played in the development of EU environmental policy.\n"
-"\t\t"
-msgstr ""
-"\n"
-"\t\t\tThe bronze coins feature the Alpine gentian, -edelweiss, and\n"
-"\t\t\t-primrose respectively, and were chosen to symbolize the role that\n"
-"\t\t\tAustria played in the development of EU environmental policy.\n"
-"\t\t"
-
-#: src/templates/banknotes-codes.html.tmpl:16
-msgid ""
-"The printer code can be a bit tricky to find. The following dropdown menus "
-"will show you where to find the printer code on each note."
-msgstr ""
-"The printer code can be a bit tricky to find. The following dropdown menus "
-"will show you where to find the printer code on each note."
-
-#: src/templates/banknotes-codes.html.tmpl:61
-msgid "Estonia"
-msgstr "Estonia"
-
-#: src/templates/banknotes-codes.html.tmpl:89
-#: src/templates/banknotes-codes.html.tmpl:151
-#: src/templates/banknotes-codes.html.tmpl:245
-msgid "Austria"
-msgstr "Austria"
-
-#. TRANSLATORS: Beginning of sentence, as in ‘United in …’
-#: src/templates/index.html.tmpl:8
-msgid "United in"
-msgstr "United in"
-
-#: src/templates/about.html.tmpl:23
-msgid "Research"
-msgstr "Research"
-
-#: src/templates/coins-designs.html.tmpl:4
-msgid "Euro Coin Designs"
-msgstr "Euro Coin Designs"
-
-#: src/templates/coins-designs-at.html.tmpl:29
-msgid ""
-"\n"
-"\t\t\tThe €0.10 coin features St. Stephen’s Cathedral. It symbolises the\n"
-"\t\t\tViennese Gothic architectural style dating to around the year 1160.\n"
-"\t\t\tThe €0.20 coin features Belvedere Palace. This is an example of\n"
-"\t\t\tBaroque architecture and symbolises the national freedom and\n"
-"\t\t\tsovereignty of Austria. The final gold coin — the €0.50 coin —\n"
-"\t\t\tfeatures the Secession Building: an exhibition hall in the Art\n"
-"\t\t\tNouveau style.\n"
-"\t\t"
-msgstr ""
-"\n"
-"\t\t\tThe €0.10 coin features St. Stephen’s Cathedral. It symbolises the\n"
-"\t\t\tViennese Gothic architectural style dating to around the year 1160.\n"
-"\t\t\tThe €0.20 coin features Belvedere Palace. This is an example of\n"
-"\t\t\tBaroque architecture and symbolises the national freedom and\n"
-"\t\t\tsovereignty of Austria. The final gold coin — the €0.50 coin —\n"
-"\t\t\tfeatures the Secession Building: an exhibition hall in the Art\n"
-"\t\t\tNouveau style.\n"
-"\t\t"
-
-#: src/templates/banknotes-codes.html.tmpl:21
-msgid "All these images are taken from {Link:L}eurobilltracker.com{-:E}."
-msgstr "All these images are taken from {Link:L}eurobilltracker.com{-:E}."
-
-#: src/templates/coins-designs-at.html.tmpl:12
-msgid "Austrian 1 euro cent coin"
-msgstr "Austrian 1 euro cent coin"
-
-#: src/templates/-navbar.html.tmpl:6
-msgid "Coin Collecting"
-msgstr "Coin Collecting"
-
-#: src/templates/banknotes-codes.html.tmpl:55
-#: src/templates/banknotes-codes.html.tmpl:134
-#: src/templates/banknotes-codes.html.tmpl:224
-msgid "Country"
-msgstr "Country"
-
-#: src/templates/language.html.tmpl:16
-msgid "Eurozone Languages"
-msgstr "Eurozone Languages"
-
-#: src/templates/coins-designs-ad.html.tmpl:53
-msgid ""
-"The bottom of the coat of arms has the motto ‘{LatinStart:r}VIRTVS VNITA "
-"FORTIOR{LatinEnd:r}’ (‘UNITED VIRTUE IS STRONGER’)."
-msgstr ""
-"The bottom of the coat of arms has the motto ‘{LatinStart:r}VIRTVS VNITA "
-"FORTIOR{LatinEnd:r}’ (‘UNITED VIRTUE IS STRONGER’)."
-
-#: src/templates/banknotes-codes.html.tmpl:11
-msgid "Printer Code"
-msgstr "Printer Code"
-
-#: src/templates/coins-designs-ad.html.tmpl:16
-msgid ""
-"On March of 2013 Andorra held a public design competition for all "
-"denominations except for the €2 denomination which the government pre-"
-"decided would bear the coat of arms of Andorra. Each set of denominations "
-"had a theme that participants had to center their designs around. These "
-"themes were:"
-msgstr ""
-"On March of 2013 Andorra held a public design competition for all "
-"denominations except for the €2 denomination which the government pre-"
-"decided would bear the coat of arms of Andorra. Each set of denominations "
-"had a theme that participants had to center their designs around. These "
-"themes were:"
-
-#: src/templates/coins-designs-ad.html.tmpl:33
-msgid ""
-"The results of the design contest with a few modifications are what became "
-"the coins that entered circulation in 2014. While each set of denominations "
-"has its own design, all four designs prominently feature the country name "
-"‘ANDORRA’ along the outer portion of the design with the year of issue "
-"written underneath."
-msgstr ""
-"The results of the design contest with a few modifications are what became "
-"the coins that entered circulation in 2014. While each set of denominations "
-"has its own design, all four designs prominently feature the country name "
-"‘ANDORRA’ along the outer portion of the design with the year of issue "
-"written underneath."
-
-#: src/templates/banknotes-codes.html.tmpl:33
-msgid "Europa Series Printer Codes"
-msgstr "Europa Series Printer Codes"
-
-#: src/templates/banknotes-codes.html.tmpl:97
-#: src/templates/banknotes-codes.html.tmpl:170
-#: src/templates/banknotes-codes.html.tmpl:264
-msgid "Italy"
-msgstr "Italy"
-
-#: src/templates/coins-designs-at.html.tmpl:13
-msgid "Austrian 2 euro cent coin"
-msgstr "Austrian 2 euro cent coin"
-
-#: src/templates/banknotes-codes.html.tmpl:43
-msgid ""
-"The first letter in the printer code identifies the specific printer at "
-"which the banknote was printed. The tables below will tell you which letters "
-"correspond to which printers. The final letter and number form a pair (such "
-"as ‘A2’ or ‘D6’) — this pair acts as a set of coordinates telling you where "
-"on the sheet of paper the banknote was located. During printing, banknotes "
-"are printed in a grid on a large sheet of paper which is then cut into "
-"individual banknotes. A note with the pair ‘A1’ will have been at the upper-"
-"left corner of the printing sheet, with ‘A2’ to its right and ‘B1’ below it."
-msgstr ""
-"The first letter in the printer code identifies the specific printer at "
-"which the banknote was printed. The tables below will tell you which letters "
-"correspond to which printers. The final letter and number form a pair (such "
-"as ‘A2’ or ‘D6’) — this pair acts as a set of coordinates telling you where "
-"on the sheet of paper the banknote was located. During printing, banknotes "
-"are printed in a grid on a large sheet of paper which is then cut into "
-"individual banknotes. A note with the pair ‘A1’ will have been at the upper-"
-"left corner of the printing sheet, with ‘A2’ to its right and ‘B1’ below it."
-
-#: src/templates/banknotes-codes.html.tmpl:48
-msgid ""
-"In the 2002 series, the first letter of the serial number can be used to "
-"identify the country that issued the banknote. The following table shows "
-"which countries map to which codes."
-msgstr ""
-"In the 2002 series, the first letter of the serial number can be used to "
-"identify the country that issued the banknote. The following table shows "
-"which countries map to which codes."
-
-#: src/templates/about.html.tmpl:18
-msgid "Special Thanks"
-msgstr "Special Thanks"
-
-#: src/templates/-base.html.tmpl:37
-msgid "Feel free to contact us!"
-msgstr "Feel free to contact us!"
-
-#: src/templates/coins-designs-ad.html.tmpl:20
-#: src/templates/coins-designs-ad.html.tmpl:25
-msgid "{1:m}, {2:m} and {3:m}"
-msgstr "{1:m}, {2:m} and {3:m}"
-
-#: src/templates/banknotes-codes.html.tmpl:77
-msgid "Slovenia"
-msgstr "Slovenia"
-
-#: src/templates/banknotes-codes.html.tmpl:216
-msgid "Europa Series"
-msgstr "Europa Series"
-
-#: src/templates/-navbar.html.tmpl:14
-msgid "Discord"
-msgstr "Discord"
-
-#: src/templates/banknotes-codes.html.tmpl:218
-msgid ""
-"In the Europa series the first letter of the serial number can be used to "
-"identify the printer that printed the banknote, just like the printer code. "
-"The following table shows which countries map to which codes."
-msgstr ""
-"In the Europa series the first letter of the serial number can be used to "
-"identify the printer that printed the banknote, just like the printer code. "
-"The following table shows which countries map to which codes."
-
-#: src/templates/-base.html.tmpl:36
-msgid "Found a mistake or want to contribute missing information?"
-msgstr "Found a mistake or want to contribute missing information?"
-
-#: src/templates/coins-designs-ad.html.tmpl:4
-msgid "Andorran Euro Coin Designs"
-msgstr "Andorran Euro Coin Designs"
-
-#: src/templates/index.html.tmpl:9
-msgid "diversity"
-msgstr "diversity"
-
-#: src/templates/about.html.tmpl:38
-msgid "British- & American English"
-msgstr "British- & American English"
-
-#: src/templates/coins.html.tmpl:19
-msgid "View the 600+ different Euro-coin designs!"
-msgstr "View the 600+ different Euro-coin designs!"
-
-#: src/templates/-navbar.html.tmpl:8
-msgid "Banknotes"
-msgstr "Banknotes"
-
-#: src/templates/coins-designs-ad.html.tmpl:43
-msgid ""
-"The 1 Euro coin features the Case de la Vall: the former headquarters of the "
-"General Council of Andorra. It was constructed in 1580 as a manor and tower "
-"defense by the Busquets family."
-msgstr ""
-"The 1 Euro coin features the Case de la Vall: the former headquarters of the "
-"General Council of Andorra. It was constructed in 1580 as a manor and tower "
-"defense by the Busquets family."
-
-#: src/templates/banknotes-codes.html.tmpl:121
-#: src/templates/banknotes-codes.html.tmpl:205
-#: src/templates/banknotes-codes.html.tmpl:299
-msgid "Belgium"
-msgstr "Belgium"
-
-#: src/templates/banknotes-codes.html.tmpl:165
-msgid "United Kingdom"
-msgstr "United Kingdom"
-
-#: src/templates/-base.html.tmpl:7
-msgid "Euro Cash"
-msgstr "Euro Cash"
-
-#: src/templates/index.html.tmpl:5
-msgid "The Euro Cash Wiki"
-msgstr "The Euro Cash Wiki"
-
-#: src/templates/banknotes-codes.html.tmpl:19
-msgid "2002 Series Printer Codes"
-msgstr "2002 Series Printer Codes"
-
-#: src/templates/banknotes-codes.html.tmpl:65
-msgid "Slovakia"
-msgstr "Slovakia"
-
-#: src/templates/banknotes-codes.html.tmpl:73
-msgid "Cyprus"
-msgstr "Cyprus"
-
-#: src/templates/banknotes-codes.html.tmpl:176
-#: src/templates/banknotes-codes.html.tmpl:270
-msgid "Central Bank of Ireland"
-msgstr "Central Bank of Ireland"
-
-#: src/templates/-error.html.tmpl:8
-msgid ""
-"If you’re seeing this page, it means that something went wrong on our end "
-"that we need to fix. Our team has been notified of this error, and we "
-"apologise for the inconvenience."
-msgstr ""
-"If you’re seeing this page, it means that something went wrong on our end "
-"that we need to fix. Our team has been notified of this error, and we "
-"apologise for the inconvenience."
-
-#: src/templates/banknotes-codes.html.tmpl:46
-msgid "2002 Series"
-msgstr "2002 Series"
-
-#: src/templates/about.html.tmpl:4
-msgid "About Us"
-msgstr "About Us"
-
-#: src/templates/about.html.tmpl:39
-msgid "Icelandic"
-msgstr "Icelandic"
-
-#: src/templates/-navbar.html.tmpl:4
-msgid "Home"
-msgstr "Home"
-
-#: src/templates/-navbar.html.tmpl:58
-msgid "Language"
-msgstr "Language"
-
-#: src/templates/banknotes.html.tmpl:4
-msgid "Euro Banknotes"
-msgstr "Euro Banknotes"
-
-#: src/templates/coins.html.tmpl:39
-msgid "View all the known Euro varieties!"
-msgstr "View all the known Euro varieties!"
-
-#: src/templates/-navbar.html.tmpl:9
-msgid "Jargon"
-msgstr "Jargon"
-
-#: src/templates/banknotes.html.tmpl:29
-msgid "Find out where your notes were printed!"
-msgstr "Find out where your notes were printed!"
-
-#: src/templates/banknotes-codes.html.tmpl:135
-#: src/templates/banknotes-codes.html.tmpl:225
-msgid "Printer"
-msgstr "Printer"
-
-#: src/templates/banknotes-codes.html.tmpl:181
-#: src/templates/banknotes-codes.html.tmpl:275
-msgid "Bank of France"
-msgstr "Bank of France"
-
-#: src/templates/-navbar.html.tmpl:17
-msgid "About"
-msgstr "About"
-
-#: src/templates/coins-designs-ad.html.tmpl:40
-msgid ""
-"The Andorran golden cents feature the Romanesque church of Santa Coloma. The "
-"church is the oldest in Andorra, dating back to the 9th century and is a "
-"UNESCO World Heritage site. Originally these coins were planned to depict an "
-"image of Christ, but that plan failed to go through after objections from "
-"the European Commission on grounds of religious neutrality on August 2013."
-msgstr ""
-"The Andorran golden cents feature the Romanesque church of Santa Coloma. The "
-"church is the oldest in Andorra, dating back to the 9th century and is a "
-"UNESCO World Heritage site. Originally these coins were planned to depict an "
-"image of Christ, but that plan failed to go through after objections from "
-"the European Commission on grounds of religious neutrality on August 2013."
-
-#: src/templates/coins-designs-ad.html.tmpl:46
-msgid ""
-"Finally, the 2 Euro coin features the coat of arms of Andorra. The Andorran "
-"coat of arms is a grid of 4 other coats of arms which from top-to-bottom, "
-"left-to-right are:"
-msgstr ""
-"Finally, the 2 Euro coin features the coat of arms of Andorra. The Andorran "
-"coat of arms is a grid of 4 other coats of arms which from top-to-bottom, "
-"left-to-right are:"
-
-#: src/templates/banknotes-codes.html.tmpl:81
-#: src/templates/banknotes-codes.html.tmpl:141
-msgid "Finland"
-msgstr "Finland"
-
-#: src/templates/coins-designs-at.html.tmpl:44
-msgid ""
-"\n"
-"\t\t\tThe two bimetallic coins feature the busts of the musical composer\n"
-"\t\t\tWolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist\n"
-"\t\t\tand Nobel Peace Prize winner Bertha von Suttner.\n"
-"\t\t"
-msgstr ""
-"\n"
-"\t\t\tThe two bimetallic coins feature the busts of the musical composer\n"
-"\t\t\tWolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist\n"
-"\t\t\tand Nobel Peace Prize winner Bertha von Suttner.\n"
-"\t\t"
-
-#: src/templates/banknotes-codes.html.tmpl:4
-#: src/templates/banknotes.html.tmpl:26
-msgid "Location Codes"
-msgstr "Location Codes"
-
-#: src/templates/banknotes-codes.html.tmpl:117
-#: src/templates/banknotes-codes.html.tmpl:190
-#: src/templates/banknotes-codes.html.tmpl:294
-msgid "Greece"
-msgstr "Greece"
-
-#: src/templates/banknotes-codes.html.tmpl:127
-msgid ""
-"The first letter of the printer code can be used to identify the specific "
-"printer at which the banknote was printed. The printer- and country codes do "
-"not need to line up; a banknote issued by a country will often be printed in "
-"another."
-msgstr ""
-"The first letter of the printer code can be used to identify the specific "
-"printer at which the banknote was printed. The printer- and country codes do "
-"not need to line up; a banknote issued by a country will often be printed in "
-"another."
-
-#. TRANSLATORS: As in ‘Development of the site’
-#: src/templates/about.html.tmpl:22
-msgid "Development"
-msgstr "Development"
-
-#: src/templates/banknotes-codes.html.tmpl:13
-msgid ""
-"The printer code (not to be confused with the serial number) is a small code "
-"printed on banknotes with information about where the banknote was printed. "
-"All printer codes have the form ‘X000X0’ — or in other words — a letter "
-"followed by 3 numbers, a letter and a final number."
-msgstr ""
-"The printer code (not to be confused with the serial number) is a small code "
-"printed on banknotes with information about where the banknote was printed. "
-"All printer codes have the form ‘X000X0’ — or in other words — a letter "
-"followed by 3 numbers, a letter and a final number."
-
-#: src/templates/coins-designs-at.html.tmpl:4
-msgid "Austrian Euro Coin Designs"
-msgstr "Austrian Euro Coin Designs"
-
-#: src/templates/coins-designs-ad.html.tmpl:49
-msgid "The arms of the Count of Foix"
-msgstr "The arms of the Count of Foix"
-
-#: src/templates/coins-designs-ad.html.tmpl:50
-msgid "The arms of Catalonia"
-msgstr "The arms of Catalonia"
-
-#: src/templates/banknotes-codes.html.tmpl:109
-#: src/templates/banknotes-codes.html.tmpl:185
-#: src/templates/banknotes-codes.html.tmpl:279
-msgid "Spain"
-msgstr "Spain"
-
-#: src/templates/coins.html.tmpl:8
-msgid ""
-"On this section of the site you can find everything there is to know about "
-"the coins of the Eurozone."
-msgstr ""
-"On this section of the site you can find everything there is to know about "
-"the coins of the Eurozone."
-
-#: src/templates/coins-designs-ad.html.tmpl:23
-msgid "Andorran landscapes, nature, fauna and flora"
-msgstr "Andorran landscapes, nature, fauna and flora"
-
-#: src/templates/coins-designs-ad.html.tmpl:30
-msgid "Casa de la Vall"
-msgstr "Casa de la Vall"
-
-#: src/templates/coins-designs-at.html.tmpl:14
-msgid "Austrian 5 euro cent coin"
-msgstr "Austrian 5 euro cent coin"
-
-#: src/templates/coins-designs-ad.html.tmpl:36
-msgid ""
-"The Andorran 1-, 2-, and 5 euro cent coins all feature the same design of a "
-"Pyrenean chamois in the center of the coin with a golden eagle flying above. "
-"Both animals are native to Andorra as well as the surrounding regions of "
-"France and Spain."
-msgstr ""
-"The Andorran 1-, 2-, and 5 euro cent coins all feature the same design of a "
-"Pyrenean chamois in the center of the coin with a golden eagle flying above. "
-"Both animals are native to Andorra as well as the surrounding regions of "
-"France and Spain."
-
-#: src/templates/banknotes-codes.html.tmpl:8
-msgid ""
-"Euro banknotes have two codes on them: a printer code and a serial number. "
-"The printer code tells you where a given note was printed, while the serial "
-"number tells you which country issued the banknote (for the 2002 series) or "
-"where the banknote was printed (for the Europa series)."
-msgstr ""
-"Euro banknotes have two codes on them: a printer code and a serial number. "
-"The printer code tells you where a given note was printed, while the serial "
-"number tells you which country issued the banknote (for the 2002 series) or "
-"where the banknote was printed (for the Europa series)."
-
-#: src/templates/about.html.tmpl:13
-msgid "Contact Us"
-msgstr "Contact Us"
-
-#: src/templates/-navbar.html.tmpl:7
-msgid "Coins"
-msgstr "Coins"
-
-#: src/templates/banknotes.html.tmpl:19
-msgid "View the different Euro-note designs!"
-msgstr "View the different Euro-note designs!"
-
-#: src/templates/banknotes-codes.html.tmpl:93
-#: src/templates/banknotes-codes.html.tmpl:160
-#: src/templates/banknotes-codes.html.tmpl:254
-msgid "Netherlands"
-msgstr "Netherlands"
-
-#: src/templates/-error.html.tmpl:11
-msgid ""
-"If this issue persists, don’t hesitate to contact ‘@onetruemangoman’ on "
-"Discord or to email us at %(Email:e)"
-msgstr ""
-"If this issue persists, don’t hesitate to contact ‘@onetruemangoman’ on "
-"Discord or to email us at %(Email:e)"
-
-#: src/templates/banknotes.html.tmpl:8
-msgid ""
-"On this section of the site you can find everything there is to know about "
-"the banknotes of the Eurozone."
-msgstr ""
-"On this section of the site you can find everything there is to know about "
-"the banknotes of the Eurozone."
-
-#: src/templates/banknotes-codes.html.tmpl:171
-#: src/templates/banknotes-codes.html.tmpl:265
-msgid "Bank of Italy"
-msgstr "Bank of Italy"
-
-#: src/templates/banknotes.html.tmpl:16 src/templates/coins.html.tmpl:16
-msgid "Designs"
-msgstr "Designs"
diff --git a/po/nl/messages.po b/po/nl/messages.po
deleted file mode 100644
index 6688457..0000000
--- a/po/nl/messages.po
+++ /dev/null
@@ -1,641 +0,0 @@
-msgid ""
-msgstr ""
-"Project-Id-Version: 1.0.0\n"
-"PO-Revision-Date: 2025-07-23 21:22+0200\n"
-"Last-Translator: Thomas Voss <mail@thomasvoss.com>\n"
-"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
-"Language: nl\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: src/templates/coins-designs-ad.html.tmpl:28
-msgid "Andorra’s Romanesque art"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:54
-#: src/templates/banknotes-codes.html.tmpl:133
-#: src/templates/banknotes-codes.html.tmpl:223
-msgid "Code"
-msgstr ""
-
-#: src/templates/coins.html.tmpl:26
-msgid "Mintages"
-msgstr ""
-
-#: src/templates/-404.html.tmpl:4
-msgid "Page Not Found"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:85
-#: src/templates/banknotes-codes.html.tmpl:210
-#: src/templates/banknotes-codes.html.tmpl:240
-msgid "Portugal"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:113
-#: src/templates/banknotes-codes.html.tmpl:195
-#: src/templates/banknotes-codes.html.tmpl:200
-#: src/templates/banknotes-codes.html.tmpl:259
-#: src/templates/banknotes-codes.html.tmpl:284
-#: src/templates/banknotes-codes.html.tmpl:289
-msgid "Germany"
-msgstr ""
-
-#: src/templates/index.html.tmpl:10
-msgid "cash"
-msgstr ""
-
-#: src/templates/about.html.tmpl:9
-msgid ""
-"This website is an open project, and a collaboration between developers, "
-"translators, and researchers. All source code, data, images, and more for "
-"the website are open source and can be found {LinkGit:L}here{-:E}. This site "
-"is licensed under the {LinkBSD:L}BSD Zero Clause License{-:E} giving you the "
-"full freedom to do whatever you would like with any of the content on this "
-"site."
-msgstr ""
-
-#: src/templates/language.html.tmpl:18
-msgid "Other Languages"
-msgstr ""
-
-#: src/templates/-navbar.html.tmpl:5
-msgid "News"
-msgstr ""
-
-#: src/templates/coins.html.tmpl:4
-msgid "Euro Coins"
-msgstr ""
-
-#: src/templates/banknotes.html.tmpl:39
-msgid "Learn about the special test notes!"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:186
-#: src/templates/banknotes-codes.html.tmpl:280
-msgid "Royal Mint of Spain"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:285
-msgid "Leipzig"
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:51
-msgid "The arms of the Viscounts of Béarn"
-msgstr ""
-
-#: src/templates/banknotes.html.tmpl:36
-msgid "Test Notes"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:101
-#: src/templates/banknotes-codes.html.tmpl:175
-#: src/templates/banknotes-codes.html.tmpl:269
-msgid "Ireland"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:191
-#: src/templates/banknotes-codes.html.tmpl:295
-msgid "Bank of Greece"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:235
-msgid "Bulgaria"
-msgstr ""
-
-#: src/templates/about.html.tmpl:15
-msgid ""
-"While we try to stay as up-to-date as possible and to fact check our "
-"information, it is always possible that we get something wrong, lack a "
-"translation, or are missing some piece of data you may have. Should that be "
-"the case, don’t hesitate to contact us; we’ll try to get the site updated or "
-"fixed as soon as possible. You are always free to contribute via a git patch "
-"if you are more technically inclined, but if not you can always send an "
-"email to {Email:e} or contact ‘@onetruemangoman’ on Discord."
-msgstr ""
-
-#: src/templates/language.html.tmpl:4
-msgid "Select Your Language"
-msgstr ""
-
-#: src/templates/-404.html.tmpl:8
-msgid ""
-"The page you were looking for does not exist. If you believe this is a "
-"mistake then don’t hesitate to contact ‘@onetruemangoman’ on Discord or "
-"email us at %(Email:e)."
-msgstr ""
-
-#: src/templates/coins.html.tmpl:36
-msgid "Varieties"
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:48
-msgid "The arms of the Bishop of Urgell"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:206
-#: src/templates/banknotes-codes.html.tmpl:300
-msgid "National Bank of Belgium"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:290
-msgid "Munich"
-msgstr "München"
-
-#: src/templates/language.html.tmpl:8
-msgid "Select your preferred language to use on the site."
-msgstr ""
-
-#: src/templates/coins.html.tmpl:29
-msgid "View the mintage figures of all the Euro coins!"
-msgstr ""
-
-#: src/templates/coins-designs.html.tmpl:8
-msgid ""
-"Here you’ll be able to view all the coin designs for each country in the "
-"Eurozone. This section of the site doesn’t include minor varieties such as "
-"different mintmarks or errors; those are on the {Link:l}varieties{-:E} page."
-msgstr ""
-
-#: src/templates/coins-designs-at.html.tmpl:8
-msgid ""
-"The Austrian euro coins can be grouped into three different themes. The "
-"bronze coins feature Austrian flowers, the gold coins feature Austrian "
-"architecture, and the bimetalic coins feature famous Austrian people. All "
-"coins also feature an Austrian flag as well as the coins denomination. These "
-"coins together with the {Link:l}Greek euro coins{-:E} are the only coins "
-"that feature the denomination on both the common- and national-sides of the "
-"coin."
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:69
-msgid "Malta"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:105
-#: src/templates/banknotes-codes.html.tmpl:146
-#: src/templates/banknotes-codes.html.tmpl:180
-#: src/templates/banknotes-codes.html.tmpl:230
-#: src/templates/banknotes-codes.html.tmpl:274
-msgid "France"
-msgstr ""
-
-#: src/templates/index.html.tmpl:17
-msgid ""
-"Welcome to the Euro Cash Wiki! This sites aims to be a resource for you to "
-"discover everything there is to know about the coins and banknotes of the "
-"Euro, a currency that spans 26 countries and 350 million people. We also "
-"have dedicated sections of the site for collectors."
-msgstr ""
-
-#: src/templates/about.html.tmpl:7
-msgid "Open Source"
-msgstr ""
-
-#: src/templates/about.html.tmpl:24
-msgid "Translations"
-msgstr ""
-
-#: src/templates/coins-designs-at.html.tmpl:17
-msgid ""
-"\n"
-"\t\t\tThe bronze coins feature the Alpine gentian, -edelweiss, and\n"
-"\t\t\t-primrose respectively, and were chosen to symbolize the role that\n"
-"\t\t\tAustria played in the development of EU environmental policy.\n"
-"\t\t"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:16
-msgid ""
-"The printer code can be a bit tricky to find. The following dropdown menus "
-"will show you where to find the printer code on each note."
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:61
-msgid "Estonia"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:89
-#: src/templates/banknotes-codes.html.tmpl:151
-#: src/templates/banknotes-codes.html.tmpl:245
-msgid "Austria"
-msgstr ""
-
-#. TRANSLATORS: Beginning of sentence, as in ‘United in …’
-#: src/templates/index.html.tmpl:8
-msgid "United in"
-msgstr ""
-
-#: src/templates/about.html.tmpl:23
-msgid "Research"
-msgstr ""
-
-#: src/templates/coins-designs.html.tmpl:4
-msgid "Euro Coin Designs"
-msgstr ""
-
-#: src/templates/coins-designs-at.html.tmpl:29
-msgid ""
-"\n"
-"\t\t\tThe €0.10 coin features St. Stephen’s Cathedral. It symbolises the\n"
-"\t\t\tViennese Gothic architectural style dating to around the year 1160.\n"
-"\t\t\tThe €0.20 coin features Belvedere Palace. This is an example of\n"
-"\t\t\tBaroque architecture and symbolises the national freedom and\n"
-"\t\t\tsovereignty of Austria. The final gold coin — the €0.50 coin —\n"
-"\t\t\tfeatures the Secession Building: an exhibition hall in the Art\n"
-"\t\t\tNouveau style.\n"
-"\t\t"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:21
-msgid "All these images are taken from {Link:L}eurobilltracker.com{-:E}."
-msgstr ""
-
-#: src/templates/coins-designs-at.html.tmpl:12
-msgid "Austrian 1 euro cent coin"
-msgstr ""
-
-#: src/templates/-navbar.html.tmpl:6
-msgid "Coin Collecting"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:55
-#: src/templates/banknotes-codes.html.tmpl:134
-#: src/templates/banknotes-codes.html.tmpl:224
-msgid "Country"
-msgstr ""
-
-#: src/templates/language.html.tmpl:16
-msgid "Eurozone Languages"
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:53
-msgid ""
-"The bottom of the coat of arms has the motto ‘{LatinStart:r}VIRTVS VNITA "
-"FORTIOR{LatinEnd:r}’ (‘UNITED VIRTUE IS STRONGER’)."
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:11
-msgid "Printer Code"
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:16
-msgid ""
-"On March of 2013 Andorra held a public design competition for all "
-"denominations except for the €2 denomination which the government pre-"
-"decided would bear the coat of arms of Andorra. Each set of denominations "
-"had a theme that participants had to center their designs around. These "
-"themes were:"
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:33
-msgid ""
-"The results of the design contest with a few modifications are what became "
-"the coins that entered circulation in 2014. While each set of denominations "
-"has its own design, all four designs prominently feature the country name "
-"‘ANDORRA’ along the outer portion of the design with the year of issue "
-"written underneath."
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:33
-msgid "Europa Series Printer Codes"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:97
-#: src/templates/banknotes-codes.html.tmpl:170
-#: src/templates/banknotes-codes.html.tmpl:264
-msgid "Italy"
-msgstr ""
-
-#: src/templates/coins-designs-at.html.tmpl:13
-msgid "Austrian 2 euro cent coin"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:43
-msgid ""
-"The first letter in the printer code identifies the specific printer at "
-"which the banknote was printed. The tables below will tell you which letters "
-"correspond to which printers. The final letter and number form a pair (such "
-"as ‘A2’ or ‘D6’) — this pair acts as a set of coordinates telling you where "
-"on the sheet of paper the banknote was located. During printing, banknotes "
-"are printed in a grid on a large sheet of paper which is then cut into "
-"individual banknotes. A note with the pair ‘A1’ will have been at the upper-"
-"left corner of the printing sheet, with ‘A2’ to its right and ‘B1’ below it."
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:48
-msgid ""
-"In the 2002 series, the first letter of the serial number can be used to "
-"identify the country that issued the banknote. The following table shows "
-"which countries map to which codes."
-msgstr ""
-
-#: src/templates/about.html.tmpl:18
-msgid "Special Thanks"
-msgstr ""
-
-#: src/templates/-base.html.tmpl:37
-msgid "Feel free to contact us!"
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:20
-#: src/templates/coins-designs-ad.html.tmpl:25
-msgid "{1:m}, {2:m} and {3:m}"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:77
-msgid "Slovenia"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:216
-msgid "Europa Series"
-msgstr ""
-
-#: src/templates/-navbar.html.tmpl:14
-msgid "Discord"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:218
-msgid ""
-"In the Europa series the first letter of the serial number can be used to "
-"identify the printer that printed the banknote, just like the printer code. "
-"The following table shows which countries map to which codes."
-msgstr ""
-
-#: src/templates/-base.html.tmpl:36
-msgid "Found a mistake or want to contribute missing information?"
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:4
-msgid "Andorran Euro Coin Designs"
-msgstr ""
-
-#: src/templates/index.html.tmpl:9
-msgid "diversity"
-msgstr ""
-
-#: src/templates/about.html.tmpl:38
-msgid "British- & American English"
-msgstr ""
-
-#: src/templates/coins.html.tmpl:19
-msgid "View the 600+ different Euro-coin designs!"
-msgstr ""
-
-#: src/templates/-navbar.html.tmpl:8
-msgid "Banknotes"
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:43
-msgid ""
-"The 1 Euro coin features the Case de la Vall: the former headquarters of the "
-"General Council of Andorra. It was constructed in 1580 as a manor and tower "
-"defense by the Busquets family."
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:121
-#: src/templates/banknotes-codes.html.tmpl:205
-#: src/templates/banknotes-codes.html.tmpl:299
-msgid "Belgium"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:165
-msgid "United Kingdom"
-msgstr ""
-
-#: src/templates/-base.html.tmpl:7
-msgid "Euro Cash"
-msgstr ""
-
-#: src/templates/index.html.tmpl:5
-msgid "The Euro Cash Wiki"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:19
-msgid "2002 Series Printer Codes"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:65
-msgid "Slovakia"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:73
-msgid "Cyprus"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:176
-#: src/templates/banknotes-codes.html.tmpl:270
-msgid "Central Bank of Ireland"
-msgstr ""
-
-#: src/templates/-error.html.tmpl:8
-msgid ""
-"If you’re seeing this page, it means that something went wrong on our end "
-"that we need to fix. Our team has been notified of this error, and we "
-"apologise for the inconvenience."
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:46
-msgid "2002 Series"
-msgstr ""
-
-#: src/templates/about.html.tmpl:4
-msgid "About Us"
-msgstr ""
-
-#: src/templates/about.html.tmpl:39
-msgid "Icelandic"
-msgstr ""
-
-#: src/templates/-navbar.html.tmpl:4
-msgid "Home"
-msgstr ""
-
-#: src/templates/-navbar.html.tmpl:58
-msgid "Language"
-msgstr ""
-
-#: src/templates/banknotes.html.tmpl:4
-msgid "Euro Banknotes"
-msgstr ""
-
-#: src/templates/coins.html.tmpl:39
-msgid "View all the known Euro varieties!"
-msgstr ""
-
-#: src/templates/-navbar.html.tmpl:9
-msgid "Jargon"
-msgstr ""
-
-#: src/templates/banknotes.html.tmpl:29
-msgid "Find out where your notes were printed!"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:135
-#: src/templates/banknotes-codes.html.tmpl:225
-msgid "Printer"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:181
-#: src/templates/banknotes-codes.html.tmpl:275
-msgid "Bank of France"
-msgstr ""
-
-#: src/templates/-navbar.html.tmpl:17
-msgid "About"
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:40
-msgid ""
-"The Andorran golden cents feature the Romanesque church of Santa Coloma. The "
-"church is the oldest in Andorra, dating back to the 9th century and is a "
-"UNESCO World Heritage site. Originally these coins were planned to depict an "
-"image of Christ, but that plan failed to go through after objections from "
-"the European Commission on grounds of religious neutrality on August 2013."
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:46
-msgid ""
-"Finally, the 2 Euro coin features the coat of arms of Andorra. The Andorran "
-"coat of arms is a grid of 4 other coats of arms which from top-to-bottom, "
-"left-to-right are:"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:81
-#: src/templates/banknotes-codes.html.tmpl:141
-msgid "Finland"
-msgstr ""
-
-#: src/templates/coins-designs-at.html.tmpl:44
-msgid ""
-"\n"
-"\t\t\tThe two bimetallic coins feature the busts of the musical composer\n"
-"\t\t\tWolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist\n"
-"\t\t\tand Nobel Peace Prize winner Bertha von Suttner.\n"
-"\t\t"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:4
-#: src/templates/banknotes.html.tmpl:26
-msgid "Location Codes"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:117
-#: src/templates/banknotes-codes.html.tmpl:190
-#: src/templates/banknotes-codes.html.tmpl:294
-msgid "Greece"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:127
-msgid ""
-"The first letter of the printer code can be used to identify the specific "
-"printer at which the banknote was printed. The printer- and country codes do "
-"not need to line up; a banknote issued by a country will often be printed in "
-"another."
-msgstr ""
-
-#. TRANSLATORS: As in ‘Development of the site’
-#: src/templates/about.html.tmpl:22
-msgid "Development"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:13
-msgid ""
-"The printer code (not to be confused with the serial number) is a small code "
-"printed on banknotes with information about where the banknote was printed. "
-"All printer codes have the form ‘X000X0’ — or in other words — a letter "
-"followed by 3 numbers, a letter and a final number."
-msgstr ""
-
-#: src/templates/coins-designs-at.html.tmpl:4
-msgid "Austrian Euro Coin Designs"
-msgstr "Oostenrijkse euromuntontwerpen"
-
-#: src/templates/coins-designs-ad.html.tmpl:49
-msgid "The arms of the Count of Foix"
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:50
-msgid "The arms of Catalonia"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:109
-#: src/templates/banknotes-codes.html.tmpl:185
-#: src/templates/banknotes-codes.html.tmpl:279
-msgid "Spain"
-msgstr ""
-
-#: src/templates/coins.html.tmpl:8
-msgid ""
-"On this section of the site you can find everything there is to know about "
-"the coins of the Eurozone."
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:23
-msgid "Andorran landscapes, nature, fauna and flora"
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:30
-msgid "Casa de la Vall"
-msgstr ""
-
-#: src/templates/coins-designs-at.html.tmpl:14
-msgid "Austrian 5 euro cent coin"
-msgstr ""
-
-#: src/templates/coins-designs-ad.html.tmpl:36
-msgid ""
-"The Andorran 1-, 2-, and 5 euro cent coins all feature the same design of a "
-"Pyrenean chamois in the center of the coin with a golden eagle flying above. "
-"Both animals are native to Andorra as well as the surrounding regions of "
-"France and Spain."
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:8
-msgid ""
-"Euro banknotes have two codes on them: a printer code and a serial number. "
-"The printer code tells you where a given note was printed, while the serial "
-"number tells you which country issued the banknote (for the 2002 series) or "
-"where the banknote was printed (for the Europa series)."
-msgstr ""
-
-#: src/templates/about.html.tmpl:13
-msgid "Contact Us"
-msgstr ""
-
-#: src/templates/-navbar.html.tmpl:7
-msgid "Coins"
-msgstr ""
-
-#: src/templates/banknotes.html.tmpl:19
-msgid "View the different Euro-note designs!"
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:93
-#: src/templates/banknotes-codes.html.tmpl:160
-#: src/templates/banknotes-codes.html.tmpl:254
-msgid "Netherlands"
-msgstr ""
-
-#: src/templates/-error.html.tmpl:11
-msgid ""
-"If this issue persists, don’t hesitate to contact ‘@onetruemangoman’ on "
-"Discord or to email us at %(Email:e)"
-msgstr ""
-
-#: src/templates/banknotes.html.tmpl:8
-msgid ""
-"On this section of the site you can find everything there is to know about "
-"the banknotes of the Eurozone."
-msgstr ""
-
-#: src/templates/banknotes-codes.html.tmpl:171
-#: src/templates/banknotes-codes.html.tmpl:265
-msgid "Bank of Italy"
-msgstr ""
-
-#: src/templates/banknotes.html.tmpl:16 src/templates/coins.html.tmpl:16
-msgid "Designs"
-msgstr ""
diff --git a/src/app.go b/src/app.go
new file mode 100644
index 0000000..7b3d905
--- /dev/null
+++ b/src/app.go
@@ -0,0 +1,16 @@
+package app
+
+import (
+ "os"
+ "syscall"
+
+ "git.thomasvoss.com/euro-cash.eu/pkg/atexit"
+ . "git.thomasvoss.com/euro-cash.eu/pkg/try"
+)
+
+func Restart() {
+ path := Try2(os.Executable())
+ atexit.Exec()
+ Try(syscall.Exec(path, append([]string{path}, os.Args[1:]...),
+ os.Environ()))
+}
diff --git a/src/email/email.go b/src/email/email.go
index 33b30e0..a1f7f0b 100644
--- a/src/email/email.go
+++ b/src/email/email.go
@@ -6,6 +6,8 @@ import (
"crypto/tls"
"fmt"
"math/rand/v2"
+ "log"
+ "errors"
"net/smtp"
"strconv"
"time"
@@ -29,14 +31,20 @@ Message-ID: <%s>
%s`
-func ServerError(fault error) error {
+func Send(subject, body string) {
+ if err := send(subject, body); err != nil {
+ log.Print(err)
+ }
+}
+
+func send(subject, body string) error {
if Config.Disabled {
- return fault
+ return errors.New(body)
}
msgid := strconv.FormatInt(rand.Int64(), 10) + "@" + Config.Host
msg := fmt.Sprintf(emailTemplate, Config.FromAddr, Config.ToAddr,
- "Error Report", time.Now().Format(time.RFC1123Z), msgid, fault)
+ subject, time.Now().Format(time.RFC1123Z), msgid, body)
tlsConfig := &tls.Config{
InsecureSkipVerify: false,
diff --git a/src/http.go b/src/http.go
index b785bca..b0d5bcd 100644
--- a/src/http.go
+++ b/src/http.go
@@ -179,11 +179,7 @@ func setUserLanguage(w http.ResponseWriter, r *http.Request) {
func throwError(status int, err error, w http.ResponseWriter, r *http.Request) {
w.WriteHeader(status)
- go func() {
- if err := email.ServerError(err); err != nil {
- log.Println(err)
- }
- }()
+ go email.Send("Server Error", err.Error())
errorTmpl.Execute(w, struct {
Code int
Msg string
diff --git a/src/i18n/i18n.go b/src/i18n/i18n.go
index b996681..1258a27 100644
--- a/src/i18n/i18n.go
+++ b/src/i18n/i18n.go
@@ -72,7 +72,7 @@ var (
Name: "Ελληνικά",
DateFormat: "2/1/2006",
Eurozone: true,
- Enabled: true,
+ Enabled: false,
GroupSeparator: '.',
DecimalSeparator: ',',
MonetaryPre: [2]string{"", "-"},
@@ -212,7 +212,7 @@ var (
Name: "Nederlands",
DateFormat: "2-1-2006",
Eurozone: true,
- Enabled: true,
+ Enabled: false,
GroupSeparator: '.',
DecimalSeparator: ',',
MonetaryPre: [2]string{"€ ", "€ -"},
@@ -266,23 +266,13 @@ var (
Name: "Български",
DateFormat: "2.01.2006 г.",
Eurozone: false, /* TODO(2026): Set to true */
- Enabled: true,
+ Enabled: false,
GroupSeparator: ' ',
DecimalSeparator: ',',
MonetaryPre: [2]string{"", "-"},
MonetaryPost: " €",
},
{
- Bcp: "en-US",
- Name: "English (US)",
- DateFormat: "1/2/2006",
- Eurozone: false,
- Enabled: false,
- GroupSeparator: ',',
- DecimalSeparator: '.',
- MonetaryPre: [2]string{"€", "-€"},
- },
- {
Bcp: "ro",
Name: "Română",
DateFormat: "02.01.2006",
@@ -305,9 +295,6 @@ var (
MonetaryPost: " €",
},
}
- /* Map of language codes to printers. We do this instead of just
- using language.MustParse() directly so that we can easily see if a
- language is supported or not. */
Printers map[string]Printer = make(map[string]Printer, len(locales))
DefaultPrinter Printer
)
diff --git a/src/templates.go b/src/templates.go
index 20fcf79..353c755 100644
--- a/src/templates.go
+++ b/src/templates.go
@@ -46,6 +46,12 @@ func BuildTemplates(dir fs.FS, debugp bool) {
buildAndSetTemplate(dir, name)
if debugp {
go watch.FileFS(dir, name, func() {
+ defer func() {
+ if p := recover(); p != nil {
+ log.Print(p)
+ }
+ }()
+
buildAndSetTemplate(dir, name)
log.Printf("Template ‘%s’ updated\n", name)
})
diff --git a/src/templates/coins-designs-ee.html.tmpl b/src/templates/coins-designs-ee.html.tmpl
index 0624931..89c1d2f 100644
--- a/src/templates/coins-designs-ee.html.tmpl
+++ b/src/templates/coins-designs-ee.html.tmpl
@@ -1,18 +1,18 @@
{{ define "content" }}
<header>
{{ template "navbar" . }}
- <h1>{{ .Get "German Euro Coin Designs" }}</h1>
+ <h1>{{ .Get "Estonian Euro Coin Designs" }}</h1>
</header>
<main>
- <p>
- {{ .Get "The Estonian euro coins all feature the same design across all eight denominations. The country’s outline is displayed above the text “EESTI”, the country’s name in its own language." }}
- </p>
- <div class="design-container">
- <img
+ <p>
+ {{ .Get "The Estonian euro coins feature the same design across all eight denominations. The country’s outline is prominently displayed above the country’s name in Estonian (‘{EstonianStart:r}EESTI{EstonianEnd:E}’)."
+ (map "EstonianStart" `<span lang="et"><em>` "EstonianEnd" "em,span") }}
+ </p>
+ <div class="design-container">
+ <img
alt="{{ .Get `Estonian €1 coin` }}"
src="/designs/ee-100-1.avif"
>
- </div>
+ </div>
</main>
-{{ end }}
-
+{{ end }} \ No newline at end of file
diff --git a/src/templates/language.html.tmpl b/src/templates/language.html.tmpl
index f4b240a..13a8e85 100644
--- a/src/templates/language.html.tmpl
+++ b/src/templates/language.html.tmpl
@@ -7,11 +7,6 @@
<p>
{{ .Get "Select your preferred language to use on the site." }}
</p>
- <p>
- If you are an American user, it’s suggested that you select
- American English instead of British English. This will ensure that
- dates will be formatted with the month before the day.
- </p>
<hr />
<h2>{{ .Get "Eurozone Languages" }}</h2>
{{ template "langgrid" true }}