diff options
378 files changed, 16818 insertions, 9491 deletions
diff --git a/.dir-locals.el b/.dir-locals.el index 855d8c2..054f242 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -1,10 +1,13 @@ -((csv-mode . ((number-format-predicate - . (lambda (beg end) - (save-excursion - (goto-char beg) - (not (bolp))))))) - (go-ts-mode . ((comment-start . "/* ") - (comment-end . " */") - (comment-continue . " ") - (require-final-newline . t))) - (mhtml-mode . ((fill-column . 79))))
\ No newline at end of file +((csv-mode + (number-format-predicate + . (lambda (beg end) + (save-excursion + (goto-char beg) + (not (bolp)))))) + (go-ts-mode + (comment-start . "/* ") + (comment-end . " */") + (comment-continue . " ") + (require-final-newline . t)) + (mhtml-mode + (eval . (auto-fill-mode -1))))
\ No newline at end of file @@ -4,8 +4,10 @@ function s:SaveExcursion(cmd) call winrestview(l:win) endfunction -autocmd BufNewFile,BufRead */cmd/exttmpl/* - \ setlocal makeprg=go\ build\ ./cmd/exttmpl +autocmd BufNewFile,BufRead */cmd/extpo/* + \ setlocal makeprg=go\ build\ ./cmd/extpo +autocmd BufNewFile,BufRead */cmd/extwiki/* + \ setlocal makeprg=go\ build\ ./cmd/extwiki autocmd FileType go autocmd BufWritePre <buffer> \ call s:SaveExcursion('gofmt -s') @@ -15,4 +17,4 @@ nnoremap <silent> <LocalLeader>t :vimgrep /\CTODO/ **/*<CR> runtime plugin/netrwPlugin.vim let &wildignore = netrw_gitignore#Hide() . ',.git/*,vendor/*' -let g:netrw_list_hide .= ',.*\\.gen\\..*' +let g:netrw_list_hide .= ',.*\\.gen\\..*'
\ No newline at end of file diff --git a/.gitattributes b/.gitattributes index 89147c5..0e79892 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,3 +1,4 @@ *.avif binary *.jpg binary +*.otf binary vendor/ linguist-vendored
\ No newline at end of file @@ -1,13 +1,22 @@ # Binaries euro-cash.eu -exttmpl - +extpo +extwiki !cmd/* +*.mo # Autogenerated files out.gotext.json -*.gen.* +*.db +*.pot +po/backend.pot +po/templates.pot # Build artifacts *.min.css -*.tar.gz
\ No newline at end of file +*.tar.gz +__pycache__/ +*~ + +# Misc +test/
\ No newline at end of file diff --git a/GNUmakefile b/GNUmakefile index d42cc0b..e9b2eae 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,23 +1,52 @@ +GO := go +PORT := 8080 + cssfiles := $(shell find static -name '*.css' -not -name '*.min.css') cssfiles := $(cssfiles:.css=.min.css) gofiles := $(shell find main.go src -name '*.go') sqlfiles := $(shell find src/dbx/sql -name '*.sql') templates := $(shell find src/templates -name '*.tmpl') -exttmpl := $(wildcard cmd/exttmpl/*.go) +extpo := $(wildcard cmd/extpo/*.go) +extwiki := $(wildcard cmd/extwiki/*.go) + +ENABLED_LANGUAGES := $(shell ./aux/enabled-languages) -all: euro-cash.eu exttmpl +all: euro-cash.eu extpo euro-cash.eu: $(cssfiles) $(templates) $(gofiles) $(sqlfiles) - go build + $(GO) build + +extract: extpo extwiki + find . -name '*.go' -exec xgotext --foreign-user -o po/backend.pot {} + + find . -name '*.html.tmpl' -exec ./extwiki {} + \ + | gofmt >src/wikipedia/links.gen.go + find . \( -name '*.html.tmpl' -or -name '*.sql' \) -exec ./extpo {} + \ + | msgcat po/backend.pot - -o po/messages.pot + for bcp in $(ENABLED_LANGUAGES); \ + do \ + dir="po/$$bcp"; \ + if [ ! -d "$$dir" ]; \ + then \ + mkdir -p "$$dir"; \ + msginit -i po/messages.pot -o "$$dir/messages.po" -l$$bcp.UTF-8 \ + --no-translator; \ + fi; \ + msgmerge -UN "po/$$bcp/messages.po" po/messages.pot; \ + done + find po -name '*~' -delete -all-i18n: exttmpl - go generate ./src - find . -name out.gotext.json | mcp -b sed s/out/messages/ - go build +po: + for po in po/*/*.po; \ + do \ + msgfmt "$$po" -o "$${po%.*}.mo"; \ + done -exttmpl: $(exttmpl) - go build ./cmd/exttmpl +extpo: $(extpo) + $(GO) build ./cmd/extpo + +extwiki: $(extwiki) + $(GO) build ./cmd/extwiki %.min.css: %.css if command -v lightningcss >/dev/null; \ @@ -30,9 +59,13 @@ exttmpl: $(exttmpl) clean: find . -type f \( \ -name euro-cash.eu \ - -or -name exttmpl \ + -or -name extpo \ + -or -name extwiki \ -or -name '*.min.css' \ -or -name '*.tar.gz' \ \) -delete -.PHONY: all-i18n clean release
\ No newline at end of file +debug: + ./euro-cash.eu -debug -no-email -db-name :memory: -port $(PORT) + +.PHONY: clean debug extract po release diff --git a/README.md b/README.md new file mode 100644 index 0000000..17f4e4e --- /dev/null +++ b/README.md @@ -0,0 +1,13 @@ +# euro-cash.eu — The Euro Cash Wiki + +This is the Git repository for the Euro Cash Wiki. This repository +contains everything to do with the website including the backend, +translations, etc. + +All documentation is located in the `doc/` directory. + +For translators: +- [Notes When Translating Pages](#) + +For programmers: +- [The Internationalization System](doc/i18n.md)
\ No newline at end of file @@ -0,0 +1,31 @@ +Before private release: +— Commemorative mintages +— Translations UI +— Handle translations of plurals +— Write page on shop hunting +— Switch to gettext? +— Add a book theme +— Add the news section +— Add all missing mintages +— Add missing coin varieties +— Add missing coin design pages +— Add missing banknote design pages +— Add test notes page + +Before public release: +— Get up-to-date CRH info + +Notes for translation system: +1. Fetch translation +2. Apply variable substitutions + — Syntax is %(Name:flags) + — Flags are optional + — Flags are: + 1. ‘e’: [e]mail → <a href="mailto:mail@domain.eu">mail@domain.eu</a> + 2. ‘L’: [L]ink external → <a href="https://foo.com" target="_blank"> + 3. ‘l’: [l]ink internal → <a href="https://foo.com"> + 4. ‘m’: [m]onetary → €1.234,56 + — Only show decimals if the arg is a float + 5. ‘r’: [r]aw: Put content in literally; no HTML escaping + 6. ‘E’: Link [E]nd → </a> +3. HTML escape everything if we’re in the template wrappers
\ No newline at end of file diff --git a/aux/enabled-languages b/aux/enabled-languages new file mode 100755 index 0000000..f4aa5b5 --- /dev/null +++ b/aux/enabled-languages @@ -0,0 +1,11 @@ +#!/usr/bin/env python3 + +import os +import sys + +os.chdir(os.path.dirname(sys.argv[0])) +sys.path.append("..") + +import src.i18n.gen + +print(" ".join(x.bcp for x in src.i18n.gen.LOCALES if x.enabledp)) diff --git a/aux/process-img b/aux/process-img new file mode 100755 index 0000000..ac25661 --- /dev/null +++ b/aux/process-img @@ -0,0 +1,36 @@ +#!/bin/bash + +usage() +{ + echo 'Usage: process-img [-f fuzz] file...' >&2 + exit 1 +} + +while getopts 'f:' opt +do + case "$opt" in + f) + fuzz="$optarg" + ;; + *) + usage + esac +done + +shift $(($OPTIND - 1)) +[ "$#" -eq 0 ] && usage + +for img in "$@" +do + ( + read w h < <(identify -format "%w %h" "$img") + magick "$img" \ + -alpha on -fuzz ${fuzz:-3%} -fill none \ + -draw "color 0,0 floodfill" \ + -draw "color 0,$((h-1)) floodfill" \ + -draw "color $((w-1)),0 floodfill" \ + -draw "color $((w-1)),$((h-1)) floodfill" \ + "${img%.*}.avif" + ) & +done +wait
\ No newline at end of file diff --git a/cmd/extpo/html.go b/cmd/extpo/html.go new file mode 100644 index 0000000..d53cbfa --- /dev/null +++ b/cmd/extpo/html.go @@ -0,0 +1,114 @@ +package main + +import ( + "strings" + "text/template/parse" +) + +func processHtml(path string) { + trees := make(map[string]*parse.Tree) + t := parse.New(path) + t.Mode |= parse.ParseComments | parse.SkipFuncCheck + try2(t.Parse(string(currentFile), "", "", trees)) + for _, t := range trees { + processHtmlNode(t.Root) + } +} + +func processHtmlNode(node parse.Node) { + switch n := node.(type) { + case *parse.ListNode: + for _, m := range n.Nodes { + processHtmlNode(m) + } + case *parse.PipeNode: + for _, m := range n.Cmds { + processHtmlNode(m) + } + case *parse.TemplateNode: + processHtmlNode(n.Pipe) + case *parse.IfNode: + processHtmlBranch(n.BranchNode) + case *parse.RangeNode: + processHtmlBranch(n.BranchNode) + case *parse.WithNode: + processHtmlBranch(n.BranchNode) + case *parse.BranchNode: + processHtmlBranch(*n) + case *parse.ActionNode: + processHtmlNode(n.Pipe) + case *parse.CommandNode: + if len(n.Args) == 0 { + break + } + + var funcname string + f, ok := n.Args[0].(*parse.FieldNode) + if !ok || len(f.Ident) == 0 { + ff, ok := n.Args[0].(*parse.VariableNode) + if !ok || len(ff.Ident) == 0 { + fff, ok := n.Args[0].(*parse.IdentifierNode) + if !ok { + for _, pipe := range n.Args { + processHtmlNode(pipe) + } + break + } + funcname = fff.Ident + } else { + funcname = ff.Ident[len(ff.Ident)-1] + } + } else { + funcname = f.Ident[len(f.Ident)-1] + } + + cfg, ok := configs[funcname] + if !ok { + for _, pipe := range n.Args { + processHtmlNode(pipe) + } + break + } + + var ( + tl translation + linenr int + ) + + if sn, ok := n.Args[cfg.arg].(*parse.StringNode); ok { + tl.msgid = sn.Text + linenr = getlinenr(sn.Pos.Position()) + } else { + break + } + if cfg.plural != -1 { + if sn, ok := n.Args[cfg.plural].(*parse.StringNode); ok { + tl.msgidPlural = sn.Text + } + } + if cfg.context != -1 { + if sn, ok := n.Args[cfg.context].(*parse.StringNode); ok { + tl.msgctxt = sn.Text + } + } + + ti := translations[tl] + if lastComment != "" { + ti.comment = lastComment + lastComment = "" + } + ti.locs = append(ti.locs, loc{currentPath, linenr}) + translations[tl] = ti + case *parse.CommentNode: + if strings.HasPrefix(n.Text, "/* TRANSLATORS:") { + lastComment = strings.TrimSpace(n.Text[2 : len(n.Text)-2]) + } + } +} + +func processHtmlBranch(n parse.BranchNode) { + processHtmlNode(n.List) + if n.ElseList != nil { + processHtmlNode(n.ElseList) + } +} diff --git a/cmd/extpo/main.go b/cmd/extpo/main.go new file mode 100644 index 0000000..5db7b7c --- /dev/null +++ b/cmd/extpo/main.go @@ -0,0 +1,206 @@ +package main + +import ( + "bytes" + "flag" + "fmt" + "io" + "os" + "path/filepath" + "slices" + "strings" + "text/template/parse" + "time" +) + +type config struct { + arg int + plural int + context int + domain int +} + +type translation struct { + msgid string + msgidPlural string + msgctxt string + domain string +} + +type transinfo struct { + comment string + locs []loc +} + +type loc struct { + file string + line int +} + +func (l loc) String() string { + return fmt.Sprintf("%s:%d", l.file, l.line) +} + +var ( + currentFile []byte + currentPath string + lastComment string + translations = make(map[translation]transinfo) + configs = map[string]config{ + "Get": {1, -1, -1, -1}, + "GetC": {1, -1, 2, -1}, + "GetD": {2, -1, -1, 1}, + "GetDC": {2, -1, 3, 1}, + "GetN": {1, 2, -1, -1}, + "GetNC": {1, 2, 4, -1}, + "GetND": {2, 3, -1, 1}, + "GetNDC": {2, 3, 5, 1}, + } +) + +func usage() { + fmt.Fprintf(os.Stderr, "Usage: %s [flags] template...\n", + filepath.Base(os.Args[0])) + flag.PrintDefaults() +} + +func main() { + try(os.Chdir(filepath.Dir(os.Args[0]))) + + outpath := flag.String("out", "-", "output file") + flag.Usage = usage + flag.Parse() + + if flag.NArg() < 1 { + flag.Usage() + os.Exit(1) + } + + var outfile *os.File + if *outpath == "-" { + outfile = os.Stdout + } else { + outfile = try2(os.Create(*outpath)) + } + + for _, f := range flag.Args() { + process(f) + } + + fmt.Fprintf(outfile, `# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: %s\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +`, time.Now().Format("2006-01-02 15:04-0700")) + + for tl, ti := range translations { + if ti.comment != "" { + fmt.Fprintln(outfile, "#.", ti.comment) + } + + slices.SortFunc(ti.locs, func(a, b loc) int { + if x := strings.Compare(a.file, b.file); x != 0 { + return x + } + return a.line - b.line + }) + for _, x := range ti.locs { + fmt.Fprintln(outfile, "#:", x) + } + + if tl.msgctxt != "" { + writeField(outfile, "msgctxt", tl.msgctxt) + } + writeField(outfile, "msgid", tl.msgid) + if tl.msgidPlural != "" { + writeField(outfile, "msgid_plural", tl.msgidPlural) + writeField(outfile, "msgstr[0]", "") + writeField(outfile, "msgstr[1]", "") + } else { + writeField(outfile, "msgstr", "") + } + fmt.Fprint(outfile, "\n") + } +} + +func process(path string) { + currentPath = path + currentFile = try2(os.ReadFile(path)) + switch { + case strings.HasSuffix(path, ".html.tmpl"): + processHtml(path) + case strings.HasSuffix(path, ".sql"): + processSql(path) + } +} + +func writeField(w io.Writer, pfx, s string) { + fmt.Fprintf(w, "%s ", pfx) + if strings.ContainsRune(s, '\n') { + fmt.Fprintln(w, "\"\"") + lines := strings.SplitAfter(s, "\n") + n := len(lines) + if n > 1 && lines[n-1] == "" { + lines = lines[:n-1] + } + for _, ss := range lines { + writeLine(w, ss) + } + fmt.Fprintln(w, "\"\"") + } else { + writeLine(w, s) + } +} + +func writeLine(w io.Writer, s string) { + fmt.Fprint(w, "\"") + for _, c := range s { + switch c { + case '\\', '"': + fmt.Fprintf(w, "\\%c", c) + case '\n': + fmt.Fprint(w, "\\n") + default: + fmt.Fprintf(w, "%c", c) + } + } + fmt.Fprintln(w, "\"") +} + +func getlinenr(p parse.Pos) int { + return bytes.Count(currentFile[:p], []byte{'\n'}) + 1 +} + +func try(err error) { + if err != nil { + die(err) + } +} + +func try2[T any](val T, err error) T { + try(err) + return val +} + +func warn(err any) { + fmt.Fprintf(os.Stderr, "%s: %s\n", filepath.Base(os.Args[0]), err) +} + +func die(err any) { + warn(err) + os.Exit(1) +} diff --git a/cmd/extpo/sql.go b/cmd/extpo/sql.go new file mode 100644 index 0000000..43bea9c --- /dev/null +++ b/cmd/extpo/sql.go @@ -0,0 +1,54 @@ +package main + +import ( + "bytes" + "errors" + "io" + + "github.com/rqlite/sql" +) + +type sqlVisitor struct{} + +func processSql(path string) { + p := sql.NewParser(bytes.NewReader(currentFile)) + for { + stmt, err := p.ParseStatement() + switch { + case errors.Is(err, io.EOF): + return + case err != nil: + die(err) + } + sql.Walk(sqlVisitor{}, stmt) + } +} + +func processSqlArgs(msgidExpr, msgctxtExpr sql.Expr, pos sql.Pos) { + msgid, ok := msgidExpr.(*sql.StringLit) + if !ok { + return + } + msgctxt, ok := msgctxtExpr.(*sql.StringLit) + if !ok { + return + } + tl := translation{ + msgid: msgid.Value, + msgctxt: msgctxt.Value, + } + ti := translations[tl] + ti.locs = append(ti.locs, loc{currentPath, pos.Line}) + translations[tl] = ti +} + +func (v sqlVisitor) Visit(n sql.Node) (sql.Visitor, sql.Node, error) { + if cn, ok := n.(*sql.Call); ok && sql.IdentName(cn.Name) == "C_" { + processSqlArgs(cn.Args[0], cn.Args[1], cn.Lparen) + } + return v, n, nil +} + +func (v sqlVisitor) VisitEnd(n sql.Node) (sql.Node, error) { + return n, nil +} diff --git a/cmd/exttmpl/main.go b/cmd/exttmpl/main.go deleted file mode 100644 index 332d9d5..0000000 --- a/cmd/exttmpl/main.go +++ /dev/null @@ -1,224 +0,0 @@ -package main - -import ( - "fmt" - "os" - "path/filepath" - "slices" - "strings" - "text/template/parse" - - "golang.org/x/text/language" - "golang.org/x/text/message/pipeline" - "golang.org/x/tools/go/packages" -) - -const ( - pkgbase = "git.thomasvoss.com/euro-cash.eu" - srclang = "en" - srcdir = "./src" - transdir = srcdir + "/rosetta" - outfile = "catalog.gen.go" - transfn = "T" -) - -func main() { - /* cd to the project root directory */ - try(os.Chdir(filepath.Dir(os.Args[0]))) - - pkgnames := packageList(".") - - var paths []string - pkgs := try2(packages.Load(&packages.Config{ - Mode: packages.NeedFiles | packages.NeedEmbedFiles, - }, pkgnames...)) - - for _, pkg := range pkgs { - if len(pkg.Errors) != 0 { - for _, err := range pkg.Errors { - warn(err.Msg) - } - os.Exit(1) - } - for _, f := range pkg.EmbedFiles { - if filepath.Ext(f) == ".tmpl" { - paths = append(paths, f) - } - } - } - - msgs := make([]pipeline.Message, 0, 1024) - for _, path := range paths { - f := try2(os.ReadFile(path)) - trees := make(map[string]*parse.Tree) - t := parse.New("name") - t.Mode |= parse.SkipFuncCheck - try2(t.Parse(string(f), "", "", trees)) - for _, t := range trees { - process(&msgs, t.Root) - } - } - - pconf := &pipeline.Config{ - Supported: languages(), - SourceLanguage: language.Make(srclang), - Packages: pkgnames, - Dir: transdir, - GenFile: outfile, - GenPackage: srcdir, - } - - state := try2(pipeline.Extract(pconf)) - state.Extracted.Messages = append(state.Extracted.Messages, msgs...) - - try(state.Import()) - try(state.Merge()) - try(state.Export()) - try(state.Generate()) -} - -func process(tmplMsgs *[]pipeline.Message, node parse.Node) { - switch node.Type() { - case parse.NodeList: - if ln, ok := node.(*parse.ListNode); ok { - for _, n := range ln.Nodes { - process(tmplMsgs, n) - } - } - case parse.NodeIf: - if in, ok := node.(*parse.IfNode); ok { - process(tmplMsgs, in.List) - if in.ElseList != nil { - process(tmplMsgs, in.ElseList) - } - } - case parse.NodeWith: - if wn, ok := node.(*parse.WithNode); ok { - process(tmplMsgs, wn.List) - if wn.ElseList != nil { - process(tmplMsgs, wn.ElseList) - } - } - case parse.NodeRange: - if rn, ok := node.(*parse.RangeNode); ok { - process(tmplMsgs, rn.List) - if rn.ElseList != nil { - process(tmplMsgs, rn.ElseList) - } - } - case parse.NodeAction: - an, ok := node.(*parse.ActionNode) - if !ok { - break - } - - for _, cmd := range an.Pipe.Cmds { - if !hasIdent(cmd, transfn) { - continue - } - for _, arg := range cmd.Args { - if arg.Type() != parse.NodeString { - continue - } - if sn, ok := arg.(*parse.StringNode); ok { - txt := collapse(sn.Text) - *tmplMsgs = append(*tmplMsgs, pipeline.Message{ - ID: pipeline.IDList{txt}, - Key: txt, - Message: pipeline.Text{Msg: txt}, - }) - break - } - } - } - } -} - -func hasIdent(cmd *parse.CommandNode, s string) bool { - if len(cmd.Args) == 0 { - return false - } - arg := cmd.Args[0] - var idents []string - switch arg.Type() { - case parse.NodeField: - idents = arg.(*parse.FieldNode).Ident - case parse.NodeVariable: - idents = arg.(*parse.VariableNode).Ident - } - return slices.Contains(idents, s) -} - -func packageList(path string) []string { - ents := try2(os.ReadDir(path)) - xs := make([]string, 0, len(ents)) - foundOne := false - for _, ent := range ents { - switch { - case filepath.Ext(ent.Name()) == ".go": - if !foundOne { - xs = append(xs, pkgbase+"/"+path) - foundOne = true - } - case !ent.IsDir(), ent.Name() == "cmd", ent.Name() == "vendor": - continue - default: - xs = append(xs, packageList(path+"/"+ent.Name())...) - } - } - return xs -} - -func languages() []language.Tag { - ents := try2(os.ReadDir(transdir)) - tags := make([]language.Tag, len(ents)) - for i, e := range ents { - tags[i] = language.MustParse(e.Name()) - } - return tags -} - -func collapse(s string) string { - var ( - sb strings.Builder - prev bool - ) - const spc = " \t\n" - - for _, ch := range strings.Trim(s, spc) { - if strings.ContainsRune(spc, ch) { - if prev { - continue - } - ch = ' ' - prev = true - } else { - prev = false - } - sb.WriteRune(ch) - } - - return sb.String() -} - -func try(err error) { - if err != nil { - die(err) - } -} - -func try2[T any](val T, err error) T { - if err != nil { - die(err) - } - return val -} - -func warn(err any) { - fmt.Fprintf(os.Stderr, "%s: %s\n", filepath.Base(os.Args[0]), err) -} - -func die(err any) { - warn(err) - os.Exit(1) -} diff --git a/cmd/extwiki/main.go b/cmd/extwiki/main.go new file mode 100644 index 0000000..76e0f3a --- /dev/null +++ b/cmd/extwiki/main.go @@ -0,0 +1,151 @@ +package main + +import ( + "flag" + "fmt" + "maps" + "os" + "path/filepath" + "slices" + "sort" + "text/template/parse" +) + +var ( + titles = make(map[string]struct{}) + configs = map[string]int{"Wikipedia": 1} +) + +func usage() { + fmt.Fprintf(os.Stderr, "Usage: %s [flags] template...\n", + filepath.Base(os.Args[0])) + flag.PrintDefaults() +} + +func main() { + try(os.Chdir(filepath.Dir(os.Args[0]))) + + outpath := flag.String("out", "-", "output file") + flag.Usage = usage + flag.Parse() + + if flag.NArg() < 1 { + flag.Usage() + os.Exit(1) + } + + var outfile *os.File + if *outpath == "-" { + outfile = os.Stdout + } else { + outfile = try2(os.Create(*outpath)) + } + + for _, f := range flag.Args() { + process(f) + } + + fmt.Fprint(outfile, `// Code generated by extwiki. DO NOT EDIT. + +package wikipedia + +var extractedTitles = [...]string{ +`) + xs := slices.Collect(maps.Keys(titles)) + sort.Strings(xs) + for _, t := range xs { + fmt.Fprintf(outfile, "%q,\n", t) + } + fmt.Fprint(outfile, "}\n") +} + +func process(path string) { + currentFile := try2(os.ReadFile(path)) + trees := make(map[string]*parse.Tree) + t := parse.New(path) + t.Mode |= parse.ParseComments | parse.SkipFuncCheck + try2(t.Parse(string(currentFile), "", "", trees)) + for _, t := range trees { + processNode(t.Root) + } +} + +func processNode(node parse.Node) { + switch n := node.(type) { + case *parse.ListNode: + for _, m := range n.Nodes { + processNode(m) + } + case *parse.PipeNode: + for _, m := range n.Cmds { + processNode(m) + } + case *parse.TemplateNode: + processNode(n.Pipe) + case *parse.IfNode: + processBranch(n.BranchNode) + case *parse.RangeNode: + processBranch(n.BranchNode) + case *parse.WithNode: + processBranch(n.BranchNode) + case *parse.BranchNode: + processBranch(*n) + case *parse.ActionNode: + processNode(n.Pipe) + case *parse.CommandNode: + if len(n.Args) == 0 { + break + } + + var funcname string + f, ok := n.Args[0].(*parse.FieldNode) + if !ok || len(f.Ident) == 0 { + ff, ok := n.Args[0].(*parse.VariableNode) + if !ok || len(ff.Ident) == 0 { + fff, ok := n.Args[0].(*parse.IdentifierNode) + if !ok { + for _, pipe := range n.Args { + processNode(pipe) + } + break + } + funcname = fff.Ident + } else { + funcname = ff.Ident[len(ff.Ident)-1] + } + } else { + funcname = f.Ident[len(f.Ident)-1] + } + + i, ok := configs[funcname] + if !ok { + for _, pipe := range n.Args { + processNode(pipe) + } + break + } + + if sn, ok := n.Args[i].(*parse.StringNode); ok { + titles[sn.Text] = struct{}{} + } + } +} + +func processBranch(n parse.BranchNode) { + processNode(n.List) + if n.ElseList != nil { + processNode(n.ElseList) + } +} + +func try(err error) { + if err != nil { + fmt.Fprintf(os.Stderr, "%s: %s\n", filepath.Base(os.Args[0]), err) + os.Exit(1) + } +} + +func try2[T any](val T, err error) T { + try(err) + return val +} diff --git a/datefmt b/datefmt deleted file mode 100755 index 747b47a..0000000 --- a/datefmt +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -url() -{ - echo "https://raw.githubusercontent.com/unicode-org/cldr-json/refs/heads/main/cldr-json/cldr-dates-full/main/$1/ca-gregorian.json" -} - -if [ $# -lt 1 ] -then - echo "Usage: datefmt locale..." >&2 - exit 1 -fi - -for l in "$@" -do - [ $# -gt 1 ] && printf '%s:\t' "$l" - curl -s "$(url "$l")" | jq -r --arg l "$l" \ - '.main.[$l].dates.calendars.gregorian.dateFormats.short' -done diff --git a/doc/i18n.md b/doc/i18n.md new file mode 100644 index 0000000..d48df23 --- /dev/null +++ b/doc/i18n.md @@ -0,0 +1,137 @@ +# The Internationalization System + +## Extracting Translations + +For translators to be able to translate text, and for us to be able to +work with those translations, we need translation files. These files are +located in the `/po` directory. These files are automatically generated +by running the `make extract` command. In order to extract translations +from the source code, the `make extract` command will search for calls to +the `Get()` family of functions, such as `Get()` and `GetN()`. + +```go +func example(n int) { + /* Not extracted for translation */ + fmt.Println("Hello, Sailor!") + + /* Extracted for translation */ + fmt.Println(i18n.GetN("1 book", "{N} books", n, + map[string]any{"N": n})) +} +``` + +Sometimes you want to provide additional context about a translation to +the translators. You can do this by placing a comment above the +translated string with the prefix ‘TRANSLATORS:’. + +```go +func example() string { + /* TRANSLATORS: ‘Home’ button on the navigation bar */ + return i18n.Get("Home") +} +``` + +Especially when working in HTML templates, you may have a string that you +want to go through the formatting system but _not_ be marked for +translation. You can do this by calling the underlying `Sprintf()` +function instead. + +```html +<p>{{ .Printer.Sprintf "{N:m}" (map "N" 2) }}</p> +``` + +## The Formatting System + +For string formatting we use a custom implementation of `Sprintf()`, and +all `Get*()` functions format the translated strings using our own +`Sprintf()`. + +Do note that all `Sprintf()` output is automatically HTML escaped. + +Unlike the standard `Sprintf()`, we use named placeholders enclosed by +curly braces instead of percent codes. As placeholders are named, they +need to be passed via a map of type `map[string]any`. + +```go +func example() { + status := "late" + + /* Go’s Sprintf */ + _ = fmt.Sprintf("The bus is %s", status) + + /* Our Sprintf */ + _ = i18n.Sprintf("The bus is {LateOrEarly}", + map[string]any{"LateOrEarly": status}) +} +``` + +The result is a lot more visually-noisy than what Go does – mostly due to +the map syntax – but it offers infinitely more information to +translators, which is important. + +Translation functions can be provided multiple argument maps, and maps +can be easily created in HTML templates using the `map` function. + +```html +{{ $nlargs := (map "DutchStart" `<span lang="nl"><em>` + "DutchEnd" `em,span`) }} +<p>{{ .Get "{Name} said ‘{DutchStart:r}{Quote}{DutchEnd:E}’!" + (map "Name" "Thomas" "Quote" "...") $nlargs }}</p> +``` + +In a placeholder you can also use a colon and additional character code +to customize how formatting is performed. The default behaviour is as +follows: + +- Strings are printed verbatim +- Numbers (`int`) and floats (`float64`) are formatted with the + locale-specific grouping- and decimal separators +- Dates (`time.Time`) are formatted according to the current locale +- Other types are coerced to a string by `fmt.Sprintf()` and then printed + verbatim + +The following character codes are available with the following behaviour: + +| Code | Mnemonic | Description | +| ---- | ------------------ | ---------------------------------------------------------- | +| `e` | \[e]mail | inserts a link to an email address | +| `E` | \[E]nd | inserts closing-tags for the comma-separated HTML tags | +| `l` | \[l]ink (internal) | links to an internal page | +| `L` | \[L]ink (external) | links to an external page | +| `m` | \[m]onetary | formats the given `int` or `float64` as an amount of Euros | +| `p` | \[p]ercentage | formats the given `int` or `float64` as a percentage | +| `r` | \[r]aw | inserts the given string verbatim without HTML escaping | + +```html +<!-- <a href="mailto:help@euro-cash.eu">help@euro-cash.eu</a> --> +<p>{{ .Get "{Email:e}" (map "Email" "help@euro-cash.eu") }}</p> + +<!-- <span lang="sv"><em>Växjösjön</em></span> --> +<p>{{ .Get "{SwedishStart:r}Växjösjön{SwedishEnd:E}" + (map "SwedishStart" `<span lang="sv"><em>` + "SwedishEnd" "em,span") }}</p> + +<!-- Click <a href="/banknotes">here</a>! --> +<p>{{ .Get "Click {Link:l}here{-:E}!" + (map "Link" "/banknotes") }}</p> + +<!-- Click <a href="https://euro-cash.eu" target="_blank">here</a>! --> +<p>{{ .Get "Click {Link:L}here{-:E}!" + (map "Link" "https://euro-cash.eu") }}</p> + +<!-- Varies per locale --> +<!-- €1 and €1.00 --> +<p>{{ .Get "{1:m} and {1.00:m}" (map "1" 1 "1.00" 1.00) }}</p> + +<!-- Varies per locale --> +<!-- Ölen har 5 % alkoholhalt, eller egentligen 4,5 % --> +<p>{{ .Get "The beer is {5:p} alcohol, or really {4.5:p}" + (map "5" 5 "4.5" 4.5) }}</p> +``` + +Some additional notes: +- The `-` name is special. `{-:E}` inserts `</a>`. This exists because + of how often you need to do this. +- The `p` and `m` character codes won’t include decimals when the + argument is an integer, and will include the decimals when the argument + is a floating-point number.
\ No newline at end of file @@ -1,20 +1,13 @@ module git.thomasvoss.com/euro-cash.eu -go 1.24 +go 1.25.3 require ( - github.com/mattn/go-sqlite3 v1.14.28 - golang.org/x/crypto v0.39.0 - golang.org/x/text v0.26.0 - golang.org/x/tools v0.34.0 + github.com/jmoiron/sqlx v1.4.0 + github.com/leonelquinteros/gotext v1.7.2 + github.com/mattn/go-sqlite3 v1.14.32 + golang.org/x/crypto v0.43.0 + golang.org/x/text v0.30.0 ) -require ( - golang.org/x/mod v0.25.0 // indirect - golang.org/x/sync v0.15.0 // indirect -) - -tool ( - git.thomasvoss.com/euro-cash.eu - golang.org/x/text/cmd/gotext -) +require github.com/rqlite/sql v0.0.0-20250623131620-453fa49cad04 @@ -1,14 +1,21 @@ -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/mattn/go-sqlite3 v1.14.28 h1:ThEiQrnbtumT+QMknw63Befp/ce/nUPgBPMlRFEum7A= -github.com/mattn/go-sqlite3 v1.14.28/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= -golang.org/x/crypto v0.39.0 h1:SHs+kF4LP+f+p14esP5jAoDpHU8Gu/v9lFRK6IT5imM= -golang.org/x/crypto v0.39.0/go.mod h1:L+Xg3Wf6HoL4Bn4238Z6ft6KfEpN0tJGo53AAPC632U= -golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= -golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= -golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= -golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= -golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= -golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= -golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo= -golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg= +filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= +filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= +github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpvNJ1Y= +github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= +github.com/go-test/deep v1.0.8 h1:TDsG77qcSprGbC6vTN8OuXp5g+J+b5Pcguhf7Zt61VM= +github.com/go-test/deep v1.0.8/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE= +github.com/jmoiron/sqlx v1.4.0 h1:1PLqN7S1UYp5t4SrVVnt4nUVNemrDAtxlulVe+Qgm3o= +github.com/jmoiron/sqlx v1.4.0/go.mod h1:ZrZ7UsYB/weZdl2Bxg6jCRO9c3YHl8r3ahlKmRT4JLY= +github.com/leonelquinteros/gotext v1.7.2 h1:bDPndU8nt+/kRo1m4l/1OXiiy2v7Z7dfPQ9+YP7G1Mc= +github.com/leonelquinteros/gotext v1.7.2/go.mod h1:9/haCkm5P7Jay1sxKDGJ5WIg4zkz8oZKw4ekNpALob8= +github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= +github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/mattn/go-sqlite3 v1.14.32 h1:JD12Ag3oLy1zQA+BNn74xRgaBbdhbNIDYvQUEuuErjs= +github.com/mattn/go-sqlite3 v1.14.32/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= +github.com/rqlite/sql v0.0.0-20250623131620-453fa49cad04 h1:bjr7gZERAJhYhqkLHXbkBSpjbB+PlgW6e9CRCJ2+J/w= +github.com/rqlite/sql v0.0.0-20250623131620-453fa49cad04/go.mod h1:ib9zVtNgRKiGuoMyUqqL5aNpk+r+++YlyiVIkclVqPg= +golang.org/x/crypto v0.43.0 h1:dduJYIi3A3KOfdGOHX8AVZ/jGiyPa3IbBozJ5kNuE04= +golang.org/x/crypto v0.43.0/go.mod h1:BFbav4mRNlXJL4wNeejLpWxB7wMbc79PdRGhWKncxR0= +golang.org/x/text v0.30.0 h1:yznKA/E9zq54KzlzBEAWn1NXSQ8DIp/NYMy88xJjl4k= +golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= @@ -5,19 +5,31 @@ 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" + "git.thomasvoss.com/euro-cash.eu/pkg/watch" + "git.thomasvoss.com/euro-cash.eu/src" "git.thomasvoss.com/euro-cash.eu/src/dbx" "git.thomasvoss.com/euro-cash.eu/src/email" + "git.thomasvoss.com/euro-cash.eu/src/i18n" + "git.thomasvoss.com/euro-cash.eu/src/wikipedia" ) func main() { + Try(os.Chdir(filepath.Dir(os.Args[0]))) + port := flag.Int("port", 8080, "port number") - debugp := flag.Bool("debug", false, "run in debug mode") + flag.BoolVar(&app.Debugp, "debug", false, + "run in debug mode") flag.BoolVar(&email.Config.Disabled, "no-email", false, "disables email support") flag.StringVar(&email.Config.Host, "smtp-host", "smtp.migadu.com", @@ -34,37 +46,34 @@ func main() { "database name or ‘:memory:’ for an in-memory database") flag.Parse() - if *debugp { - go watch() - } - dbx.Init() - src.Run(*port) -} + defer func() { + if p := recover(); p != nil { + if app.Debugp { + log.Println(p) + time.Sleep(1 * time.Second) + app.Restart() + } + email.Send("URGENT: Server Panicked", fmt.Sprint(p)) + } + }() -func watch() { - path, err := os.Executable() - if err != nil { - log.Fatal(err) - } + sigs := make(chan os.Signal, 1) + signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM) + go func() { + <-sigs + atexit.Exec() + os.Exit(0) + }() - ostat, err := os.Stat(path) - if err != nil { - log.Fatal(err) + if app.Debugp { + go watch.File(Try2(os.Executable()), app.Restart) } - for { - nstat, err := os.Stat(path) - if err != nil { - log.Fatal(err) - } - - if nstat.ModTime() != ostat.ModTime() { - dbx.DB.Close() - if err := syscall.Exec(path, os.Args, os.Environ()); err != nil { - log.Fatal(err) - } - } - - time.Sleep(1 * time.Second) + i18n.Init(Try2(os.OpenRoot("po")).FS(), app.Debugp) + if err := wikipedia.Init(i18n.DefaultPrinter.Bcp); err != nil { + log.Println(err) } + dbx.Init(Try2(os.OpenRoot("src/dbx/sql")).FS()) + app.BuildTemplates(Try2(os.OpenRoot("src/templates")).FS()) + app.Run(*port) } diff --git a/pkg/atexit/atexit.go b/pkg/atexit/atexit.go new file mode 100644 index 0000000..a349649 --- /dev/null +++ b/pkg/atexit/atexit.go @@ -0,0 +1,13 @@ +package atexit + +var hooks = []func(){} + +func Register(f func()) { + hooks = append(hooks, f) +} + +func Exec() { + for i := len(hooks) - 1; i >= 0; i-- { + hooks[i]() + } +} diff --git a/pkg/try/try.go b/pkg/try/try.go new file mode 100644 index 0000000..2576dcd --- /dev/null +++ b/pkg/try/try.go @@ -0,0 +1,19 @@ +package try + +import ( + "log" + + "git.thomasvoss.com/euro-cash.eu/pkg/atexit" +) + +func Try(e error) { + if e != nil { + atexit.Exec() + log.Fatalln(e) + } +} + +func Try2[T any](x T, e error) T { + Try(e) + return x +} diff --git a/pkg/watch/watch.go b/pkg/watch/watch.go new file mode 100644 index 0000000..f409dac --- /dev/null +++ b/pkg/watch/watch.go @@ -0,0 +1,41 @@ +package watch + +import ( + "errors" + "io/fs" + "log" + "os" + "time" + + . "git.thomasvoss.com/euro-cash.eu/pkg/try" +) + +func File(path string, f func()) { + impl(path, os.Stat, f) +} + +func FileFS(dir fs.FS, path string, f func()) { + impl(path, func(path string) (os.FileInfo, error) { + return fs.Stat(dir, path) + }, f) +} + +func impl(path string, statfn func(string) (os.FileInfo, error), f func()) { + ostat := Try2(statfn(path)) + + for { + nstat, err := statfn(path) + switch { + case errors.Is(err, os.ErrNotExist): + return + case err != nil: + log.Println(err) + } + + if nstat.ModTime() != ostat.ModTime() { + f() + ostat = nstat + } + time.Sleep(1 * time.Second) + } +} diff --git a/po/en/messages.po b/po/en/messages.po new file mode 100644 index 0000000..206f50f --- /dev/null +++ b/po/en/messages.po @@ -0,0 +1,3175 @@ +msgid "" +msgstr "" +"Project-Id-Version: Euro Cash Wiki v1.0.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-11-08 02:33+0100\n" +"PO-Revision-Date: 2025-08-03 22:47+0200\n" +"Last-Translator: Thomas Voss <mail@thomasvoss.com>\n" +"Language-Team: N/A\n" +"Language: en\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/i18n/locales.gen.go:20 +msgctxt "Language Name" +msgid "Català" +msgstr "Catalan" + +#: src/i18n/locales.gen.go:30 +msgctxt "Language Name" +msgid "Deutsch" +msgstr "German" + +#: src/i18n/locales.gen.go:40 +msgctxt "Language Name" +msgid "Ελληνικά" +msgstr "Greek" + +#: src/i18n/locales.gen.go:51 +msgctxt "Language Name" +msgid "English" +msgstr "English" + +#: src/i18n/locales.gen.go:61 +msgctxt "Language Name" +msgid "Español" +msgstr "Spanish" + +#: src/i18n/locales.gen.go:71 +msgctxt "Language Name" +msgid "Eesti" +msgstr "Estonian" + +#: src/i18n/locales.gen.go:81 +msgctxt "Language Name" +msgid "Suomi" +msgstr "Finnish" + +#: src/i18n/locales.gen.go:91 +msgctxt "Language Name" +msgid "Français" +msgstr "French" + +#: src/i18n/locales.gen.go:101 +msgctxt "Language Name" +msgid "Gaeilge" +msgstr "Irish" + +#: src/i18n/locales.gen.go:111 +msgctxt "Language Name" +msgid "Hrvatski" +msgstr "Croatian" + +#: src/i18n/locales.gen.go:121 +msgctxt "Language Name" +msgid "Italiano" +msgstr "Italian" + +#: src/i18n/locales.gen.go:131 +msgctxt "Language Name" +msgid "Lëtzebuergesch" +msgstr "Luxembourgish" + +#: src/i18n/locales.gen.go:141 +msgctxt "Language Name" +msgid "Lietuvių" +msgstr "Lithuanian" + +#: src/i18n/locales.gen.go:151 +msgctxt "Language Name" +msgid "Latviešu" +msgstr "Latvian" + +#: src/i18n/locales.gen.go:161 +msgctxt "Language Name" +msgid "Malti" +msgstr "Maltese" + +#: src/i18n/locales.gen.go:172 +msgctxt "Language Name" +msgid "Nederlands" +msgstr "Dutch" + +#: src/i18n/locales.gen.go:182 +msgctxt "Language Name" +msgid "Português" +msgstr "Portuguese" + +#: src/i18n/locales.gen.go:192 +msgctxt "Language Name" +msgid "Slovenčina" +msgstr "Slovak" + +#: src/i18n/locales.gen.go:202 +msgctxt "Language Name" +msgid "Slovenščina" +msgstr "Slovene" + +#: src/i18n/locales.gen.go:213 +msgctxt "Language Name" +msgid "Svenska" +msgstr "Swedish" + +#: src/i18n/locales.gen.go:223 +msgctxt "Language Name" +msgid "Türkçe" +msgstr "Turkish" + +#: src/i18n/locales.gen.go:232 +msgctxt "Language Name" +msgid "Български" +msgstr "Bulgarian" + +#: src/i18n/locales.gen.go:241 +msgctxt "Language Name" +msgid "Română" +msgstr "Romanian" + +#: src/i18n/locales.gen.go:250 +msgctxt "Language Name" +msgid "Українська" +msgstr "Ukrainian" + +#: src/countries.go:47 +msgctxt "Place Name" +msgid "Andorra" +msgstr "" + +#: src/countries.go:48 src/templates/banknotes-codes.html.tmpl:132 +#: src/templates/banknotes-codes.html.tmpl:219 +#: src/templates/banknotes-codes.html.tmpl:291 +#: src/templates/banknotes-codes.html.tmpl:423 +msgctxt "Place Name" +msgid "Austria" +msgstr "" + +#: src/countries.go:49 src/templates/banknotes-codes.html.tmpl:175 +#: src/templates/banknotes-codes.html.tmpl:251 +#: src/templates/banknotes-codes.html.tmpl:362 +#: src/templates/banknotes-codes.html.tmpl:494 +msgctxt "Place Name" +msgid "Belgium" +msgstr "" + +#: src/countries.go:52 src/templates/banknotes-codes.html.tmpl:116 +#: src/templates/banknotes-codes.html.tmpl:203 +msgctxt "Place Name" +msgid "Cyprus" +msgstr "" + +#: src/countries.go:53 src/templates/banknotes-codes.html.tmpl:167 +#: src/templates/banknotes-codes.html.tmpl:243 +#: src/templates/banknotes-codes.html.tmpl:348 +#: src/templates/banknotes-codes.html.tmpl:355 +#: src/templates/banknotes-codes.html.tmpl:437 +#: src/templates/banknotes-codes.html.tmpl:473 +#: src/templates/banknotes-codes.html.tmpl:480 +msgctxt "Place Name" +msgid "Germany" +msgstr "" + +#: src/countries.go:54 src/templates/banknotes-codes.html.tmpl:104 +#: src/templates/banknotes-codes.html.tmpl:191 +msgctxt "Place Name" +msgid "Estonia" +msgstr "" + +#: src/countries.go:55 src/templates/banknotes-codes.html.tmpl:163 +#: src/templates/banknotes-codes.html.tmpl:239 +#: src/templates/banknotes-codes.html.tmpl:334 +#: src/templates/banknotes-codes.html.tmpl:466 +msgctxt "Place Name" +msgid "Spain" +msgstr "" + +#: src/countries.go:56 src/templates/banknotes-codes.html.tmpl:124 +#: src/templates/banknotes-codes.html.tmpl:211 +#: src/templates/banknotes-codes.html.tmpl:277 +msgctxt "Place Name" +msgid "Finland" +msgstr "" + +#: src/countries.go:57 src/templates/banknotes-codes.html.tmpl:159 +#: src/templates/banknotes-codes.html.tmpl:235 +#: src/templates/banknotes-codes.html.tmpl:284 +#: src/templates/banknotes-codes.html.tmpl:327 +#: src/templates/banknotes-codes.html.tmpl:402 +#: src/templates/banknotes-codes.html.tmpl:459 +msgctxt "Place Name" +msgid "France" +msgstr "" + +#: src/countries.go:58 src/templates/banknotes-codes.html.tmpl:171 +#: src/templates/banknotes-codes.html.tmpl:247 +#: src/templates/banknotes-codes.html.tmpl:341 +#: src/templates/banknotes-codes.html.tmpl:487 +msgctxt "Place Name" +msgid "Greece" +msgstr "" + +#: src/countries.go:59 +msgctxt "Place Name" +msgid "Croatia" +msgstr "" + +#: src/countries.go:60 src/templates/banknotes-codes.html.tmpl:155 +#: src/templates/banknotes-codes.html.tmpl:231 +#: src/templates/banknotes-codes.html.tmpl:319 +#: src/templates/banknotes-codes.html.tmpl:451 +msgctxt "Place Name" +msgid "Ireland" +msgstr "" + +#: src/countries.go:61 src/templates/banknotes-codes.html.tmpl:151 +#: src/templates/banknotes-codes.html.tmpl:227 +#: src/templates/banknotes-codes.html.tmpl:312 +#: src/templates/banknotes-codes.html.tmpl:444 +msgctxt "Place Name" +msgid "Italy" +msgstr "" + +#: src/countries.go:62 +msgctxt "Place Name" +msgid "Lithuania" +msgstr "" + +#: src/countries.go:63 +msgctxt "Place Name" +msgid "Luxembourg" +msgstr "" + +#: src/countries.go:64 +msgctxt "Place Name" +msgid "Latvia" +msgstr "" + +#: src/countries.go:65 +msgctxt "Place Name" +msgid "Monaco" +msgstr "" + +#: src/countries.go:66 src/templates/banknotes-codes.html.tmpl:112 +#: src/templates/banknotes-codes.html.tmpl:199 +msgctxt "Place Name" +msgid "Malta" +msgstr "" + +#: src/countries.go:67 src/templates/banknotes-codes.html.tmpl:147 +#: src/templates/banknotes-codes.html.tmpl:223 +#: src/templates/banknotes-codes.html.tmpl:298 +#: src/templates/banknotes-codes.html.tmpl:430 +msgctxt "Place Name" +msgid "Netherlands" +msgstr "" + +#: src/countries.go:68 src/templates/banknotes-codes.html.tmpl:128 +#: src/templates/banknotes-codes.html.tmpl:215 +#: src/templates/banknotes-codes.html.tmpl:371 +#: src/templates/banknotes-codes.html.tmpl:416 +msgctxt "Place Name" +msgid "Portugal" +msgstr "" + +#: src/countries.go:69 src/templates/banknotes-codes.html.tmpl:120 +#: src/templates/banknotes-codes.html.tmpl:207 +msgctxt "Place Name" +msgid "Slovenia" +msgstr "" + +#: src/countries.go:70 src/templates/banknotes-codes.html.tmpl:108 +#: src/templates/banknotes-codes.html.tmpl:195 +msgctxt "Place Name" +msgid "Slovakia" +msgstr "" + +#: src/countries.go:71 +msgctxt "Place Name" +msgid "San Marino" +msgstr "" + +#: src/countries.go:72 +msgctxt "Place Name" +msgid "Vatican City" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:62 +msgid "" +"The Austrian National Bank does not distribute circulated rolls but sells " +"rolls of commemorative coins at face value on release as well as " +"uncirculated rolls for all denominations." +msgstr "" + +#: src/templates/index.html.tmpl:15 +msgid "cash" +msgstr "cash" + +#: src/templates/collecting-vending.html.tmpl:28 +msgid "" +"Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if " +"the coin was dropped into a box (normally adding a coin should be silent " +"after you throw it in). This means the coin was not added to the stack " +"properly, and so it will not be returned. Pay attention to this noise, " +"because you won’t be getting the stopper back. Throw in another marked coin " +"instead until the machine accepts the coin." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:26 +msgid "Austrian €0.20 coin" +msgstr "Austrian €0.20 coin" + +#: src/templates/collecting-storage.html.tmpl:48 +msgid "" +"Coin slips are also pretty space efficient, and can be easily stacked in " +"boxes for compact storage. Many collectors also like to write notes about " +"their coins on the flips. There also exist special sheets for coin albums " +"that allow you to put in flipped coins, but this is more expensive and less " +"space-efficient than simply using flips or an album without flips." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:267 +#: src/templates/banknotes-codes.html.tmpl:393 +msgctxt "Header/Label" +msgid "Printer" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:104 +msgctxt "Header/Label" +msgid "Filter" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:217 +msgid "Madrid" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:244 +msgctxt "Company Name" +msgid "Mint of Finland" +msgstr "" + +#: src/templates/about.html.tmpl:8 +msgid "About Us" +msgstr "About Us" + +#: src/templates/-navbar.html.tmpl:97 +msgctxt "Navbar Label" +msgid "Language" +msgstr "" + +#: src/templates/banknotes.html.tmpl:39 +msgid "Find out where your notes were printed" +msgstr "Find out where your notes were printed" + +#: src/templates/coins-designs-ad.html.tmpl:13 +msgid "Andorran €0.50 coin" +msgstr "Andorran €0.50 coin" + +#: src/templates/jargon.html.tmpl:34 +msgid "BU — Brilliantly Uncirculated" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:69 +msgid "" +"The design of the Estonian euro coins was chosen as part of a {Link:L}" +"Eurovision{-:E}-style public televote where it competed and won against 9 " +"other designs." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:145 +msgid "Mai Järmut, Villu Järmut" +msgstr "Mai Järmut, Villu Järmut" + +#: src/templates/coins-mintages.html.tmpl:35 +msgid "Euro Coin Mintages" +msgstr "Euro Coin Mintages" + +#: src/templates/coins-designs-be.html.tmpl:30 +msgid "Belgian €1 coin (King Albert; Series 2)" +msgstr "Belgian €1 coin (King Albert; Series 2)" + +#. TRANSLATORS: Name of a coin design. Don’t translate unless you use a non-latin script +#: src/templates/coins-designs-ee.html.tmpl:103 +msgctxt "Coin Design" +msgid "Hara 2" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:111 +msgctxt "Coin Design" +msgid "Consistency" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:138 +msgid "Jaak Peep, Villem Valme" +msgstr "Jaak Peep, Villem Valme" + +#: src/templates/collecting-crh.html.tmpl:471 +msgctxt "Company Name" +msgid "Rabobank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:483 +msgid "Coin bags are sold with no additional fees to everyone." +msgstr "" + +#: src/dbx/sql/last.sql:137 src/dbx/sql/last.sql:140 src/dbx/sql/last.sql:143 +#: src/dbx/sql/last.sql:146 src/dbx/sql/last.sql:149 +msgctxt "CC Name" +msgid "German Reunification" +msgstr "" + +#: src/templates/coins.html.tmpl:47 +msgid "View all the known Euro varieties" +msgstr "View all the known Euro varieties" + +#: src/templates/banknotes.html.tmpl:47 +msgid "Learn about the special test notes" +msgstr "Learn about the special test notes" + +#: src/templates/collecting-storage.html.tmpl:39 +msgid "" +"Capsules can be a bit pricey, but are reusable and are very durable. They " +"also come in different sizes, so make sure you get the right size for your " +"coins." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:84 +msgid "Coins in a reusable roll" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:55 +msgid "2002 Series Printer Codes" +msgstr "2002 Series Printer Codes" + +#: src/templates/banknotes-codes.html.tmpl:411 +msgctxt "Company Name" +msgid "Oberthur Fiduciaire AD" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:291 +msgctxt "Company Name" +msgid "Crédit Agricole" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:119 +msgctxt "Coin Design" +msgid "In the Body" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:43 +msgid "Additional Notes" +msgstr "Additional Notes" + +#: src/templates/collecting-crh.html.tmpl:150 +msgid "" +"You can obtain regular and commemorative coins for face value including 5-, " +"10- and 20 euro coins. You do not need to be a customer although depending " +"on your branch you may need to make an appointment. The purchase of coins " +"can only be done with cash." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:503 +msgid "" +"You can purchase commemorative coins for face value, and coin rolls are sold " +"with no fees to everyone." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:525 +msgid "" +"We currently have no information regarding coin roll hunting in San Marino." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:55 +msgid "Maximum Change Limit" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:18 +msgid "Croatian €2 coin" +msgstr "Croatian €2 coin" + +#: src/templates/jargon.html.tmpl:42 +msgid "" +"NIFC coins are coins minted without the intention of being put into general " +"circulation. These coins are typically minted with the purpose of being put " +"into coincards or sets to be sold to collectors. Occasionally they are also " +"handed out to collectors for face value at banks." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:373 +#: src/templates/banknotes-codes.html.tmpl:418 +msgctxt "Company Name" +msgid "Valora S.A." +msgstr "" + +#: src/templates/about.html.tmpl:11 +msgid "Open Source" +msgstr "Open Source" + +#: src/templates/coins-designs-at.html.tmpl:19 +msgid "Austrian €0.05 coin" +msgstr "Austrian €0.05 coin" + +#: src/templates/coins-designs-ad.html.tmpl:28 +msgid "Casa de la Vall" +msgstr "Casa de la Vall" + +#: src/templates/coins-mintages.html.tmpl:110 +#: src/templates/coins-mintages.html.tmpl:148 +msgid "Standard Issue Coins" +msgstr "Standard Issue Coins" + +#: src/templates/collecting-crh.html.tmpl:37 +msgid "Country-Specific Details" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:313 +msgid "" +"Coin rolls can be obtained with no fee, but you may need to present your ID. " +"The latest commemorative coins are also sold for face value." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:490 +msgid "Coin bags are sold with no additional fees to bank customers." +msgstr "" + +#: src/templates/coins-designs-cy.html.tmpl:8 +msgid "Cypriot Euro Coin Designs" +msgstr "" + +#: src/templates/about.html.tmpl:19 +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/collecting.html.tmpl:46 +msgid "Shop Hunting" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:25 +msgid "" +"The 1c, 2c and 5c coins were designed by Maja Škripelj and feature a motif " +"of the letters ‘ⰘⰓ’ from the {Link:L}Glagolitic script{-:E} – an old Slavic " +"script that saw use in Croatia up until the 19th century – representing " +"Croatia’s country code (‘HR’ in the Latin alphabet)." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:307 +msgctxt "Company Name" +msgid "De La Rue" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:119 +msgid "Rolls can be obtained with no fee by customers only" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:203 +msgctxt "Company Name" +msgid "Santander Bank" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:275 +msgctxt "Company Name" +msgid "CIC" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:320 +msgid "" +"Coin bags are available without fees for everyone. Smaller denominations are " +"often not given out, and the coin bags you recieve are very large (there are " +"reports of €1 bags containing 250 coins)." +msgstr "" + +#: src/templates/-navbar.html.tmpl:43 +msgctxt "Navbar Label" +msgid "Home" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:61 +msgid "" +"Even if no limits are listed, it’s still advised that you exercise caution: " +"it is not uncommon for a vending machine to steal your money. In the case " +"that a vending machine does steal your money, look for a label on the " +"machine that contains a support number." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:68 +msgid "Capsules in a case" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:247 +msgid "" +"The Mint of Finland ceased all operations in late 2024 but still sells coins " +"on their website." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:402 +msgid "" +"In general coin rolls are sold with for fee of €0.60 per roll, but we’re " +"lacking a lot of information." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:18 +msgid "" +"First, you want to make sure the vending machine you come across actually " +"gives back change – sometimes they don’t! Throw in a 10c coin and press the " +"return button. If it doesn’t give the coin back, you can move on to the next " +"machine; there’s a high chance it won’t return higher denominations either. " +"Next throw in a random €2 coin and press the return button. You should do " +"this because vending machines may not return €2 coins, but rather €1 or 50c " +"coins instead. It’s better to find out immediately as opposed to later once " +"you’ve already put in all of your €2 coins." +msgstr "" + +#: src/templates/collecting.html.tmpl:48 +msgid "Learn about how to collect coins from shops" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:37 +msgid "" +"The two bimetallic coins feature the busts of the musical composer Wolfgang " +"Amadeus Mozart on the €1 coin, and the Austrian pacifist and Nobel Peace " +"Prize winner Bertha von Suttner on the €2 coin." +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:19 +msgid "" +"The German euro coins feature three different designs. A unique feature of " +"German euro coins are the mint marks on each coin that denote in which city " +"a given coin was minted. Germany has five active mints that produce Euro " +"coins, which are denoted in the table below." +msgstr "" +"The German euro coins feature three different designs. A unique feature of " +"German euro coins are the mint marks on each coin that denote in which city " +"a given coin was minted. Germany has five active mints that produce Euro " +"coins, which are denoted in the table below." + +#: src/templates/collecting-crh.html.tmpl:309 +msgid "" +"{EmphStart:r}NOTE{EmphEnd:E}: The Bank of Greece (Greece’s central bank) is " +"NOT the same as the National Bank of Greece (a commercial bank)." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:388 +msgid "" +"We currently have no information regarding regular coins, however their " +"webshop sells commemorative coins. Commemorative coins are also available " +"for purchase in-person." +msgstr "" + +#: src/templates/coins-designs-cy.html.tmpl:20 +msgid "" +"The Cypriot euro coins feature 3 different designs across the three " +"different coin types (bronze, gold and bimetallic). Along with each design’s " +"unique motif, all designs feature the country’s name in both of the island’s " +"official languages (Greek: ‘{GreekStart:r}ΚΥΠΡΟΣ{LangEnd:E}’, Turkish: " +"‘{TurkishStart:r}KIBRIS{LangEnd:E}’)." +msgstr "" + +#: src/dbx/sql/last.sql:152 +msgctxt "CC Name" +msgid "Ľudovít Štúr" +msgstr "" + +#: src/templates/jargon.html.tmpl:27 +msgid "General Terms" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:21 +msgid "" +"Albums can be an affordable way to store your coins, but higher-end albums " +"can be a bit expensive. Also remember to always ensure that your albums do " +"not contain any PVC." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:357 +#: src/templates/banknotes-codes.html.tmpl:439 +msgctxt "Company Name" +msgid "Federal Printing Office" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:414 +msgctxt "Company Name" +msgid "Central Bank of Malta" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:444 +msgid "" +"1- and 2 cent coins have been removed from circulation and cannot be " +"obtained." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:40 +msgid "Non-Merging" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:53 +msgid "" +"The €1 coin features the Casa 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/jargon.html.tmpl:45 +msgid "" +"While uncommon, NIFC coins are occasionally found in circulation. This can " +"happen for a variety of reasons such as someone depositing their coin " +"collection (known as a ‘collection dump’) or a collector’s child spending " +"their rare coins on an ice cream. Some coin mints have also been known to " +"put NIFCs that have gone unsold for multiple years into circulation." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:58 +msgid "" +"In case you’re looking for some inspiration on how to store your " +"collections, here are some examples:" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:294 +msgctxt "Header/Label" +msgid "Unknown" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:354 +msgid "" +"There are coin roll machines but it is unknown if you need to be a customer " +"or if there are additional fees." +msgstr "" + +#: src/templates/language.html.tmpl:46 src/templates/language.html.tmpl:85 +msgid "Eurozone Languages" +msgstr "Eurozone Languages" + +#: src/templates/jargon.html.tmpl:51 +msgid "" +"Post-mint damage is any damage that a coin has sustained outside of the " +"minting process, such as through being dropped on the ground, hit against a " +"table, etc." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:44 +msgid "" +"Coin flips, also known as ‘2×2’ flips by some Americans are small cardboard " +"flips with a plastic covered hole in the middle for viewing. Most coin flips " +"are stapled, meaning you put your coin in the flip and staple it shut. These " +"kinds of flips are very cheap, and you can buy stacks of a few hundred for " +"only a few euros. If you don’t like the staples though, you can also buy " +"adhesive-flips that glue themselves shut. These flips are more expensive, " +"but also look better than their stapled equivalents." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:347 +msgid "Coin rolls are available to everyone." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:377 +msgid "Fee of €2 per roll of 2 euro coins." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:23 +msgid "" +"We want to be able to know when we’ve gone through all the coins in the " +"vending machine. To do this, take out a coin and mark it with something " +"(drawing on it with a Sharpie works well), then put it into the machine. " +"Next time you get the same coin back, you know you’ve gone through " +"everything." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:12 +msgid "Andorran €0.01 coin" +msgstr "Andorran €0.01 coin" + +#: src/templates/coins-designs.html.tmpl:25 +msgid "Euro Coin Designs" +msgstr "Euro Coin Designs" + +#: src/templates/coins-designs-de.html.tmpl:26 +msgctxt "Header/Label" +msgid "Mintmark" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:101 +msgctxt "Header/Label" +msgid "Proof Coins" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:127 +msgid "" +"Rolls can be obtained with no fee when you order through their online " +"platform." +msgstr "" + +#. TRANSLATORS: City in Spain +#: src/templates/collecting-crh.html.tmpl:213 +msgid "Alicante" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:38 +msgid "" +"The €2 coin was designed by Ivan Šivak and features the map of Croatia. The " +"coin also has an edge-inscription that reads ‘{CroatianStart:r}O LIJEPA O " +"DRAGA O SLATKA SLOBODO{CroatianEnd:E}’ (English: ‘OH BEAUTIFUL, OH DEAR, OH " +"SWEET FREEDOM’) which is a line from the play {Link:L}Dubravka{-:E} by Ivan " +"Gundulić." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:71 +msgid "Cigarette Machines" +msgstr "" + +#: src/templates/about.html.tmpl:17 +msgid "Contact Us" +msgstr "Contact Us" + +#: src/templates/collecting.html.tmpl:54 +msgid "Vending Machine Hunting" +msgstr "" + +#: src/templates/-base.html.tmpl:55 +msgid "Feel free to contact us!" +msgstr "Feel free to contact us!" + +#: src/templates/banknotes-codes.html.tmpl:336 +#: src/templates/banknotes-codes.html.tmpl:468 +#: src/templates/collecting-crh.html.tmpl:198 +msgctxt "Company Name" +msgid "Royal Mint of Spain" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:87 +#: src/templates/coins-designs-ee.html.tmpl:97 +#: src/templates/coins-designs-ee.html.tmpl:144 +msgctxt "Header/Label" +msgid "Name" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:360 +msgctxt "Company Name" +msgid "Bank of Lithuania" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:24 +msgid "Andorran landscapes, nature, fauna and flora" +msgstr "Andorran landscapes, nature, fauna and flora" + +#: src/templates/banknotes-codes.html.tmpl:305 +msgctxt "Place Name" +msgid "United Kingdom" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:364 +#: src/templates/banknotes-codes.html.tmpl:496 +#: src/templates/collecting-crh.html.tmpl:99 +msgctxt "Company Name" +msgid "National Bank of Belgium" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:133 +msgctxt "Company Name" +msgid "Bank of Cyprus" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:317 +msgctxt "Company Name" +msgid "Piraeus Bank" +msgstr "" + +#: src/templates/-error.html.tmpl:15 +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/coins-designs-hr.html.tmpl:13 +msgid "Croatian €0.01 coin" +msgstr "Croatian €0.01 coin" + +#: src/templates/coins-designs-nl.html.tmpl:37 +msgid "" +"Coins featuring both monarchs contain text reading ‘{DutchStart:r}BEATRIX " +"KONINGIN DER NEDERLANDEN{DutchEnd:E}’ (English: ‘BEATRIX QUEEN OF THE " +"NETHERLANDS’) and ‘{DutchStart:r}Willem-Alexander Koning der " +"Nederlanden{DutchEnd:E}’ (English: ‘Willem-Alexander King of the " +"Netherlands’) respectively. The €2 coins also feature an edge-inscription " +"reading ‘{DutchStart:r}GOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆{DutchEnd:E}’ (English: ‘GOD ⋆ " +"IS ⋆ WITH ⋆ US ⋆’)." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:27 +msgid "Austrian €0.50 coin" +msgstr "Austrian €0.50 coin" + +#: src/templates/jargon.html.tmpl:15 +msgid "Euro Cash Jargon" +msgstr "Euro Cash Jargon" + +#: src/templates/coins-designs-de.html.tmpl:54 +msgid "" +"The 1c, 2c and 5c coins display an oak twig similar to that found on the " +"former Pfennig coins of the German Mark (Germany’s pre-Euro currency). The " +"mint mark and year are located on the left- and right-hand sides of the oak " +"twig’s stem." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:137 +msgid "" +"At the Bank of Cyprus it is possible to buy bags of coins without being a " +"customer, and without paying any additional fees. Depending on the branch " +"you visit there may be a coin roll machine available. Do note that the bags " +"provided by the Bank of Cyprus are much larger than what is typically found " +"elsewhere in the Eurozone with €2.00 bags containing 50 coins and the other " +"denomination bags containing 100 coins." +msgstr "" + +#: src/templates/banknotes.html.tmpl:22 +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/coins-designs-ad.html.tmpl:23 +msgid "€0.01, €0.02 and €0.05" +msgstr "€0.01, €0.02 and €0.05" + +#: src/templates/banknotes-codes.html.tmpl:475 +msgctxt "Company Name" +msgid "Giesecke+Devrient Leipzig" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:152 +msgctxt "Coin Design" +msgid "Bird Road" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:97 +msgctxt "Header/Label" +msgid "Circulation Coins" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:509 +msgctxt "Company Name" +msgid "National Bank of Slovakia" +msgstr "" + +#: src/templates/-navbar.html.tmpl:48 +msgctxt "Navbar Label" +msgid "Jargon" +msgstr "" + +#: src/templates/-error.html.tmpl:12 +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/collecting.html.tmpl:39 +msgid "Learn about the different methods to storing your collection" +msgstr "" + +#: src/templates/collecting.html.tmpl:56 +msgid "Learn about collecting coins from vending machines" +msgstr "" + +#: src/templates/jargon.html.tmpl:19 +msgid "" +"Both on this website and in other related forums you will come across many " +"terms that you may not be familiar with. This page will hopefully get you up " +"to speed with the most important and frequently-used terminology." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:88 +msgid "Flips in an album" +msgstr "" + +#: src/templates/-base.html.tmpl:11 +msgid "Euro Cash Wiki" +msgstr "Euro Cash Wiki" + +#: src/templates/banknotes-codes.html.tmpl:50 +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/collecting-vending.html.tmpl:42 +msgid "" +"The vending machine does not merge change together. This means if you throw " +"in five 50c coins it will return five 50c coins. This makes it very easy to " +"hunt a large amount of a specific denomination." +msgstr "" + +#: src/templates/coins-designs.html.tmpl:29 +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/banknotes-codes.html.tmpl:482 +msgctxt "Company Name" +msgid "Giesecke+Devrient Munich" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:57 +msgid "" +"The 10c, 20c and 50c coins feature the Brandenburg Gate, a symbol of Berlin " +"and of Germany as a whole, but also a symbol of German division and unity. " +"The mint mark is located below the year." +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:191 +#: src/templates/coins-mintages.html.tmpl:228 +msgctxt "Header/Label" +msgid "Mintage" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:11 +msgid "What is ‘Coin Roll Hunting’?" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:147 +msgctxt "Company Name" +msgid "German Federal Bank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:259 +msgid "" +"Coin roll machines are uncommon, only some banks have them and you typically " +"need to be a customer. You may also need to order coin rolls in advance." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:32 +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 name of the " +"Principality (‘ANDORRA’) along the outer portion of the design with the year " +"of issue written underneath." +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:186 +#: src/templates/coins-mintages.html.tmpl:223 +msgid "Commemorative Coins" +msgstr "Commemorative Coins" + +#: src/templates/collecting-crh.html.tmpl:104 +msgid "" +"You can visit the National Bank of Belgium in Brussels as an EU citizen. You " +"can order coin rolls for no fee up to €2000 in value. They seem to " +"distribute only uncirculated coins and no commemoratives." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:112 +msgid "" +"There is a €1.50 fee per transaction with no limit on the number of rolls " +"you may take." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:367 +msgctxt "Company Name" +msgid "ExchangeLT" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:370 +msgid "Coin rolls are available with a fee of 5%." +msgstr "" + +#: src/dbx/sql/last.sql:136 src/dbx/sql/last.sql:139 src/dbx/sql/last.sql:142 +#: src/dbx/sql/last.sql:145 src/dbx/sql/last.sql:148 +msgctxt "CC Name" +msgid "Hessen" +msgstr "" + +#: src/templates/coins.html.tmpl:45 +msgid "Varieties" +msgstr "Varieties" + +#: src/templates/collecting-vending.html.tmpl:51 +msgid "Maximum Input Limit" +msgstr "" + +#: src/templates/banknotes.html.tmpl:18 +msgid "Euro Banknotes" +msgstr "Euro Banknotes" + +#: src/templates/coins-designs-ad.html.tmpl:16 +msgid "Andorran €1 coin" +msgstr "Andorran €1 coin" + +#: src/templates/banknotes-codes.html.tmpl:98 +#: src/templates/banknotes-codes.html.tmpl:141 +#: src/templates/banknotes-codes.html.tmpl:185 +#: src/templates/banknotes-codes.html.tmpl:265 +#: src/templates/banknotes-codes.html.tmpl:391 +#: src/templates/coins-mintages.html.tmpl:56 +#: src/templates/coins-mintages.html.tmpl:62 +#: src/templates/coins-mintages.html.tmpl:152 +#: src/templates/coins-mintages.html.tmpl:226 +msgctxt "Header/Label" +msgid "Country" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:39 +msgid "" +"Below you can find country-specific details we have regarding obtaining coin " +"rolls. We lack a lot of information for many of the countries, so if you " +"have any additional information such as your banks fees, the availability of " +"coin roll machines, etc. feel free to contact us! You can find our contact " +"information {Link:l}here{-:E}." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:181 +msgctxt "Company Name" +msgid "Bank of Estonia Museum" +msgstr "" + +#: src/templates/index.html.tmpl:22 +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/coins-designs-ad.html.tmpl:35 +msgid "" +"The Andorran 1c, 2c and 5c 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/-base.html.tmpl:54 +msgid "Found a mistake or want to contribute missing information?" +msgstr "Found a mistake or want to contribute missing information?" + +#. TRANSLATORS: As in ‘5 Euro Banknote’ +#: src/templates/banknotes-codes.html.tmpl:512 +msgid "{N} Euro" +msgid_plural "{N} Euro" +msgstr[0] "" +msgstr[1] "" + +#: src/templates/coins-designs-fi.html.tmpl:13 +msgid "Finnish €1.00 coin" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:64 +msgid "" +"For information on Austrian cigarette machines, see the ‘{LinkStart:r}" +"Cigarette Machines{LinkEnd:E}’ section." +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:46 +#: src/templates/coins-designs-be.html.tmpl:51 +msgid "2008 portrait of King Albert II" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:17 +msgid "" +"Coin albums are one of the most popular ways of storing coins. In a coin " +"album you have multiple coin sheets. These sheets are plastic pages with " +"slots that you can put your coins in to keep them protected. When searching " +"for sheets for your album it is very important to ensure that they do not " +"contain any PVC which will damage your coins. Some albums will come with " +"sheets already included." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:35 +msgid "" +"Coin capsules are plastic capsules you can put your coin in. They offer good " +"protection to your coins, while still allowing you to view all parts of your " +"coin easily, including the edge engravings and inscriptions. Capsules are " +"also far more durable than flips, and can be opened and closed repeatedly " +"allowing for reuse, something not typically possible with coin flips." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:90 +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/coins-designs-ee.html.tmpl:92 +#: src/templates/coins-designs-ee.html.tmpl:106 +#: src/templates/coins-designs-ee.html.tmpl:114 +#: src/templates/coins-designs-ee.html.tmpl:122 +#: src/templates/coins-designs-ee.html.tmpl:131 +#: src/templates/coins-designs-ee.html.tmpl:140 +#: src/templates/coins-designs-ee.html.tmpl:147 +#: src/templates/coins-designs-ee.html.tmpl:155 +#: src/templates/coins-designs-ee.html.tmpl:163 +#: src/templates/coins-designs-ee.html.tmpl:172 +#: src/templates/coins-designs-ee.html.tmpl:180 +msgctxt "Header/Label" +msgid "Votes (%)" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:99 +msgctxt "Header/Label" +msgid "NIFC and BU Coins" +msgstr "" + +#: src/templates/-navbar.html.tmpl:53 +msgctxt "Navbar Label" +msgid "Discord" +msgstr "" + +#: src/templates/jargon.html.tmpl:59 +msgid "UNC — Uncirculated" +msgstr "" + +#: src/templates/jargon.html.tmpl:61 +msgid "" +"Uncirculated coins are coins that have never been used in a monetary " +"exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very " +"good condition, but this is incorrect. A coin in poor condition that has " +"never been circulated is still considered an ‘UNC’ coin." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:47 +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/banknotes-codes.html.tmpl:72 +msgid "Europa Series Printer Codes" +msgstr "Europa Series Printer Codes" + +#: src/templates/collecting-crh.html.tmpl:79 +msgctxt "Company Name" +msgid "Erste Bank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:351 +msgctxt "Company Name" +msgid "Banca di Cambiano" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:80 +msgid "Coins in an album with labels" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:279 +msgctxt "Company Name" +msgid "SETEC" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:383 +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/-navbar.html.tmpl:47 +msgctxt "Navbar Label" +msgid "Banknotes" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:16 +msgid "The Test Coins" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:43 +msgctxt "Place Name" +msgid "Karlsruhe" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:112 +#: src/templates/coins-designs-ee.html.tmpl:153 +msgid "Tiit Jürna" +msgstr "Tiit Jürna" + +#: src/templates/collecting-crh.html.tmpl:408 +msgid "We currently have no information regarding coin roll hunting in Monaco." +msgstr "" + +#: src/dbx/sql/last.sql:138 src/dbx/sql/last.sql:141 src/dbx/sql/last.sql:144 +#: src/dbx/sql/last.sql:147 src/dbx/sql/last.sql:150 src/dbx/sql/last.sql:153 +#: src/dbx/sql/last.sql:154 src/dbx/sql/last.sql:157 +msgctxt "CC Name" +msgid "EU Flag" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:33 +msgid "We generally identify between two main types of vending machines." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:36 +msgid "Merging" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:73 +msgid "" +"In some countries where cigarette machines are legal, you can hunt through " +"them as well. Unless you’re in Malta, you must verify your age on them by " +"either sliding an ID card through a sensor or holding a debit card on an " +"RFID scanner; you must do this for every cycle. Sometimes you must also " +"select something to purchase, throw in less money than the cost, and then " +"cancel the purchase. Note that most cigarette machines in Austria have a " +"€4.90 max change limit." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:42 +msgid "Coin Flips" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:14 +msgid "German €0.01 coin" +msgstr "German €0.01 coin" + +#: src/templates/coins-designs-ee.html.tmpl:91 +#: src/templates/coins-designs-ee.html.tmpl:105 +#: src/templates/coins-designs-ee.html.tmpl:113 +#: src/templates/coins-designs-ee.html.tmpl:121 +#: src/templates/coins-designs-ee.html.tmpl:130 +#: src/templates/coins-designs-ee.html.tmpl:139 +#: src/templates/coins-designs-ee.html.tmpl:146 +#: src/templates/coins-designs-ee.html.tmpl:154 +#: src/templates/coins-designs-ee.html.tmpl:162 +#: src/templates/coins-designs-ee.html.tmpl:171 +#: src/templates/coins-designs-ee.html.tmpl:179 +msgctxt "Header/Label" +msgid "Votes" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:104 +msgid "Lembit Lõhmus" +msgstr "Lembit Lõhmus" + +#: src/templates/collecting-crh.html.tmpl:236 +msgctxt "Company Name" +msgid "Bank of Finland" +msgstr "" + +#: src/templates/index.html.tmpl:14 +msgid "diversity" +msgstr "diversity" + +#: src/templates/-404.html.tmpl:8 +msgid "Page Not Found" +msgstr "Page Not Found" + +#: src/templates/collecting-vending.html.tmpl:38 +msgid "" +"The vending machine merges change together. For example if you throw in five " +"50c coins, the machine returns either two €1 coins and one 50c coin or one " +"€2 and one 50c coin. This usually means you can hunt €2 coins very quickly " +"but other denominations only once at a time. A good tip is to throw in an " +"odd number of euros and €0.80 if you want to search through all " +"denominations." +msgstr "" + +#: src/templates/jargon.html.tmpl:67 +msgid "CRH — Coin Roll Hunting" +msgstr "CRH — Coin Roll Hunting" + +#. TRANSLATORS: Name of a coin design. Don’t translate unless you use a non-latin script +#: src/templates/coins-designs-ee.html.tmpl:128 +msgctxt "Coin Design" +msgid "Tomson 5791" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:326 +msgid "" +"We currently have no information regarding coin roll hunting in Croatia." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:374 +msgctxt "Company Name" +msgid "Top Exchange" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:487 +msgctxt "Company Name" +msgid "Banco Comercial Português" +msgstr "" + +#. TRANSLATORS: Beginning of sentence, as in ‘United in …’ +#: src/templates/index.html.tmpl:13 +msgid "United in" +msgstr "United in" + +#: src/templates/collecting-vending.html.tmpl:78 +msgid "" +"For RFID scanner machines it helps to wear a glove and slide a debit card " +"into the back of it so you can easily use both hands and don’t have to " +"fumble with a card and coins." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:24 +msgid "Coin Boxes" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:97 +#: src/templates/banknotes-codes.html.tmpl:140 +#: src/templates/banknotes-codes.html.tmpl:184 +#: src/templates/banknotes-codes.html.tmpl:264 +#: src/templates/banknotes-codes.html.tmpl:390 +msgctxt "Header/Label" +msgid "Code" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:8 +msgid "German Euro Coin Designs" +msgstr "German Euro Coin Designs" + +#: src/templates/coins-designs-ee.html.tmpl:65 +msgid "" +"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}’)." +msgstr "" +"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}’)." + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:251 +msgctxt "Company Name" +msgid "Aktia Bank" +msgstr "" + +#: src/templates/language.html.tmpl:45 src/templates/language.html.tmpl:79 +msgid "Select Your Language" +msgstr "Select Your Language" + +#: src/templates/coins-designs-be.html.tmpl:57 +msgid "" +"In 2008 a second series of coins was released featuring a slightly modified " +"design in which the royal monogram was moved to the inner portion of the " +"coin along with the year of mintage in order to comply with the European " +"Commission’s guidelines. The country code ‘BE’ was also added to the design " +"underneath the royal monogram. The 2008 redesign also saw the use of a " +"slightly modified portrait of the King, but this design change was reverted " +"in 2009." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:24 +msgid "Getting Started" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:226 +msgid "" +"Coin rolls have no fees and can be purchased with cash. You allegedly do not " +"need to be a customer, but this needs to be verified." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:278 +#: src/templates/collecting-crh.html.tmpl:286 +msgid "" +"Free coin rolls if you are a customer or €1 per roll if you are not a " +"customer. There are coin roll machines." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:332 +msgid "" +"In general, coin rolls are available at banks with a fee of €1 per roll; " +"rolls could potentially have no fee if you only need a few." +msgstr "" + +#: src/templates/-404.html.tmpl:12 +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-designs-hr.html.tmpl:33 +msgid "" +"The €1 coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and " +"features a marten. The marten is the semi-official national animal of " +"Croatia and the Kuna – their pre-Euro currency – was named after the marten " +"(‘{CroatianStart:r}kuna zlatica{CroatianEnd:E}’ in Croatian)." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:8 +msgid "Andorran Euro Coin Designs" +msgstr "Andorran Euro Coin Designs" + +#: src/templates/collecting-crh.html.tmpl:13 +msgid "" +"Coin roll hunting is a popular method of coin collecting in which you " +"withdraw cash from your bank in the form of coins and then search through " +"those coins to find new additions to your collection. Once you’ve searched " +"through all your coins, you will typically deposit your left over coins at " +"the bank and withdraw new coins." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:300 +msgid "" +"There are coin roll machines but it is not yet known if you need to be a " +"customer or if there are fees." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:286 +#: src/templates/banknotes-codes.html.tmpl:404 +msgctxt "Company Name" +msgid "Oberthur" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:47 +msgctxt "Place Name" +msgid "Hamburg" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:55 +msgid "Estonian Euro Coin Designs" +msgstr "Estonian Euro Coin Designs" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:209 +msgctxt "Company Name" +msgid "BBVA" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:42 +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/coins-designs-de.html.tmpl:25 +msgctxt "Header/Label" +msgid "City" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:129 +msgid "Taavi Torim" +msgstr "Taavi Torim" + +#: src/templates/collecting-crh.html.tmpl:30 +msgid "" +"It is also important to find details regarding the deposit of coins. " +"Depositing coins often also requires the payment of a fee – one which is " +"typically more expensive than the withdrawal fees. If depositing your coins " +"is too expensive you can always exchange your left over coins at shops for " +"banknotes. It is often cheaper (or even free) to deposit banknotes." +msgstr "" + +#. TRANSLATORS: The OeNB prefers ‘Oe’ over ‘Ö’ +#: src/templates/collecting-crh.html.tmpl:59 +msgctxt "Company Name" +msgid "Austrian National Bank" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:269 +msgctxt "Company Name" +msgid "Caisse d’Épargne" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:396 +msgid "You should be able to get coin rolls with no additional fees." +msgstr "" + +#: src/templates/language.html.tmpl:47 src/templates/language.html.tmpl:90 +msgid "Other Languages" +msgstr "Other Languages" + +#: src/templates/coins-designs-hr.html.tmpl:8 +msgid "Croatian Euro Coin Designs" +msgstr "Croatian Euro Coin Designs" + +#: src/templates/banknotes-codes.html.tmpl:88 +msgid "2002 Series" +msgstr "2002 Series" + +#: src/templates/collecting-crh.html.tmpl:363 +msgid "" +"Allegedly, coin rolls are only available for businesses, but this needs " +"additional confirmation." +msgstr "" + +#: src/templates/coins.html.tmpl:39 +msgid "View the mintage figures of all the Euro coins" +msgstr "View the mintage figures of all the Euro coins" + +#: src/templates/banknotes-codes.html.tmpl:57 +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/banknotes-codes.html.tmpl:85 +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:350 +msgctxt "Company Name" +msgid "Giesecke+Devrient" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:82 +msgid "" +"There is a fee of €0.10 per roll. You must be a customer to use machines to " +"get rolls. Rolls have no fees when purchased at counters, but you will " +"probably be redirected to the machines if they work. You must present an " +"Erste Bank card to buy rolls from machines, however payment in cash is still " +"accepted." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:93 +msgid "" +"There is a fee of €1 per roll if you aren’t a customer and €0.30 otherwise. " +"Coin deposits are free for customers." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:232 +msgid "" +"Finland has no coin roll machines, but you can find vending machines or coin " +"exchange machines that accept cash (although they can be rather rare)." +msgstr "" + +#: src/templates/coins.html.tmpl:22 +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/collecting-vending.html.tmpl:13 +msgid "" +"‘Vending machine hunting’ is a strategy of collecting coins whereby you " +"continuously insert coins into a vending machine and cancel the transaction " +"by pressing the return button. When the vending machine returns your coins " +"to you, you will often get different coins from the ones you put in, and you " +"can repeat this process until you’ve searched through every coin in the " +"machine." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:17 +msgid "Austrian €0.01 coin" +msgstr "Austrian €0.01 coin" + +#: src/templates/collecting-storage.html.tmpl:12 +msgid "" +"There are many different methods of storing your collecting, each with their " +"own benefits and drawbacks. This page will describe the most common methods " +"collectors use to store their coins, as well as the pros and cons of each " +"method." +msgstr "" + +#. TRANSLATORS: On the German page the filter is called ‘Münzrollengeber’. For other languages we link to the English site, so mention the English filter name surrounded by ‘{EnglishStart:r}’ and ‘{EnglishEnd:E}’, and also translate it in parenthesis to your language. For example the Swedish page might say: ‘”{EnglishStart:r}coin roll dispenser{EnglishEnd:E}” (svenska: ”myntrullsautomat”)’ +#: src/templates/collecting-crh.html.tmpl:73 +msgid "" +"There is a fee of €0.20 per roll which can be purchased with cash at " +"machines. These machines are available to everyone but not in all branches. " +"Look for the ‘coin roll dispenser’ filter option {Link:L}here{-:E}." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:90 +msgctxt "Company Name" +msgid "Raiffeisen Bank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:205 +msgid "Coin rolls are free but you must be a customer." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:519 +msgid "" +"You can get an unlimited number of rolls for a €5 fee. You must be a " +"customer of the bank." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:12 +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:38 +#: src/templates/banknotes.html.tmpl:37 +msgid "Location Codes" +msgstr "Location Codes" + +#: src/templates/coins-designs-de.html.tmpl:31 +msgctxt "Place Name" +msgid "Berlin" +msgstr "" + +#: src/dbx/sql/last.sql:151 +msgctxt "CC Name" +msgid "Slovak Republic to the EU" +msgstr "" + +#: src/templates/coins.html.tmpl:18 +msgid "Euro Coins" +msgstr "Euro Coins" + +#: src/templates/coins-designs-nl.html.tmpl:8 +msgid "Dutch Euro Coin Designs" +msgstr "Dutch Euro Coin Designs" + +#: src/templates/coins-designs-at.html.tmpl:33 +msgid "Austrian €1 coin" +msgstr "Austrian €1 coin" + +#: src/templates/banknotes-codes.html.tmpl:314 +#: src/templates/banknotes-codes.html.tmpl:446 +#: src/templates/collecting-crh.html.tmpl:344 +msgctxt "Company Name" +msgid "Bank of Italy" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:329 +#: src/templates/banknotes-codes.html.tmpl:461 +#: src/templates/collecting-crh.html.tmpl:263 +msgctxt "Company Name" +msgid "Bank of France" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:343 +#: src/templates/banknotes-codes.html.tmpl:489 +#: src/templates/collecting-crh.html.tmpl:306 +msgctxt "Company Name" +msgid "Bank of Greece" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:161 +msgid "Jaarno Ester" +msgstr "Jaarno Ester" + +#: src/templates/collecting-crh.html.tmpl:86 +msgid "" +"Depositing coins is free up to €100 a day, at which point you pay 1% for any " +"additionally deposited coins. You must also be a customer. Depositing coins " +"is free for all Erste Bank customers at Dornbirner Sparkasse with no limit." +msgstr "" + +#: src/templates/jargon.html.tmpl:39 +msgid "NIFC — Not Intended For Circulation" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:30 +msgid "" +"Boxes are quite space-inefficient and are one of the most expensive ways to " +"store your coins, but at the same time they offer a great visual appeal." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:516 +msgid "Printer code on a {N} euro bill" +msgid_plural "Printer code on a {N} euro bill" +msgstr[0] "" +msgstr[1] "" + +#: src/templates/collecting-crh.html.tmpl:34 +msgid "" +"In some countries such as Austria it is even common to be able to withdraw " +"new coins from your account using other coins." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:54 +msgid "" +"Coin rolls can be obtained from Andbank, Creand and MoraBanc. All three of " +"these banks require that you are a customer to get rolls, however there have " +"been reports of individuals managing to get rolls without any fees and " +"without being a customer by simply asking kindly at the bank." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:143 +msgid "" +"Coin roll availability and their related fees may vary across banks and " +"branches. Unless specified otherwise, you must be a customer to purchase " +"coin rolls." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:177 +msgid "" +"Obtaining coin rolls in Estonia is typically quite difficult and often " +"expensive. You also generally need to make an appointment in advance." +msgstr "" + +#: src/templates/banknotes.html.tmpl:45 +msgid "Test Notes" +msgstr "Test Notes" + +#: src/templates/collecting-crh.html.tmpl:164 +msgid "" +"Coin rolls can be obtained for a fee of €0.50–€1.50 per roll. The amount " +"varies per branch." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:215 +msgid "" +"Coin rolls have a fee of €2 for 5 rolls. This seems to vary by location." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:464 +msgctxt "Company Name" +msgid "ING" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:474 +msgid "Coin rolls are available for a fee of €7 + €0.50 per roll." +msgstr "" + +#: src/dbx/sql/last.sql:156 +msgctxt "CC Name" +msgid "Fête de la Fédération" +msgstr "" + +#: src/templates/coins.html.tmpl:31 +msgid "View the 600+ different Euro-coin designs" +msgstr "View the 600+ different Euro-coin designs" + +#: src/templates/collecting-vending.html.tmpl:48 +msgid "" +"There are some limits to vending machine hunts which you need to be aware of." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:58 +msgid "" +"Some machines will either give back large amounts of change in bills or will " +"not give back large amounts of change at all (usually cigarette machines). " +"Read the labels on all machines carefully since these limits are usually " +"written there." +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:60 +msgid "" +"After his accession to the throne in 2014, Belgium switched to a third " +"series of coins featuring the portrait of King Philippe. As is customary " +"with coins bearing the portraits of monarchs, the direction in which the " +"portrait faces was flipped from the prior series to face right instead of " +"left." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:177 +msgctxt "Coin Design" +msgid "A Flower in the Rye" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:190 +#: src/templates/coins-mintages.html.tmpl:227 +msgctxt "Header/Label" +msgid "Commemorated Topic" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:184 +msgid "" +"You can purchase commemorative coins – including those released years ago – " +"for face value." +msgstr "" + +#: src/templates/about.html.tmpl:13 +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/collecting-storage.html.tmpl:8 +#: src/templates/collecting.html.tmpl:37 +msgid "Coin Storage" +msgstr "Coin Storage" + +#: src/templates/coins-designs-nl.html.tmpl:41 +msgid "" +"The €1 and €2 coins featuring King Willem-Alexander were minted with a much " +"lower {Link:l}relief{-:E} than most euro coins of the same denomination. As " +"a result it is not uncommon for these coins to appear worn after little use " +"in circulation." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:26 +msgid "Andorra’s Romanesque art" +msgstr "Andorra’s Romanesque art" + +#: src/templates/collecting-storage.html.tmpl:56 +msgid "Examples" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:45 +msgid "Printer Codes" +msgstr "" + +#. TRANSLATORS: Name of a coin design. Don’t translate unless you use a non-latin script +#: src/templates/coins-designs-ee.html.tmpl:169 +msgctxt "Coin Design" +msgid "Nova" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:178 +msgid "Margus Kadarik" +msgstr "Margus Kadarik" + +#: src/templates/coins-designs-be.html.tmpl:21 +msgid "Belgian Euro Coin Designs" +msgstr "Belgian Euro Coin Designs" + +#: src/templates/coins-designs-at.html.tmpl:18 +msgid "Austrian €0.02 coin" +msgstr "Austrian €0.02 coin" + +#: src/templates/collecting-storage.html.tmpl:33 +msgid "Coin Capsules" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:64 +msgid "Flips in a case" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:72 +msgid "Flips and capsules in a box" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:168 +msgctxt "Company Name" +msgid "Volksbank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:218 +msgid "Coin rolls have no fees." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:254 +msgid "" +"Coin rolls used to be obtainable without fees, however you can no longer " +"obtain rolls." +msgstr "" + +#: src/templates/-navbar.html.tmpl:46 +msgctxt "Navbar Label" +msgid "Coins" +msgstr "" + +#: src/templates/jargon.html.tmpl:49 +msgid "PMD — Post-Mint Damage" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:15 +msgid "German €0.10 coin" +msgstr "German €0.10 coin" + +#: src/templates/coins-designs-ee.html.tmpl:60 +msgid "Estonian €1 coin" +msgstr "Estonian €1 coin" + +#: src/templates/coins-designs-ee.html.tmpl:85 +#: src/templates/coins-designs-ee.html.tmpl:100 +#: src/templates/coins-designs-ee.html.tmpl:109 +#: src/templates/coins-designs-ee.html.tmpl:117 +#: src/templates/coins-designs-ee.html.tmpl:125 +#: src/templates/coins-designs-ee.html.tmpl:134 +#: src/templates/coins-designs-ee.html.tmpl:143 +#: src/templates/coins-designs-ee.html.tmpl:150 +#: src/templates/coins-designs-ee.html.tmpl:158 +#: src/templates/coins-designs-ee.html.tmpl:166 +#: src/templates/coins-designs-ee.html.tmpl:175 +msgctxt "Header/Label" +msgid "Position" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:90 +#: src/templates/coins-designs-ee.html.tmpl:104 +#: src/templates/coins-designs-ee.html.tmpl:112 +#: src/templates/coins-designs-ee.html.tmpl:120 +#: src/templates/coins-designs-ee.html.tmpl:129 +#: src/templates/coins-designs-ee.html.tmpl:138 +#: src/templates/coins-designs-ee.html.tmpl:145 +#: src/templates/coins-designs-ee.html.tmpl:153 +#: src/templates/coins-designs-ee.html.tmpl:161 +#: src/templates/coins-designs-ee.html.tmpl:170 +#: src/templates/coins-designs-ee.html.tmpl:178 +msgctxt "Header/Label" +msgid "Author(s)" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:171 +msgid "Coin rolls can be obtained for a fee of €0.25 per roll." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:283 +msgctxt "Company Name" +msgid "Crédit Mutuel" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:50 +msgid "" +"The Andorran 10c, 20c and 50c coins 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/jargon.html.tmpl:22 +msgid "" +"All terms defined below can be used as clickable links which highlight the " +"selected term. It is recommended to use these links when sharing this page " +"with others, so that the relevant terms are highlighted." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:120 +msgid "Jaan Meristo" +msgstr "Jaan Meristo" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:297 +msgctxt "Company Name" +msgid "LCL" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:451 +msgid "Obtaining coins from the Dutch Central Bank is not possible." +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:12 +msgid "Finnish €0.01 coin" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:11 +msgid "What is Vending Machine Hunting?" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:76 +msgid "Coins in an album" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:58 +#: src/templates/coins-mintages.html.tmpl:79 +#: src/templates/coins-mintages.html.tmpl:114 +#: src/templates/coins-mintages.html.tmpl:189 +msgctxt "Header/Label" +msgid "Year" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:240 +msgid "" +"It is probably not possible to obtain coin rolls, but this is not confirmed." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:271 +#: src/templates/collecting-crh.html.tmpl:293 +msgid "Coin rolls can be obtained with no fee. You must be a customer." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:496 +msgid "In general there is a €1.20 fee for coin rolls." +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:20 +msgid "" +"The cent coins feature the Finnish heraldic lion that can be found on the " +"{Link:L}Finnish coat of arms{-:E}. It was also found on various Finnish Mark " +"coins from 1921–2001." +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:24 +msgid "" +"The €1 coin features two {Link:L}Whooper swans{-:E} – the national bird of " +"Finland – flying over a Finnish landscape. The coin was designed by Pertti " +"Mäkinen as part of a design contest for a commemorative coin design in 1997 " +"to celebrate the 80th anniversary of Finnish independence." +msgstr "" + +#: src/templates/-navbar.html.tmpl:56 +msgctxt "Navbar Label" +msgid "About" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:29 +msgid "" +"The 10c, 20c and 50c coins were designed by Ivan Domagoj Račić and feature " +"the portrait of the inventor and engineer {Link:L}Nikola Tesla{-:E}. The " +"design of these coins caused controversy when they were first announced with " +"the National Bank of Serbia claiming that it would be an appropriation of " +"the cultural and scientific heritage of the Serbian people to feature the " +"portrait of someone who ‘declared himself to be Serbian by origin’." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:17 +msgid "Andorran €2 coin" +msgstr "Andorran €2 coin" + +#: src/templates/jargon.html.tmpl:54 +msgid "Relief" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:300 +#: src/templates/banknotes-codes.html.tmpl:432 +msgctxt "Company Name" +msgid "Royal Joh. Enschedé" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:60 +msgid "" +"The €1 and €2 coins feature an interpretation of the German Federal Eagle " +"(German: ‘{GermanStart:r}Bundesadler{GermanEnd:E}’). The eagle is a common " +"motif in German heraldry – including in the {Link:L}German coat of arms{-:E} " +"– and represents strength and freedom. The mint mark is located to the right " +"of the year." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:73 +msgid "" +"In June 2004 a public design competition was announced with a deadline for " +"the 19th of October. A total of 134 designs were submitted by the deadline " +"and of these submissions, 10 were picked by a jury to partake in the public " +"vote over the course of one week. In total, 45,453 people voted and the " +"current design won with a total of 12,482 votes (27.46%)." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:43 +msgid "" +"Be aware of the fact that the information below may be outdated or " +"inaccurate. Many of the details are self-reported." +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:17 +msgid "Croatian €1 coin" +msgstr "Croatian €1 coin" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:109 +msgctxt "Company Name" +msgid "Argenta" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:157 +msgid "Hand-rolled coin rolls can be obtained with no additional fees." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:223 +msgctxt "Company Name" +msgid "La Caixa" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:393 +msgctxt "Company Name" +msgid "Dexia" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:419 +msgctxt "Company Name" +msgid "Bank of Valletta" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:426 +msgctxt "Company Name" +msgid "HSBC Bank Malta" +msgstr "" + +#: src/templates/jargon.html.tmpl:29 +msgid "AU — Almost Uncirculated" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:185 +msgctxt "Header/Label" +msgid "Total" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:17 +msgid "" +"This type of coin collecting is often called ‘coin roll hunting’ " +"(abbreviated to ‘CRH’) due to the fact that banks will often provide you " +"with coins in the form of paper-wrapped rolls. You may however find that " +"your coins come in plastic bags instead (common in countries like Ireland)." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:383 +msgctxt "Company Name" +msgid "Central Bank of Luxembourg" +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:8 +msgid "Finnish Euro Coin Designs" +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:17 +msgid "" +"The Finnish euro coins feature 3 different designs: one for the cents, one " +"for the €1 coin and one for the €2 coin. All coins minted between 1999–2006 " +"bear the mintmaster mark ‘M’ for Raimo Makkonen. From 2007 onwards, the " +"mintmaster mark was replaced with the logo of the Mint of Finland and the " +"Finnish country code (‘FI’) was added." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:8 +#: src/templates/collecting.html.tmpl:18 +msgid "Euro Coin Collecting" +msgstr "Euro Coin Collecting" + +#: src/templates/coins-designs-ad.html.tmpl:56 +msgid "Finally, the €2 coin features the {Link:L}coat of arms of Andorra{-:E}." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:76 +msgid "" +"The winner of the contest was awarded 50,000 EEK (€3,196) while the other " +"finalists were each awarded 20,000 EEK (€1,278)." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:124 +msgctxt "Company Name" +msgid "Belfius" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:422 +#: src/templates/collecting-crh.html.tmpl:429 +msgid "" +"You can get rolls for a fee of €0.30 per roll. You must order coin rolls " +"through their online platform, and you must be a customer." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:439 +msgid "" +"Banks in the Netherlands do not carry cash, and as such it’s not possible to " +"obtain rolls from bank tellers. If you want to obtain coin rolls you need to " +"use a Geldmaat coin roll machine which can be found in specific branches of " +"GAMMA and Karwei. Geldmaat offers a map on their website where you can " +"search for branches with these machines; you can find that map {Link:L}" +"here{-:E}. Coin rolls are only available to customers of the banks listed " +"below." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:448 +msgctxt "Company Name" +msgid "The Dutch Central Bank" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:456 +msgctxt "Company Name" +msgid "ABN AMRO" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:25 +msgid "€0.10, €0.20 and €0.50" +msgstr "€0.10, €0.20 and €0.50" + +#: src/templates/banknotes-codes.html.tmpl:269 +#: src/templates/banknotes-codes.html.tmpl:395 +msgctxt "Header/Label" +msgid "Local Names" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:46 +msgid "" +"Most coins from the years 2003–2016 are listed as NIFC coins while other " +"popular sources such as Numista claim they were minted for circulation. For " +"more information on why others are wrong, {Link:l}click here{-:E}." +msgstr "" +"Most coins from the years 2003–2016 are listed as NIFC coins while other " +"popular sources such as Numista claim they were minted for circulation. For " +"more information on why others are wrong, {Link:l}click here{-:E}." + +#: src/templates/collecting-crh.html.tmpl:26 +msgid "" +"To get started with coin roll hunting you should first contact your bank or " +"check their website to find details regarding coin withdrawal. You will then " +"typically need to go to the bank to pick up your coins. Depending on your " +"bank you may be able to withdraw coins from a machine. Most banks will " +"charge you a small fee per roll and/or transaction." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:116 +msgctxt "Company Name" +msgid "KBC Bank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:193 +msgid "" +"You can purchase individual coins and commemorative coin rolls (even those " +"of other countries). You can watch a video {Link:L}here{-:E} to see how to " +"do it." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:467 +msgid "Coin rolls are available for a fee of €7 + €0.35 per roll." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:512 +msgid "" +"You may be able to get uncirculated rolls, but this is not yet confirmed." +msgstr "" + +#: src/templates/banknotes.html.tmpl:31 +msgid "View the different Euro banknote designs" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:257 +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 "" + +#: src/templates/collecting-crh.html.tmpl:190 +msgctxt "Company Name" +msgid "Bank of Spain" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:459 +msgid "" +"Coin rolls are available for a fee of €0.30 per roll. You must withdraw " +"between 10–20 rolls." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:480 +msgctxt "Company Name" +msgid "Bank of Portugal" +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:14 +msgid "Finnish €2.00 coin" +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:29 +msgid "" +"The €2 coin was designed by Raimo Heino and features a motif of cloudberries " +"and cloudberry flowers. This design was made as part of a design contest " +"hosted in 1988." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:53 +msgid "" +"Some machines have a maximum amount you can throw in, and will reject " +"anything higher. For example machines with a maximum limit of €5 will reject " +"any additional coins if you throw in €5. You can try to go above the limit " +"if you throw in €4.80 and then another €1 or €2 coin; the machine might " +"accept it." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:293 +#: src/templates/banknotes-codes.html.tmpl:425 +msgctxt "Company Name" +msgid "Austrian Banknote and Security Printing" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:161 +msgctxt "Company Name" +msgid "Sparkasse" +msgstr "" + +#: src/templates/coins-designs-cy.html.tmpl:24 +msgid "" +"The 1c, 2c and 5c coins feature two mouflons, a wild sheep native to Cyprus, " +"symbolising the island’s wildlife. The 10c, 20c and 50c coins feature the " +"{LinkK:L}Kyrenia{-:E}, an ancient Greek merchent ship that sank circa " +"294 BC; it represents the importance of seafaring to Cyprus’ history as well " +"as its importance as a centre of trade. Finally, the €1 and €2 coins feature " +"the {LinkI:L}Idol of Pomos{-:E}, a stone prehistoric sculpture found near " +"the Cypriot village of Pomos. The sculpture is currently on display in the " +"Cyprus Museum in Nicosia." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:46 +msgid "Limits" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:31 +msgid "(Non-)Merging Machines" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:8 +msgid "Austrian Euro Coin Designs" +msgstr "Austrian Euro Coin Designs" + +#: src/templates/coins-designs-at.html.tmpl:22 +msgid "" +"The bronze coins feature the Alpine gentian, edelweiss and primrose " +"respectively, and were chosen to symbolize the role that Austria played in " +"the development of EU environmental policy." +msgstr "" + +#: src/templates/jargon.html.tmpl:65 +msgid "Collector-Specific Terms" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:54 +msgctxt "Header/Label" +msgid "Filter Method" +msgstr "" + +#: src/dbx/sql/last.sql:155 +msgctxt "CC Name" +msgid "Peace and security" +msgstr "" + +#: src/templates/banknotes.html.tmpl:29 src/templates/coins.html.tmpl:29 +msgid "Designs" +msgstr "Designs" + +#: src/templates/coins-designs-hr.html.tmpl:21 +msgid "" +"The Croatian euro coins feature four different themes, with each design " +"featuring the Croatian checkerboard and the country’s name in Croatian " +"(‘{CroatianStart:r}HRVATSKA{CroatianEnd:E}’). All designs were selected " +"after voting in a public design competition." +msgstr "" +"The Croatian euro coins feature four different themes, with each design " +"featuring the Croatian checkerboard and the country’s name in Croatian " +"(‘{CroatianStart:r}HRVATSKA{CroatianEnd:E}’). All designs were selected " +"after voting in a public design competition." + +#: src/templates/coins-designs-ad.html.tmpl:20 +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/jargon.html.tmpl:36 +msgid "" +"BU is a general term to refer to coins from coincards and sets. These are " +"different from UNC coins in that they are typically handled with more care " +"during the minting process and are struck with higher-quality dies than " +"coins minted for general circulation, resulting in a higher-quality coin." +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:39 +msgid "" +"Here you’ll be able to view all the known mintages for all coins. You’ll " +"also be able to filter on country, denomination, etc. If you have any " +"mintage data that’s missing from our site, feel free to contact us." +msgstr "" +"Here you’ll be able to view all the known mintages for all coins. You’ll " +"also be able to filter on country, denomination, etc. If you have any " +"mintage data that’s missing from our site, feel free to contact us." + +#: src/templates/collecting-crh.html.tmpl:531 +msgid "" +"Ask the Pope nicely and he’ll probably give you some Vatican coins for free." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:25 +msgid "Austrian €0.10 coin" +msgstr "Austrian €0.10 coin" + +#: src/templates/coins-designs-hr.html.tmpl:14 +msgid "Croatian €0.50 coin" +msgstr "Croatian €0.50 coin" + +#: src/templates/coins-designs-be.html.tmpl:26 +msgid "Belgian €1 coin (King Albert; Series 1)" +msgstr "Belgian €1 coin (King Albert; Series 1)" + +#: src/templates/coins-designs-ee.html.tmpl:88 +#: src/templates/coins-designs-ee.html.tmpl:98 +msgctxt "Header/Label" +msgid "Translation" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:170 +msgid "Rene Haljasmäe" +msgstr "Rene Haljasmäe" + +#: src/templates/collecting-crh.html.tmpl:516 +msgctxt "Company Name" +msgid "Tatra banka" +msgstr "" + +#: src/templates/-navbar.html.tmpl:45 +msgctxt "Navbar Label" +msgid "Coin Collecting" +msgstr "" + +#: src/templates/-navbar.html.tmpl:44 +msgctxt "Navbar Label" +msgid "News" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:8 +#: src/templates/collecting.html.tmpl:29 +msgid "Coin Roll Hunting" +msgstr "Coin Roll Hunting" + +#: src/templates/coins-designs-ad.html.tmpl:41 +msgid "Rejected Andorran design" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:16 +msgid "German €1 coin" +msgstr "German €1 coin" + +#: src/templates/collecting-storage.html.tmpl:51 +msgid "Coin Rolls" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:321 +#: src/templates/banknotes-codes.html.tmpl:453 +#: src/templates/collecting-crh.html.tmpl:336 +msgctxt "Company Name" +msgid "Central Bank of Ireland" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:160 +msgctxt "Coin Design" +msgid "Leopards-2" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:154 +msgctxt "Company Name" +msgid "German Post" +msgstr "" + +#: src/templates/index.html.tmpl:9 +msgid "The Euro Cash Wiki" +msgstr "The Euro Cash Wiki" + +#: src/templates/coins-designs-at.html.tmpl:30 +msgid "" +"The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese " +"Gothic architectural style dating to around the year 1160. The €0.20 coin " +"features Belvedere Palace. This is an example of Baroque architecture and " +"symbolises the national freedom and sovereignty of Austria. Finally, the " +"€0.50 coin features the Secession Building: an exhibition hall in the Art " +"Nouveau style." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:500 +msgctxt "Company Name" +msgid "Bank of Slovenia" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:409 +msgctxt "Place Name" +msgid "Bulgaria" +msgstr "" + +#: src/templates/coins-designs-nl.html.tmpl:33 +msgid "" +"From the years 1999–2013 all Dutch euro coins featured the portrait of " +"Queen Beatrix of the Netherlands. After her abdication from the throne in " +"2013 the designs of all denominations were changed to feature the portrait " +"of the new King Willem-Alexander. After her abdication the direction in " +"which the monarchs portrait faced was flipped; a tradition shared by the " +"coins of many monarchies around the world." +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:34 +msgid "Belgian €1 coin (King Philippe)" +msgstr "Belgian €1 coin (King Philippe)" + +#: src/templates/jargon.html.tmpl:69 +msgid "" +"Coin roll hunting is a general term for the activity of collecting coins by " +"searching through coin rolls and bags. Coin rolls and bags are often " +"obtained at banks or coin roll machines." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:26 +msgid "" +"Coin boxes are to many people the most aesthetic way to store your coins. A " +"coin box is comprised of various layers which can be stacked on top of each " +"other. Each layer has a grid of slots where you can insert your coins. " +"Typically you are meant to store your coins in a layer encased in a coin " +"capsule." +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:35 +msgctxt "Place Name" +msgid "Munich" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:21 +msgid "" +"Depending on your bank and branch, the process of obtaining coins may " +"differ. Some banks require you speak to a teller while others have coin " +"machines. Some banks may also require that you are a customer or even that " +"you have a business account. If you aren’t sure about if you can get coins " +"we suggest you contact your bank, although further down this page we also " +"have additional information about the withdrawal of coins in various " +"countries and major banks." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:66 +msgctxt "Company Name" +msgid "Bank Austria" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:15 +msgid "Coin Albums" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:53 +msgid "" +"This is probably the most inexpensive way to store your coins. If you take " +"good care of the paper when opening coin rolls, you can simply reuse them " +"for storage. Just roll your coins back up and put some rubber bands on the " +"ends. You can also get reusable plastic rolls that can be opened and closed. " +"You will need different rolls based on the denomination you want to store, " +"but they are very space-efficient." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:381 +msgid "Europa Series" +msgstr "Europa Series" + +#: src/templates/coins-designs-be.html.tmpl:39 +msgid "" +"Since 1999 Belgium has released three series of euro coins, with each series " +"having a single design repeated on all denominations. Starting in 1999 the " +"Belgian euro coins featured the portrait of King Albert II with the {Link:L}" +"royal monogram{-:E} in the outer ring of the coins." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:34 +msgid "Austrian €2 coin" +msgstr "Austrian €2 coin" + +#: src/templates/coins.html.tmpl:37 +msgid "Mintages" +msgstr "Mintages" + +#: src/templates/collecting-vending.html.tmpl:26 +msgid "Rejected Stoppers and Coins" +msgstr "" + +#: src/templates/collecting.html.tmpl:22 +msgid "" +"On this section of the site you can find everything there is to know about " +"collecting Euro coins. If this is a hobby that interests you, join the " +"Discord server linked at the top of the page!" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:21 +msgid "The Stopper" +msgstr "" + +#: src/templates/jargon.html.tmpl:31 +msgid "" +"AU coins are coins that are in extremely good condition as a result of " +"limited use in circulation. Unlike the term ‘UNC’, this term is a " +"description of the coins quality, not its usage. AU coins often appear to " +"retain most of their original luster as well as possessing little to no " +"scratches or other forms of post-mint damage (PMD)." +msgstr "" + +#: src/templates/collecting.html.tmpl:31 +msgid "Learn about collecting coins from coin rolls" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:45 +msgid "The rejected Andorran design" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:39 +msgctxt "Place Name" +msgid "Stuttgart" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:65 +msgid "" +"The €2 coin also features an edge-inscription of Germany’s national motto " +"and incipit of Germany’s national anthem. It reads ‘{GermanStart:r}EINIGKEIT " +"UND RECHT UND FREIHEIT{GermanEnd:E}’ (English: ‘UNITY AND JUSTICE AND " +"FREEDOM’)." +msgstr "" +"The €2 coin also features an edge-inscription of Germany’s national motto " +"and incipit of Germany’s national anthem. It reads ‘{GermanStart:r}EINIGKEIT " +"UND RECHT UND FREIHEIT{GermanEnd:E}’ (English: ‘UNITY AND JUSTICE AND " +"FREEDOM’)." + +#. TRANSLATORS: ‘Estonian’ as in the language, not the nationality +#: src/templates/coins-designs-ee.html.tmpl:137 +msgctxt "Coin Design" +msgid "Estonian" +msgstr "" + +#~ msgid "" +#~ "The winner of the contest was awarded 50,000 KR (€3,196) while the other " +#~ "finalists were each awarded 20,000 KR (€1,278)." +#~ msgstr "" +#~ "The winner of the contest was awarded 50,000 KR (€3,196) while the other " +#~ "finalists were each awarded 20,000 KR (€1,278)." + +#~ msgid "Banknotes" +#~ msgstr "Banknotes" + +#~ msgid "Discord" +#~ msgstr "Discord" + +#~ msgid "Coins" +#~ msgstr "Coins" + +#~ msgid "News" +#~ msgstr "News" + +#~ msgid "About" +#~ msgstr "About" + +#~ msgid "Home" +#~ msgstr "Home" + +#~ msgid "Coin Collecting" +#~ msgstr "Coin Collecting" + +#~ msgid "Language" +#~ msgstr "Language" + +#~ msgid "Jargon" +#~ msgstr "Jargon" + +#~ 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." + +#~ 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." + +#~ msgid "Proof Coins" +#~ msgstr "Proof Coins" + +#~ msgid "Circulation Coins" +#~ msgstr "Circulation Coins" + +#~ msgid "Name" +#~ msgstr "Name" + +#~ msgid "Total" +#~ msgstr "Total" + +#~ msgid "Author(s)" +#~ msgstr "Author(s)" + +#~ msgid "City" +#~ msgstr "City" + +#~ msgid "Votes" +#~ msgstr "Votes" + +#~ msgid "Mintmark" +#~ msgstr "Mintmark" + +#~ msgid "Position" +#~ msgstr "Position" + +#~ msgid "Translation" +#~ msgstr "Translation" + +#~ msgid "Year" +#~ msgstr "Year" + +#~ msgid "Commemorated Issue" +#~ msgstr "Commemorated Issue" + +#~ msgid "Mintage" +#~ msgstr "Mintage" + +#~ msgid "Country" +#~ msgstr "Country" + +#~ msgid "Filter" +#~ msgstr "Filter" + +#~ msgid "Printer Code" +#~ msgstr "Printer Code" + +#~ msgid "Printer" +#~ msgstr "Printer" + +#~ msgid "Code" +#~ msgstr "Code" + +#~ msgid "Bank of Greece" +#~ msgstr "Bank of Greece" + +#~ msgid "Leipzig" +#~ msgstr "Leipzig" + +#~ msgid "" +#~ "The 1 euro coin was designed by Jagor Šunde, David Čemeljić and Fran " +#~ "Zekan and features a marten. The marten is the semi-official national " +#~ "animal of Croatia and the Kuna — their pre-Euro currency — was named " +#~ "after the marten (‘{CroatianStart:r}kuna zlatica{CroatianEnd:E}’ in " +#~ "Croatian)." +#~ msgstr "" +#~ "The 1 euro coin was designed by Jagor Šunde, David Čemeljić and Fran " +#~ "Zekan and features a marten. The marten is the semi-official national " +#~ "animal of Croatia and the Kuna — their pre-Euro currency — was named " +#~ "after the marten (‘{CroatianStart:r}kuna zlatica{CroatianEnd:E}’ in " +#~ "Croatian)." + +#~ msgid "Bank of Spain" +#~ msgstr "Bank of Spain" + +#~ msgid "Bank of Estonia Museum" +#~ msgstr "Bank of Estonia Museum" + +#~ msgid "Bank of France" +#~ msgstr "Bank of France" + +#~ msgid "German Post" +#~ msgstr "German Post" + +#~ msgid "Munich" +#~ msgstr "Munich" + +#~ msgid "Mint of Finland" +#~ msgstr "Mint of Finland" + +#~ msgid "" +#~ "The 1-, 2- and 5 euro cent coins were designed by Maja Škripelj and " +#~ "feature a motif of the letters ‘ⰘⰓ’ from the {Link:L}Glagolitic " +#~ "script{-:E} — an old Slavic script that saw use in Croatia up until the " +#~ "19th century — representing Croatia’s country code (‘HR’ in the Latin " +#~ "alphabet)." +#~ msgstr "" +#~ "The 1-, 2- and 5 euro cent coins were designed by Maja Škripelj and " +#~ "feature a motif of the letters ‘ⰘⰓ’ from the {Link:L}Glagolitic " +#~ "script{-:E} — an old Slavic script that saw use in Croatia up until the " +#~ "19th century — representing Croatia’s country code (‘HR’ in the Latin " +#~ "alphabet)." + +#~ msgid "" +#~ "From the years 1999–2013 all Dutch euro coins featured the portrait of " +#~ "Queen Beatrix of the Netherlands. After her abdication from the throne in " +#~ "2013 the designs of all denominations were changed to feature the " +#~ "portrait of the new King Willem-Alexander. After her abdication the " +#~ "direction in which the monarchs portrait faced was flipped; a tradition " +#~ "shared by the coins of many monarchies around the world." +#~ msgstr "" +#~ "From the years 1999–2013 all Dutch euro coins featured the portrait of " +#~ "Queen Beatrix of the Netherlands. After her abdication from the throne in " +#~ "2013 the designs of all denominations were changed to feature the " +#~ "portrait of the new King Willem-Alexander. After her abdication the " +#~ "direction in which the monarchs portrait faced was flipped; a tradition " +#~ "shared by the coins of many monarchies around the world." + +#~ msgid "Bank of Finland" +#~ msgstr "Bank of Finland" + +#~ msgid "Central Bank of Ireland" +#~ msgstr "Central Bank of Ireland" + +#~ msgid "" +#~ "The 10-, 20- and 50 euro cent coins were designed by Ivan Domagoj Račić " +#~ "and feature the portrait of the inventor and engineer {Link:L}Nikola " +#~ "Tesla{-:E}. The design of these coins caused controversy when they were " +#~ "first announced with the National Bank of Serbia claiming that it would " +#~ "be an appropriation of the cultural and scientific heritage of the " +#~ "Serbian people to feature the portrait of someone who ‘declared himself " +#~ "to be Serbian by origin’." +#~ msgstr "" +#~ "The 10-, 20- and 50 euro cent coins were designed by Ivan Domagoj Račić " +#~ "and feature the portrait of the inventor and engineer {Link:L}Nikola " +#~ "Tesla{-:E}. The design of these coins caused controversy when they were " +#~ "first announced with the National Bank of Serbia claiming that it would " +#~ "be an appropriation of the cultural and scientific heritage of the " +#~ "Serbian people to feature the portrait of someone who ‘declared himself " +#~ "to be Serbian by origin’." + +#~ msgid "National Bank of Belgium" +#~ msgstr "National Bank of Belgium" + +#~ msgid "Bank of Italy" +#~ msgstr "Bank of Italy" + +#~ msgid "" +#~ "The 2 euro coin was designed by Ivan Šivak and features the map of " +#~ "Croatia. The coin also has an edge-inscription that reads " +#~ "‘{CroatianStart:r}O LIJEPA O DRAGA O SLATKA SLOBODO{CroatianEnd:E}’ " +#~ "(English: ‘OH BEAUTIFUL, OH DEAR, OH SWEET FREEDOM’) which is a line from " +#~ "the play {Link:L}Dubravka{-:E} by Ivan Gundulić." +#~ msgstr "" +#~ "The 2 euro coin was designed by Ivan Šivak and features the map of " +#~ "Croatia. The coin also has an edge-inscription that reads " +#~ "‘{CroatianStart:r}O LIJEPA O DRAGA O SLATKA SLOBODO{CroatianEnd:E}’ " +#~ "(English: ‘OH BEAUTIFUL, OH DEAR, OH SWEET FREEDOM’) which is a line from " +#~ "the play {Link:L}Dubravka{-:E} by Ivan Gundulić." + +#~ msgid "" +#~ "The €1 and €2 coins featuring King Willem-Alexander were minted with a " +#~ "much lower {Link:l}relief{-:E} than most euro coins of the same " +#~ "denomination. As a result it is not uncommon for these coins to appear " +#~ "worn after little use in circulation." +#~ msgstr "" +#~ "The €1 and €2 coins featuring King Willem-Alexander were minted with a " +#~ "much lower {Link:l}relief{-:E} than most euro coins of the same " +#~ "denomination. As a result it is not uncommon for these coins to appear " +#~ "worn after little use in circulation." + +#~ msgid "Bank of Cyprus" +#~ msgstr "Bank of Cyprus" + +#~ msgid "Votes (%)" +#~ msgstr "Votes (%)" + +#~ msgid "Royal Mint of Spain" +#~ msgstr "Royal Mint of Spain" + +#~ 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." + +#~ 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." + +#~ msgid "" +#~ "The two bimetallic coins feature the busts of the musical composer " +#~ "Wolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist and " +#~ "Nobel Peace Prize winner Bertha von Suttner." +#~ msgstr "" +#~ "The two bimetallic coins feature the busts of the musical composer " +#~ "Wolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist and " +#~ "Nobel Peace Prize winner Bertha von Suttner." + +#~ msgid "The arms of the Viscounts of Béarn" +#~ msgstr "The arms of the Viscounts of Béarn" + +#~ 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." + +#~ msgid "The arms of the Count of Foix" +#~ msgstr "The arms of the Count of Foix" + +#~ msgid "" +#~ "The bottom of the coat of arms has the motto ‘{LatinStart:r}VIRTVS VNITA " +#~ "FORTIOR{LatinEnd:E}’ (English: ‘UNITED VIRTUE IS STRONGER’)." +#~ msgstr "" +#~ "The bottom of the coat of arms has the motto ‘{LatinStart:r}VIRTVS VNITA " +#~ "FORTIOR{LatinEnd:E}’ (English: ‘UNITED VIRTUE IS STRONGER’)." + +#~ msgid "" +#~ "The bimetallic coins feature an interpretation of the German Federal " +#~ "Eagle (German: ‘{GermanStart:r}Bundesadler{GermanEnd:E}’). The eagle is a " +#~ "common motif in German heraldry — including in the German coat of arms — " +#~ "and represents strength and freedom. The mint mark is located to the " +#~ "right of the year." +#~ msgstr "" +#~ "The bimetallic coins feature an interpretation of the German Federal " +#~ "Eagle (German: ‘{GermanStart:r}Bundesadler{GermanEnd:E}’). The eagle is a " +#~ "common motif in German heraldry — including in the German coat of arms — " +#~ "and represents strength and freedom. The mint mark is located to the " +#~ "right of the year." + +#~ msgid "The arms of Catalonia" +#~ msgstr "The arms of Catalonia" + +#~ msgid "" +#~ "In 2008 a second series of coins was released featuring a slightly " +#~ "modified design in which the royal monogram was moved to the inner " +#~ "portion of the coin along with the year of mintage in order to comply " +#~ "with the European Commission’s guidelines. The country code ‘BE’ was also " +#~ "added to the design underneath the royal monogram." +#~ msgstr "" +#~ "In 2008 a second series of coins was released featuring a slightly " +#~ "modified design in which the royal monogram was moved to the inner " +#~ "portion of the coin along with the year of mintage in order to comply " +#~ "with the European Commission’s guidelines. The country code ‘BE’ was also " +#~ "added to the design underneath the royal monogram." + +#~ msgid "" +#~ "The gold coins feature the Brandenburg Gate, a symbol of Berlin and " +#~ "Germany as a whole, but also a symbol of German division and unity. The " +#~ "mint mark is located below the year." +#~ msgstr "" +#~ "The gold coins feature the Brandenburg Gate, a symbol of Berlin and " +#~ "Germany as a whole, but also a symbol of German division and unity. The " +#~ "mint mark is located below the year." + +#~ msgid "" +#~ "The €0.10 coin features St. Stephen’s Cathedral. It symbolises the " +#~ "Viennese Gothic architectural style dating to around the year 1160. The " +#~ "€0.20 coin features Belvedere Palace. This is an example of Baroque " +#~ "architecture and symbolises the national freedom and sovereignty of " +#~ "Austria. The final gold coin — the €0.50 coin — features the Secession " +#~ "Building: an exhibition hall in the Art Nouveau style." +#~ msgstr "" +#~ "The €0.10 coin features St. Stephen’s Cathedral. It symbolises the " +#~ "Viennese Gothic architectural style dating to around the year 1160. The " +#~ "€0.20 coin features Belvedere Palace. This is an example of Baroque " +#~ "architecture and symbolises the national freedom and sovereignty of " +#~ "Austria. The final gold coin — the €0.50 coin — features the Secession " +#~ "Building: an exhibition hall in the Art Nouveau style." + +#~ msgid "" +#~ "Coins featuring both monarchs contain text reading ‘{DutchStart:r}BEATRIX " +#~ "KONINGIN DER NEDERLANDEN{DutchEnd:E}’ (English: ‘BEATRIX QUEEN OF THE " +#~ "NETHERLANDS’) and ‘{DutchStart:r}Willem-Alexander Koning der " +#~ "Nederlanden{DutchEnd:E}’ (English: ‘Willem-Alexander King of the " +#~ "Netherlands’) respectively. The €2 coins also feature an edge-inscription " +#~ "reading ‘{DutchStart:r}GOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆{DutchEnd:E}’ (English: " +#~ "‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’)." +#~ msgstr "" +#~ "Coins featuring both monarchs contain text reading ‘{DutchStart:r}BEATRIX " +#~ "KONINGIN DER NEDERLANDEN{DutchEnd:E}’ (English: ‘BEATRIX QUEEN OF THE " +#~ "NETHERLANDS’) and ‘{DutchStart:r}Willem-Alexander Koning der " +#~ "Nederlanden{DutchEnd:E}’ (English: ‘Willem-Alexander King of the " +#~ "Netherlands’) respectively. The €2 coins also feature an edge-inscription " +#~ "reading ‘{DutchStart:r}GOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆{DutchEnd:E}’ (English: " +#~ "‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’)." + +#~ 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:" + +#~ msgid "The arms of the Bishop of Urgell" +#~ msgstr "The arms of the Bishop of Urgell" + +#~ msgid "" +#~ "The design of the Estonian euro coins was chosen as part of a {EVLink:L}" +#~ "Eurovision{-:E}-style public televote where it competed and won against 9 " +#~ "other designs." +#~ msgstr "" +#~ "The design of the Estonian euro coins was chosen as part of a {EVLink:L}" +#~ "Eurovision{-:E}-style public televote where it competed and won against 9 " +#~ "other designs." + +#~ msgid "" +#~ "The bronze coins display an oak twig which is similar to the one found on " +#~ "the former Pfennig coins from the German Mark. The mint mark and year are " +#~ "located on the left- and right-hand sides of the stem." +#~ msgstr "" +#~ "The bronze coins display an oak twig which is similar to the one found on " +#~ "the former Pfennig coins from the German Mark. The mint mark and year are " +#~ "located on the left- and right-hand sides of the stem." + +#~ msgid "Hamburg" +#~ msgstr "Hamburg" + +#~ msgid "Stuttgart" +#~ msgstr "Stuttgart" + +#~ msgid "Karlsruhe" +#~ msgstr "Karlsruhe" + +#~ msgid "Berlin" +#~ msgstr "Berlin" diff --git a/po/nl/messages.po b/po/nl/messages.po new file mode 100644 index 0000000..78bca38 --- /dev/null +++ b/po/nl/messages.po @@ -0,0 +1,2687 @@ +msgid "" +msgstr "" +"Project-Id-Version: Euro Cash Wiki v1.0.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-11-08 02:33+0100\n" +"PO-Revision-Date: 2025-08-03 22:47+0200\n" +"Last-Translator: Thomas Voss <mail@thomasvoss.com>\n" +"Language-Team: N/A\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/i18n/locales.gen.go:20 +msgctxt "Language Name" +msgid "Català" +msgstr "Catalaans" + +#: src/i18n/locales.gen.go:30 +msgctxt "Language Name" +msgid "Deutsch" +msgstr "Duits" + +#: src/i18n/locales.gen.go:40 +msgctxt "Language Name" +msgid "Ελληνικά" +msgstr "Grieks" + +#: src/i18n/locales.gen.go:51 +msgctxt "Language Name" +msgid "English" +msgstr "Engels" + +#: src/i18n/locales.gen.go:61 +msgctxt "Language Name" +msgid "Español" +msgstr "Spaans" + +#: src/i18n/locales.gen.go:71 +msgctxt "Language Name" +msgid "Eesti" +msgstr "Estisch" + +#: src/i18n/locales.gen.go:81 +msgctxt "Language Name" +msgid "Suomi" +msgstr "Fins" + +#: src/i18n/locales.gen.go:91 +msgctxt "Language Name" +msgid "Français" +msgstr "Frans" + +#: src/i18n/locales.gen.go:101 +msgctxt "Language Name" +msgid "Gaeilge" +msgstr "Iers" + +#: src/i18n/locales.gen.go:111 +msgctxt "Language Name" +msgid "Hrvatski" +msgstr "Kroatisch" + +#: src/i18n/locales.gen.go:121 +msgctxt "Language Name" +msgid "Italiano" +msgstr "Italiaans" + +#: src/i18n/locales.gen.go:131 +msgctxt "Language Name" +msgid "Lëtzebuergesch" +msgstr "Luxemburgs" + +#: src/i18n/locales.gen.go:141 +msgctxt "Language Name" +msgid "Lietuvių" +msgstr "Litouws" + +#: src/i18n/locales.gen.go:151 +msgctxt "Language Name" +msgid "Latviešu" +msgstr "Lets" + +#: src/i18n/locales.gen.go:161 +msgctxt "Language Name" +msgid "Malti" +msgstr "Maltees" + +#: src/i18n/locales.gen.go:172 +msgctxt "Language Name" +msgid "Nederlands" +msgstr "Nederlands" + +#: src/i18n/locales.gen.go:182 +msgctxt "Language Name" +msgid "Português" +msgstr "Portugees" + +#: src/i18n/locales.gen.go:192 +msgctxt "Language Name" +msgid "Slovenčina" +msgstr "Slowaaks" + +#: src/i18n/locales.gen.go:202 +msgctxt "Language Name" +msgid "Slovenščina" +msgstr "Sloveens" + +#: src/i18n/locales.gen.go:213 +msgctxt "Language Name" +msgid "Svenska" +msgstr "Zweeds" + +#: src/i18n/locales.gen.go:223 +msgctxt "Language Name" +msgid "Türkçe" +msgstr "Turks" + +#: src/i18n/locales.gen.go:232 +msgctxt "Language Name" +msgid "Български" +msgstr "Bulgaars" + +#: src/i18n/locales.gen.go:241 +msgctxt "Language Name" +msgid "Română" +msgstr "Roemeens" + +#: src/i18n/locales.gen.go:250 +msgctxt "Language Name" +msgid "Українська" +msgstr "Oekraïens" + +#: src/countries.go:47 +msgctxt "Place Name" +msgid "Andorra" +msgstr "Andorra" + +#: src/countries.go:48 src/templates/banknotes-codes.html.tmpl:132 +#: src/templates/banknotes-codes.html.tmpl:219 +#: src/templates/banknotes-codes.html.tmpl:291 +#: src/templates/banknotes-codes.html.tmpl:423 +msgctxt "Place Name" +msgid "Austria" +msgstr "Oostenrijk" + +#: src/countries.go:49 src/templates/banknotes-codes.html.tmpl:175 +#: src/templates/banknotes-codes.html.tmpl:251 +#: src/templates/banknotes-codes.html.tmpl:362 +#: src/templates/banknotes-codes.html.tmpl:494 +msgctxt "Place Name" +msgid "Belgium" +msgstr "België" + +#: src/countries.go:52 src/templates/banknotes-codes.html.tmpl:116 +#: src/templates/banknotes-codes.html.tmpl:203 +msgctxt "Place Name" +msgid "Cyprus" +msgstr "Cyprus" + +#: src/countries.go:53 src/templates/banknotes-codes.html.tmpl:167 +#: src/templates/banknotes-codes.html.tmpl:243 +#: src/templates/banknotes-codes.html.tmpl:348 +#: src/templates/banknotes-codes.html.tmpl:355 +#: src/templates/banknotes-codes.html.tmpl:437 +#: src/templates/banknotes-codes.html.tmpl:473 +#: src/templates/banknotes-codes.html.tmpl:480 +msgctxt "Place Name" +msgid "Germany" +msgstr "Duitsland" + +#: src/countries.go:54 src/templates/banknotes-codes.html.tmpl:104 +#: src/templates/banknotes-codes.html.tmpl:191 +msgctxt "Place Name" +msgid "Estonia" +msgstr "Estland" + +#: src/countries.go:55 src/templates/banknotes-codes.html.tmpl:163 +#: src/templates/banknotes-codes.html.tmpl:239 +#: src/templates/banknotes-codes.html.tmpl:334 +#: src/templates/banknotes-codes.html.tmpl:466 +msgctxt "Place Name" +msgid "Spain" +msgstr "Spanje" + +#: src/countries.go:56 src/templates/banknotes-codes.html.tmpl:124 +#: src/templates/banknotes-codes.html.tmpl:211 +#: src/templates/banknotes-codes.html.tmpl:277 +msgctxt "Place Name" +msgid "Finland" +msgstr "Finland" + +#: src/countries.go:57 src/templates/banknotes-codes.html.tmpl:159 +#: src/templates/banknotes-codes.html.tmpl:235 +#: src/templates/banknotes-codes.html.tmpl:284 +#: src/templates/banknotes-codes.html.tmpl:327 +#: src/templates/banknotes-codes.html.tmpl:402 +#: src/templates/banknotes-codes.html.tmpl:459 +msgctxt "Place Name" +msgid "France" +msgstr "Frankrijk" + +#: src/countries.go:58 src/templates/banknotes-codes.html.tmpl:171 +#: src/templates/banknotes-codes.html.tmpl:247 +#: src/templates/banknotes-codes.html.tmpl:341 +#: src/templates/banknotes-codes.html.tmpl:487 +msgctxt "Place Name" +msgid "Greece" +msgstr "Griekenland" + +#: src/countries.go:59 +msgctxt "Place Name" +msgid "Croatia" +msgstr "Kroatië" + +#: src/countries.go:60 src/templates/banknotes-codes.html.tmpl:155 +#: src/templates/banknotes-codes.html.tmpl:231 +#: src/templates/banknotes-codes.html.tmpl:319 +#: src/templates/banknotes-codes.html.tmpl:451 +msgctxt "Place Name" +msgid "Ireland" +msgstr "Ierland" + +#: src/countries.go:61 src/templates/banknotes-codes.html.tmpl:151 +#: src/templates/banknotes-codes.html.tmpl:227 +#: src/templates/banknotes-codes.html.tmpl:312 +#: src/templates/banknotes-codes.html.tmpl:444 +msgctxt "Place Name" +msgid "Italy" +msgstr "Italië" + +#: src/countries.go:62 +msgctxt "Place Name" +msgid "Lithuania" +msgstr "Litouwen" + +#: src/countries.go:63 +msgctxt "Place Name" +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/countries.go:64 +msgctxt "Place Name" +msgid "Latvia" +msgstr "Letland" + +#: src/countries.go:65 +msgctxt "Place Name" +msgid "Monaco" +msgstr "Monaco" + +#: src/countries.go:66 src/templates/banknotes-codes.html.tmpl:112 +#: src/templates/banknotes-codes.html.tmpl:199 +msgctxt "Place Name" +msgid "Malta" +msgstr "Malta" + +#: src/countries.go:67 src/templates/banknotes-codes.html.tmpl:147 +#: src/templates/banknotes-codes.html.tmpl:223 +#: src/templates/banknotes-codes.html.tmpl:298 +#: src/templates/banknotes-codes.html.tmpl:430 +msgctxt "Place Name" +msgid "Netherlands" +msgstr "Nederland" + +#: src/countries.go:68 src/templates/banknotes-codes.html.tmpl:128 +#: src/templates/banknotes-codes.html.tmpl:215 +#: src/templates/banknotes-codes.html.tmpl:371 +#: src/templates/banknotes-codes.html.tmpl:416 +msgctxt "Place Name" +msgid "Portugal" +msgstr "Portugal" + +#: src/countries.go:69 src/templates/banknotes-codes.html.tmpl:120 +#: src/templates/banknotes-codes.html.tmpl:207 +msgctxt "Place Name" +msgid "Slovenia" +msgstr "Slovenië" + +#: src/countries.go:70 src/templates/banknotes-codes.html.tmpl:108 +#: src/templates/banknotes-codes.html.tmpl:195 +msgctxt "Place Name" +msgid "Slovakia" +msgstr "Slowakije" + +#: src/countries.go:71 +msgctxt "Place Name" +msgid "San Marino" +msgstr "San Marino" + +#: src/countries.go:72 +msgctxt "Place Name" +msgid "Vatican City" +msgstr "Vaticaanstad" + +#: src/templates/collecting-crh.html.tmpl:62 +msgid "" +"The Austrian National Bank does not distribute circulated rolls but sells " +"rolls of commemorative coins at face value on release as well as " +"uncirculated rolls for all denominations." +msgstr "" + +#: src/templates/index.html.tmpl:15 +msgid "cash" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:28 +msgid "" +"Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if " +"the coin was dropped into a box (normally adding a coin should be silent " +"after you throw it in). This means the coin was not added to the stack " +"properly, and so it will not be returned. Pay attention to this noise, " +"because you won’t be getting the stopper back. Throw in another marked coin " +"instead until the machine accepts the coin." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:26 +msgid "Austrian €0.20 coin" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:48 +msgid "" +"Coin slips are also pretty space efficient, and can be easily stacked in " +"boxes for compact storage. Many collectors also like to write notes about " +"their coins on the flips. There also exist special sheets for coin albums " +"that allow you to put in flipped coins, but this is more expensive and less " +"space-efficient than simply using flips or an album without flips." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:267 +#: src/templates/banknotes-codes.html.tmpl:393 +msgctxt "Header/Label" +msgid "Printer" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:104 +msgctxt "Header/Label" +msgid "Filter" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:217 +msgid "Madrid" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:244 +msgctxt "Company Name" +msgid "Mint of Finland" +msgstr "" + +#: src/templates/about.html.tmpl:8 +msgid "About Us" +msgstr "" + +#: src/templates/-navbar.html.tmpl:97 +msgctxt "Navbar Label" +msgid "Language" +msgstr "Taal" + +#: src/templates/banknotes.html.tmpl:39 +msgid "Find out where your notes were printed" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:13 +msgid "Andorran €0.50 coin" +msgstr "" + +#: src/templates/jargon.html.tmpl:34 +msgid "BU — Brilliantly Uncirculated" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:69 +msgid "" +"The design of the Estonian euro coins was chosen as part of a {Link:L}" +"Eurovision{-:E}-style public televote where it competed and won against 9 " +"other designs." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:145 +msgid "Mai Järmut, Villu Järmut" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:35 +msgid "Euro Coin Mintages" +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:30 +msgid "Belgian €1 coin (King Albert; Series 2)" +msgstr "" + +#. TRANSLATORS: Name of a coin design. Don’t translate unless you use a non-latin script +#: src/templates/coins-designs-ee.html.tmpl:103 +msgctxt "Coin Design" +msgid "Hara 2" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:111 +msgctxt "Coin Design" +msgid "Consistency" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:138 +msgid "Jaak Peep, Villem Valme" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:471 +msgctxt "Company Name" +msgid "Rabobank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:483 +msgid "Coin bags are sold with no additional fees to everyone." +msgstr "" + +#: src/dbx/sql/last.sql:137 src/dbx/sql/last.sql:140 src/dbx/sql/last.sql:143 +#: src/dbx/sql/last.sql:146 src/dbx/sql/last.sql:149 +msgctxt "CC Name" +msgid "German Reunification" +msgstr "" + +#: src/templates/coins.html.tmpl:47 +msgid "View all the known Euro varieties" +msgstr "" + +#: src/templates/banknotes.html.tmpl:47 +msgid "Learn about the special test notes" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:39 +msgid "" +"Capsules can be a bit pricey, but are reusable and are very durable. They " +"also come in different sizes, so make sure you get the right size for your " +"coins." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:84 +msgid "Coins in a reusable roll" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:55 +msgid "2002 Series Printer Codes" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:411 +msgctxt "Company Name" +msgid "Oberthur Fiduciaire AD" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:291 +msgctxt "Company Name" +msgid "Crédit Agricole" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:119 +msgctxt "Coin Design" +msgid "In the Body" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:43 +msgid "Additional Notes" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:150 +msgid "" +"You can obtain regular and commemorative coins for face value including 5-, " +"10- and 20 euro coins. You do not need to be a customer although depending " +"on your branch you may need to make an appointment. The purchase of coins " +"can only be done with cash." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:503 +msgid "" +"You can purchase commemorative coins for face value, and coin rolls are sold " +"with no fees to everyone." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:525 +msgid "" +"We currently have no information regarding coin roll hunting in San Marino." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:55 +msgid "Maximum Change Limit" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:18 +msgid "Croatian €2 coin" +msgstr "" + +#: src/templates/jargon.html.tmpl:42 +msgid "" +"NIFC coins are coins minted without the intention of being put into general " +"circulation. These coins are typically minted with the purpose of being put " +"into coincards or sets to be sold to collectors. Occasionally they are also " +"handed out to collectors for face value at banks." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:373 +#: src/templates/banknotes-codes.html.tmpl:418 +msgctxt "Company Name" +msgid "Valora S.A." +msgstr "" + +#: src/templates/about.html.tmpl:11 +msgid "Open Source" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:19 +msgid "Austrian €0.05 coin" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:28 +msgid "Casa de la Vall" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:110 +#: src/templates/coins-mintages.html.tmpl:148 +msgid "Standard Issue Coins" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:37 +msgid "Country-Specific Details" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:313 +msgid "" +"Coin rolls can be obtained with no fee, but you may need to present your ID. " +"The latest commemorative coins are also sold for face value." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:490 +msgid "Coin bags are sold with no additional fees to bank customers." +msgstr "" + +#: src/templates/coins-designs-cy.html.tmpl:8 +msgid "Cypriot Euro Coin Designs" +msgstr "" + +#: src/templates/about.html.tmpl:19 +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/collecting.html.tmpl:46 +msgid "Shop Hunting" +msgstr "Winkeljacht" + +#: src/templates/coins-designs-hr.html.tmpl:25 +msgid "" +"The 1c, 2c and 5c coins were designed by Maja Škripelj and feature a motif " +"of the letters ‘ⰘⰓ’ from the {Link:L}Glagolitic script{-:E} – an old Slavic " +"script that saw use in Croatia up until the 19th century – representing " +"Croatia’s country code (‘HR’ in the Latin alphabet)." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:307 +msgctxt "Company Name" +msgid "De La Rue" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:119 +msgid "Rolls can be obtained with no fee by customers only" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:203 +msgctxt "Company Name" +msgid "Santander Bank" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:275 +msgctxt "Company Name" +msgid "CIC" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:320 +msgid "" +"Coin bags are available without fees for everyone. Smaller denominations are " +"often not given out, and the coin bags you recieve are very large (there are " +"reports of €1 bags containing 250 coins)." +msgstr "" + +#: src/templates/-navbar.html.tmpl:43 +msgctxt "Navbar Label" +msgid "Home" +msgstr "Thuis" + +#: src/templates/collecting-vending.html.tmpl:61 +msgid "" +"Even if no limits are listed, it’s still advised that you exercise caution: " +"it is not uncommon for a vending machine to steal your money. In the case " +"that a vending machine does steal your money, look for a label on the " +"machine that contains a support number." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:68 +msgid "Capsules in a case" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:247 +msgid "" +"The Mint of Finland ceased all operations in late 2024 but still sells coins " +"on their website." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:402 +msgid "" +"In general coin rolls are sold with for fee of €0.60 per roll, but we’re " +"lacking a lot of information." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:18 +msgid "" +"First, you want to make sure the vending machine you come across actually " +"gives back change – sometimes they don’t! Throw in a 10c coin and press the " +"return button. If it doesn’t give the coin back, you can move on to the next " +"machine; there’s a high chance it won’t return higher denominations either. " +"Next throw in a random €2 coin and press the return button. You should do " +"this because vending machines may not return €2 coins, but rather €1 or 50c " +"coins instead. It’s better to find out immediately as opposed to later once " +"you’ve already put in all of your €2 coins." +msgstr "" + +#: src/templates/collecting.html.tmpl:48 +msgid "Learn about how to collect coins from shops" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:37 +msgid "" +"The two bimetallic coins feature the busts of the musical composer Wolfgang " +"Amadeus Mozart on the €1 coin, and the Austrian pacifist and Nobel Peace " +"Prize winner Bertha von Suttner on the €2 coin." +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:19 +msgid "" +"The German euro coins feature three different designs. A unique feature of " +"German euro coins are the mint marks on each coin that denote in which city " +"a given coin was minted. Germany has five active mints that produce Euro " +"coins, which are denoted in the table below." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:309 +msgid "" +"{EmphStart:r}NOTE{EmphEnd:E}: The Bank of Greece (Greece’s central bank) is " +"NOT the same as the National Bank of Greece (a commercial bank)." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:388 +msgid "" +"We currently have no information regarding regular coins, however their " +"webshop sells commemorative coins. Commemorative coins are also available " +"for purchase in-person." +msgstr "" + +#: src/templates/coins-designs-cy.html.tmpl:20 +msgid "" +"The Cypriot euro coins feature 3 different designs across the three " +"different coin types (bronze, gold and bimetallic). Along with each design’s " +"unique motif, all designs feature the country’s name in both of the island’s " +"official languages (Greek: ‘{GreekStart:r}ΚΥΠΡΟΣ{LangEnd:E}’, Turkish: " +"‘{TurkishStart:r}KIBRIS{LangEnd:E}’)." +msgstr "" + +#: src/dbx/sql/last.sql:152 +msgctxt "CC Name" +msgid "Ľudovít Štúr" +msgstr "" + +#: src/templates/jargon.html.tmpl:27 +msgid "General Terms" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:21 +msgid "" +"Albums can be an affordable way to store your coins, but higher-end albums " +"can be a bit expensive. Also remember to always ensure that your albums do " +"not contain any PVC." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:357 +#: src/templates/banknotes-codes.html.tmpl:439 +msgctxt "Company Name" +msgid "Federal Printing Office" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:414 +msgctxt "Company Name" +msgid "Central Bank of Malta" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:444 +msgid "" +"1- and 2 cent coins have been removed from circulation and cannot be " +"obtained." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:40 +msgid "Non-Merging" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:53 +msgid "" +"The €1 coin features the Casa 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/jargon.html.tmpl:45 +msgid "" +"While uncommon, NIFC coins are occasionally found in circulation. This can " +"happen for a variety of reasons such as someone depositing their coin " +"collection (known as a ‘collection dump’) or a collector’s child spending " +"their rare coins on an ice cream. Some coin mints have also been known to " +"put NIFCs that have gone unsold for multiple years into circulation." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:58 +msgid "" +"In case you’re looking for some inspiration on how to store your " +"collections, here are some examples:" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:294 +msgctxt "Header/Label" +msgid "Unknown" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:354 +msgid "" +"There are coin roll machines but it is unknown if you need to be a customer " +"or if there are additional fees." +msgstr "" + +#: src/templates/language.html.tmpl:46 src/templates/language.html.tmpl:85 +msgid "Eurozone Languages" +msgstr "Talen van de eurozone" + +#: src/templates/jargon.html.tmpl:51 +msgid "" +"Post-mint damage is any damage that a coin has sustained outside of the " +"minting process, such as through being dropped on the ground, hit against a " +"table, etc." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:44 +msgid "" +"Coin flips, also known as ‘2×2’ flips by some Americans are small cardboard " +"flips with a plastic covered hole in the middle for viewing. Most coin flips " +"are stapled, meaning you put your coin in the flip and staple it shut. These " +"kinds of flips are very cheap, and you can buy stacks of a few hundred for " +"only a few euros. If you don’t like the staples though, you can also buy " +"adhesive-flips that glue themselves shut. These flips are more expensive, " +"but also look better than their stapled equivalents." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:347 +msgid "Coin rolls are available to everyone." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:377 +msgid "Fee of €2 per roll of 2 euro coins." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:23 +msgid "" +"We want to be able to know when we’ve gone through all the coins in the " +"vending machine. To do this, take out a coin and mark it with something " +"(drawing on it with a Sharpie works well), then put it into the machine. " +"Next time you get the same coin back, you know you’ve gone through " +"everything." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:12 +msgid "Andorran €0.01 coin" +msgstr "" + +#: src/templates/coins-designs.html.tmpl:25 +msgid "Euro Coin Designs" +msgstr "Euromuntontwerpen" + +#: src/templates/coins-designs-de.html.tmpl:26 +msgctxt "Header/Label" +msgid "Mintmark" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:101 +msgctxt "Header/Label" +msgid "Proof Coins" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:127 +msgid "" +"Rolls can be obtained with no fee when you order through their online " +"platform." +msgstr "" + +#. TRANSLATORS: City in Spain +#: src/templates/collecting-crh.html.tmpl:213 +msgid "Alicante" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:38 +msgid "" +"The €2 coin was designed by Ivan Šivak and features the map of Croatia. The " +"coin also has an edge-inscription that reads ‘{CroatianStart:r}O LIJEPA O " +"DRAGA O SLATKA SLOBODO{CroatianEnd:E}’ (English: ‘OH BEAUTIFUL, OH DEAR, OH " +"SWEET FREEDOM’) which is a line from the play {Link:L}Dubravka{-:E} by Ivan " +"Gundulić." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:71 +msgid "Cigarette Machines" +msgstr "" + +#: src/templates/about.html.tmpl:17 +msgid "Contact Us" +msgstr "" + +#: src/templates/collecting.html.tmpl:54 +msgid "Vending Machine Hunting" +msgstr "Verkoopautomatenjacht" + +#: src/templates/-base.html.tmpl:55 +msgid "Feel free to contact us!" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:336 +#: src/templates/banknotes-codes.html.tmpl:468 +#: src/templates/collecting-crh.html.tmpl:198 +msgctxt "Company Name" +msgid "Royal Mint of Spain" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:87 +#: src/templates/coins-designs-ee.html.tmpl:97 +#: src/templates/coins-designs-ee.html.tmpl:144 +msgctxt "Header/Label" +msgid "Name" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:360 +msgctxt "Company Name" +msgid "Bank of Lithuania" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:24 +msgid "Andorran landscapes, nature, fauna and flora" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:305 +msgctxt "Place Name" +msgid "United Kingdom" +msgstr "Verenigd Koninkrijk" + +#: src/templates/banknotes-codes.html.tmpl:364 +#: src/templates/banknotes-codes.html.tmpl:496 +#: src/templates/collecting-crh.html.tmpl:99 +msgctxt "Company Name" +msgid "National Bank of Belgium" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:133 +msgctxt "Company Name" +msgid "Bank of Cyprus" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:317 +msgctxt "Company Name" +msgid "Piraeus Bank" +msgstr "" + +#: src/templates/-error.html.tmpl:15 +msgid "" +"If this issue persists, don’t hesitate to contact ‘@onetruemangoman’ on " +"Discord or to email us at {Email:e}" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:13 +msgid "Croatian €0.01 coin" +msgstr "" + +#: src/templates/coins-designs-nl.html.tmpl:37 +msgid "" +"Coins featuring both monarchs contain text reading ‘{DutchStart:r}BEATRIX " +"KONINGIN DER NEDERLANDEN{DutchEnd:E}’ (English: ‘BEATRIX QUEEN OF THE " +"NETHERLANDS’) and ‘{DutchStart:r}Willem-Alexander Koning der " +"Nederlanden{DutchEnd:E}’ (English: ‘Willem-Alexander King of the " +"Netherlands’) respectively. The €2 coins also feature an edge-inscription " +"reading ‘{DutchStart:r}GOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆{DutchEnd:E}’ (English: ‘GOD ⋆ " +"IS ⋆ WITH ⋆ US ⋆’)." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:27 +msgid "Austrian €0.50 coin" +msgstr "" + +#: src/templates/jargon.html.tmpl:15 +msgid "Euro Cash Jargon" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:54 +msgid "" +"The 1c, 2c and 5c coins display an oak twig similar to that found on the " +"former Pfennig coins of the German Mark (Germany’s pre-Euro currency). The " +"mint mark and year are located on the left- and right-hand sides of the oak " +"twig’s stem." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:137 +msgid "" +"At the Bank of Cyprus it is possible to buy bags of coins without being a " +"customer, and without paying any additional fees. Depending on the branch " +"you visit there may be a coin roll machine available. Do note that the bags " +"provided by the Bank of Cyprus are much larger than what is typically found " +"elsewhere in the Eurozone with €2.00 bags containing 50 coins and the other " +"denomination bags containing 100 coins." +msgstr "" + +#: src/templates/banknotes.html.tmpl:22 +msgid "" +"On this section of the site you can find everything there is to know about " +"the banknotes of the Eurozone." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:23 +msgid "€0.01, €0.02 and €0.05" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:475 +msgctxt "Company Name" +msgid "Giesecke+Devrient Leipzig" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:152 +msgctxt "Coin Design" +msgid "Bird Road" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:97 +msgctxt "Header/Label" +msgid "Circulation Coins" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:509 +msgctxt "Company Name" +msgid "National Bank of Slovakia" +msgstr "" + +#: src/templates/-navbar.html.tmpl:48 +msgctxt "Navbar Label" +msgid "Jargon" +msgstr "Jargon" + +#: src/templates/-error.html.tmpl:12 +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/collecting.html.tmpl:39 +msgid "Learn about the different methods to storing your collection" +msgstr "" + +#: src/templates/collecting.html.tmpl:56 +msgid "Learn about collecting coins from vending machines" +msgstr "" + +#: src/templates/jargon.html.tmpl:19 +msgid "" +"Both on this website and in other related forums you will come across many " +"terms that you may not be familiar with. This page will hopefully get you up " +"to speed with the most important and frequently-used terminology." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:88 +msgid "Flips in an album" +msgstr "" + +#: src/templates/-base.html.tmpl:11 +msgid "Euro Cash Wiki" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:50 +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/collecting-vending.html.tmpl:42 +msgid "" +"The vending machine does not merge change together. This means if you throw " +"in five 50c coins it will return five 50c coins. This makes it very easy to " +"hunt a large amount of a specific denomination." +msgstr "" + +#: src/templates/coins-designs.html.tmpl:29 +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/banknotes-codes.html.tmpl:482 +msgctxt "Company Name" +msgid "Giesecke+Devrient Munich" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:57 +msgid "" +"The 10c, 20c and 50c coins feature the Brandenburg Gate, a symbol of Berlin " +"and of Germany as a whole, but also a symbol of German division and unity. " +"The mint mark is located below the year." +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:191 +#: src/templates/coins-mintages.html.tmpl:228 +msgctxt "Header/Label" +msgid "Mintage" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:11 +msgid "What is ‘Coin Roll Hunting’?" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:147 +msgctxt "Company Name" +msgid "German Federal Bank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:259 +msgid "" +"Coin roll machines are uncommon, only some banks have them and you typically " +"need to be a customer. You may also need to order coin rolls in advance." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:32 +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 name of the " +"Principality (‘ANDORRA’) along the outer portion of the design with the year " +"of issue written underneath." +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:186 +#: src/templates/coins-mintages.html.tmpl:223 +msgid "Commemorative Coins" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:104 +msgid "" +"You can visit the National Bank of Belgium in Brussels as an EU citizen. You " +"can order coin rolls for no fee up to €2000 in value. They seem to " +"distribute only uncirculated coins and no commemoratives." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:112 +msgid "" +"There is a €1.50 fee per transaction with no limit on the number of rolls " +"you may take." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:367 +msgctxt "Company Name" +msgid "ExchangeLT" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:370 +msgid "Coin rolls are available with a fee of 5%." +msgstr "" + +#: src/dbx/sql/last.sql:136 src/dbx/sql/last.sql:139 src/dbx/sql/last.sql:142 +#: src/dbx/sql/last.sql:145 src/dbx/sql/last.sql:148 +msgctxt "CC Name" +msgid "Hessen" +msgstr "" + +#: src/templates/coins.html.tmpl:45 +msgid "Varieties" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:51 +msgid "Maximum Input Limit" +msgstr "" + +#: src/templates/banknotes.html.tmpl:18 +msgid "Euro Banknotes" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:16 +msgid "Andorran €1 coin" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:98 +#: src/templates/banknotes-codes.html.tmpl:141 +#: src/templates/banknotes-codes.html.tmpl:185 +#: src/templates/banknotes-codes.html.tmpl:265 +#: src/templates/banknotes-codes.html.tmpl:391 +#: src/templates/coins-mintages.html.tmpl:56 +#: src/templates/coins-mintages.html.tmpl:62 +#: src/templates/coins-mintages.html.tmpl:152 +#: src/templates/coins-mintages.html.tmpl:226 +msgctxt "Header/Label" +msgid "Country" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:39 +msgid "" +"Below you can find country-specific details we have regarding obtaining coin " +"rolls. We lack a lot of information for many of the countries, so if you " +"have any additional information such as your banks fees, the availability of " +"coin roll machines, etc. feel free to contact us! You can find our contact " +"information {Link:l}here{-:E}." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:181 +msgctxt "Company Name" +msgid "Bank of Estonia Museum" +msgstr "" + +#: src/templates/index.html.tmpl:22 +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/coins-designs-ad.html.tmpl:35 +msgid "" +"The Andorran 1c, 2c and 5c 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/-base.html.tmpl:54 +msgid "Found a mistake or want to contribute missing information?" +msgstr "" + +#. TRANSLATORS: As in ‘5 Euro Banknote’ +#: src/templates/banknotes-codes.html.tmpl:512 +msgid "{N} Euro" +msgid_plural "{N} Euro" +msgstr[0] "" +msgstr[1] "" + +#: src/templates/coins-designs-fi.html.tmpl:13 +msgid "Finnish €1.00 coin" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:64 +msgid "" +"For information on Austrian cigarette machines, see the ‘{LinkStart:r}" +"Cigarette Machines{LinkEnd:E}’ section." +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:46 +#: src/templates/coins-designs-be.html.tmpl:51 +msgid "2008 portrait of King Albert II" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:17 +msgid "" +"Coin albums are one of the most popular ways of storing coins. In a coin " +"album you have multiple coin sheets. These sheets are plastic pages with " +"slots that you can put your coins in to keep them protected. When searching " +"for sheets for your album it is very important to ensure that they do not " +"contain any PVC which will damage your coins. Some albums will come with " +"sheets already included." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:35 +msgid "" +"Coin capsules are plastic capsules you can put your coin in. They offer good " +"protection to your coins, while still allowing you to view all parts of your " +"coin easily, including the edge engravings and inscriptions. Capsules are " +"also far more durable than flips, and can be opened and closed repeatedly " +"allowing for reuse, something not typically possible with coin flips." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:90 +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/coins-designs-ee.html.tmpl:92 +#: src/templates/coins-designs-ee.html.tmpl:106 +#: src/templates/coins-designs-ee.html.tmpl:114 +#: src/templates/coins-designs-ee.html.tmpl:122 +#: src/templates/coins-designs-ee.html.tmpl:131 +#: src/templates/coins-designs-ee.html.tmpl:140 +#: src/templates/coins-designs-ee.html.tmpl:147 +#: src/templates/coins-designs-ee.html.tmpl:155 +#: src/templates/coins-designs-ee.html.tmpl:163 +#: src/templates/coins-designs-ee.html.tmpl:172 +#: src/templates/coins-designs-ee.html.tmpl:180 +msgctxt "Header/Label" +msgid "Votes (%)" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:99 +msgctxt "Header/Label" +msgid "NIFC and BU Coins" +msgstr "" + +#: src/templates/-navbar.html.tmpl:53 +msgctxt "Navbar Label" +msgid "Discord" +msgstr "Discord" + +#: src/templates/jargon.html.tmpl:59 +msgid "UNC — Uncirculated" +msgstr "" + +#: src/templates/jargon.html.tmpl:61 +msgid "" +"Uncirculated coins are coins that have never been used in a monetary " +"exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very " +"good condition, but this is incorrect. A coin in poor condition that has " +"never been circulated is still considered an ‘UNC’ coin." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:47 +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/banknotes-codes.html.tmpl:72 +msgid "Europa Series Printer Codes" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:79 +msgctxt "Company Name" +msgid "Erste Bank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:351 +msgctxt "Company Name" +msgid "Banca di Cambiano" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:80 +msgid "Coins in an album with labels" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:279 +msgctxt "Company Name" +msgid "SETEC" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:383 +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/-navbar.html.tmpl:47 +msgctxt "Navbar Label" +msgid "Banknotes" +msgstr "Bankbiljetten" + +#: src/templates/collecting-vending.html.tmpl:16 +msgid "The Test Coins" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:43 +msgctxt "Place Name" +msgid "Karlsruhe" +msgstr "Karlsruhe" + +#: src/templates/coins-designs-ee.html.tmpl:112 +#: src/templates/coins-designs-ee.html.tmpl:153 +msgid "Tiit Jürna" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:408 +msgid "We currently have no information regarding coin roll hunting in Monaco." +msgstr "" + +#: src/dbx/sql/last.sql:138 src/dbx/sql/last.sql:141 src/dbx/sql/last.sql:144 +#: src/dbx/sql/last.sql:147 src/dbx/sql/last.sql:150 src/dbx/sql/last.sql:153 +#: src/dbx/sql/last.sql:154 src/dbx/sql/last.sql:157 +msgctxt "CC Name" +msgid "EU Flag" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:33 +msgid "We generally identify between two main types of vending machines." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:36 +msgid "Merging" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:73 +msgid "" +"In some countries where cigarette machines are legal, you can hunt through " +"them as well. Unless you’re in Malta, you must verify your age on them by " +"either sliding an ID card through a sensor or holding a debit card on an " +"RFID scanner; you must do this for every cycle. Sometimes you must also " +"select something to purchase, throw in less money than the cost, and then " +"cancel the purchase. Note that most cigarette machines in Austria have a " +"€4.90 max change limit." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:42 +msgid "Coin Flips" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:14 +msgid "German €0.01 coin" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:91 +#: src/templates/coins-designs-ee.html.tmpl:105 +#: src/templates/coins-designs-ee.html.tmpl:113 +#: src/templates/coins-designs-ee.html.tmpl:121 +#: src/templates/coins-designs-ee.html.tmpl:130 +#: src/templates/coins-designs-ee.html.tmpl:139 +#: src/templates/coins-designs-ee.html.tmpl:146 +#: src/templates/coins-designs-ee.html.tmpl:154 +#: src/templates/coins-designs-ee.html.tmpl:162 +#: src/templates/coins-designs-ee.html.tmpl:171 +#: src/templates/coins-designs-ee.html.tmpl:179 +msgctxt "Header/Label" +msgid "Votes" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:104 +msgid "Lembit Lõhmus" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:236 +msgctxt "Company Name" +msgid "Bank of Finland" +msgstr "" + +#: src/templates/index.html.tmpl:14 +msgid "diversity" +msgstr "" + +#: src/templates/-404.html.tmpl:8 +msgid "Page Not Found" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:38 +msgid "" +"The vending machine merges change together. For example if you throw in five " +"50c coins, the machine returns either two €1 coins and one 50c coin or one " +"€2 and one 50c coin. This usually means you can hunt €2 coins very quickly " +"but other denominations only once at a time. A good tip is to throw in an " +"odd number of euros and €0.80 if you want to search through all " +"denominations." +msgstr "" + +#: src/templates/jargon.html.tmpl:67 +msgid "CRH — Coin Roll Hunting" +msgstr "" + +#. TRANSLATORS: Name of a coin design. Don’t translate unless you use a non-latin script +#: src/templates/coins-designs-ee.html.tmpl:128 +msgctxt "Coin Design" +msgid "Tomson 5791" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:326 +msgid "" +"We currently have no information regarding coin roll hunting in Croatia." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:374 +msgctxt "Company Name" +msgid "Top Exchange" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:487 +msgctxt "Company Name" +msgid "Banco Comercial Português" +msgstr "" + +#. TRANSLATORS: Beginning of sentence, as in ‘United in …’ +#: src/templates/index.html.tmpl:13 +msgid "United in" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:78 +msgid "" +"For RFID scanner machines it helps to wear a glove and slide a debit card " +"into the back of it so you can easily use both hands and don’t have to " +"fumble with a card and coins." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:24 +msgid "Coin Boxes" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:97 +#: src/templates/banknotes-codes.html.tmpl:140 +#: src/templates/banknotes-codes.html.tmpl:184 +#: src/templates/banknotes-codes.html.tmpl:264 +#: src/templates/banknotes-codes.html.tmpl:390 +msgctxt "Header/Label" +msgid "Code" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:8 +msgid "German Euro Coin Designs" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:65 +msgid "" +"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}’)." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:251 +msgctxt "Company Name" +msgid "Aktia Bank" +msgstr "" + +#: src/templates/language.html.tmpl:45 src/templates/language.html.tmpl:79 +msgid "Select Your Language" +msgstr "Kies uw taal" + +#: src/templates/coins-designs-be.html.tmpl:57 +msgid "" +"In 2008 a second series of coins was released featuring a slightly modified " +"design in which the royal monogram was moved to the inner portion of the " +"coin along with the year of mintage in order to comply with the European " +"Commission’s guidelines. The country code ‘BE’ was also added to the design " +"underneath the royal monogram. The 2008 redesign also saw the use of a " +"slightly modified portrait of the King, but this design change was reverted " +"in 2009." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:24 +msgid "Getting Started" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:226 +msgid "" +"Coin rolls have no fees and can be purchased with cash. You allegedly do not " +"need to be a customer, but this needs to be verified." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:278 +#: src/templates/collecting-crh.html.tmpl:286 +msgid "" +"Free coin rolls if you are a customer or €1 per roll if you are not a " +"customer. There are coin roll machines." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:332 +msgid "" +"In general, coin rolls are available at banks with a fee of €1 per roll; " +"rolls could potentially have no fee if you only need a few." +msgstr "" + +#: src/templates/-404.html.tmpl:12 +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-designs-hr.html.tmpl:33 +msgid "" +"The €1 coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and " +"features a marten. The marten is the semi-official national animal of " +"Croatia and the Kuna – their pre-Euro currency – was named after the marten " +"(‘{CroatianStart:r}kuna zlatica{CroatianEnd:E}’ in Croatian)." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:8 +msgid "Andorran Euro Coin Designs" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:13 +msgid "" +"Coin roll hunting is a popular method of coin collecting in which you " +"withdraw cash from your bank in the form of coins and then search through " +"those coins to find new additions to your collection. Once you’ve searched " +"through all your coins, you will typically deposit your left over coins at " +"the bank and withdraw new coins." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:300 +msgid "" +"There are coin roll machines but it is not yet known if you need to be a " +"customer or if there are fees." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:286 +#: src/templates/banknotes-codes.html.tmpl:404 +msgctxt "Company Name" +msgid "Oberthur" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:47 +msgctxt "Place Name" +msgid "Hamburg" +msgstr "Hamburg" + +#: src/templates/coins-designs-ee.html.tmpl:55 +msgid "Estonian Euro Coin Designs" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:209 +msgctxt "Company Name" +msgid "BBVA" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:42 +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/coins-designs-de.html.tmpl:25 +msgctxt "Header/Label" +msgid "City" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:129 +msgid "Taavi Torim" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:30 +msgid "" +"It is also important to find details regarding the deposit of coins. " +"Depositing coins often also requires the payment of a fee – one which is " +"typically more expensive than the withdrawal fees. If depositing your coins " +"is too expensive you can always exchange your left over coins at shops for " +"banknotes. It is often cheaper (or even free) to deposit banknotes." +msgstr "" + +#. TRANSLATORS: The OeNB prefers ‘Oe’ over ‘Ö’ +#: src/templates/collecting-crh.html.tmpl:59 +msgctxt "Company Name" +msgid "Austrian National Bank" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:269 +msgctxt "Company Name" +msgid "Caisse d’Épargne" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:396 +msgid "You should be able to get coin rolls with no additional fees." +msgstr "" + +#: src/templates/language.html.tmpl:47 src/templates/language.html.tmpl:90 +msgid "Other Languages" +msgstr "Andere talen" + +#: src/templates/coins-designs-hr.html.tmpl:8 +msgid "Croatian Euro Coin Designs" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:88 +msgid "2002 Series" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:363 +msgid "" +"Allegedly, coin rolls are only available for businesses, but this needs " +"additional confirmation." +msgstr "" + +#: src/templates/coins.html.tmpl:39 +msgid "View the mintage figures of all the Euro coins" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:57 +msgid "All these images are taken from {Link:L}eurobilltracker.com{-:E}." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:85 +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:350 +msgctxt "Company Name" +msgid "Giesecke+Devrient" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:82 +msgid "" +"There is a fee of €0.10 per roll. You must be a customer to use machines to " +"get rolls. Rolls have no fees when purchased at counters, but you will " +"probably be redirected to the machines if they work. You must present an " +"Erste Bank card to buy rolls from machines, however payment in cash is still " +"accepted." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:93 +msgid "" +"There is a fee of €1 per roll if you aren’t a customer and €0.30 otherwise. " +"Coin deposits are free for customers." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:232 +msgid "" +"Finland has no coin roll machines, but you can find vending machines or coin " +"exchange machines that accept cash (although they can be rather rare)." +msgstr "" + +#: src/templates/coins.html.tmpl:22 +msgid "" +"On this section of the site you can find everything there is to know about " +"the coins of the Eurozone." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:13 +msgid "" +"‘Vending machine hunting’ is a strategy of collecting coins whereby you " +"continuously insert coins into a vending machine and cancel the transaction " +"by pressing the return button. When the vending machine returns your coins " +"to you, you will often get different coins from the ones you put in, and you " +"can repeat this process until you’ve searched through every coin in the " +"machine." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:17 +msgid "Austrian €0.01 coin" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:12 +msgid "" +"There are many different methods of storing your collecting, each with their " +"own benefits and drawbacks. This page will describe the most common methods " +"collectors use to store their coins, as well as the pros and cons of each " +"method." +msgstr "" + +#. TRANSLATORS: On the German page the filter is called ‘Münzrollengeber’. For other languages we link to the English site, so mention the English filter name surrounded by ‘{EnglishStart:r}’ and ‘{EnglishEnd:E}’, and also translate it in parenthesis to your language. For example the Swedish page might say: ‘”{EnglishStart:r}coin roll dispenser{EnglishEnd:E}” (svenska: ”myntrullsautomat”)’ +#: src/templates/collecting-crh.html.tmpl:73 +msgid "" +"There is a fee of €0.20 per roll which can be purchased with cash at " +"machines. These machines are available to everyone but not in all branches. " +"Look for the ‘coin roll dispenser’ filter option {Link:L}here{-:E}." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:90 +msgctxt "Company Name" +msgid "Raiffeisen Bank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:205 +msgid "Coin rolls are free but you must be a customer." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:519 +msgid "" +"You can get an unlimited number of rolls for a €5 fee. You must be a " +"customer of the bank." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:12 +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:38 +#: src/templates/banknotes.html.tmpl:37 +msgid "Location Codes" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:31 +msgctxt "Place Name" +msgid "Berlin" +msgstr "Berlijn" + +#: src/dbx/sql/last.sql:151 +msgctxt "CC Name" +msgid "Slovak Republic to the EU" +msgstr "" + +#: src/templates/coins.html.tmpl:18 +msgid "Euro Coins" +msgstr "" + +#: src/templates/coins-designs-nl.html.tmpl:8 +msgid "Dutch Euro Coin Designs" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:33 +msgid "Austrian €1 coin" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:314 +#: src/templates/banknotes-codes.html.tmpl:446 +#: src/templates/collecting-crh.html.tmpl:344 +msgctxt "Company Name" +msgid "Bank of Italy" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:329 +#: src/templates/banknotes-codes.html.tmpl:461 +#: src/templates/collecting-crh.html.tmpl:263 +msgctxt "Company Name" +msgid "Bank of France" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:343 +#: src/templates/banknotes-codes.html.tmpl:489 +#: src/templates/collecting-crh.html.tmpl:306 +msgctxt "Company Name" +msgid "Bank of Greece" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:161 +msgid "Jaarno Ester" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:86 +msgid "" +"Depositing coins is free up to €100 a day, at which point you pay 1% for any " +"additionally deposited coins. You must also be a customer. Depositing coins " +"is free for all Erste Bank customers at Dornbirner Sparkasse with no limit." +msgstr "" + +#: src/templates/jargon.html.tmpl:39 +msgid "NIFC — Not Intended For Circulation" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:30 +msgid "" +"Boxes are quite space-inefficient and are one of the most expensive ways to " +"store your coins, but at the same time they offer a great visual appeal." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:516 +msgid "Printer code on a {N} euro bill" +msgid_plural "Printer code on a {N} euro bill" +msgstr[0] "" +msgstr[1] "" + +#: src/templates/collecting-crh.html.tmpl:34 +msgid "" +"In some countries such as Austria it is even common to be able to withdraw " +"new coins from your account using other coins." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:54 +msgid "" +"Coin rolls can be obtained from Andbank, Creand and MoraBanc. All three of " +"these banks require that you are a customer to get rolls, however there have " +"been reports of individuals managing to get rolls without any fees and " +"without being a customer by simply asking kindly at the bank." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:143 +msgid "" +"Coin roll availability and their related fees may vary across banks and " +"branches. Unless specified otherwise, you must be a customer to purchase " +"coin rolls." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:177 +msgid "" +"Obtaining coin rolls in Estonia is typically quite difficult and often " +"expensive. You also generally need to make an appointment in advance." +msgstr "" + +#: src/templates/banknotes.html.tmpl:45 +msgid "Test Notes" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:164 +msgid "" +"Coin rolls can be obtained for a fee of €0.50–€1.50 per roll. The amount " +"varies per branch." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:215 +msgid "" +"Coin rolls have a fee of €2 for 5 rolls. This seems to vary by location." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:464 +msgctxt "Company Name" +msgid "ING" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:474 +msgid "Coin rolls are available for a fee of €7 + €0.50 per roll." +msgstr "" + +#: src/dbx/sql/last.sql:156 +msgctxt "CC Name" +msgid "Fête de la Fédération" +msgstr "" + +#: src/templates/coins.html.tmpl:31 +msgid "View the 600+ different Euro-coin designs" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:48 +msgid "" +"There are some limits to vending machine hunts which you need to be aware of." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:58 +msgid "" +"Some machines will either give back large amounts of change in bills or will " +"not give back large amounts of change at all (usually cigarette machines). " +"Read the labels on all machines carefully since these limits are usually " +"written there." +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:60 +msgid "" +"After his accession to the throne in 2014, Belgium switched to a third " +"series of coins featuring the portrait of King Philippe. As is customary " +"with coins bearing the portraits of monarchs, the direction in which the " +"portrait faces was flipped from the prior series to face right instead of " +"left." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:177 +msgctxt "Coin Design" +msgid "A Flower in the Rye" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:190 +#: src/templates/coins-mintages.html.tmpl:227 +msgctxt "Header/Label" +msgid "Commemorated Topic" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:184 +msgid "" +"You can purchase commemorative coins – including those released years ago – " +"for face value." +msgstr "" + +#: src/templates/about.html.tmpl:13 +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/collecting-storage.html.tmpl:8 +#: src/templates/collecting.html.tmpl:37 +msgid "Coin Storage" +msgstr "Muntopslag" + +#: src/templates/coins-designs-nl.html.tmpl:41 +msgid "" +"The €1 and €2 coins featuring King Willem-Alexander were minted with a much " +"lower {Link:l}relief{-:E} than most euro coins of the same denomination. As " +"a result it is not uncommon for these coins to appear worn after little use " +"in circulation." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:26 +msgid "Andorra’s Romanesque art" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:56 +msgid "Examples" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:45 +msgid "Printer Codes" +msgstr "" + +#. TRANSLATORS: Name of a coin design. Don’t translate unless you use a non-latin script +#: src/templates/coins-designs-ee.html.tmpl:169 +msgctxt "Coin Design" +msgid "Nova" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:178 +msgid "Margus Kadarik" +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:21 +msgid "Belgian Euro Coin Designs" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:18 +msgid "Austrian €0.02 coin" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:33 +msgid "Coin Capsules" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:64 +msgid "Flips in a case" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:72 +msgid "Flips and capsules in a box" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:168 +msgctxt "Company Name" +msgid "Volksbank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:218 +msgid "Coin rolls have no fees." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:254 +msgid "" +"Coin rolls used to be obtainable without fees, however you can no longer " +"obtain rolls." +msgstr "" + +#: src/templates/-navbar.html.tmpl:46 +msgctxt "Navbar Label" +msgid "Coins" +msgstr "Munten" + +#: src/templates/jargon.html.tmpl:49 +msgid "PMD — Post-Mint Damage" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:15 +msgid "German €0.10 coin" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:60 +msgid "Estonian €1 coin" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:85 +#: src/templates/coins-designs-ee.html.tmpl:100 +#: src/templates/coins-designs-ee.html.tmpl:109 +#: src/templates/coins-designs-ee.html.tmpl:117 +#: src/templates/coins-designs-ee.html.tmpl:125 +#: src/templates/coins-designs-ee.html.tmpl:134 +#: src/templates/coins-designs-ee.html.tmpl:143 +#: src/templates/coins-designs-ee.html.tmpl:150 +#: src/templates/coins-designs-ee.html.tmpl:158 +#: src/templates/coins-designs-ee.html.tmpl:166 +#: src/templates/coins-designs-ee.html.tmpl:175 +msgctxt "Header/Label" +msgid "Position" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:90 +#: src/templates/coins-designs-ee.html.tmpl:104 +#: src/templates/coins-designs-ee.html.tmpl:112 +#: src/templates/coins-designs-ee.html.tmpl:120 +#: src/templates/coins-designs-ee.html.tmpl:129 +#: src/templates/coins-designs-ee.html.tmpl:138 +#: src/templates/coins-designs-ee.html.tmpl:145 +#: src/templates/coins-designs-ee.html.tmpl:153 +#: src/templates/coins-designs-ee.html.tmpl:161 +#: src/templates/coins-designs-ee.html.tmpl:170 +#: src/templates/coins-designs-ee.html.tmpl:178 +msgctxt "Header/Label" +msgid "Author(s)" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:171 +msgid "Coin rolls can be obtained for a fee of €0.25 per roll." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:283 +msgctxt "Company Name" +msgid "Crédit Mutuel" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:50 +msgid "" +"The Andorran 10c, 20c and 50c coins 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/jargon.html.tmpl:22 +msgid "" +"All terms defined below can be used as clickable links which highlight the " +"selected term. It is recommended to use these links when sharing this page " +"with others, so that the relevant terms are highlighted." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:120 +msgid "Jaan Meristo" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:297 +msgctxt "Company Name" +msgid "LCL" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:451 +msgid "Obtaining coins from the Dutch Central Bank is not possible." +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:12 +msgid "Finnish €0.01 coin" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:11 +msgid "What is Vending Machine Hunting?" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:76 +msgid "Coins in an album" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:58 +#: src/templates/coins-mintages.html.tmpl:79 +#: src/templates/coins-mintages.html.tmpl:114 +#: src/templates/coins-mintages.html.tmpl:189 +msgctxt "Header/Label" +msgid "Year" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:240 +msgid "" +"It is probably not possible to obtain coin rolls, but this is not confirmed." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:271 +#: src/templates/collecting-crh.html.tmpl:293 +msgid "Coin rolls can be obtained with no fee. You must be a customer." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:496 +msgid "In general there is a €1.20 fee for coin rolls." +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:20 +msgid "" +"The cent coins feature the Finnish heraldic lion that can be found on the " +"{Link:L}Finnish coat of arms{-:E}. It was also found on various Finnish Mark " +"coins from 1921–2001." +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:24 +msgid "" +"The €1 coin features two {Link:L}Whooper swans{-:E} – the national bird of " +"Finland – flying over a Finnish landscape. The coin was designed by Pertti " +"Mäkinen as part of a design contest for a commemorative coin design in 1997 " +"to celebrate the 80th anniversary of Finnish independence." +msgstr "" + +#: src/templates/-navbar.html.tmpl:56 +msgctxt "Navbar Label" +msgid "About" +msgstr "Over ons" + +#: src/templates/coins-designs-hr.html.tmpl:29 +msgid "" +"The 10c, 20c and 50c coins were designed by Ivan Domagoj Račić and feature " +"the portrait of the inventor and engineer {Link:L}Nikola Tesla{-:E}. The " +"design of these coins caused controversy when they were first announced with " +"the National Bank of Serbia claiming that it would be an appropriation of " +"the cultural and scientific heritage of the Serbian people to feature the " +"portrait of someone who ‘declared himself to be Serbian by origin’." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:17 +msgid "Andorran €2 coin" +msgstr "" + +#: src/templates/jargon.html.tmpl:54 +msgid "Relief" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:300 +#: src/templates/banknotes-codes.html.tmpl:432 +msgctxt "Company Name" +msgid "Royal Joh. Enschedé" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:60 +msgid "" +"The €1 and €2 coins feature an interpretation of the German Federal Eagle " +"(German: ‘{GermanStart:r}Bundesadler{GermanEnd:E}’). The eagle is a common " +"motif in German heraldry – including in the {Link:L}German coat of arms{-:E} " +"– and represents strength and freedom. The mint mark is located to the right " +"of the year." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:73 +msgid "" +"In June 2004 a public design competition was announced with a deadline for " +"the 19th of October. A total of 134 designs were submitted by the deadline " +"and of these submissions, 10 were picked by a jury to partake in the public " +"vote over the course of one week. In total, 45,453 people voted and the " +"current design won with a total of 12,482 votes (27.46%)." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:43 +msgid "" +"Be aware of the fact that the information below may be outdated or " +"inaccurate. Many of the details are self-reported." +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:17 +msgid "Croatian €1 coin" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:109 +msgctxt "Company Name" +msgid "Argenta" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:157 +msgid "Hand-rolled coin rolls can be obtained with no additional fees." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:223 +msgctxt "Company Name" +msgid "La Caixa" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:393 +msgctxt "Company Name" +msgid "Dexia" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:419 +msgctxt "Company Name" +msgid "Bank of Valletta" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:426 +msgctxt "Company Name" +msgid "HSBC Bank Malta" +msgstr "" + +#: src/templates/jargon.html.tmpl:29 +msgid "AU — Almost Uncirculated" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:185 +msgctxt "Header/Label" +msgid "Total" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:17 +msgid "" +"This type of coin collecting is often called ‘coin roll hunting’ " +"(abbreviated to ‘CRH’) due to the fact that banks will often provide you " +"with coins in the form of paper-wrapped rolls. You may however find that " +"your coins come in plastic bags instead (common in countries like Ireland)." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:383 +msgctxt "Company Name" +msgid "Central Bank of Luxembourg" +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:8 +msgid "Finnish Euro Coin Designs" +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:17 +msgid "" +"The Finnish euro coins feature 3 different designs: one for the cents, one " +"for the €1 coin and one for the €2 coin. All coins minted between 1999–2006 " +"bear the mintmaster mark ‘M’ for Raimo Makkonen. From 2007 onwards, the " +"mintmaster mark was replaced with the logo of the Mint of Finland and the " +"Finnish country code (‘FI’) was added." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:8 +#: src/templates/collecting.html.tmpl:18 +msgid "Euro Coin Collecting" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:56 +msgid "Finally, the €2 coin features the {Link:L}coat of arms of Andorra{-:E}." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:76 +msgid "" +"The winner of the contest was awarded 50,000 EEK (€3,196) while the other " +"finalists were each awarded 20,000 EEK (€1,278)." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:124 +msgctxt "Company Name" +msgid "Belfius" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:422 +#: src/templates/collecting-crh.html.tmpl:429 +msgid "" +"You can get rolls for a fee of €0.30 per roll. You must order coin rolls " +"through their online platform, and you must be a customer." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:439 +msgid "" +"Banks in the Netherlands do not carry cash, and as such it’s not possible to " +"obtain rolls from bank tellers. If you want to obtain coin rolls you need to " +"use a Geldmaat coin roll machine which can be found in specific branches of " +"GAMMA and Karwei. Geldmaat offers a map on their website where you can " +"search for branches with these machines; you can find that map {Link:L}" +"here{-:E}. Coin rolls are only available to customers of the banks listed " +"below." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:448 +msgctxt "Company Name" +msgid "The Dutch Central Bank" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:456 +msgctxt "Company Name" +msgid "ABN AMRO" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:25 +msgid "€0.10, €0.20 and €0.50" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:269 +#: src/templates/banknotes-codes.html.tmpl:395 +msgctxt "Header/Label" +msgid "Local Names" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:46 +msgid "" +"Most coins from the years 2003–2016 are listed as NIFC coins while other " +"popular sources such as Numista claim they were minted for circulation. For " +"more information on why others are wrong, {Link:l}click here{-:E}." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:26 +msgid "" +"To get started with coin roll hunting you should first contact your bank or " +"check their website to find details regarding coin withdrawal. You will then " +"typically need to go to the bank to pick up your coins. Depending on your " +"bank you may be able to withdraw coins from a machine. Most banks will " +"charge you a small fee per roll and/or transaction." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:116 +msgctxt "Company Name" +msgid "KBC Bank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:193 +msgid "" +"You can purchase individual coins and commemorative coin rolls (even those " +"of other countries). You can watch a video {Link:L}here{-:E} to see how to " +"do it." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:467 +msgid "Coin rolls are available for a fee of €7 + €0.35 per roll." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:512 +msgid "" +"You may be able to get uncirculated rolls, but this is not yet confirmed." +msgstr "" + +#: src/templates/banknotes.html.tmpl:31 +msgid "View the different Euro banknote designs" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:257 +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 "" + +#: src/templates/collecting-crh.html.tmpl:190 +msgctxt "Company Name" +msgid "Bank of Spain" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:459 +msgid "" +"Coin rolls are available for a fee of €0.30 per roll. You must withdraw " +"between 10–20 rolls." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:480 +msgctxt "Company Name" +msgid "Bank of Portugal" +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:14 +msgid "Finnish €2.00 coin" +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:29 +msgid "" +"The €2 coin was designed by Raimo Heino and features a motif of cloudberries " +"and cloudberry flowers. This design was made as part of a design contest " +"hosted in 1988." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:53 +msgid "" +"Some machines have a maximum amount you can throw in, and will reject " +"anything higher. For example machines with a maximum limit of €5 will reject " +"any additional coins if you throw in €5. You can try to go above the limit " +"if you throw in €4.80 and then another €1 or €2 coin; the machine might " +"accept it." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:293 +#: src/templates/banknotes-codes.html.tmpl:425 +msgctxt "Company Name" +msgid "Austrian Banknote and Security Printing" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:161 +msgctxt "Company Name" +msgid "Sparkasse" +msgstr "" + +#: src/templates/coins-designs-cy.html.tmpl:24 +msgid "" +"The 1c, 2c and 5c coins feature two mouflons, a wild sheep native to Cyprus, " +"symbolising the island’s wildlife. The 10c, 20c and 50c coins feature the " +"{LinkK:L}Kyrenia{-:E}, an ancient Greek merchent ship that sank circa " +"294 BC; it represents the importance of seafaring to Cyprus’ history as well " +"as its importance as a centre of trade. Finally, the €1 and €2 coins feature " +"the {LinkI:L}Idol of Pomos{-:E}, a stone prehistoric sculpture found near " +"the Cypriot village of Pomos. The sculpture is currently on display in the " +"Cyprus Museum in Nicosia." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:46 +msgid "Limits" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:31 +msgid "(Non-)Merging Machines" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:8 +msgid "Austrian Euro Coin Designs" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:22 +msgid "" +"The bronze coins feature the Alpine gentian, edelweiss and primrose " +"respectively, and were chosen to symbolize the role that Austria played in " +"the development of EU environmental policy." +msgstr "" + +#: src/templates/jargon.html.tmpl:65 +msgid "Collector-Specific Terms" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:54 +msgctxt "Header/Label" +msgid "Filter Method" +msgstr "" + +#: src/dbx/sql/last.sql:155 +msgctxt "CC Name" +msgid "Peace and security" +msgstr "" + +#: src/templates/banknotes.html.tmpl:29 src/templates/coins.html.tmpl:29 +msgid "Designs" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:21 +msgid "" +"The Croatian euro coins feature four different themes, with each design " +"featuring the Croatian checkerboard and the country’s name in Croatian " +"(‘{CroatianStart:r}HRVATSKA{CroatianEnd:E}’). All designs were selected " +"after voting in a public design competition." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:20 +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/jargon.html.tmpl:36 +msgid "" +"BU is a general term to refer to coins from coincards and sets. These are " +"different from UNC coins in that they are typically handled with more care " +"during the minting process and are struck with higher-quality dies than " +"coins minted for general circulation, resulting in a higher-quality coin." +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:39 +msgid "" +"Here you’ll be able to view all the known mintages for all coins. You’ll " +"also be able to filter on country, denomination, etc. If you have any " +"mintage data that’s missing from our site, feel free to contact us." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:531 +msgid "" +"Ask the Pope nicely and he’ll probably give you some Vatican coins for free." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:25 +msgid "Austrian €0.10 coin" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:14 +msgid "Croatian €0.50 coin" +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:26 +msgid "Belgian €1 coin (King Albert; Series 1)" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:88 +#: src/templates/coins-designs-ee.html.tmpl:98 +msgctxt "Header/Label" +msgid "Translation" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:170 +msgid "Rene Haljasmäe" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:516 +msgctxt "Company Name" +msgid "Tatra banka" +msgstr "" + +#: src/templates/-navbar.html.tmpl:45 +msgctxt "Navbar Label" +msgid "Coin Collecting" +msgstr "Munten verzamelen" + +#: src/templates/-navbar.html.tmpl:44 +msgctxt "Navbar Label" +msgid "News" +msgstr "Nieuws" + +#: src/templates/collecting-crh.html.tmpl:8 +#: src/templates/collecting.html.tmpl:29 +msgid "Coin Roll Hunting" +msgstr "Muntenroljacht" + +#: src/templates/coins-designs-ad.html.tmpl:41 +msgid "Rejected Andorran design" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:16 +msgid "German €1 coin" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:51 +msgid "Coin Rolls" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:321 +#: src/templates/banknotes-codes.html.tmpl:453 +#: src/templates/collecting-crh.html.tmpl:336 +msgctxt "Company Name" +msgid "Central Bank of Ireland" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:160 +msgctxt "Coin Design" +msgid "Leopards-2" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:154 +msgctxt "Company Name" +msgid "German Post" +msgstr "" + +#: src/templates/index.html.tmpl:9 +msgid "The Euro Cash Wiki" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:30 +msgid "" +"The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese " +"Gothic architectural style dating to around the year 1160. The €0.20 coin " +"features Belvedere Palace. This is an example of Baroque architecture and " +"symbolises the national freedom and sovereignty of Austria. Finally, the " +"€0.50 coin features the Secession Building: an exhibition hall in the Art " +"Nouveau style." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:500 +msgctxt "Company Name" +msgid "Bank of Slovenia" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:409 +msgctxt "Place Name" +msgid "Bulgaria" +msgstr "Bulgarija" + +#: src/templates/coins-designs-nl.html.tmpl:33 +msgid "" +"From the years 1999–2013 all Dutch euro coins featured the portrait of " +"Queen Beatrix of the Netherlands. After her abdication from the throne in " +"2013 the designs of all denominations were changed to feature the portrait " +"of the new King Willem-Alexander. After her abdication the direction in " +"which the monarchs portrait faced was flipped; a tradition shared by the " +"coins of many monarchies around the world." +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:34 +msgid "Belgian €1 coin (King Philippe)" +msgstr "" + +#: src/templates/jargon.html.tmpl:69 +msgid "" +"Coin roll hunting is a general term for the activity of collecting coins by " +"searching through coin rolls and bags. Coin rolls and bags are often " +"obtained at banks or coin roll machines." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:26 +msgid "" +"Coin boxes are to many people the most aesthetic way to store your coins. A " +"coin box is comprised of various layers which can be stacked on top of each " +"other. Each layer has a grid of slots where you can insert your coins. " +"Typically you are meant to store your coins in a layer encased in a coin " +"capsule." +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:35 +msgctxt "Place Name" +msgid "Munich" +msgstr "München" + +#: src/templates/collecting-crh.html.tmpl:21 +msgid "" +"Depending on your bank and branch, the process of obtaining coins may " +"differ. Some banks require you speak to a teller while others have coin " +"machines. Some banks may also require that you are a customer or even that " +"you have a business account. If you aren’t sure about if you can get coins " +"we suggest you contact your bank, although further down this page we also " +"have additional information about the withdrawal of coins in various " +"countries and major banks." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:66 +msgctxt "Company Name" +msgid "Bank Austria" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:15 +msgid "Coin Albums" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:53 +msgid "" +"This is probably the most inexpensive way to store your coins. If you take " +"good care of the paper when opening coin rolls, you can simply reuse them " +"for storage. Just roll your coins back up and put some rubber bands on the " +"ends. You can also get reusable plastic rolls that can be opened and closed. " +"You will need different rolls based on the denomination you want to store, " +"but they are very space-efficient." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:381 +msgid "Europa Series" +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:39 +msgid "" +"Since 1999 Belgium has released three series of euro coins, with each series " +"having a single design repeated on all denominations. Starting in 1999 the " +"Belgian euro coins featured the portrait of King Albert II with the {Link:L}" +"royal monogram{-:E} in the outer ring of the coins." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:34 +msgid "Austrian €2 coin" +msgstr "" + +#: src/templates/coins.html.tmpl:37 +msgid "Mintages" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:26 +msgid "Rejected Stoppers and Coins" +msgstr "" + +#: src/templates/collecting.html.tmpl:22 +msgid "" +"On this section of the site you can find everything there is to know about " +"collecting Euro coins. If this is a hobby that interests you, join the " +"Discord server linked at the top of the page!" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:21 +msgid "The Stopper" +msgstr "" + +#: src/templates/jargon.html.tmpl:31 +msgid "" +"AU coins are coins that are in extremely good condition as a result of " +"limited use in circulation. Unlike the term ‘UNC’, this term is a " +"description of the coins quality, not its usage. AU coins often appear to " +"retain most of their original luster as well as possessing little to no " +"scratches or other forms of post-mint damage (PMD)." +msgstr "" + +#: src/templates/collecting.html.tmpl:31 +msgid "Learn about collecting coins from coin rolls" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:45 +msgid "The rejected Andorran design" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:39 +msgctxt "Place Name" +msgid "Stuttgart" +msgstr "Stuttgart" + +#: src/templates/coins-designs-de.html.tmpl:65 +msgid "" +"The €2 coin also features an edge-inscription of Germany’s national motto " +"and incipit of Germany’s national anthem. It reads ‘{GermanStart:r}EINIGKEIT " +"UND RECHT UND FREIHEIT{GermanEnd:E}’ (English: ‘UNITY AND JUSTICE AND " +"FREEDOM’)." +msgstr "" + +#. TRANSLATORS: ‘Estonian’ as in the language, not the nationality +#: src/templates/coins-designs-ee.html.tmpl:137 +msgctxt "Coin Design" +msgid "Estonian" +msgstr "Estisch" diff --git a/po/sv/messages.po b/po/sv/messages.po new file mode 100644 index 0000000..ecb4b61 --- /dev/null +++ b/po/sv/messages.po @@ -0,0 +1,2687 @@ +msgid "" +msgstr "" +"Project-Id-Version: Euro Cash Wiki v1.0.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-11-08 02:33+0100\n" +"PO-Revision-Date: 2025-11-03 15:48+0100\n" +"Last-Translator: Thomas Voss <mail@thomasvoss.com>\n" +"Language-Team: N/A\n" +"Language: sv\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/i18n/locales.gen.go:20 +msgctxt "Language Name" +msgid "Català" +msgstr "Katalanska" + +#: src/i18n/locales.gen.go:30 +msgctxt "Language Name" +msgid "Deutsch" +msgstr "Tyska" + +#: src/i18n/locales.gen.go:40 +msgctxt "Language Name" +msgid "Ελληνικά" +msgstr "Grekiska" + +#: src/i18n/locales.gen.go:51 +msgctxt "Language Name" +msgid "English" +msgstr "Engelska" + +#: src/i18n/locales.gen.go:61 +msgctxt "Language Name" +msgid "Español" +msgstr "Spanska" + +#: src/i18n/locales.gen.go:71 +msgctxt "Language Name" +msgid "Eesti" +msgstr "Estniska" + +#: src/i18n/locales.gen.go:81 +msgctxt "Language Name" +msgid "Suomi" +msgstr "Finska" + +#: src/i18n/locales.gen.go:91 +msgctxt "Language Name" +msgid "Français" +msgstr "Franska" + +#: src/i18n/locales.gen.go:101 +msgctxt "Language Name" +msgid "Gaeilge" +msgstr "Irländska" + +#: src/i18n/locales.gen.go:111 +msgctxt "Language Name" +msgid "Hrvatski" +msgstr "Kroatiska" + +#: src/i18n/locales.gen.go:121 +msgctxt "Language Name" +msgid "Italiano" +msgstr "Italienska" + +#: src/i18n/locales.gen.go:131 +msgctxt "Language Name" +msgid "Lëtzebuergesch" +msgstr "Luxemburgiska" + +#: src/i18n/locales.gen.go:141 +msgctxt "Language Name" +msgid "Lietuvių" +msgstr "Litauiska" + +#: src/i18n/locales.gen.go:151 +msgctxt "Language Name" +msgid "Latviešu" +msgstr "Lettiska" + +#: src/i18n/locales.gen.go:161 +msgctxt "Language Name" +msgid "Malti" +msgstr "Maltesiska" + +#: src/i18n/locales.gen.go:172 +msgctxt "Language Name" +msgid "Nederlands" +msgstr "Nederländska" + +#: src/i18n/locales.gen.go:182 +msgctxt "Language Name" +msgid "Português" +msgstr "Portugisiska" + +#: src/i18n/locales.gen.go:192 +msgctxt "Language Name" +msgid "Slovenčina" +msgstr "Slovakiska" + +#: src/i18n/locales.gen.go:202 +msgctxt "Language Name" +msgid "Slovenščina" +msgstr "Slovenska" + +#: src/i18n/locales.gen.go:213 +msgctxt "Language Name" +msgid "Svenska" +msgstr "Svenska" + +#: src/i18n/locales.gen.go:223 +msgctxt "Language Name" +msgid "Türkçe" +msgstr "Turkiska" + +#: src/i18n/locales.gen.go:232 +msgctxt "Language Name" +msgid "Български" +msgstr "Bulgariska" + +#: src/i18n/locales.gen.go:241 +msgctxt "Language Name" +msgid "Română" +msgstr "Rumänska" + +#: src/i18n/locales.gen.go:250 +msgctxt "Language Name" +msgid "Українська" +msgstr "Ukrainska" + +#: src/countries.go:47 +msgctxt "Place Name" +msgid "Andorra" +msgstr "Andorra" + +#: src/countries.go:48 src/templates/banknotes-codes.html.tmpl:132 +#: src/templates/banknotes-codes.html.tmpl:219 +#: src/templates/banknotes-codes.html.tmpl:291 +#: src/templates/banknotes-codes.html.tmpl:423 +msgctxt "Place Name" +msgid "Austria" +msgstr "Österrike" + +#: src/countries.go:49 src/templates/banknotes-codes.html.tmpl:175 +#: src/templates/banknotes-codes.html.tmpl:251 +#: src/templates/banknotes-codes.html.tmpl:362 +#: src/templates/banknotes-codes.html.tmpl:494 +msgctxt "Place Name" +msgid "Belgium" +msgstr "Belgien" + +#: src/countries.go:52 src/templates/banknotes-codes.html.tmpl:116 +#: src/templates/banknotes-codes.html.tmpl:203 +msgctxt "Place Name" +msgid "Cyprus" +msgstr "Cypern" + +#: src/countries.go:53 src/templates/banknotes-codes.html.tmpl:167 +#: src/templates/banknotes-codes.html.tmpl:243 +#: src/templates/banknotes-codes.html.tmpl:348 +#: src/templates/banknotes-codes.html.tmpl:355 +#: src/templates/banknotes-codes.html.tmpl:437 +#: src/templates/banknotes-codes.html.tmpl:473 +#: src/templates/banknotes-codes.html.tmpl:480 +msgctxt "Place Name" +msgid "Germany" +msgstr "Tyskland" + +#: src/countries.go:54 src/templates/banknotes-codes.html.tmpl:104 +#: src/templates/banknotes-codes.html.tmpl:191 +msgctxt "Place Name" +msgid "Estonia" +msgstr "Estland" + +#: src/countries.go:55 src/templates/banknotes-codes.html.tmpl:163 +#: src/templates/banknotes-codes.html.tmpl:239 +#: src/templates/banknotes-codes.html.tmpl:334 +#: src/templates/banknotes-codes.html.tmpl:466 +msgctxt "Place Name" +msgid "Spain" +msgstr "Spanien" + +#: src/countries.go:56 src/templates/banknotes-codes.html.tmpl:124 +#: src/templates/banknotes-codes.html.tmpl:211 +#: src/templates/banknotes-codes.html.tmpl:277 +msgctxt "Place Name" +msgid "Finland" +msgstr "Finland" + +#: src/countries.go:57 src/templates/banknotes-codes.html.tmpl:159 +#: src/templates/banknotes-codes.html.tmpl:235 +#: src/templates/banknotes-codes.html.tmpl:284 +#: src/templates/banknotes-codes.html.tmpl:327 +#: src/templates/banknotes-codes.html.tmpl:402 +#: src/templates/banknotes-codes.html.tmpl:459 +msgctxt "Place Name" +msgid "France" +msgstr "Frankrike" + +#: src/countries.go:58 src/templates/banknotes-codes.html.tmpl:171 +#: src/templates/banknotes-codes.html.tmpl:247 +#: src/templates/banknotes-codes.html.tmpl:341 +#: src/templates/banknotes-codes.html.tmpl:487 +msgctxt "Place Name" +msgid "Greece" +msgstr "Grekland" + +#: src/countries.go:59 +msgctxt "Place Name" +msgid "Croatia" +msgstr "Kroatien" + +#: src/countries.go:60 src/templates/banknotes-codes.html.tmpl:155 +#: src/templates/banknotes-codes.html.tmpl:231 +#: src/templates/banknotes-codes.html.tmpl:319 +#: src/templates/banknotes-codes.html.tmpl:451 +msgctxt "Place Name" +msgid "Ireland" +msgstr "Irland" + +#: src/countries.go:61 src/templates/banknotes-codes.html.tmpl:151 +#: src/templates/banknotes-codes.html.tmpl:227 +#: src/templates/banknotes-codes.html.tmpl:312 +#: src/templates/banknotes-codes.html.tmpl:444 +msgctxt "Place Name" +msgid "Italy" +msgstr "Italien" + +#: src/countries.go:62 +msgctxt "Place Name" +msgid "Lithuania" +msgstr "Litauen" + +#: src/countries.go:63 +msgctxt "Place Name" +msgid "Luxembourg" +msgstr "Luxemburg" + +#: src/countries.go:64 +msgctxt "Place Name" +msgid "Latvia" +msgstr "Lettland" + +#: src/countries.go:65 +msgctxt "Place Name" +msgid "Monaco" +msgstr "Monaco" + +#: src/countries.go:66 src/templates/banknotes-codes.html.tmpl:112 +#: src/templates/banknotes-codes.html.tmpl:199 +msgctxt "Place Name" +msgid "Malta" +msgstr "Malta" + +#: src/countries.go:67 src/templates/banknotes-codes.html.tmpl:147 +#: src/templates/banknotes-codes.html.tmpl:223 +#: src/templates/banknotes-codes.html.tmpl:298 +#: src/templates/banknotes-codes.html.tmpl:430 +msgctxt "Place Name" +msgid "Netherlands" +msgstr "Nederländerna" + +#: src/countries.go:68 src/templates/banknotes-codes.html.tmpl:128 +#: src/templates/banknotes-codes.html.tmpl:215 +#: src/templates/banknotes-codes.html.tmpl:371 +#: src/templates/banknotes-codes.html.tmpl:416 +msgctxt "Place Name" +msgid "Portugal" +msgstr "Portugal" + +#: src/countries.go:69 src/templates/banknotes-codes.html.tmpl:120 +#: src/templates/banknotes-codes.html.tmpl:207 +msgctxt "Place Name" +msgid "Slovenia" +msgstr "Slovenien" + +#: src/countries.go:70 src/templates/banknotes-codes.html.tmpl:108 +#: src/templates/banknotes-codes.html.tmpl:195 +msgctxt "Place Name" +msgid "Slovakia" +msgstr "Slovakien" + +#: src/countries.go:71 +msgctxt "Place Name" +msgid "San Marino" +msgstr "San Marino" + +#: src/countries.go:72 +msgctxt "Place Name" +msgid "Vatican City" +msgstr "Vatikanstaten" + +#: src/templates/collecting-crh.html.tmpl:62 +msgid "" +"The Austrian National Bank does not distribute circulated rolls but sells " +"rolls of commemorative coins at face value on release as well as " +"uncirculated rolls for all denominations." +msgstr "" + +#: src/templates/index.html.tmpl:15 +msgid "cash" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:28 +msgid "" +"Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if " +"the coin was dropped into a box (normally adding a coin should be silent " +"after you throw it in). This means the coin was not added to the stack " +"properly, and so it will not be returned. Pay attention to this noise, " +"because you won’t be getting the stopper back. Throw in another marked coin " +"instead until the machine accepts the coin." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:26 +msgid "Austrian €0.20 coin" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:48 +msgid "" +"Coin slips are also pretty space efficient, and can be easily stacked in " +"boxes for compact storage. Many collectors also like to write notes about " +"their coins on the flips. There also exist special sheets for coin albums " +"that allow you to put in flipped coins, but this is more expensive and less " +"space-efficient than simply using flips or an album without flips." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:267 +#: src/templates/banknotes-codes.html.tmpl:393 +msgctxt "Header/Label" +msgid "Printer" +msgstr "Skrivare" + +#: src/templates/coins-mintages.html.tmpl:104 +msgctxt "Header/Label" +msgid "Filter" +msgstr "Filtrera" + +#: src/templates/collecting-crh.html.tmpl:217 +msgid "Madrid" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:244 +msgctxt "Company Name" +msgid "Mint of Finland" +msgstr "Myntverket i Finland" + +#: src/templates/about.html.tmpl:8 +msgid "About Us" +msgstr "" + +#: src/templates/-navbar.html.tmpl:97 +msgctxt "Navbar Label" +msgid "Language" +msgstr "Språk" + +#: src/templates/banknotes.html.tmpl:39 +msgid "Find out where your notes were printed" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:13 +msgid "Andorran €0.50 coin" +msgstr "" + +#: src/templates/jargon.html.tmpl:34 +msgid "BU — Brilliantly Uncirculated" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:69 +msgid "" +"The design of the Estonian euro coins was chosen as part of a {Link:L}" +"Eurovision{-:E}-style public televote where it competed and won against 9 " +"other designs." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:145 +msgid "Mai Järmut, Villu Järmut" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:35 +msgid "Euro Coin Mintages" +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:30 +msgid "Belgian €1 coin (King Albert; Series 2)" +msgstr "" + +#. TRANSLATORS: Name of a coin design. Don’t translate unless you use a non-latin script +#: src/templates/coins-designs-ee.html.tmpl:103 +msgctxt "Coin Design" +msgid "Hara 2" +msgstr "Hara 2" + +#: src/templates/coins-designs-ee.html.tmpl:111 +msgctxt "Coin Design" +msgid "Consistency" +msgstr "Konsistens" + +#: src/templates/coins-designs-ee.html.tmpl:138 +msgid "Jaak Peep, Villem Valme" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:471 +msgctxt "Company Name" +msgid "Rabobank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:483 +msgid "Coin bags are sold with no additional fees to everyone." +msgstr "" + +#: src/dbx/sql/last.sql:137 src/dbx/sql/last.sql:140 src/dbx/sql/last.sql:143 +#: src/dbx/sql/last.sql:146 src/dbx/sql/last.sql:149 +msgctxt "CC Name" +msgid "German Reunification" +msgstr "Tysklands återförening" + +#: src/templates/coins.html.tmpl:47 +msgid "View all the known Euro varieties" +msgstr "" + +#: src/templates/banknotes.html.tmpl:47 +msgid "Learn about the special test notes" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:39 +msgid "" +"Capsules can be a bit pricey, but are reusable and are very durable. They " +"also come in different sizes, so make sure you get the right size for your " +"coins." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:84 +msgid "Coins in a reusable roll" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:55 +msgid "2002 Series Printer Codes" +msgstr "2002-seriens skrivarkoder" + +#: src/templates/banknotes-codes.html.tmpl:411 +msgctxt "Company Name" +msgid "Oberthur Fiduciaire AD" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:291 +msgctxt "Company Name" +msgid "Crédit Agricole" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:119 +msgctxt "Coin Design" +msgid "In the Body" +msgstr "I kroppen" + +#: src/templates/coins-mintages.html.tmpl:43 +msgid "Additional Notes" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:150 +msgid "" +"You can obtain regular and commemorative coins for face value including 5-, " +"10- and 20 euro coins. You do not need to be a customer although depending " +"on your branch you may need to make an appointment. The purchase of coins " +"can only be done with cash." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:503 +msgid "" +"You can purchase commemorative coins for face value, and coin rolls are sold " +"with no fees to everyone." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:525 +msgid "" +"We currently have no information regarding coin roll hunting in San Marino." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:55 +msgid "Maximum Change Limit" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:18 +msgid "Croatian €2 coin" +msgstr "" + +#: src/templates/jargon.html.tmpl:42 +msgid "" +"NIFC coins are coins minted without the intention of being put into general " +"circulation. These coins are typically minted with the purpose of being put " +"into coincards or sets to be sold to collectors. Occasionally they are also " +"handed out to collectors for face value at banks." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:373 +#: src/templates/banknotes-codes.html.tmpl:418 +msgctxt "Company Name" +msgid "Valora S.A." +msgstr "" + +#: src/templates/about.html.tmpl:11 +msgid "Open Source" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:19 +msgid "Austrian €0.05 coin" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:28 +msgid "Casa de la Vall" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:110 +#: src/templates/coins-mintages.html.tmpl:148 +msgid "Standard Issue Coins" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:37 +msgid "Country-Specific Details" +msgstr "Landsspecifika detaljer" + +#: src/templates/collecting-crh.html.tmpl:313 +msgid "" +"Coin rolls can be obtained with no fee, but you may need to present your ID. " +"The latest commemorative coins are also sold for face value." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:490 +msgid "Coin bags are sold with no additional fees to bank customers." +msgstr "" + +#: src/templates/coins-designs-cy.html.tmpl:8 +msgid "Cypriot Euro Coin Designs" +msgstr "" + +#: src/templates/about.html.tmpl:19 +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/collecting.html.tmpl:46 +msgid "Shop Hunting" +msgstr "Affärsjakt" + +#: src/templates/coins-designs-hr.html.tmpl:25 +msgid "" +"The 1c, 2c and 5c coins were designed by Maja Škripelj and feature a motif " +"of the letters ‘ⰘⰓ’ from the {Link:L}Glagolitic script{-:E} – an old Slavic " +"script that saw use in Croatia up until the 19th century – representing " +"Croatia’s country code (‘HR’ in the Latin alphabet)." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:307 +msgctxt "Company Name" +msgid "De La Rue" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:119 +msgid "Rolls can be obtained with no fee by customers only" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:203 +msgctxt "Company Name" +msgid "Santander Bank" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:275 +msgctxt "Company Name" +msgid "CIC" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:320 +msgid "" +"Coin bags are available without fees for everyone. Smaller denominations are " +"often not given out, and the coin bags you recieve are very large (there are " +"reports of €1 bags containing 250 coins)." +msgstr "" + +#: src/templates/-navbar.html.tmpl:43 +msgctxt "Navbar Label" +msgid "Home" +msgstr "Hem" + +#: src/templates/collecting-vending.html.tmpl:61 +msgid "" +"Even if no limits are listed, it’s still advised that you exercise caution: " +"it is not uncommon for a vending machine to steal your money. In the case " +"that a vending machine does steal your money, look for a label on the " +"machine that contains a support number." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:68 +msgid "Capsules in a case" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:247 +msgid "" +"The Mint of Finland ceased all operations in late 2024 but still sells coins " +"on their website." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:402 +msgid "" +"In general coin rolls are sold with for fee of €0.60 per roll, but we’re " +"lacking a lot of information." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:18 +msgid "" +"First, you want to make sure the vending machine you come across actually " +"gives back change – sometimes they don’t! Throw in a 10c coin and press the " +"return button. If it doesn’t give the coin back, you can move on to the next " +"machine; there’s a high chance it won’t return higher denominations either. " +"Next throw in a random €2 coin and press the return button. You should do " +"this because vending machines may not return €2 coins, but rather €1 or 50c " +"coins instead. It’s better to find out immediately as opposed to later once " +"you’ve already put in all of your €2 coins." +msgstr "" + +#: src/templates/collecting.html.tmpl:48 +msgid "Learn about how to collect coins from shops" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:37 +msgid "" +"The two bimetallic coins feature the busts of the musical composer Wolfgang " +"Amadeus Mozart on the €1 coin, and the Austrian pacifist and Nobel Peace " +"Prize winner Bertha von Suttner on the €2 coin." +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:19 +msgid "" +"The German euro coins feature three different designs. A unique feature of " +"German euro coins are the mint marks on each coin that denote in which city " +"a given coin was minted. Germany has five active mints that produce Euro " +"coins, which are denoted in the table below." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:309 +msgid "" +"{EmphStart:r}NOTE{EmphEnd:E}: The Bank of Greece (Greece’s central bank) is " +"NOT the same as the National Bank of Greece (a commercial bank)." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:388 +msgid "" +"We currently have no information regarding regular coins, however their " +"webshop sells commemorative coins. Commemorative coins are also available " +"for purchase in-person." +msgstr "" + +#: src/templates/coins-designs-cy.html.tmpl:20 +msgid "" +"The Cypriot euro coins feature 3 different designs across the three " +"different coin types (bronze, gold and bimetallic). Along with each design’s " +"unique motif, all designs feature the country’s name in both of the island’s " +"official languages (Greek: ‘{GreekStart:r}ΚΥΠΡΟΣ{LangEnd:E}’, Turkish: " +"‘{TurkishStart:r}KIBRIS{LangEnd:E}’)." +msgstr "" + +#: src/dbx/sql/last.sql:152 +msgctxt "CC Name" +msgid "Ľudovít Štúr" +msgstr "Ľudovít Štúr" + +#: src/templates/jargon.html.tmpl:27 +msgid "General Terms" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:21 +msgid "" +"Albums can be an affordable way to store your coins, but higher-end albums " +"can be a bit expensive. Also remember to always ensure that your albums do " +"not contain any PVC." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:357 +#: src/templates/banknotes-codes.html.tmpl:439 +msgctxt "Company Name" +msgid "Federal Printing Office" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:414 +msgctxt "Company Name" +msgid "Central Bank of Malta" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:444 +msgid "" +"1- and 2 cent coins have been removed from circulation and cannot be " +"obtained." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:40 +msgid "Non-Merging" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:53 +msgid "" +"The €1 coin features the Casa 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/jargon.html.tmpl:45 +msgid "" +"While uncommon, NIFC coins are occasionally found in circulation. This can " +"happen for a variety of reasons such as someone depositing their coin " +"collection (known as a ‘collection dump’) or a collector’s child spending " +"their rare coins on an ice cream. Some coin mints have also been known to " +"put NIFCs that have gone unsold for multiple years into circulation." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:58 +msgid "" +"In case you’re looking for some inspiration on how to store your " +"collections, here are some examples:" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:294 +msgctxt "Header/Label" +msgid "Unknown" +msgstr "Okänd" + +#: src/templates/collecting-crh.html.tmpl:354 +msgid "" +"There are coin roll machines but it is unknown if you need to be a customer " +"or if there are additional fees." +msgstr "" + +#: src/templates/language.html.tmpl:46 src/templates/language.html.tmpl:85 +msgid "Eurozone Languages" +msgstr "Eurozonens språk" + +#: src/templates/jargon.html.tmpl:51 +msgid "" +"Post-mint damage is any damage that a coin has sustained outside of the " +"minting process, such as through being dropped on the ground, hit against a " +"table, etc." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:44 +msgid "" +"Coin flips, also known as ‘2×2’ flips by some Americans are small cardboard " +"flips with a plastic covered hole in the middle for viewing. Most coin flips " +"are stapled, meaning you put your coin in the flip and staple it shut. These " +"kinds of flips are very cheap, and you can buy stacks of a few hundred for " +"only a few euros. If you don’t like the staples though, you can also buy " +"adhesive-flips that glue themselves shut. These flips are more expensive, " +"but also look better than their stapled equivalents." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:347 +msgid "Coin rolls are available to everyone." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:377 +msgid "Fee of €2 per roll of 2 euro coins." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:23 +msgid "" +"We want to be able to know when we’ve gone through all the coins in the " +"vending machine. To do this, take out a coin and mark it with something " +"(drawing on it with a Sharpie works well), then put it into the machine. " +"Next time you get the same coin back, you know you’ve gone through " +"everything." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:12 +msgid "Andorran €0.01 coin" +msgstr "" + +#: src/templates/coins-designs.html.tmpl:25 +msgid "Euro Coin Designs" +msgstr "Euromyntdesigner" + +#: src/templates/coins-designs-de.html.tmpl:26 +msgctxt "Header/Label" +msgid "Mintmark" +msgstr "Myntmärke" + +#: src/templates/coins-mintages.html.tmpl:101 +msgctxt "Header/Label" +msgid "Proof Coins" +msgstr "Proofmynt" + +#: src/templates/collecting-crh.html.tmpl:127 +msgid "" +"Rolls can be obtained with no fee when you order through their online " +"platform." +msgstr "" + +#. TRANSLATORS: City in Spain +#: src/templates/collecting-crh.html.tmpl:213 +msgid "Alicante" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:38 +msgid "" +"The €2 coin was designed by Ivan Šivak and features the map of Croatia. The " +"coin also has an edge-inscription that reads ‘{CroatianStart:r}O LIJEPA O " +"DRAGA O SLATKA SLOBODO{CroatianEnd:E}’ (English: ‘OH BEAUTIFUL, OH DEAR, OH " +"SWEET FREEDOM’) which is a line from the play {Link:L}Dubravka{-:E} by Ivan " +"Gundulić." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:71 +msgid "Cigarette Machines" +msgstr "" + +#: src/templates/about.html.tmpl:17 +msgid "Contact Us" +msgstr "" + +#: src/templates/collecting.html.tmpl:54 +msgid "Vending Machine Hunting" +msgstr "Varuautomatjakt" + +#: src/templates/-base.html.tmpl:55 +msgid "Feel free to contact us!" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:336 +#: src/templates/banknotes-codes.html.tmpl:468 +#: src/templates/collecting-crh.html.tmpl:198 +msgctxt "Company Name" +msgid "Royal Mint of Spain" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:87 +#: src/templates/coins-designs-ee.html.tmpl:97 +#: src/templates/coins-designs-ee.html.tmpl:144 +msgctxt "Header/Label" +msgid "Name" +msgstr "Namn" + +#: src/templates/collecting-crh.html.tmpl:360 +msgctxt "Company Name" +msgid "Bank of Lithuania" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:24 +msgid "Andorran landscapes, nature, fauna and flora" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:305 +msgctxt "Place Name" +msgid "United Kingdom" +msgstr "Storbritannien" + +#: src/templates/banknotes-codes.html.tmpl:364 +#: src/templates/banknotes-codes.html.tmpl:496 +#: src/templates/collecting-crh.html.tmpl:99 +msgctxt "Company Name" +msgid "National Bank of Belgium" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:133 +msgctxt "Company Name" +msgid "Bank of Cyprus" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:317 +msgctxt "Company Name" +msgid "Piraeus Bank" +msgstr "" + +#: src/templates/-error.html.tmpl:15 +msgid "" +"If this issue persists, don’t hesitate to contact ‘@onetruemangoman’ on " +"Discord or to email us at {Email:e}" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:13 +msgid "Croatian €0.01 coin" +msgstr "" + +#: src/templates/coins-designs-nl.html.tmpl:37 +msgid "" +"Coins featuring both monarchs contain text reading ‘{DutchStart:r}BEATRIX " +"KONINGIN DER NEDERLANDEN{DutchEnd:E}’ (English: ‘BEATRIX QUEEN OF THE " +"NETHERLANDS’) and ‘{DutchStart:r}Willem-Alexander Koning der " +"Nederlanden{DutchEnd:E}’ (English: ‘Willem-Alexander King of the " +"Netherlands’) respectively. The €2 coins also feature an edge-inscription " +"reading ‘{DutchStart:r}GOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆{DutchEnd:E}’ (English: ‘GOD ⋆ " +"IS ⋆ WITH ⋆ US ⋆’)." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:27 +msgid "Austrian €0.50 coin" +msgstr "" + +#: src/templates/jargon.html.tmpl:15 +msgid "Euro Cash Jargon" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:54 +msgid "" +"The 1c, 2c and 5c coins display an oak twig similar to that found on the " +"former Pfennig coins of the German Mark (Germany’s pre-Euro currency). The " +"mint mark and year are located on the left- and right-hand sides of the oak " +"twig’s stem." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:137 +msgid "" +"At the Bank of Cyprus it is possible to buy bags of coins without being a " +"customer, and without paying any additional fees. Depending on the branch " +"you visit there may be a coin roll machine available. Do note that the bags " +"provided by the Bank of Cyprus are much larger than what is typically found " +"elsewhere in the Eurozone with €2.00 bags containing 50 coins and the other " +"denomination bags containing 100 coins." +msgstr "" + +#: src/templates/banknotes.html.tmpl:22 +msgid "" +"On this section of the site you can find everything there is to know about " +"the banknotes of the Eurozone." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:23 +msgid "€0.01, €0.02 and €0.05" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:475 +msgctxt "Company Name" +msgid "Giesecke+Devrient Leipzig" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:152 +msgctxt "Coin Design" +msgid "Bird Road" +msgstr "Fågelväg" + +#: src/templates/coins-mintages.html.tmpl:97 +msgctxt "Header/Label" +msgid "Circulation Coins" +msgstr "Cirkulationsmynt" + +#: src/templates/collecting-crh.html.tmpl:509 +msgctxt "Company Name" +msgid "National Bank of Slovakia" +msgstr "" + +#: src/templates/-navbar.html.tmpl:48 +msgctxt "Navbar Label" +msgid "Jargon" +msgstr "Jargong" + +#: src/templates/-error.html.tmpl:12 +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/collecting.html.tmpl:39 +msgid "Learn about the different methods to storing your collection" +msgstr "" + +#: src/templates/collecting.html.tmpl:56 +msgid "Learn about collecting coins from vending machines" +msgstr "" + +#: src/templates/jargon.html.tmpl:19 +msgid "" +"Both on this website and in other related forums you will come across many " +"terms that you may not be familiar with. This page will hopefully get you up " +"to speed with the most important and frequently-used terminology." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:88 +msgid "Flips in an album" +msgstr "" + +#: src/templates/-base.html.tmpl:11 +msgid "Euro Cash Wiki" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:50 +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/collecting-vending.html.tmpl:42 +msgid "" +"The vending machine does not merge change together. This means if you throw " +"in five 50c coins it will return five 50c coins. This makes it very easy to " +"hunt a large amount of a specific denomination." +msgstr "" + +#: src/templates/coins-designs.html.tmpl:29 +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/banknotes-codes.html.tmpl:482 +msgctxt "Company Name" +msgid "Giesecke+Devrient Munich" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:57 +msgid "" +"The 10c, 20c and 50c coins feature the Brandenburg Gate, a symbol of Berlin " +"and of Germany as a whole, but also a symbol of German division and unity. " +"The mint mark is located below the year." +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:191 +#: src/templates/coins-mintages.html.tmpl:228 +msgctxt "Header/Label" +msgid "Mintage" +msgstr "Myntning" + +#: src/templates/collecting-crh.html.tmpl:11 +msgid "What is ‘Coin Roll Hunting’?" +msgstr "Vad är ”muntrullejakt”?" + +#: src/templates/collecting-crh.html.tmpl:147 +msgctxt "Company Name" +msgid "German Federal Bank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:259 +msgid "" +"Coin roll machines are uncommon, only some banks have them and you typically " +"need to be a customer. You may also need to order coin rolls in advance." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:32 +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 name of the " +"Principality (‘ANDORRA’) along the outer portion of the design with the year " +"of issue written underneath." +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:186 +#: src/templates/coins-mintages.html.tmpl:223 +msgid "Commemorative Coins" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:104 +msgid "" +"You can visit the National Bank of Belgium in Brussels as an EU citizen. You " +"can order coin rolls for no fee up to €2000 in value. They seem to " +"distribute only uncirculated coins and no commemoratives." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:112 +msgid "" +"There is a €1.50 fee per transaction with no limit on the number of rolls " +"you may take." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:367 +msgctxt "Company Name" +msgid "ExchangeLT" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:370 +msgid "Coin rolls are available with a fee of 5%." +msgstr "" + +#: src/dbx/sql/last.sql:136 src/dbx/sql/last.sql:139 src/dbx/sql/last.sql:142 +#: src/dbx/sql/last.sql:145 src/dbx/sql/last.sql:148 +msgctxt "CC Name" +msgid "Hessen" +msgstr "Hessen" + +#: src/templates/coins.html.tmpl:45 +msgid "Varieties" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:51 +msgid "Maximum Input Limit" +msgstr "" + +#: src/templates/banknotes.html.tmpl:18 +msgid "Euro Banknotes" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:16 +msgid "Andorran €1 coin" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:98 +#: src/templates/banknotes-codes.html.tmpl:141 +#: src/templates/banknotes-codes.html.tmpl:185 +#: src/templates/banknotes-codes.html.tmpl:265 +#: src/templates/banknotes-codes.html.tmpl:391 +#: src/templates/coins-mintages.html.tmpl:56 +#: src/templates/coins-mintages.html.tmpl:62 +#: src/templates/coins-mintages.html.tmpl:152 +#: src/templates/coins-mintages.html.tmpl:226 +msgctxt "Header/Label" +msgid "Country" +msgstr "Land" + +#: src/templates/collecting-crh.html.tmpl:39 +msgid "" +"Below you can find country-specific details we have regarding obtaining coin " +"rolls. We lack a lot of information for many of the countries, so if you " +"have any additional information such as your banks fees, the availability of " +"coin roll machines, etc. feel free to contact us! You can find our contact " +"information {Link:l}here{-:E}." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:181 +msgctxt "Company Name" +msgid "Bank of Estonia Museum" +msgstr "" + +#: src/templates/index.html.tmpl:22 +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/coins-designs-ad.html.tmpl:35 +msgid "" +"The Andorran 1c, 2c and 5c 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/-base.html.tmpl:54 +msgid "Found a mistake or want to contribute missing information?" +msgstr "" + +#. TRANSLATORS: As in ‘5 Euro Banknote’ +#: src/templates/banknotes-codes.html.tmpl:512 +msgid "{N} Euro" +msgid_plural "{N} Euro" +msgstr[0] "" +msgstr[1] "" + +#: src/templates/coins-designs-fi.html.tmpl:13 +msgid "Finnish €1.00 coin" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:64 +msgid "" +"For information on Austrian cigarette machines, see the ‘{LinkStart:r}" +"Cigarette Machines{LinkEnd:E}’ section." +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:46 +#: src/templates/coins-designs-be.html.tmpl:51 +msgid "2008 portrait of King Albert II" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:17 +msgid "" +"Coin albums are one of the most popular ways of storing coins. In a coin " +"album you have multiple coin sheets. These sheets are plastic pages with " +"slots that you can put your coins in to keep them protected. When searching " +"for sheets for your album it is very important to ensure that they do not " +"contain any PVC which will damage your coins. Some albums will come with " +"sheets already included." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:35 +msgid "" +"Coin capsules are plastic capsules you can put your coin in. They offer good " +"protection to your coins, while still allowing you to view all parts of your " +"coin easily, including the edge engravings and inscriptions. Capsules are " +"also far more durable than flips, and can be opened and closed repeatedly " +"allowing for reuse, something not typically possible with coin flips." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:90 +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/coins-designs-ee.html.tmpl:92 +#: src/templates/coins-designs-ee.html.tmpl:106 +#: src/templates/coins-designs-ee.html.tmpl:114 +#: src/templates/coins-designs-ee.html.tmpl:122 +#: src/templates/coins-designs-ee.html.tmpl:131 +#: src/templates/coins-designs-ee.html.tmpl:140 +#: src/templates/coins-designs-ee.html.tmpl:147 +#: src/templates/coins-designs-ee.html.tmpl:155 +#: src/templates/coins-designs-ee.html.tmpl:163 +#: src/templates/coins-designs-ee.html.tmpl:172 +#: src/templates/coins-designs-ee.html.tmpl:180 +msgctxt "Header/Label" +msgid "Votes (%)" +msgstr "Röster (%)" + +#: src/templates/coins-mintages.html.tmpl:99 +msgctxt "Header/Label" +msgid "NIFC and BU Coins" +msgstr "NIFC- och BU-mynt" + +#: src/templates/-navbar.html.tmpl:53 +msgctxt "Navbar Label" +msgid "Discord" +msgstr "Discord" + +#: src/templates/jargon.html.tmpl:59 +msgid "UNC — Uncirculated" +msgstr "" + +#: src/templates/jargon.html.tmpl:61 +msgid "" +"Uncirculated coins are coins that have never been used in a monetary " +"exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very " +"good condition, but this is incorrect. A coin in poor condition that has " +"never been circulated is still considered an ‘UNC’ coin." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:47 +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/banknotes-codes.html.tmpl:72 +msgid "Europa Series Printer Codes" +msgstr "Europa-seriens skrivarkoder" + +#: src/templates/collecting-crh.html.tmpl:79 +msgctxt "Company Name" +msgid "Erste Bank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:351 +msgctxt "Company Name" +msgid "Banca di Cambiano" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:80 +msgid "Coins in an album with labels" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:279 +msgctxt "Company Name" +msgid "SETEC" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:383 +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/-navbar.html.tmpl:47 +msgctxt "Navbar Label" +msgid "Banknotes" +msgstr "Sedlar" + +#: src/templates/collecting-vending.html.tmpl:16 +msgid "The Test Coins" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:43 +msgctxt "Place Name" +msgid "Karlsruhe" +msgstr "Karlsruhe" + +#: src/templates/coins-designs-ee.html.tmpl:112 +#: src/templates/coins-designs-ee.html.tmpl:153 +msgid "Tiit Jürna" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:408 +msgid "We currently have no information regarding coin roll hunting in Monaco." +msgstr "" + +#: src/dbx/sql/last.sql:138 src/dbx/sql/last.sql:141 src/dbx/sql/last.sql:144 +#: src/dbx/sql/last.sql:147 src/dbx/sql/last.sql:150 src/dbx/sql/last.sql:153 +#: src/dbx/sql/last.sql:154 src/dbx/sql/last.sql:157 +msgctxt "CC Name" +msgid "EU Flag" +msgstr "EU-flaggan" + +#: src/templates/collecting-vending.html.tmpl:33 +msgid "We generally identify between two main types of vending machines." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:36 +msgid "Merging" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:73 +msgid "" +"In some countries where cigarette machines are legal, you can hunt through " +"them as well. Unless you’re in Malta, you must verify your age on them by " +"either sliding an ID card through a sensor or holding a debit card on an " +"RFID scanner; you must do this for every cycle. Sometimes you must also " +"select something to purchase, throw in less money than the cost, and then " +"cancel the purchase. Note that most cigarette machines in Austria have a " +"€4.90 max change limit." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:42 +msgid "Coin Flips" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:14 +msgid "German €0.01 coin" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:91 +#: src/templates/coins-designs-ee.html.tmpl:105 +#: src/templates/coins-designs-ee.html.tmpl:113 +#: src/templates/coins-designs-ee.html.tmpl:121 +#: src/templates/coins-designs-ee.html.tmpl:130 +#: src/templates/coins-designs-ee.html.tmpl:139 +#: src/templates/coins-designs-ee.html.tmpl:146 +#: src/templates/coins-designs-ee.html.tmpl:154 +#: src/templates/coins-designs-ee.html.tmpl:162 +#: src/templates/coins-designs-ee.html.tmpl:171 +#: src/templates/coins-designs-ee.html.tmpl:179 +msgctxt "Header/Label" +msgid "Votes" +msgstr "Röster" + +#: src/templates/coins-designs-ee.html.tmpl:104 +msgid "Lembit Lõhmus" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:236 +msgctxt "Company Name" +msgid "Bank of Finland" +msgstr "Finlands Bank" + +#: src/templates/index.html.tmpl:14 +msgid "diversity" +msgstr "" + +#: src/templates/-404.html.tmpl:8 +msgid "Page Not Found" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:38 +msgid "" +"The vending machine merges change together. For example if you throw in five " +"50c coins, the machine returns either two €1 coins and one 50c coin or one " +"€2 and one 50c coin. This usually means you can hunt €2 coins very quickly " +"but other denominations only once at a time. A good tip is to throw in an " +"odd number of euros and €0.80 if you want to search through all " +"denominations." +msgstr "" + +#: src/templates/jargon.html.tmpl:67 +msgid "CRH — Coin Roll Hunting" +msgstr "" + +#. TRANSLATORS: Name of a coin design. Don’t translate unless you use a non-latin script +#: src/templates/coins-designs-ee.html.tmpl:128 +msgctxt "Coin Design" +msgid "Tomson 5791" +msgstr "Tomson 5791" + +#: src/templates/collecting-crh.html.tmpl:326 +msgid "" +"We currently have no information regarding coin roll hunting in Croatia." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:374 +msgctxt "Company Name" +msgid "Top Exchange" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:487 +msgctxt "Company Name" +msgid "Banco Comercial Português" +msgstr "" + +#. TRANSLATORS: Beginning of sentence, as in ‘United in …’ +#: src/templates/index.html.tmpl:13 +msgid "United in" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:78 +msgid "" +"For RFID scanner machines it helps to wear a glove and slide a debit card " +"into the back of it so you can easily use both hands and don’t have to " +"fumble with a card and coins." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:24 +msgid "Coin Boxes" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:97 +#: src/templates/banknotes-codes.html.tmpl:140 +#: src/templates/banknotes-codes.html.tmpl:184 +#: src/templates/banknotes-codes.html.tmpl:264 +#: src/templates/banknotes-codes.html.tmpl:390 +msgctxt "Header/Label" +msgid "Code" +msgstr "Kod" + +#: src/templates/coins-designs-de.html.tmpl:8 +msgid "German Euro Coin Designs" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:65 +msgid "" +"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}’)." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:251 +msgctxt "Company Name" +msgid "Aktia Bank" +msgstr "Aktia Bank" + +#: src/templates/language.html.tmpl:45 src/templates/language.html.tmpl:79 +msgid "Select Your Language" +msgstr "Välj ditt språk" + +#: src/templates/coins-designs-be.html.tmpl:57 +msgid "" +"In 2008 a second series of coins was released featuring a slightly modified " +"design in which the royal monogram was moved to the inner portion of the " +"coin along with the year of mintage in order to comply with the European " +"Commission’s guidelines. The country code ‘BE’ was also added to the design " +"underneath the royal monogram. The 2008 redesign also saw the use of a " +"slightly modified portrait of the King, but this design change was reverted " +"in 2009." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:24 +msgid "Getting Started" +msgstr "Komma igång" + +#: src/templates/collecting-crh.html.tmpl:226 +msgid "" +"Coin rolls have no fees and can be purchased with cash. You allegedly do not " +"need to be a customer, but this needs to be verified." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:278 +#: src/templates/collecting-crh.html.tmpl:286 +msgid "" +"Free coin rolls if you are a customer or €1 per roll if you are not a " +"customer. There are coin roll machines." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:332 +msgid "" +"In general, coin rolls are available at banks with a fee of €1 per roll; " +"rolls could potentially have no fee if you only need a few." +msgstr "" + +#: src/templates/-404.html.tmpl:12 +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-designs-hr.html.tmpl:33 +msgid "" +"The €1 coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and " +"features a marten. The marten is the semi-official national animal of " +"Croatia and the Kuna – their pre-Euro currency – was named after the marten " +"(‘{CroatianStart:r}kuna zlatica{CroatianEnd:E}’ in Croatian)." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:8 +msgid "Andorran Euro Coin Designs" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:13 +msgid "" +"Coin roll hunting is a popular method of coin collecting in which you " +"withdraw cash from your bank in the form of coins and then search through " +"those coins to find new additions to your collection. Once you’ve searched " +"through all your coins, you will typically deposit your left over coins at " +"the bank and withdraw new coins." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:300 +msgid "" +"There are coin roll machines but it is not yet known if you need to be a " +"customer or if there are fees." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:286 +#: src/templates/banknotes-codes.html.tmpl:404 +msgctxt "Company Name" +msgid "Oberthur" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:47 +msgctxt "Place Name" +msgid "Hamburg" +msgstr "Hamburg" + +#: src/templates/coins-designs-ee.html.tmpl:55 +msgid "Estonian Euro Coin Designs" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:209 +msgctxt "Company Name" +msgid "BBVA" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:42 +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/coins-designs-de.html.tmpl:25 +msgctxt "Header/Label" +msgid "City" +msgstr "Stad" + +#: src/templates/coins-designs-ee.html.tmpl:129 +msgid "Taavi Torim" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:30 +msgid "" +"It is also important to find details regarding the deposit of coins. " +"Depositing coins often also requires the payment of a fee – one which is " +"typically more expensive than the withdrawal fees. If depositing your coins " +"is too expensive you can always exchange your left over coins at shops for " +"banknotes. It is often cheaper (or even free) to deposit banknotes." +msgstr "" + +#. TRANSLATORS: The OeNB prefers ‘Oe’ over ‘Ö’ +#: src/templates/collecting-crh.html.tmpl:59 +msgctxt "Company Name" +msgid "Austrian National Bank" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:269 +msgctxt "Company Name" +msgid "Caisse d’Épargne" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:396 +msgid "You should be able to get coin rolls with no additional fees." +msgstr "" + +#: src/templates/language.html.tmpl:47 src/templates/language.html.tmpl:90 +msgid "Other Languages" +msgstr "Andra språk" + +#: src/templates/coins-designs-hr.html.tmpl:8 +msgid "Croatian Euro Coin Designs" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:88 +msgid "2002 Series" +msgstr "2002-serien" + +#: src/templates/collecting-crh.html.tmpl:363 +msgid "" +"Allegedly, coin rolls are only available for businesses, but this needs " +"additional confirmation." +msgstr "" + +#: src/templates/coins.html.tmpl:39 +msgid "View the mintage figures of all the Euro coins" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:57 +msgid "All these images are taken from {Link:L}eurobilltracker.com{-:E}." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:85 +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:350 +msgctxt "Company Name" +msgid "Giesecke+Devrient" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:82 +msgid "" +"There is a fee of €0.10 per roll. You must be a customer to use machines to " +"get rolls. Rolls have no fees when purchased at counters, but you will " +"probably be redirected to the machines if they work. You must present an " +"Erste Bank card to buy rolls from machines, however payment in cash is still " +"accepted." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:93 +msgid "" +"There is a fee of €1 per roll if you aren’t a customer and €0.30 otherwise. " +"Coin deposits are free for customers." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:232 +msgid "" +"Finland has no coin roll machines, but you can find vending machines or coin " +"exchange machines that accept cash (although they can be rather rare)." +msgstr "" + +#: src/templates/coins.html.tmpl:22 +msgid "" +"On this section of the site you can find everything there is to know about " +"the coins of the Eurozone." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:13 +msgid "" +"‘Vending machine hunting’ is a strategy of collecting coins whereby you " +"continuously insert coins into a vending machine and cancel the transaction " +"by pressing the return button. When the vending machine returns your coins " +"to you, you will often get different coins from the ones you put in, and you " +"can repeat this process until you’ve searched through every coin in the " +"machine." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:17 +msgid "Austrian €0.01 coin" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:12 +msgid "" +"There are many different methods of storing your collecting, each with their " +"own benefits and drawbacks. This page will describe the most common methods " +"collectors use to store their coins, as well as the pros and cons of each " +"method." +msgstr "" + +#. TRANSLATORS: On the German page the filter is called ‘Münzrollengeber’. For other languages we link to the English site, so mention the English filter name surrounded by ‘{EnglishStart:r}’ and ‘{EnglishEnd:E}’, and also translate it in parenthesis to your language. For example the Swedish page might say: ‘”{EnglishStart:r}coin roll dispenser{EnglishEnd:E}” (svenska: ”myntrullsautomat”)’ +#: src/templates/collecting-crh.html.tmpl:73 +msgid "" +"There is a fee of €0.20 per roll which can be purchased with cash at " +"machines. These machines are available to everyone but not in all branches. " +"Look for the ‘coin roll dispenser’ filter option {Link:L}here{-:E}." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:90 +msgctxt "Company Name" +msgid "Raiffeisen Bank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:205 +msgid "Coin rolls are free but you must be a customer." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:519 +msgid "" +"You can get an unlimited number of rolls for a €5 fee. You must be a " +"customer of the bank." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:12 +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:38 +#: src/templates/banknotes.html.tmpl:37 +msgid "Location Codes" +msgstr "Platskoder" + +#: src/templates/coins-designs-de.html.tmpl:31 +msgctxt "Place Name" +msgid "Berlin" +msgstr "Berlin" + +#: src/dbx/sql/last.sql:151 +msgctxt "CC Name" +msgid "Slovak Republic to the EU" +msgstr "Slovakien till EU" + +#: src/templates/coins.html.tmpl:18 +msgid "Euro Coins" +msgstr "" + +#: src/templates/coins-designs-nl.html.tmpl:8 +msgid "Dutch Euro Coin Designs" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:33 +msgid "Austrian €1 coin" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:314 +#: src/templates/banknotes-codes.html.tmpl:446 +#: src/templates/collecting-crh.html.tmpl:344 +msgctxt "Company Name" +msgid "Bank of Italy" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:329 +#: src/templates/banknotes-codes.html.tmpl:461 +#: src/templates/collecting-crh.html.tmpl:263 +msgctxt "Company Name" +msgid "Bank of France" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:343 +#: src/templates/banknotes-codes.html.tmpl:489 +#: src/templates/collecting-crh.html.tmpl:306 +msgctxt "Company Name" +msgid "Bank of Greece" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:161 +msgid "Jaarno Ester" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:86 +msgid "" +"Depositing coins is free up to €100 a day, at which point you pay 1% for any " +"additionally deposited coins. You must also be a customer. Depositing coins " +"is free for all Erste Bank customers at Dornbirner Sparkasse with no limit." +msgstr "" + +#: src/templates/jargon.html.tmpl:39 +msgid "NIFC — Not Intended For Circulation" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:30 +msgid "" +"Boxes are quite space-inefficient and are one of the most expensive ways to " +"store your coins, but at the same time they offer a great visual appeal." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:516 +msgid "Printer code on a {N} euro bill" +msgid_plural "Printer code on a {N} euro bill" +msgstr[0] "" +msgstr[1] "" + +#: src/templates/collecting-crh.html.tmpl:34 +msgid "" +"In some countries such as Austria it is even common to be able to withdraw " +"new coins from your account using other coins." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:54 +msgid "" +"Coin rolls can be obtained from Andbank, Creand and MoraBanc. All three of " +"these banks require that you are a customer to get rolls, however there have " +"been reports of individuals managing to get rolls without any fees and " +"without being a customer by simply asking kindly at the bank." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:143 +msgid "" +"Coin roll availability and their related fees may vary across banks and " +"branches. Unless specified otherwise, you must be a customer to purchase " +"coin rolls." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:177 +msgid "" +"Obtaining coin rolls in Estonia is typically quite difficult and often " +"expensive. You also generally need to make an appointment in advance." +msgstr "" + +#: src/templates/banknotes.html.tmpl:45 +msgid "Test Notes" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:164 +msgid "" +"Coin rolls can be obtained for a fee of €0.50–€1.50 per roll. The amount " +"varies per branch." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:215 +msgid "" +"Coin rolls have a fee of €2 for 5 rolls. This seems to vary by location." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:464 +msgctxt "Company Name" +msgid "ING" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:474 +msgid "Coin rolls are available for a fee of €7 + €0.50 per roll." +msgstr "" + +#: src/dbx/sql/last.sql:156 +msgctxt "CC Name" +msgid "Fête de la Fédération" +msgstr "Federationsdagen" + +#: src/templates/coins.html.tmpl:31 +msgid "View the 600+ different Euro-coin designs" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:48 +msgid "" +"There are some limits to vending machine hunts which you need to be aware of." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:58 +msgid "" +"Some machines will either give back large amounts of change in bills or will " +"not give back large amounts of change at all (usually cigarette machines). " +"Read the labels on all machines carefully since these limits are usually " +"written there." +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:60 +msgid "" +"After his accession to the throne in 2014, Belgium switched to a third " +"series of coins featuring the portrait of King Philippe. As is customary " +"with coins bearing the portraits of monarchs, the direction in which the " +"portrait faces was flipped from the prior series to face right instead of " +"left." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:177 +msgctxt "Coin Design" +msgid "A Flower in the Rye" +msgstr "En blomma i rågen" + +#: src/templates/coins-mintages.html.tmpl:190 +#: src/templates/coins-mintages.html.tmpl:227 +msgctxt "Header/Label" +msgid "Commemorated Topic" +msgstr "Minnesämne" + +#: src/templates/collecting-crh.html.tmpl:184 +msgid "" +"You can purchase commemorative coins – including those released years ago – " +"for face value." +msgstr "" + +#: src/templates/about.html.tmpl:13 +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/collecting-storage.html.tmpl:8 +#: src/templates/collecting.html.tmpl:37 +msgid "Coin Storage" +msgstr "Myntförvaring" + +#: src/templates/coins-designs-nl.html.tmpl:41 +msgid "" +"The €1 and €2 coins featuring King Willem-Alexander were minted with a much " +"lower {Link:l}relief{-:E} than most euro coins of the same denomination. As " +"a result it is not uncommon for these coins to appear worn after little use " +"in circulation." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:26 +msgid "Andorra’s Romanesque art" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:56 +msgid "Examples" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:45 +msgid "Printer Codes" +msgstr "Skrivarkoder" + +#. TRANSLATORS: Name of a coin design. Don’t translate unless you use a non-latin script +#: src/templates/coins-designs-ee.html.tmpl:169 +msgctxt "Coin Design" +msgid "Nova" +msgstr "Nova" + +#: src/templates/coins-designs-ee.html.tmpl:178 +msgid "Margus Kadarik" +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:21 +msgid "Belgian Euro Coin Designs" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:18 +msgid "Austrian €0.02 coin" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:33 +msgid "Coin Capsules" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:64 +msgid "Flips in a case" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:72 +msgid "Flips and capsules in a box" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:168 +msgctxt "Company Name" +msgid "Volksbank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:218 +msgid "Coin rolls have no fees." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:254 +msgid "" +"Coin rolls used to be obtainable without fees, however you can no longer " +"obtain rolls." +msgstr "" + +#: src/templates/-navbar.html.tmpl:46 +msgctxt "Navbar Label" +msgid "Coins" +msgstr "Mynt" + +#: src/templates/jargon.html.tmpl:49 +msgid "PMD — Post-Mint Damage" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:15 +msgid "German €0.10 coin" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:60 +msgid "Estonian €1 coin" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:85 +#: src/templates/coins-designs-ee.html.tmpl:100 +#: src/templates/coins-designs-ee.html.tmpl:109 +#: src/templates/coins-designs-ee.html.tmpl:117 +#: src/templates/coins-designs-ee.html.tmpl:125 +#: src/templates/coins-designs-ee.html.tmpl:134 +#: src/templates/coins-designs-ee.html.tmpl:143 +#: src/templates/coins-designs-ee.html.tmpl:150 +#: src/templates/coins-designs-ee.html.tmpl:158 +#: src/templates/coins-designs-ee.html.tmpl:166 +#: src/templates/coins-designs-ee.html.tmpl:175 +msgctxt "Header/Label" +msgid "Position" +msgstr "Position" + +#: src/templates/coins-designs-ee.html.tmpl:90 +#: src/templates/coins-designs-ee.html.tmpl:104 +#: src/templates/coins-designs-ee.html.tmpl:112 +#: src/templates/coins-designs-ee.html.tmpl:120 +#: src/templates/coins-designs-ee.html.tmpl:129 +#: src/templates/coins-designs-ee.html.tmpl:138 +#: src/templates/coins-designs-ee.html.tmpl:145 +#: src/templates/coins-designs-ee.html.tmpl:153 +#: src/templates/coins-designs-ee.html.tmpl:161 +#: src/templates/coins-designs-ee.html.tmpl:170 +#: src/templates/coins-designs-ee.html.tmpl:178 +msgctxt "Header/Label" +msgid "Author(s)" +msgstr "Författare" + +#: src/templates/collecting-crh.html.tmpl:171 +msgid "Coin rolls can be obtained for a fee of €0.25 per roll." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:283 +msgctxt "Company Name" +msgid "Crédit Mutuel" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:50 +msgid "" +"The Andorran 10c, 20c and 50c coins 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/jargon.html.tmpl:22 +msgid "" +"All terms defined below can be used as clickable links which highlight the " +"selected term. It is recommended to use these links when sharing this page " +"with others, so that the relevant terms are highlighted." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:120 +msgid "Jaan Meristo" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:297 +msgctxt "Company Name" +msgid "LCL" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:451 +msgid "Obtaining coins from the Dutch Central Bank is not possible." +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:12 +msgid "Finnish €0.01 coin" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:11 +msgid "What is Vending Machine Hunting?" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:76 +msgid "Coins in an album" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:58 +#: src/templates/coins-mintages.html.tmpl:79 +#: src/templates/coins-mintages.html.tmpl:114 +#: src/templates/coins-mintages.html.tmpl:189 +msgctxt "Header/Label" +msgid "Year" +msgstr "År" + +#: src/templates/collecting-crh.html.tmpl:240 +msgid "" +"It is probably not possible to obtain coin rolls, but this is not confirmed." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:271 +#: src/templates/collecting-crh.html.tmpl:293 +msgid "Coin rolls can be obtained with no fee. You must be a customer." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:496 +msgid "In general there is a €1.20 fee for coin rolls." +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:20 +msgid "" +"The cent coins feature the Finnish heraldic lion that can be found on the " +"{Link:L}Finnish coat of arms{-:E}. It was also found on various Finnish Mark " +"coins from 1921–2001." +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:24 +msgid "" +"The €1 coin features two {Link:L}Whooper swans{-:E} – the national bird of " +"Finland – flying over a Finnish landscape. The coin was designed by Pertti " +"Mäkinen as part of a design contest for a commemorative coin design in 1997 " +"to celebrate the 80th anniversary of Finnish independence." +msgstr "" + +#: src/templates/-navbar.html.tmpl:56 +msgctxt "Navbar Label" +msgid "About" +msgstr "Om oss" + +#: src/templates/coins-designs-hr.html.tmpl:29 +msgid "" +"The 10c, 20c and 50c coins were designed by Ivan Domagoj Račić and feature " +"the portrait of the inventor and engineer {Link:L}Nikola Tesla{-:E}. The " +"design of these coins caused controversy when they were first announced with " +"the National Bank of Serbia claiming that it would be an appropriation of " +"the cultural and scientific heritage of the Serbian people to feature the " +"portrait of someone who ‘declared himself to be Serbian by origin’." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:17 +msgid "Andorran €2 coin" +msgstr "" + +#: src/templates/jargon.html.tmpl:54 +msgid "Relief" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:300 +#: src/templates/banknotes-codes.html.tmpl:432 +msgctxt "Company Name" +msgid "Royal Joh. Enschedé" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:60 +msgid "" +"The €1 and €2 coins feature an interpretation of the German Federal Eagle " +"(German: ‘{GermanStart:r}Bundesadler{GermanEnd:E}’). The eagle is a common " +"motif in German heraldry – including in the {Link:L}German coat of arms{-:E} " +"– and represents strength and freedom. The mint mark is located to the right " +"of the year." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:73 +msgid "" +"In June 2004 a public design competition was announced with a deadline for " +"the 19th of October. A total of 134 designs were submitted by the deadline " +"and of these submissions, 10 were picked by a jury to partake in the public " +"vote over the course of one week. In total, 45,453 people voted and the " +"current design won with a total of 12,482 votes (27.46%)." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:43 +msgid "" +"Be aware of the fact that the information below may be outdated or " +"inaccurate. Many of the details are self-reported." +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:17 +msgid "Croatian €1 coin" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:109 +msgctxt "Company Name" +msgid "Argenta" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:157 +msgid "Hand-rolled coin rolls can be obtained with no additional fees." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:223 +msgctxt "Company Name" +msgid "La Caixa" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:393 +msgctxt "Company Name" +msgid "Dexia" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:419 +msgctxt "Company Name" +msgid "Bank of Valletta" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:426 +msgctxt "Company Name" +msgid "HSBC Bank Malta" +msgstr "" + +#: src/templates/jargon.html.tmpl:29 +msgid "AU — Almost Uncirculated" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:185 +msgctxt "Header/Label" +msgid "Total" +msgstr "Totalt" + +#: src/templates/collecting-crh.html.tmpl:17 +msgid "" +"This type of coin collecting is often called ‘coin roll hunting’ " +"(abbreviated to ‘CRH’) due to the fact that banks will often provide you " +"with coins in the form of paper-wrapped rolls. You may however find that " +"your coins come in plastic bags instead (common in countries like Ireland)." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:383 +msgctxt "Company Name" +msgid "Central Bank of Luxembourg" +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:8 +msgid "Finnish Euro Coin Designs" +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:17 +msgid "" +"The Finnish euro coins feature 3 different designs: one for the cents, one " +"for the €1 coin and one for the €2 coin. All coins minted between 1999–2006 " +"bear the mintmaster mark ‘M’ for Raimo Makkonen. From 2007 onwards, the " +"mintmaster mark was replaced with the logo of the Mint of Finland and the " +"Finnish country code (‘FI’) was added." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:8 +#: src/templates/collecting.html.tmpl:18 +msgid "Euro Coin Collecting" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:56 +msgid "Finally, the €2 coin features the {Link:L}coat of arms of Andorra{-:E}." +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:76 +msgid "" +"The winner of the contest was awarded 50,000 EEK (€3,196) while the other " +"finalists were each awarded 20,000 EEK (€1,278)." +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:124 +msgctxt "Company Name" +msgid "Belfius" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:422 +#: src/templates/collecting-crh.html.tmpl:429 +msgid "" +"You can get rolls for a fee of €0.30 per roll. You must order coin rolls " +"through their online platform, and you must be a customer." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:439 +msgid "" +"Banks in the Netherlands do not carry cash, and as such it’s not possible to " +"obtain rolls from bank tellers. If you want to obtain coin rolls you need to " +"use a Geldmaat coin roll machine which can be found in specific branches of " +"GAMMA and Karwei. Geldmaat offers a map on their website where you can " +"search for branches with these machines; you can find that map {Link:L}" +"here{-:E}. Coin rolls are only available to customers of the banks listed " +"below." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:448 +msgctxt "Company Name" +msgid "The Dutch Central Bank" +msgstr "" + +#. TRANSLATORS: Name of a bank +#: src/templates/collecting-crh.html.tmpl:456 +msgctxt "Company Name" +msgid "ABN AMRO" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:25 +msgid "€0.10, €0.20 and €0.50" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:269 +#: src/templates/banknotes-codes.html.tmpl:395 +msgctxt "Header/Label" +msgid "Local Names" +msgstr "Locala namn" + +#: src/templates/coins-mintages.html.tmpl:46 +msgid "" +"Most coins from the years 2003–2016 are listed as NIFC coins while other " +"popular sources such as Numista claim they were minted for circulation. For " +"more information on why others are wrong, {Link:l}click here{-:E}." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:26 +msgid "" +"To get started with coin roll hunting you should first contact your bank or " +"check their website to find details regarding coin withdrawal. You will then " +"typically need to go to the bank to pick up your coins. Depending on your " +"bank you may be able to withdraw coins from a machine. Most banks will " +"charge you a small fee per roll and/or transaction." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:116 +msgctxt "Company Name" +msgid "KBC Bank" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:193 +msgid "" +"You can purchase individual coins and commemorative coin rolls (even those " +"of other countries). You can watch a video {Link:L}here{-:E} to see how to " +"do it." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:467 +msgid "Coin rolls are available for a fee of €7 + €0.35 per roll." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:512 +msgid "" +"You may be able to get uncirculated rolls, but this is not yet confirmed." +msgstr "" + +#: src/templates/banknotes.html.tmpl:31 +msgid "View the different Euro banknote designs" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:257 +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 "" + +#: src/templates/collecting-crh.html.tmpl:190 +msgctxt "Company Name" +msgid "Bank of Spain" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:459 +msgid "" +"Coin rolls are available for a fee of €0.30 per roll. You must withdraw " +"between 10–20 rolls." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:480 +msgctxt "Company Name" +msgid "Bank of Portugal" +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:14 +msgid "Finnish €2.00 coin" +msgstr "" + +#: src/templates/coins-designs-fi.html.tmpl:29 +msgid "" +"The €2 coin was designed by Raimo Heino and features a motif of cloudberries " +"and cloudberry flowers. This design was made as part of a design contest " +"hosted in 1988." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:53 +msgid "" +"Some machines have a maximum amount you can throw in, and will reject " +"anything higher. For example machines with a maximum limit of €5 will reject " +"any additional coins if you throw in €5. You can try to go above the limit " +"if you throw in €4.80 and then another €1 or €2 coin; the machine might " +"accept it." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:293 +#: src/templates/banknotes-codes.html.tmpl:425 +msgctxt "Company Name" +msgid "Austrian Banknote and Security Printing" +msgstr "Österrikisk sedel- och säkerhetstryckning" + +#: src/templates/collecting-crh.html.tmpl:161 +msgctxt "Company Name" +msgid "Sparkasse" +msgstr "" + +#: src/templates/coins-designs-cy.html.tmpl:24 +msgid "" +"The 1c, 2c and 5c coins feature two mouflons, a wild sheep native to Cyprus, " +"symbolising the island’s wildlife. The 10c, 20c and 50c coins feature the " +"{LinkK:L}Kyrenia{-:E}, an ancient Greek merchent ship that sank circa " +"294 BC; it represents the importance of seafaring to Cyprus’ history as well " +"as its importance as a centre of trade. Finally, the €1 and €2 coins feature " +"the {LinkI:L}Idol of Pomos{-:E}, a stone prehistoric sculpture found near " +"the Cypriot village of Pomos. The sculpture is currently on display in the " +"Cyprus Museum in Nicosia." +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:46 +msgid "Limits" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:31 +msgid "(Non-)Merging Machines" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:8 +msgid "Austrian Euro Coin Designs" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:22 +msgid "" +"The bronze coins feature the Alpine gentian, edelweiss and primrose " +"respectively, and were chosen to symbolize the role that Austria played in " +"the development of EU environmental policy." +msgstr "" + +#: src/templates/jargon.html.tmpl:65 +msgid "Collector-Specific Terms" +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:54 +msgctxt "Header/Label" +msgid "Filter Method" +msgstr "Filtermetod" + +#: src/dbx/sql/last.sql:155 +msgctxt "CC Name" +msgid "Peace and security" +msgstr "Fred och säkerhet" + +#: src/templates/banknotes.html.tmpl:29 src/templates/coins.html.tmpl:29 +msgid "Designs" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:21 +msgid "" +"The Croatian euro coins feature four different themes, with each design " +"featuring the Croatian checkerboard and the country’s name in Croatian " +"(‘{CroatianStart:r}HRVATSKA{CroatianEnd:E}’). All designs were selected " +"after voting in a public design competition." +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:20 +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/jargon.html.tmpl:36 +msgid "" +"BU is a general term to refer to coins from coincards and sets. These are " +"different from UNC coins in that they are typically handled with more care " +"during the minting process and are struck with higher-quality dies than " +"coins minted for general circulation, resulting in a higher-quality coin." +msgstr "" + +#: src/templates/coins-mintages.html.tmpl:39 +msgid "" +"Here you’ll be able to view all the known mintages for all coins. You’ll " +"also be able to filter on country, denomination, etc. If you have any " +"mintage data that’s missing from our site, feel free to contact us." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:531 +msgid "" +"Ask the Pope nicely and he’ll probably give you some Vatican coins for free." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:25 +msgid "Austrian €0.10 coin" +msgstr "" + +#: src/templates/coins-designs-hr.html.tmpl:14 +msgid "Croatian €0.50 coin" +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:26 +msgid "Belgian €1 coin (King Albert; Series 1)" +msgstr "" + +#: src/templates/coins-designs-ee.html.tmpl:88 +#: src/templates/coins-designs-ee.html.tmpl:98 +msgctxt "Header/Label" +msgid "Translation" +msgstr "Översättning" + +#: src/templates/coins-designs-ee.html.tmpl:170 +msgid "Rene Haljasmäe" +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:516 +msgctxt "Company Name" +msgid "Tatra banka" +msgstr "" + +#: src/templates/-navbar.html.tmpl:45 +msgctxt "Navbar Label" +msgid "Coin Collecting" +msgstr "Myntsamling" + +#: src/templates/-navbar.html.tmpl:44 +msgctxt "Navbar Label" +msgid "News" +msgstr "Nyheter" + +#: src/templates/collecting-crh.html.tmpl:8 +#: src/templates/collecting.html.tmpl:29 +msgid "Coin Roll Hunting" +msgstr "Myntrullejakt" + +#: src/templates/coins-designs-ad.html.tmpl:41 +msgid "Rejected Andorran design" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:16 +msgid "German €1 coin" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:51 +msgid "Coin Rolls" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:321 +#: src/templates/banknotes-codes.html.tmpl:453 +#: src/templates/collecting-crh.html.tmpl:336 +msgctxt "Company Name" +msgid "Central Bank of Ireland" +msgstr "Irlands Centralbank" + +#: src/templates/coins-designs-ee.html.tmpl:160 +msgctxt "Coin Design" +msgid "Leopards-2" +msgstr "Leoparder-2" + +#: src/templates/collecting-crh.html.tmpl:154 +msgctxt "Company Name" +msgid "German Post" +msgstr "" + +#: src/templates/index.html.tmpl:9 +msgid "The Euro Cash Wiki" +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:30 +msgid "" +"The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese " +"Gothic architectural style dating to around the year 1160. The €0.20 coin " +"features Belvedere Palace. This is an example of Baroque architecture and " +"symbolises the national freedom and sovereignty of Austria. Finally, the " +"€0.50 coin features the Secession Building: an exhibition hall in the Art " +"Nouveau style." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:500 +msgctxt "Company Name" +msgid "Bank of Slovenia" +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:409 +msgctxt "Place Name" +msgid "Bulgaria" +msgstr "Bulgarien" + +#: src/templates/coins-designs-nl.html.tmpl:33 +msgid "" +"From the years 1999–2013 all Dutch euro coins featured the portrait of " +"Queen Beatrix of the Netherlands. After her abdication from the throne in " +"2013 the designs of all denominations were changed to feature the portrait " +"of the new King Willem-Alexander. After her abdication the direction in " +"which the monarchs portrait faced was flipped; a tradition shared by the " +"coins of many monarchies around the world." +msgstr "" + +#: src/templates/coins-designs-be.html.tmpl:34 +msgid "Belgian €1 coin (King Philippe)" +msgstr "" + +#: src/templates/jargon.html.tmpl:69 +msgid "" +"Coin roll hunting is a general term for the activity of collecting coins by " +"searching through coin rolls and bags. Coin rolls and bags are often " +"obtained at banks or coin roll machines." +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:26 +msgid "" +"Coin boxes are to many people the most aesthetic way to store your coins. A " +"coin box is comprised of various layers which can be stacked on top of each " +"other. Each layer has a grid of slots where you can insert your coins. " +"Typically you are meant to store your coins in a layer encased in a coin " +"capsule." +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:35 +msgctxt "Place Name" +msgid "Munich" +msgstr "München" + +#: src/templates/collecting-crh.html.tmpl:21 +msgid "" +"Depending on your bank and branch, the process of obtaining coins may " +"differ. Some banks require you speak to a teller while others have coin " +"machines. Some banks may also require that you are a customer or even that " +"you have a business account. If you aren’t sure about if you can get coins " +"we suggest you contact your bank, although further down this page we also " +"have additional information about the withdrawal of coins in various " +"countries and major banks." +msgstr "" + +#: src/templates/collecting-crh.html.tmpl:66 +msgctxt "Company Name" +msgid "Bank Austria" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:15 +msgid "Coin Albums" +msgstr "" + +#: src/templates/collecting-storage.html.tmpl:53 +msgid "" +"This is probably the most inexpensive way to store your coins. If you take " +"good care of the paper when opening coin rolls, you can simply reuse them " +"for storage. Just roll your coins back up and put some rubber bands on the " +"ends. You can also get reusable plastic rolls that can be opened and closed. " +"You will need different rolls based on the denomination you want to store, " +"but they are very space-efficient." +msgstr "" + +#: src/templates/banknotes-codes.html.tmpl:381 +msgid "Europa Series" +msgstr "Europa-serien" + +#: src/templates/coins-designs-be.html.tmpl:39 +msgid "" +"Since 1999 Belgium has released three series of euro coins, with each series " +"having a single design repeated on all denominations. Starting in 1999 the " +"Belgian euro coins featured the portrait of King Albert II with the {Link:L}" +"royal monogram{-:E} in the outer ring of the coins." +msgstr "" + +#: src/templates/coins-designs-at.html.tmpl:34 +msgid "Austrian €2 coin" +msgstr "" + +#: src/templates/coins.html.tmpl:37 +msgid "Mintages" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:26 +msgid "Rejected Stoppers and Coins" +msgstr "" + +#: src/templates/collecting.html.tmpl:22 +msgid "" +"On this section of the site you can find everything there is to know about " +"collecting Euro coins. If this is a hobby that interests you, join the " +"Discord server linked at the top of the page!" +msgstr "" + +#: src/templates/collecting-vending.html.tmpl:21 +msgid "The Stopper" +msgstr "" + +#: src/templates/jargon.html.tmpl:31 +msgid "" +"AU coins are coins that are in extremely good condition as a result of " +"limited use in circulation. Unlike the term ‘UNC’, this term is a " +"description of the coins quality, not its usage. AU coins often appear to " +"retain most of their original luster as well as possessing little to no " +"scratches or other forms of post-mint damage (PMD)." +msgstr "" + +#: src/templates/collecting.html.tmpl:31 +msgid "Learn about collecting coins from coin rolls" +msgstr "" + +#: src/templates/coins-designs-ad.html.tmpl:45 +msgid "The rejected Andorran design" +msgstr "" + +#: src/templates/coins-designs-de.html.tmpl:39 +msgctxt "Place Name" +msgid "Stuttgart" +msgstr "Stuttgart" + +#: src/templates/coins-designs-de.html.tmpl:65 +msgid "" +"The €2 coin also features an edge-inscription of Germany’s national motto " +"and incipit of Germany’s national anthem. It reads ‘{GermanStart:r}EINIGKEIT " +"UND RECHT UND FREIHEIT{GermanEnd:E}’ (English: ‘UNITY AND JUSTICE AND " +"FREEDOM’)." +msgstr "" + +#. TRANSLATORS: ‘Estonian’ as in the language, not the nationality +#: src/templates/coins-designs-ee.html.tmpl:137 +msgctxt "Coin Design" +msgid "Estonian" +msgstr "Estniska" diff --git a/src/app.go b/src/app.go new file mode 100644 index 0000000..944b3b6 --- /dev/null +++ b/src/app.go @@ -0,0 +1,18 @@ +package app + +import ( + "os" + "syscall" + + "git.thomasvoss.com/euro-cash.eu/pkg/atexit" + . "git.thomasvoss.com/euro-cash.eu/pkg/try" +) + +var Debugp bool + +func Restart() { + path := Try2(os.Executable()) + atexit.Exec() + Try(syscall.Exec(path, append([]string{path}, os.Args[1:]...), + os.Environ())) +} diff --git a/src/countries.go b/src/countries.go index ee85c72..d168266 100644 --- a/src/countries.go +++ b/src/countries.go @@ -1,46 +1,77 @@ -package src +package app import ( "slices" "golang.org/x/text/collate" "golang.org/x/text/language" + + "git.thomasvoss.com/euro-cash.eu/src/i18n" ) type country struct { Code, Name string } -func sortedCountries(p Printer) []country { +var countryCodeToName = map[string]string{ + "ad": "Andorra", + "at": "Austria", + "be": "Belgium", + /* TODO(2026): Add Bulgaria */ + /* "bg": "Bulgaria", */ + "cy": "Cyprus", + "de": "Germany", + "ee": "Estonia", + "es": "Spain", + "fi": "Finland", + "fr": "France", + "gr": "Greece", + "hr": "Croatia", + "ie": "Ireland", + "it": "Italy", + "lt": "Lithuania", + "lu": "Luxembourg", + "lv": "Latvia", + "mc": "Monaco", + "mt": "Malta", + "nl": "Netherlands", + "pt": "Portugal", + "si": "Slovenia", + "sk": "Slovakia", + "sm": "San Marino", + "va": "Vatican City", +} + +func sortedCountries(p i18n.Printer) []country { xs := []country{ - {Code: "ad", Name: p.T("Andorra")}, - {Code: "at", Name: p.T("Austria")}, - {Code: "be", Name: p.T("Belgium")}, + {Code: "ad", Name: p.GetC("Andorra", "Place Name")}, + {Code: "at", Name: p.GetC("Austria", "Place Name")}, + {Code: "be", Name: p.GetC("Belgium", "Place Name")}, /* TODO(2026): Add Bulgaria */ - /* {Code: "bg", Name: p.T("Bulgaria")}, */ - {Code: "cy", Name: p.T("Cyprus")}, - {Code: "de", Name: p.T("Germany")}, - {Code: "ee", Name: p.T("Estonia")}, - {Code: "es", Name: p.T("Spain")}, - {Code: "fi", Name: p.T("Finland")}, - {Code: "fr", Name: p.T("France")}, - {Code: "gr", Name: p.T("Greece")}, - {Code: "hr", Name: p.T("Croatia")}, - {Code: "ie", Name: p.T("Ireland")}, - {Code: "it", Name: p.T("Italy")}, - {Code: "lt", Name: p.T("Lithuania")}, - {Code: "lu", Name: p.T("Luxembourg")}, - {Code: "lv", Name: p.T("Latvia")}, - {Code: "mc", Name: p.T("Monaco")}, - {Code: "mt", Name: p.T("Malta")}, - {Code: "nl", Name: p.T("Netherlands")}, - {Code: "pt", Name: p.T("Portugal")}, - {Code: "si", Name: p.T("Slovenia")}, - {Code: "sk", Name: p.T("Slovakia")}, - {Code: "sm", Name: p.T("San Marino")}, - {Code: "va", Name: p.T("Vatican City")}, + /* {Code: "bg", Name: p.GetC("Bulgaria", "Place Name")}, */ + {Code: "cy", Name: p.GetC("Cyprus", "Place Name")}, + {Code: "de", Name: p.GetC("Germany", "Place Name")}, + {Code: "ee", Name: p.GetC("Estonia", "Place Name")}, + {Code: "es", Name: p.GetC("Spain", "Place Name")}, + {Code: "fi", Name: p.GetC("Finland", "Place Name")}, + {Code: "fr", Name: p.GetC("France", "Place Name")}, + {Code: "gr", Name: p.GetC("Greece", "Place Name")}, + {Code: "hr", Name: p.GetC("Croatia", "Place Name")}, + {Code: "ie", Name: p.GetC("Ireland", "Place Name")}, + {Code: "it", Name: p.GetC("Italy", "Place Name")}, + {Code: "lt", Name: p.GetC("Lithuania", "Place Name")}, + {Code: "lu", Name: p.GetC("Luxembourg", "Place Name")}, + {Code: "lv", Name: p.GetC("Latvia", "Place Name")}, + {Code: "mc", Name: p.GetC("Monaco", "Place Name")}, + {Code: "mt", Name: p.GetC("Malta", "Place Name")}, + {Code: "nl", Name: p.GetC("Netherlands", "Place Name")}, + {Code: "pt", Name: p.GetC("Portugal", "Place Name")}, + {Code: "si", Name: p.GetC("Slovenia", "Place Name")}, + {Code: "sk", Name: p.GetC("Slovakia", "Place Name")}, + {Code: "sm", Name: p.GetC("San Marino", "Place Name")}, + {Code: "va", Name: p.GetC("Vatican City", "Place Name")}, } - c := collate.New(language.MustParse(p.Locale.Bcp)) + c := collate.New(language.MustParse(p.Bcp)) slices.SortFunc(xs, func(x, y country) int { return c.CompareString(x.Name, y.Name) }) diff --git a/src/dbx/db.go b/src/dbx/db.go index 30f14f7..5ee3782 100644 --- a/src/dbx/db.go +++ b/src/dbx/db.go @@ -1,67 +1,63 @@ package dbx import ( - "database/sql" - "embed" + "context" "fmt" "io/fs" "log" - "path/filepath" - "reflect" "sort" - "strings" + "git.thomasvoss.com/euro-cash.eu/pkg/atexit" + . "git.thomasvoss.com/euro-cash.eu/pkg/try" + "github.com/jmoiron/sqlx" "github.com/mattn/go-sqlite3" ) var ( - DB *sql.DB + db *sqlx.DB DBName string - - //go:embed "sql/*.sql" - migrations embed.FS ) -func Init() { - var err error - if DB, err = sql.Open("sqlite3", DBName); err != nil { - log.Fatal(err) - } - if err = DB.Ping(); err != nil { - log.Fatal(err) - } +func Init(sqlDir fs.FS) { + db = sqlx.MustConnect("sqlite3", DBName) + atexit.Register(Close) - if err := applyMigrations("sql"); err != nil { - log.Fatal(err) - } + conn := Try2(db.Conn(context.Background())) + Try(conn.Raw(func(driverConn any) error { + return driverConn.(*sqlite3.SQLiteConn).RegisterFunc("C_", + func(s, _ string) string { + return s + }, true) + })) + conn.Close() + + Try(applyMigrations(sqlDir)) /* TODO: Remove debug code */ - if err := CreateUser(User{ - Email: "mail@thomasvoss.com", - Username: "Thomas", - Password: "69", - AdminP: true, - }); err != nil { - log.Fatal(err) - } - if err := CreateUser(User{ - Email: "foo@BAR.baz", - Username: "Foobar", - Password: "420", - AdminP: false, - }); err != nil { - log.Fatal(err) - } - if _, err := GetMintages("ad"); err != nil { - log.Fatal(err) - } + /* Try(CreateUser(User{ + Email: "mail@thomasvoss.com", + Username: "Thomas", + Password: "69", + AdminP: true, + })) + Try(CreateUser(User{ + Email: "foo@BAR.baz", + Username: "Foobar", + Password: "420", + AdminP: false, + })) + Try2(GetMintages("ad", TypeCirc)) */ +} + +func Close() { + db.Close() } -func applyMigrations(dir string) error { +func applyMigrations(dir fs.FS) error { var latest int migratedp := true - rows, err := DB.Query("SELECT latest FROM migration") + err := db.QueryRow("SELECT latest FROM migration").Scan(&latest) if err != nil { e, ok := err.(sqlite3.Error) /* IDK if there is a better way to do this… lol */ @@ -70,153 +66,79 @@ func applyMigrations(dir string) error { } else { return err } - } else { - defer rows.Close() } - if migratedp { - rows.Next() - if err := rows.Err(); err != nil { - return err - } - if err := rows.Scan(&latest); err != nil { - return err - } - } else { + if !migratedp { latest = -1 } - files, err := fs.ReadDir(migrations, dir) + files, err := fs.ReadDir(dir, ".") if err != nil { return err } - scripts := []string{} + var ( + last string + scripts []string + ) + for _, f := range files { - scripts = append(scripts, f.Name()) + if n := f.Name(); n == "last.sql" { + last = n + } else { + scripts = append(scripts, f.Name()) + } } sort.Strings(scripts) for _, f := range scripts[latest+1:] { - qry, err := migrations.ReadFile(filepath.Join(dir, f)) + qry, err := fs.ReadFile(dir, f) if err != nil { return err } - tx, err := DB.Begin() + tx, err := db.Begin() if err != nil { return err } - if _, err := tx.Exec(string(qry)); err != nil { - tx.Rollback() - return fmt.Errorf("error in ‘%s’: %w", f, err) - } - var n int - if _, err := fmt.Sscanf(f, "%d", &n); err != nil { - return err - } - _, err = tx.Exec("UPDATE migration SET latest = ? WHERE id = 1", n) - if err != nil { - return err + if _, err = fmt.Sscanf(f, "%d", &n); err != nil { + goto error } - if err := tx.Commit(); err != nil { - return err + if _, err = tx.Exec(string(qry)); err != nil { + err = fmt.Errorf("error in ‘%s’: %w", f, err) + goto error } - log.Printf("Applied database migration ‘%s’", f) - } - return nil -} - -func scanToStructs[T any](rs *sql.Rows) ([]T, error) { - xs := []T{} - for rs.Next() { - x, err := scanToStruct[T](rs) + _, err = tx.Exec("UPDATE migration SET latest = ? WHERE id = 1", n) if err != nil { - return nil, err + goto error } - xs = append(xs, x) - } - return xs, rs.Err() -} - -func scanToStruct[T any](rs *sql.Rows) (T, error) { - var t, zero T - cols, err := rs.Columns() - if err != nil { - return zero, err - } - - v := reflect.ValueOf(&t).Elem() - tType := v.Type() + if err = tx.Commit(); err != nil { + goto error + } - rawValues := make([]any, len(cols)) - for i := range rawValues { - var zero any - rawValues[i] = &zero - } + log.Printf("Applied database migration ‘%s’\n", f) + continue - if err := rs.Scan(rawValues...); err != nil { - return zero, err + error: + tx.Rollback() + return err } - /* col idx → [field idx, array idx] */ - arrayTargets := make(map[int][2]int) - colToField := make(map[string]int) - - for i := 0; i < tType.NumField(); i++ { - field := tType.Field(i) - tag := field.Tag.Get("db") - if tag == "" { - continue + if last != "" { + qry, err := fs.ReadFile(dir, last) + if err != nil { + return err } - - if strings.Contains(tag, ";") { - dbcols := strings.Split(tag, ";") - fv := v.Field(i) - if fv.Kind() != reflect.Array { - return zero, fmt.Errorf("field ‘%s’ is not array", - field.Name) - } - if len(dbcols) != fv.Len() { - return zero, fmt.Errorf("field ‘%s’ array length mismatch", - field.Name) - } - for j, colName := range cols { - for k, dbColName := range dbcols { - if colName == dbColName { - arrayTargets[j] = [2]int{i, k} - } - } - } - } else { - colToField[tag] = i + if _, err := db.Exec(string(qry)); err != nil { + return fmt.Errorf("error in ‘%s’: %w", last, err) } + log.Printf("Ran ‘%s’\n", last) } - for i, col := range cols { - vp := rawValues[i].(*any) - if fieldIdx, ok := colToField[col]; ok { - assignValue(v.Field(fieldIdx), *vp) - } else if target, ok := arrayTargets[i]; ok { - assignValue(v.Field(target[0]).Index(target[1]), *vp) - } - } - - return t, nil -} - -func assignValue(fv reflect.Value, val any) { - if val == nil { - fv.Set(reflect.Zero(fv.Type())) - return - } - v := reflect.ValueOf(val) - if v.Type().ConvertibleTo(fv.Type()) { - fv.Set(v.Convert(fv.Type())) - } + return nil } diff --git a/src/dbx/mintages.go b/src/dbx/mintages.go index ad13906..2223eff 100644 --- a/src/dbx/mintages.go +++ b/src/dbx/mintages.go @@ -1,65 +1,212 @@ package dbx -type MintageData struct { - Standard []MSRow - Commemorative []MCRow +import ( + "context" + "database/sql" + "slices" +) + +type CountryMintageData struct { + Standard []MSCountryRow + Commemorative []MCommemorative +} + +type YearMintageData struct { + Standard []MSYearRow + Commemorative []MCommemorative +} + +type msRow struct { + Country string + Type MintageType + Year int + Denomination float64 + Mintmark sql.Null[string] + Mintage sql.Null[int] + Reference sql.Null[string] } -type MSRow struct { - Type int `db:"type"` - Year int `db:"year"` - Mintmark string `db:"mintmark"` - Mintages [ndenoms]int `db:"€0,01;€0,02;€0,05;€0,10;€0,20;€0,50;€1,00;€2,00"` - Reference string `db:"reference"` +type MSCountryRow struct { + Year int + Mintmark sql.Null[string] + Mintages [ndenoms]sql.Null[int] + References [ndenoms]sql.Null[string] } -type MCRow struct { - Type int `db:"type"` - Year int `db:"year"` - Name string `db:"name"` - Number int `db:"number"` - Mintmark string `db:"mintmark"` - Mintage int `db:"mintage"` - Reference string `db:"reference"` +type MSYearRow struct { + Country string + Mintmark sql.Null[string] + Mintages [ndenoms]sql.Null[int] + References [ndenoms]sql.Null[string] } +type MCommemorative struct { + Country string + Type MintageType + Year int + Name string + Number int + Mintmark sql.Null[string] + Mintage sql.Null[int] + Reference sql.Null[string] +} + +type MintageType int + /* DO NOT REORDER! */ const ( - TypeCirc = iota + TypeCirc MintageType = iota TypeNifc TypeProof ) -/* DO NOT REORDER! */ -const ( - MintageUnknown = -iota - 1 - MintageInvalid -) - const ndenoms = 8 -func GetMintages(country string) (MintageData, error) { - var zero MintageData +func NewMintageType(s string) MintageType { + switch s { + case "circ": + return TypeCirc + case "nifc": + return TypeNifc + case "proof": + return TypeProof + } + /* We can get here if the user sends a request manually, so just + fallback to this */ + return TypeCirc +} + +func GetMintagesByYear(year int, typ MintageType) (YearMintageData, error) { + var ( + zero YearMintageData + xs []MSYearRow + ys []MCommemorative + ) - srows, err := DB.Query(`SELECT * FROM mintages_s WHERE country = ?`, country) + rs, err := db.QueryxContext(context.TODO(), ` + SELECT * FROM mintages_s + WHERE year = ? AND type = ? + ORDER BY country, mintmark, denomination + `, year, typ) if err != nil { return zero, err } - defer srows.Close() - xs, err := scanToStructs[MSRow](srows) - if err != nil { + + for rs.Next() { + var x msRow + if err = rs.StructScan(&x); err != nil { + return zero, err + } + + loop: + msr := MSYearRow{ + Country: x.Country, + Mintmark: x.Mintmark, + } + i := denomToIdx(x.Denomination) + msr.Mintages[i] = x.Mintage + msr.References[i] = x.Reference + + for rs.Next() { + var y msRow + if err = rs.StructScan(&y); err != nil { + return zero, err + } + + if x.Country != y.Country || x.Mintmark != y.Mintmark { + x = y + xs = append(xs, msr) + goto loop + } + + i = denomToIdx(y.Denomination) + msr.Mintages[i] = y.Mintage + msr.References[i] = y.Reference + } + + xs = append(xs, msr) + } + + if err = rs.Err(); err != nil { return zero, err } - crows, err := DB.Query(`SELECT * FROM mintages_c WHERE country = ?`, country) + db.SelectContext(context.TODO(), &ys, ` + SELECT * FROM mintages_c + WHERE year = ? and type = ? + ORDER BY country, mintmark, number + `, year, typ) + + return YearMintageData{xs, ys}, nil +} + +func GetMintagesByCountry(country string, typ MintageType) (CountryMintageData, error) { + var ( + zero CountryMintageData + xs []MSCountryRow + ys []MCommemorative + ) + + rs, err := db.QueryxContext(context.TODO(), ` + SELECT * FROM mintages_s + WHERE country = ? AND type = ? + ORDER BY year, mintmark, denomination + `, country, typ) if err != nil { return zero, err } - defer crows.Close() - ys, err := scanToStructs[MCRow](crows) - if err != nil { + + for rs.Next() { + var x msRow + if err = rs.StructScan(&x); err != nil { + return zero, err + } + + loop: + msr := MSCountryRow{ + Year: x.Year, + Mintmark: x.Mintmark, + } + i := denomToIdx(x.Denomination) + msr.Mintages[i] = x.Mintage + msr.References[i] = x.Reference + + for rs.Next() { + var y msRow + if err = rs.StructScan(&y); err != nil { + return zero, err + } + + if x.Year != y.Year || x.Mintmark != y.Mintmark { + x = y + xs = append(xs, msr) + goto loop + } + + i = denomToIdx(y.Denomination) + msr.Mintages[i] = y.Mintage + msr.References[i] = y.Reference + } + + xs = append(xs, msr) + } + + if err = rs.Err(); err != nil { return zero, err } - return MintageData{xs, ys}, nil + db.SelectContext(context.TODO(), &ys, ` + SELECT * FROM mintages_c + WHERE country = ? and type = ? + ORDER BY year, mintmark, number + `, country, typ) + + return CountryMintageData{xs, ys}, rs.Err() +} + +func denomToIdx(d float64) int { + return slices.Index([]float64{ + 0.01, 0.02, 0.05, 0.10, + 0.20, 0.50, 1.00, 2.00, + }, d) } diff --git a/src/dbx/sql/000-genesis.sql b/src/dbx/sql/000-genesis.sql index 6daad31..c16c6ae 100644 --- a/src/dbx/sql/000-genesis.sql +++ b/src/dbx/sql/000-genesis.sql @@ -7,68 +7,36 @@ CREATE TABLE migration ( INSERT INTO migration (id, latest) VALUES (1, -1); CREATE TABLE mintages_s ( - country CHAR(2) NOT NULL COLLATE BINARY + country CHAR(2) NOT NULL COLLATE BINARY CHECK(length(country) = 2), - type INTEGER NOT NULL -- Codes correspond to contants in mintages.go + -- Codes correspond to contants in mintages.go + type INTEGER NOT NULL CHECK(type BETWEEN 0 AND 2), - year INTEGER NOT NULL, - mintmark TEXT, - [€0,01] INTEGER, - [€0,02] INTEGER, - [€0,05] INTEGER, - [€0,10] INTEGER, - [€0,20] INTEGER, - [€0,50] INTEGER, - [€1,00] INTEGER, - [€2,00] INTEGER, - reference TEXT + year INTEGER NOT NULL, + denomination REAL NOT NULL, + mintmark TEXT, + mintage INTEGER, + reference TEXT ); CREATE TABLE mintages_c ( country CHAR(2) NOT NULL COLLATE BINARY CHECK(length(country) = 2), - type INTEGER NOT NULL -- Codes correspond to contants in mintages.go + -- Codes correspond to contants in mintages.go + type INTEGER NOT NULL CHECK(type BETWEEN 0 AND 2), - name TEXT NOT NULL, year INTEGER NOT NULL, + name TEXT NOT NULL, number INTEGER NOT NULL, mintmark TEXT, mintage INTEGER, reference TEXT ); --- TODO: Remove dummy data -INSERT INTO mintages_s ( - country, - type, - year, - mintmark, - [€0,01], - [€0,02], - [€0,05], - [€0,10], - [€0,20], - [€0,50], - [€1,00], - [€2,00], - reference -) VALUES - ("ad", 0, 2014, NULL, 60000, 60000, 860000, 860000, 860000, 340000, 511843, 360000, NULL), - ("ad", 0, 2015, NULL, 0, 0, 0, 0, 0, 0, 0, 1072400, NULL), - ("ad", 0, 2016, NULL, 0, 0, 0, 0, 0, 0, 2339200, 0, NULL), - ("ad", 0, 2017, NULL, 2582395, 1515000, 2191421, 1103000, 1213000, 968800, 17000, 794588, NULL), - ("ad", 0, 2018, NULL, 2430000, 2550000, 1800000, 980000, 1014000, 890000, 0, 868000, NULL), - ("ad", 0, 2019, NULL, 2447000, 1727000, 2100000, 1610000, 1570000, 930000, 0, 1058310, NULL), - ("ad", 0, 2020, NULL, 0, 0, 0, 860000, 175000, 740000, 0, 1500000, NULL), - ("ad", 0, 2021, NULL, 200000, 700000, 0, 1400000, 1420000, 600000, 50000, 1474500, NULL), - ("ad", 0, 2022, NULL, 700000, 450000, 400000, 700000, 700000, 380000, 0, 1708000, NULL), - ("ad", 0, 2023, NULL, 0, 0, 0, 0, 0, 0, 0, 2075250, NULL), - ("ad", 0, 2024, NULL, 0, 900300, 1950000, 1000000, 700000, 500000, 1050000, 1601200, NULL), - ("ad", 0, 2025, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); - CREATE TABLE users ( - email TEXT COLLATE BINARY, - username TEXT COLLATE BINARY, - password TEXT COLLATE BINARY, - adminp INTEGER + email TEXT COLLATE BINARY, + username TEXT COLLATE BINARY, + password TEXT COLLATE BINARY, + adminp INTEGER, + translates TEXT COLLATE BINARY );
\ No newline at end of file diff --git a/src/dbx/sql/last.sql b/src/dbx/sql/last.sql new file mode 100644 index 0000000..22ebab8 --- /dev/null +++ b/src/dbx/sql/last.sql @@ -0,0 +1,157 @@ +DELETE FROM mintages_s; +DELETE FROM mintages_c; + +INSERT INTO mintages_s ( + country, + type, + year, + denomination, + mintmark, + mintage, + reference +) VALUES + ('at', 0, 2017, 0.01, NULL, 37700000, NULL), + ('at', 0, 2017, 0.02, NULL, 57200000, NULL), + ('at', 0, 2017, 0.05, NULL, 35200000, NULL), + ('at', 0, 2017, 0.10, NULL, 39500000, NULL), + ('at', 0, 2017, 0.20, NULL, 30000000, NULL), + ('at', 0, 2017, 0.50, NULL, 15000000, NULL), + ('at', 0, 2017, 1.00, NULL, 8000000, NULL), + ('at', 0, 2017, 2.00, NULL, 17700000, NULL), + ('de', 0, 2017, 0.01, 'A', 81600000, NULL), + ('de', 0, 2017, 0.02, 'A', 72200000, NULL), + ('de', 0, 2017, 0.05, 'A', 30000000, NULL), + ('de', 0, 2017, 0.10, 'A', 25200000, NULL), + ('de', 0, 2017, 0.20, 'A', 21600000, NULL), + ('de', 0, 2017, 0.50, 'A', 0, NULL), + ('de', 0, 2017, 1.00, 'A', 0, NULL), + ('de', 0, 2017, 2.00, 'A', 18120000, NULL), + ('de', 0, 2017, 0.01, 'D', 85680000, NULL), + ('de', 0, 2017, 0.02, 'D', 75810000, NULL), + ('de', 0, 2017, 0.05, 'D', 31500000, NULL), + ('de', 0, 2017, 0.10, 'D', 26460000, NULL), + ('de', 0, 2017, 0.20, 'D', 22680000, NULL), + ('de', 0, 2017, 0.50, 'D', 0, NULL), + ('de', 0, 2017, 1.00, 'D', 0, NULL), + ('de', 0, 2017, 2.00, 'D', 19110000, NULL), + ('ad', 0, 2014, 0.01, NULL, 60000, NULL), + ('ad', 0, 2014, 0.02, NULL, 60000, NULL), + ('ad', 0, 2014, 0.05, NULL, 860000, NULL), + ('ad', 0, 2014, 0.10, NULL, 860000, NULL), + ('ad', 0, 2014, 0.20, NULL, 860000, NULL), + ('ad', 0, 2014, 0.50, NULL, 340000, NULL), + ('ad', 0, 2014, 1.00, NULL, 511843, NULL), + ('ad', 0, 2014, 2.00, NULL, 360000, NULL), + ('ad', 0, 2015, 0.01, NULL, 0, NULL), + ('ad', 0, 2015, 0.02, NULL, 0, NULL), + ('ad', 0, 2015, 0.05, NULL, 0, NULL), + ('ad', 0, 2015, 0.10, NULL, 0, NULL), + ('ad', 0, 2015, 0.20, NULL, 0, NULL), + ('ad', 0, 2015, 0.50, NULL, 0, NULL), + ('ad', 0, 2015, 1.00, NULL, 0, NULL), + ('ad', 0, 2015, 2.00, NULL, 1072400, NULL), + ('ad', 0, 2016, 0.01, NULL, 0, NULL), + ('ad', 0, 2016, 0.02, NULL, 0, NULL), + ('ad', 0, 2016, 0.05, NULL, 0, NULL), + ('ad', 0, 2016, 0.10, NULL, 0, NULL), + ('ad', 0, 2016, 0.20, NULL, 0, NULL), + ('ad', 0, 2016, 0.50, NULL, 0, NULL), + ('ad', 0, 2016, 1.00, NULL, 2339200, NULL), + ('ad', 0, 2016, 2.00, NULL, 0, NULL), + ('ad', 0, 2017, 0.01, NULL, 2582395, NULL), + ('ad', 0, 2017, 0.02, NULL, 1515000, NULL), + ('ad', 0, 2017, 0.05, NULL, 2191421, NULL), + ('ad', 0, 2017, 0.10, NULL, 1103000, NULL), + ('ad', 0, 2017, 0.20, NULL, 1213000, NULL), + ('ad', 0, 2017, 0.50, NULL, 968800, NULL), + ('ad', 0, 2017, 1.00, NULL, 17000, NULL), + ('ad', 0, 2017, 2.00, NULL, 794588, NULL), + ('ad', 0, 2018, 0.01, NULL, 2430000, NULL), + ('ad', 0, 2018, 0.02, NULL, 2550000, NULL), + ('ad', 0, 2018, 0.05, NULL, 1800000, NULL), + ('ad', 0, 2018, 0.10, NULL, 980000, NULL), + ('ad', 0, 2018, 0.20, NULL, 1014000, NULL), + ('ad', 0, 2018, 0.50, NULL, 890000, NULL), + ('ad', 0, 2018, 1.00, NULL, 0, NULL), + ('ad', 0, 2018, 2.00, NULL, 868000, NULL), + ('ad', 0, 2019, 0.01, NULL, 2447000, NULL), + ('ad', 0, 2019, 0.02, NULL, 1727000, NULL), + ('ad', 0, 2019, 0.05, NULL, 2100000, NULL), + ('ad', 0, 2019, 0.10, NULL, 1610000, NULL), + ('ad', 0, 2019, 0.20, NULL, 1570000, NULL), + ('ad', 0, 2019, 0.50, NULL, 930000, NULL), + ('ad', 0, 2019, 1.00, NULL, 0, NULL), + ('ad', 0, 2019, 2.00, NULL, 1058310, NULL), + ('ad', 0, 2020, 0.01, NULL, 0, NULL), + ('ad', 0, 2020, 0.02, NULL, 0, NULL), + ('ad', 0, 2020, 0.05, NULL, 0, NULL), + ('ad', 0, 2020, 0.10, NULL, 860000, NULL), + ('ad', 0, 2020, 0.20, NULL, 175000, NULL), + ('ad', 0, 2020, 0.50, NULL, 740000, NULL), + ('ad', 0, 2020, 1.00, NULL, 0, NULL), + ('ad', 0, 2020, 2.00, NULL, 1500000, NULL), + ('ad', 0, 2021, 0.01, NULL, 200000, NULL), + ('ad', 0, 2021, 0.02, NULL, 700000, NULL), + ('ad', 0, 2021, 0.05, NULL, 0, NULL), + ('ad', 0, 2021, 0.10, NULL, 1400000, NULL), + ('ad', 0, 2021, 0.20, NULL, 1420000, NULL), + ('ad', 0, 2021, 0.50, NULL, 600000, NULL), + ('ad', 0, 2021, 1.00, NULL, 50000, NULL), + ('ad', 0, 2021, 2.00, NULL, 1474500, NULL), + ('ad', 0, 2022, 0.01, NULL, 700000, NULL), + ('ad', 0, 2022, 0.02, NULL, 450000, NULL), + ('ad', 0, 2022, 0.05, NULL, 400000, NULL), + ('ad', 0, 2022, 0.10, NULL, 700000, NULL), + ('ad', 0, 2022, 0.20, NULL, 700000, NULL), + ('ad', 0, 2022, 0.50, NULL, 380000, NULL), + ('ad', 0, 2022, 1.00, NULL, 0, NULL), + ('ad', 0, 2022, 2.00, NULL, 1708000, NULL), + ('ad', 0, 2023, 0.01, NULL, 0, NULL), + ('ad', 0, 2023, 0.02, NULL, 0, NULL), + ('ad', 0, 2023, 0.05, NULL, 0, NULL), + ('ad', 0, 2023, 0.10, NULL, 0, NULL), + ('ad', 0, 2023, 0.20, NULL, 0, NULL), + ('ad', 0, 2023, 0.50, NULL, 0, NULL), + ('ad', 0, 2023, 1.00, NULL, 0, NULL), + ('ad', 0, 2023, 2.00, NULL, 2075250, NULL), + ('ad', 0, 2024, 0.01, NULL, 0, NULL), + ('ad', 0, 2024, 0.02, NULL, 900300, NULL), + ('ad', 0, 2024, 0.05, NULL, 1950000, NULL), + ('ad', 0, 2024, 0.10, NULL, 1000000, NULL), + ('ad', 0, 2024, 0.20, NULL, 700000, NULL), + ('ad', 0, 2024, 0.50, NULL, 500000, NULL), + ('ad', 0, 2024, 1.00, NULL, 1050000, NULL), + ('ad', 0, 2024, 2.00, NULL, 1601200, NULL); + +INSERT INTO mintages_c ( + country, + type, + year, + name, + number, + mintmark, + mintage, + reference +) VALUES + ('de', 0, 2015, C_('Hessen', 'CC Name'), 1, 'A', 6000000, NULL), + ('de', 0, 2015, C_('German Reunification', 'CC Name'), 2, 'A', 6000000, NULL), + ('de', 0, 2015, C_('EU Flag', 'CC Name'), 3, 'A', 6000000, NULL), + ('de', 0, 2015, C_('Hessen', 'CC Name'), 1, 'D', 6300000, NULL), + ('de', 0, 2015, C_('German Reunification', 'CC Name'), 2, 'D', 6300000, NULL), + ('de', 0, 2015, C_('EU Flag', 'CC Name'), 3, 'D', 6300000, NULL), + ('de', 0, 2015, C_('Hessen', 'CC Name'), 1, 'F', 7200000, NULL), + ('de', 0, 2015, C_('German Reunification', 'CC Name'), 2, 'F', 7200000, NULL), + ('de', 0, 2015, C_('EU Flag', 'CC Name'), 3, 'F', 7200000, NULL), + ('de', 0, 2015, C_('Hessen', 'CC Name'), 1, 'G', 4200000, NULL), + ('de', 0, 2015, C_('German Reunification', 'CC Name'), 2, 'G', 4200000, NULL), + ('de', 0, 2015, C_('EU Flag', 'CC Name'), 3, 'G', 4200000, NULL), + ('de', 0, 2015, C_('Hessen', 'CC Name'), 1, 'J', 6300000, NULL), + ('de', 0, 2015, C_('German Reunification', 'CC Name'), 2, 'J', 6300000, NULL), + ('de', 0, 2015, C_('EU Flag', 'CC Name'), 3, 'J', 6300000, NULL), + ('sk', 0, 2014, C_('Slovak Republic to the EU', 'CC Name'), 1, NULL, 1000000, NULL), + ('sk', 0, 2015, C_('Ľudovít Štúr', 'CC Name'), 1, NULL, 1000000, NULL), + ('sk', 0, 2015, C_('EU Flag', 'CC Name'), 2, NULL, 1000000, NULL), + ('nl', 0, 2015, C_('EU Flag', 'CC Name'), 2, NULL, NULL, NULL), + ('fr', 0, 2015, C_('Peace and security', 'CC Name'), 1, NULL, 4000000, NULL), + ('fr', 0, 2015, C_('Fête de la Fédération', 'CC Name'), 2, NULL, 4000000, NULL), + ('fr', 0, 2015, C_('EU Flag', 'CC Name'), 3, NULL, 4000000, NULL);
\ No newline at end of file diff --git a/src/dbx/users.go b/src/dbx/users.go index a0712ee..bf78dcd 100644 --- a/src/dbx/users.go +++ b/src/dbx/users.go @@ -1,6 +1,7 @@ package dbx import ( + "context" "database/sql" "errors" @@ -9,10 +10,11 @@ import ( ) type User struct { - Email string - Username string - Password string - AdminP bool + Email string `db:"email"` + Username string `db:"username"` + Password string `db:"password"` + AdminP bool `db:"adminp"` + Translates string `db:"translates"` } var LoginFailed = errors.New("No user with the given username and password") @@ -26,14 +28,15 @@ func CreateUser(user User) error { return err } - _, err = DB.Exec(` + _, err = db.ExecContext(context.TODO(), ` INSERT INTO users ( email, username, password, - adminp - ) VALUES (?, ?, ?, ?) - `, user.Email, user.Username, string(hash), user.AdminP) + adminp, + translates + ) VALUES (?, ?, ?, ?, ?) + `, user.Email, user.Username, string(hash), user.AdminP, user.Translates) return err } @@ -41,12 +44,14 @@ func Login(username, password string) (User, error) { username = norm.NFC.String(username) password = norm.NFC.String(password) - u := User{} - /* TODO: Pass a context here? */ - err := DB.QueryRow(`SELECT * FROM users WHERE username = ?`, username). - Scan(&u.Email, &u.Username, &u.Password, &u.AdminP) + rs, err := db.QueryxContext(context.TODO(), + `SELECT * FROM users WHERE username = ?`, username) + if err != nil { + return User{}, err + } - switch { + var u User + switch err = rs.Scan(&u); { case errors.Is(err, sql.ErrNoRows): return User{}, LoginFailed case err != nil: diff --git a/src/email/email.go b/src/email/email.go index 0f2c93d..e9eb46a 100644 --- a/src/email/email.go +++ b/src/email/email.go @@ -2,7 +2,9 @@ package email import ( "crypto/tls" + "errors" "fmt" + "log" "math/rand/v2" "net/smtp" "strconv" @@ -27,14 +29,20 @@ Message-ID: <%s> %s` -func ServerError(fault error) error { +func Send(subject, body string) { + if err := send(subject, body); err != nil { + log.Println(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 4c2f5c6..fce82ba 100644 --- a/src/http.go +++ b/src/http.go @@ -1,4 +1,4 @@ -package src +package app import ( "cmp" @@ -11,9 +11,13 @@ import ( "slices" "strconv" "strings" + "time" + + . "git.thomasvoss.com/euro-cash.eu/pkg/try" "git.thomasvoss.com/euro-cash.eu/src/dbx" "git.thomasvoss.com/euro-cash.eu/src/email" + "git.thomasvoss.com/euro-cash.eu/src/i18n" ) type middleware = func(http.Handler) http.Handler @@ -27,13 +31,17 @@ func Run(port int) { mwareC := chain(mwareB, countryHandler) // [C]ountry mwareM := chain(mwareC, mintageHandler) // [M]intage - /* TODO: Put this all in an embed.FS */ mux.Handle("GET /codes/", fs) mux.Handle("GET /designs/", fs) mux.Handle("GET /favicon.ico", fs) mux.Handle("GET /fonts/", fs) mux.Handle("GET /storage/", fs) - mux.Handle("GET /style.min.css", fs) + if Debugp { + mux.Handle("GET /style.css", fs) + mux.Handle("GET /style-2.css", fs) + } else { + mux.Handle("GET /style.min.css", fs) + } mux.Handle("GET /coins/designs", mwareC(final)) mux.Handle("GET /coins/mintages", mwareM(final)) mux.Handle("GET /collecting/crh", mwareC(final)) @@ -42,9 +50,7 @@ func Run(port int) { portStr := ":" + strconv.Itoa(port) log.Println("Listening on", portStr) - err := http.ListenAndServe(portStr, mux) - dbx.DB.Close() - log.Fatal(err) + Try(http.ListenAndServe(portStr, mux)) } func chain(xs ...middleware) middleware { @@ -58,7 +64,10 @@ func chain(xs ...middleware) middleware { func firstHandler(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - ctx := context.WithValue(r.Context(), "td", &templateData{}) + ctx := context.WithValue(r.Context(), "td", &templateData{ + Debugp: Debugp, + Printers: i18n.Printers, + }) next.ServeHTTP(w, r.WithContext(ctx)) }) } @@ -82,33 +91,37 @@ func finalHandler(w http.ResponseWriter, r *http.Request) { original page they came from. */ if path == "/language" { http.SetCookie(w, &http.Cookie{ - Name: "redirect", - Value: cmp.Or(r.Referer(), "/"), + Name: "redirect", + Value: cmp.Or(r.Referer(), "/"), + Expires: time.Now().Add(24 * time.Hour), }) } data := r.Context().Value("td").(*templateData) - t.Execute(w, data) + if err := t.Execute(w, data); err != nil { + log.Println(err) + } } func i18nHandler(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - var p, pZero Printer + var p, pZero i18n.Printer if c, err := r.Cookie("locale"); err == nil { - p = printers[strings.ToLower(c.Value)] + p = i18n.Printers[c.Value] } td := r.Context().Value("td").(*templateData) - td.Printer = cmp.Or(p, defaultPrinter) if p == pZero { + td.Printer = bestFitLanguage(r.Header.Get("Accept-Language")) http.SetCookie(w, &http.Cookie{ Name: "redirect", Value: r.URL.Path, }) templates["/language"].Execute(w, td) } else { + td.Printer = p next.ServeHTTP(w, r) } }) @@ -125,36 +138,61 @@ func countryHandler(next http.Handler) http.Handler { func mintageHandler(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { td := r.Context().Value("td").(*templateData) - td.Code = strings.ToLower(r.FormValue("code")) - if !slices.ContainsFunc(td.Countries, func(c country) bool { - return c.Code == td.Code - }) { - td.Code = td.Countries[0].Code - } - td.Type = strings.ToLower(r.FormValue("type")) + td.Type = r.FormValue("type") switch td.Type { case "circ", "nifc", "proof": default: td.Type = "circ" } - var err error - td.Mintages, err = dbx.GetMintages(td.Code) - if err != nil { - throwError(http.StatusInternalServerError, err, w, r) - return + td.FilterBy = r.FormValue("filter-by") + switch td.FilterBy { + case "country", "year": + default: + td.FilterBy = "country" + } + + mt := dbx.NewMintageType(td.Type) + + switch td.FilterBy { + case "country": + td.Code = r.FormValue("country") + if !slices.ContainsFunc(td.Countries, func(c country) bool { + return c.Code == td.Code + }) { + td.Code = td.Countries[0].Code + } + + m, err := dbx.GetMintagesByCountry(td.Code, mt) + if err != nil { + throwError(http.StatusInternalServerError, err, w, r) + return + } + td.CountryMintages = makeCountryMintageTable(m, td.Printer) + case "year": + var err error + td.Year, err = strconv.Atoi(r.FormValue("year")) + if err != nil || td.Year < 1999 { + td.Year = 1999 + } + m, err := dbx.GetMintagesByYear(td.Year, mt) + if err != nil { + throwError(http.StatusInternalServerError, err, w, r) + return + } + td.YearMintages = makeYearMintageTable(m, td.Printer) } - processMintages(&td.Mintages, td.Type) next.ServeHTTP(w, r) }) } func setUserLanguage(w http.ResponseWriter, r *http.Request) { loc := r.FormValue("locale") - _, ok := printers[strings.ToLower(loc)] + _, ok := i18n.Printers[loc] if !ok { + /* TODO: Make this page pretty? */ w.WriteHeader(http.StatusUnprocessableEntity) fmt.Fprintf(w, "Locale ‘%s’ is invalid or unsupported", loc) return @@ -178,11 +216,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.Print(err) - } - }() + go email.Send("Server Error", err.Error()) errorTmpl.Execute(w, struct { Code int Msg string @@ -192,34 +226,38 @@ func throwError(status int, err error, w http.ResponseWriter, r *http.Request) { }) } -func processMintages(md *dbx.MintageData, typeStr string) { - var typ int - switch typeStr { - case "nifc": - typ = dbx.TypeNifc - case "proof": - typ = dbx.TypeProof - default: - typ = dbx.TypeCirc +func bestFitLanguage(qry string) i18n.Printer { + type option struct { + bcp string + quality float64 } + var xs []option - md.Standard = slices.DeleteFunc(md.Standard, - func(x dbx.MSRow) bool { return x.Type != typ }) - md.Commemorative = slices.DeleteFunc(md.Commemorative, - func(x dbx.MCRow) bool { return x.Type != typ }) - slices.SortFunc(md.Standard, func(x, y dbx.MSRow) int { - if x.Year != y.Year { - return x.Year - y.Year + for subqry := range strings.SplitSeq(qry, ",") { + var o option + subqry = strings.TrimSpace(subqry) + parts := strings.Split(subqry, ";") + o.bcp = strings.ToLower(parts[0]) + if len(parts) == 1 { + o.quality = 1 + } else { + n, err := fmt.Sscanf(parts[1], "q=%f", &o.quality) + if n != 1 || err != nil { + /* Malformed query string; just give up */ + return i18n.DefaultPrinter + } } - return strings.Compare(x.Mintmark, y.Mintmark) + xs = append(xs, o) + } + + slices.SortFunc(xs, func(x, y option) int { + return cmp.Compare(y.quality, x.quality) }) - slices.SortFunc(md.Commemorative, func(x, y dbx.MCRow) int { - if x.Year != y.Year { - return x.Year - y.Year - } - if x.Number != y.Number { - return x.Number - y.Number + + for _, x := range xs { + if p, ok := i18n.Printers[x.bcp]; ok { + return p } - return strings.Compare(x.Mintmark, y.Mintmark) - }) + } + return i18n.DefaultPrinter } diff --git a/src/i18n.go b/src/i18n.go deleted file mode 100644 index b1c954d..0000000 --- a/src/i18n.go +++ /dev/null @@ -1,305 +0,0 @@ -//go:generate go tool gotext -srclang=en -dir=rosetta extract -lang=bg,el,en,nl . -//go:generate ../exttmpl - -package src - -import ( - "fmt" - "log" - "strings" - "time" - - "golang.org/x/text/language" - "golang.org/x/text/message" - - "git.thomasvoss.com/euro-cash.eu/src/email" -) - -type Printer struct { - Locale locale - inner *message.Printer -} - -type locale struct { - Bcp, Name string - Eurozone, Enabled bool - dateFmt string -} - -var ( - /* To determine the correct date format to use, use the ‘datefmt’ script in - the repository root */ - Locales = [...]locale{ - { - Bcp: "ca", - Name: "català", - dateFmt: "2/1/2006", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "de", - Name: "Deutsch", - dateFmt: "2.1.2006", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "el", - Name: "ελληνικά", - dateFmt: "2/1/2006", - Eurozone: true, - Enabled: true, - }, - { - Bcp: "en", - Name: "English", - dateFmt: "02/01/2006", - Eurozone: true, - Enabled: true, - }, - { - Bcp: "es", - Name: "español", - dateFmt: "2/1/2006", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "et", - Name: "eesti", - dateFmt: "2.1.2006", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "fi", - Name: "suomi", - dateFmt: "2.1.2006", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "fr", - Name: "français", - dateFmt: "02/01/2006", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "ga", - Name: "Gaeilge", - dateFmt: "02/01/2006", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "hr", - Name: "hrvatski", - dateFmt: "02. 01. 2006.", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "it", - Name: "italiano", - dateFmt: "02/01/2006", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "lb", - Name: "lëtzebuergesch", - dateFmt: "2.1.2006", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "lt", - Name: "lietuvių", - dateFmt: "2006-01-02", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "lv", - Name: "latviešu", - dateFmt: "2.01.2006.", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "mt", - Name: "Malti", - dateFmt: "2/1/2006", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "nl", - Name: "Nederlands", - dateFmt: "2-1-2006", - Eurozone: true, - Enabled: true, - }, - { - Bcp: "pt", - Name: "português", - dateFmt: "02/01/2006", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "sk", - Name: "slovenčina", - dateFmt: "2. 1. 2006", - Eurozone: true, - Enabled: false, - }, - { - Bcp: "sl", - Name: "slovenščina", - dateFmt: "2. 1. 2006", - 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, /* 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", - Eurozone: false, - Enabled: false, - }, - { - Bcp: "hu", - Name: "magyar", - dateFmt: "2006. 01. 02.", - Eurozone: false, - Enabled: false, - }, - { - 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, - }, - { - Bcp: "uk", - Name: "yкраїнська", - dateFmt: "02.01.2006", - Eurozone: false, - Enabled: false, - }, - } - /* 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 -) - -func init() { - for _, loc := range Locales { - if loc.Enabled { - lang := language.MustParse(loc.Bcp) - printers[strings.ToLower(loc.Bcp)] = Printer{ - Locale: loc, - inner: message.NewPrinter(lang), - } - } - } - 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 { - return d.Format(p.Locale.dateFmt) -} - -func (p Printer) M(val any) string { - var vstr string - - /* Hack to avoid gotext writing these two ‘translations’ into the - translations file */ - f := p.inner.Sprintf - - switch val.(type) { - case int: - vstr = f("%d", val) - case float64: - vstr = f("%.2f", val) - default: - go func() { - if err := email.ServerError(badMType{"TODO"}); err != nil { - log.Print(err) - } - }() - /* Hopefully this never happens */ - vstr = "ERROR" - } - - /* All Eurozone languages place the eurosign after the value except - for Dutch, English, Irish, and Maltese. Austrian German also - uses Dutch-style formatting, but we do not support that dialect. */ - switch p.Locale.Bcp { - case "en", "en-US", "ga", "mt": - return fmt.Sprintf("€%s", vstr) - case "nl": - return fmt.Sprintf("€ %s", vstr) - default: - return fmt.Sprintf("%s €", vstr) - } -} - -/* Transform ‘en-US’ to ‘en’ */ -func (l locale) Language() string { - return l.Bcp[:2] -} - -type badMType struct { - inner any -} - -func (e badMType) Error() string { - return fmt.Sprintf( - "Attempted to format ‘%v’ of type ‘%T’ as a monetary value in Printer.M()", - e.inner, e.inner) -} diff --git a/src/i18n/gen.py b/src/i18n/gen.py new file mode 100755 index 0000000..9271cc0 --- /dev/null +++ b/src/i18n/gen.py @@ -0,0 +1,172 @@ +#!/usr/bin/env python3 + +import concurrent.futures +import dataclasses +import json +import os +import re +import subprocess +import sys +import urllib.request +from dataclasses import dataclass +from typing import Any, TextIO + + +FILENAME = "locales.gen.go" + +class Rune(int): + pass + + +@dataclass +class Locale: + bcp: str + eurozonep: bool + enabledp: bool + territory: str | None = dataclasses.field(default=None) + name: str = dataclasses.field(init=False) + date_format: str = dataclasses.field(init=False) + group_separator: Rune = dataclasses.field(init=False) + decimal_separator: Rune = dataclasses.field(init=False) + monetary_formats: tuple[str, str] = dataclasses.field(init=False) + percent_format: str = dataclasses.field(init=False) + + +LOCALES = ( + Locale(bcp="ca", eurozonep=True, enabledp=False), + Locale(bcp="de", eurozonep=True, enabledp=False), + Locale(bcp="el", eurozonep=True, enabledp=False), + Locale(bcp="en", eurozonep=True, enabledp=True, territory="GB"), + Locale(bcp="es", eurozonep=True, enabledp=False), + Locale(bcp="et", eurozonep=True, enabledp=False), + Locale(bcp="fi", eurozonep=True, enabledp=False), + Locale(bcp="fr", eurozonep=True, enabledp=False), + Locale(bcp="ga", eurozonep=True, enabledp=False), + Locale(bcp="hr", eurozonep=True, enabledp=False), + Locale(bcp="it", eurozonep=True, enabledp=False), + Locale(bcp="lb", eurozonep=True, enabledp=False), + Locale(bcp="lt", eurozonep=True, enabledp=False), + Locale(bcp="lv", eurozonep=True, enabledp=False), + Locale(bcp="mt", eurozonep=True, enabledp=False), + Locale(bcp="nl", eurozonep=True, enabledp=True), + Locale(bcp="pt", eurozonep=True, enabledp=False, territory="PT"), + Locale(bcp="sk", eurozonep=True, enabledp=False), + Locale(bcp="sl", eurozonep=True, enabledp=False), + Locale(bcp="sv", eurozonep=True, enabledp=True), + Locale(bcp="tr", eurozonep=True, enabledp=False), + Locale(bcp="bg", eurozonep=False, enabledp=False), + Locale(bcp="ro", eurozonep=False, enabledp=False), + Locale(bcp="uk", eurozonep=False, enabledp=False), +) + +BASELINK = "https://raw.githubusercontent.com/unicode-org/cldr-json/refs/heads/main/cldr-json/%s/main/%%s/%s" +NUMBERS_LINK, DATES_LINK, LANGUAGES_LINK = ( + BASELINK % ("cldr-numbers-full", "numbers.json"), + BASELINK % ("cldr-dates-full", "ca-gregorian.json"), + BASELINK % ("cldr-localenames-full", "languages.json"), +) + + +def main() -> int: + rv = 0 + nprocs = os.cpu_count() + with concurrent.futures.ThreadPoolExecutor(max_workers=nprocs) as executor: + for x in [executor.submit(write_locale, l) for l in LOCALES]: + try: + x.result() + except Exception as e: + print(f"gen.py: {e}", file=sys.stderr) + rv = 1 + + with open(FILENAME, "w") as f: + f.write("""// Code generated by gen.py. DO NOT EDIT. + +package i18n + +import "github.com/leonelquinteros/gotext" + +type LocaleInfo struct { + Bcp, Name string + Eurozonep, Enabledp bool + DateFormat string + GroupSeparator, DecimalSeparator rune + MonetaryFormats [2]string + PercentFormat string +} + +var locales = [...]LocaleInfo{ +""") + for x in LOCALES: + f.write("{\n") + for k, v in x.__dict__.items(): + if not v or k == "territory": + continue + if k == "name": + f.write('Name: gotext.GetC(%s, "Language Name"),\n' % val_to_go(v)) + else: + f.write("%s: %s,\n" % (pascal(k), val_to_go(v))) + f.write("},\n") + f.write("}") + + subprocess.run(["gofmt", "-w", FILENAME]) + return rv + + +def write_locale(l: Locale) -> None: + bcp = '%s-%s' % (l.bcp, l.territory) if l.territory else l.bcp + jn, jd, jl = map(json.load, ( + urllib.request.urlopen(NUMBERS_LINK % bcp), + urllib.request.urlopen(DATES_LINK % bcp), + urllib.request.urlopen(LANGUAGES_LINK % bcp), + )) + name = jl["main"][bcp]["localeDisplayNames"]["languages"][l.bcp] + l.name = name.capitalize() + syms = jn["main"][bcp]["numbers"]["symbols-numberSystem-latn"] + l.group_separator = Rune(ord(syms["group"])) + l.decimal_separator = Rune(ord(syms["decimal"])) + + fmt = jn["main"][bcp]["numbers"]["percentFormats-numberSystem-latn"]["standard"] + l.percent_format = numfmt_subst(fmt) + + fmt = jd["main"][bcp]["dates"]["calendars"]["gregorian"]["dateFormats"]["short"] + l.date_format = ( + fmt + .replace("yy", "06") + .replace("MM", "01") + .replace("dd", "02") + .replace("y", "2006") + .replace("M", "1") + .replace("d", "2") + .replace("'", "") + ) + + fmt = jn["main"][bcp]["numbers"]["currencyFormats-numberSystem-latn"]["standard"] + parts = list(map(numfmt_subst, fmt.replace("¤", "€").split(";"))) + if len(parts) == 1: + parts.append('-' + parts[0]) + l.monetary_formats = tuple(parts) + + +def numfmt_subst(s: str) -> str: + return re.sub(r"[0#,.]+", "123", s) + + +def pascal(s: str) -> str: + return ''.join(map(str.capitalize, s.split('_'))) + + +def val_to_go(x: Any) -> str: + match x: + case bool(): + return "true" if x else "false" + case Rune(): + return "'%s'" % chr(x) + case str(): + return '"%s"' % x + case (str(), str()): + return "[2]string{%s, %s}" % (val_to_go(x[0]), val_to_go(x[1])) + + +if __name__ == "__main__": + os.chdir(os.path.dirname(sys.argv[0])) + sys.exit(main()) diff --git a/src/i18n/i18n.go b/src/i18n/i18n.go new file mode 100644 index 0000000..93b8d63 --- /dev/null +++ b/src/i18n/i18n.go @@ -0,0 +1,428 @@ +//go:generate ./gen.py + +package i18n + +import ( + "errors" + "fmt" + "io/fs" + "log" + "maps" + "slices" + "strings" + "time" + "unicode/utf8" + + "git.thomasvoss.com/euro-cash.eu/pkg/atexit" + "git.thomasvoss.com/euro-cash.eu/pkg/watch" + "github.com/leonelquinteros/gotext" + + "git.thomasvoss.com/euro-cash.eu/src/wikipedia" +) + +type Printer struct { + LocaleInfo + inner *gotext.Locale +} + +type number interface { + int | float64 +} + +type sprintfFunc func(LocaleInfo, *strings.Builder, any) error + +var ( + handlers map[rune]sprintfFunc = map[rune]sprintfFunc{ + -1: sprintfGeneric, + 'E': sprintfE, + 'L': sprintfL, + 'e': sprintfe, + 'l': sprintfl, + 'm': sprintfm, + 'p': sprintfp, + 'r': sprintfr, + } + + Printers = make(map[string]Printer, len(locales)) + DefaultPrinter Printer +) + +func Init(dir fs.FS, debugp bool) { + gotext.FallbackLocale = "en" + i := slices.IndexFunc(locales[:], func(li LocaleInfo) bool { + return li.Bcp == gotext.FallbackLocale + }) + if i == -1 { + atexit.Exec() + log.Fatalf("No translation file default locale ‘%s’\n", + gotext.FallbackLocale) + } + if !locales[i].Enabledp { + atexit.Exec() + log.Fatalf("Default locale ‘%s’ is not enabled\n", + locales[i].Name) + } + + initLocale(dir, locales[i], locales[i].Name, debugp) + DefaultPrinter = Printers[gotext.FallbackLocale] + + for j, li := range locales { + if li.Enabledp && i != j { + name := DefaultPrinter.GetC(li.Name, "Language Name") + initLocale(dir, li, name, debugp) + } + } +} + +func initLocale(dir fs.FS, li LocaleInfo, name string, debugp bool) { + gl := gotext.NewLocaleFS(li.Bcp, dir) + gl.AddDomain("messages") + Printers[li.Bcp] = Printer{li, gl} + + if debugp { + subdir, err := fs.Sub(dir, li.Bcp) + if err != nil { + log.Printf("No translations directory for ‘%s’\n", name) + return + } + go watch.FileFS(subdir, "messages.po", func() { + Printers[li.Bcp].inner.AddDomain("messages") + log.Printf("Translations for ‘%s’ updated\n", name) + }) + } + + log.Printf("Initialized printer for ‘%s’\n", name) +} + +func Locales() []LocaleInfo { + return locales[:] +} + +func (p Printer) Wikipedia(title string) string { + return wikipedia.Url(title, p.Bcp) +} + +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...) +} + +/* Transform ‘en-US’ to ‘en’ */ +func (l LocaleInfo) Language() string { + return l.Bcp[:2] +} + +func (p Printer) Itoa(n int) string { + var bob strings.Builder + writeInt(&bob, n, p.LocaleInfo) + return bob.String() +} + +func (p Printer) Ftoa(n float64) string { + var bob strings.Builder + writeFloat(&bob, n, p.LocaleInfo) + return bob.String() +} + +func (p Printer) Itop(n int) string { + var bob strings.Builder + sprintfp(p.LocaleInfo, &bob, n) + return bob.String() +} + +func (p Printer) Ftop(n float64) string { + var bob strings.Builder + sprintfp(p.LocaleInfo, &bob, n) + return bob.String() +} + +func (p Printer) Itom(n int) string { + var bob strings.Builder + sprintfm(p.LocaleInfo, &bob, n) + return bob.String() +} + +func (p Printer) Ftom(n float64) string { + var bob strings.Builder + sprintfm(p.LocaleInfo, &bob, n) + return bob.String() +} + +func (p Printer) Sprintf(format string, args ...map[string]any) string { + var bob strings.Builder + vars := map[string]any{ + "-": "a", + "Null": "", + } + for _, arg := range args { + maps.Copy(vars, arg) + } + + for { + i := strings.IndexByte(format, '{') + if i == -1 { + htmlesc(&bob, format) + break + } + htmlesc(&bob, format[:i]) + + format = format[i+1:] + i = strings.IndexRune(format, '}') + if i == -1 { + /* TODO: Handle error: unterminated { */ + return "unterminated {" + } + + parts := strings.Split(format[:i], ":") + format = format[i+1:] + + var flag rune + switch len(parts) { + case 1: + flag = -1 + case 2: + f, n := utf8.DecodeRune([]byte(parts[1])) + if n != len(parts[1]) { + /* TODO: Handle error: flag too long or empty */ + return "flag too long or empty" + } + flag = f + default: + /* TODO: Handle error: too many colons */ + return "too many colons" + } + + h, ok := handlers[flag] + if !ok { + /* TODO: Handle error: no such handler */ + return "no such handler" + } + + v, ok := vars[parts[0]] + if !ok { + /* TODO: Handle error: no such key */ + return "no such key" + } + h(p.LocaleInfo, &bob, v) + } + + return bob.String() +} + +func sprintfGeneric(li LocaleInfo, bob *strings.Builder, v any) error { + switch v.(type) { + case time.Time: + htmlesc(bob, v.(time.Time).Format(li.DateFormat)) + case int: + writeInt(bob, v.(int), li) + case float64: + writeFloat(bob, v.(float64), li) + case string: + htmlesc(bob, v.(string)) + default: + htmlesc(bob, fmt.Sprint(v)) + } + return nil +} + +func sprintfe(li LocaleInfo, bob *strings.Builder, v any) error { + s, ok := v.(string) + if !ok { + return errors.New("TODO") + } + bob.WriteString("<a href=\"mailto:") + htmlesc(bob, s) + bob.WriteString("\">") + htmlesc(bob, s) + bob.WriteString("</a>") + return nil +} + +func sprintfE(li LocaleInfo, bob *strings.Builder, v any) error { + s, ok := v.(string) + if !ok { + return errors.New("TODO") + } + for tag := range strings.SplitSeq(s, ",") { + bob.WriteString("</") + bob.WriteString(tag) + bob.WriteByte('>') + } + return nil +} + +func sprintfl(li LocaleInfo, bob *strings.Builder, v any) error { + s, ok := v.(string) + if !ok { + return errors.New("TODO") + } + bob.WriteString("<a href=\"") + htmlesc(bob, s) + bob.WriteString("\">") + return nil +} + +func sprintfL(li LocaleInfo, bob *strings.Builder, v any) error { + s, ok := v.(string) + if !ok { + return errors.New("TODO") + } + bob.WriteString("<a href=\"") + htmlesc(bob, s) + bob.WriteString("\" target=\"_blank\">") + return nil +} + +func sprintfm(li LocaleInfo, bob *strings.Builder, v any) error { + var ( + fmt string + negp bool + ) + switch v.(type) { + case int: + negp = v.(int) < 0 + case float64: + negp = v.(float64) < 0 + } + + fmt = li.MonetaryFormats[btoi(negp)] + pre, suf, _ := strings.Cut(fmt, "123") + htmlesc(bob, pre) + + switch v.(type) { + case int: + writeInt(bob, abs(v.(int)), li) + case float64: + writeFloat(bob, abs(v.(float64)), li) + } + + htmlesc(bob, suf) + return nil +} + +func sprintfp(li LocaleInfo, bob *strings.Builder, v any) error { + pre, suf, _ := strings.Cut(li.PercentFormat, "123") + htmlesc(bob, pre) + + switch v.(type) { + case int: + writeInt(bob, v.(int), li) + case float64: + writeFloat(bob, v.(float64), li) + } + + htmlesc(bob, suf) + return nil +} + +func sprintfr(li LocaleInfo, bob *strings.Builder, v any) error { + s, ok := v.(string) + if !ok { + return errors.New("TODO") + } + bob.WriteString(s) + return nil +} + +func writeInt(bob *strings.Builder, num int, li LocaleInfo) { + s := fmt.Sprintf("%d", num) + if s[0] == '-' { + bob.WriteByte('-') + s = s[1:] + } + n := len(s) + c := 3 - n%3 + if c == 3 { + c = 0 + } + for i := 0; i < n; i++ { + c++ + bob.WriteByte(s[i]) + if c == 3 && i+1 < n { + bob.WriteRune(li.GroupSeparator) + c = 0 + } + } +} + +func writeFloat(bob *strings.Builder, num float64, li LocaleInfo) { + s := fmt.Sprintf("%.2f", num) + if s[0] == '-' { + bob.WriteByte('-') + s = s[1:] + } + + n := strings.IndexByte(s, '.') + c := 3 - n%3 + if c == 3 { + c = 0 + } + for i := 0; i < n; i++ { + c++ + bob.WriteByte(s[i]) + if c == 3 && i+1 < n { + bob.WriteRune(li.GroupSeparator) + c = 0 + } + } + + bob.WriteRune(li.DecimalSeparator) + bob.WriteString(s[n+1:]) +} + +func abs[T number](x T) T { + if x < 0 { + return -x + } + return x +} + +func btoi(b bool) int { + if b { + return 1 + } + return 0 +} + +func htmlesc(bob *strings.Builder, s string) { + for _, r := range s { + switch r { + case '<': + bob.WriteString("<") + case '>': + bob.WriteString(">") + case '&': + bob.WriteString("&") + case '"': + bob.WriteString(""") + case '\'': + bob.WriteString("'") + default: + bob.WriteRune(r) + } + } +} + +func htmlescByte(bob *strings.Builder, b byte) { + switch b { + case '<': + bob.WriteString("<") + case '>': + bob.WriteString(">") + case '&': + bob.WriteString("&") + case '"': + bob.WriteString(""") + case '\'': + bob.WriteString("'") + default: + bob.WriteByte(b) + } +} diff --git a/src/i18n/locales.gen.go b/src/i18n/locales.gen.go new file mode 100644 index 0000000..58d059e --- /dev/null +++ b/src/i18n/locales.gen.go @@ -0,0 +1,257 @@ +// Code generated by gen.py. DO NOT EDIT. + +package i18n + +import "github.com/leonelquinteros/gotext" + +type LocaleInfo struct { + Bcp, Name string + Eurozonep, Enabledp bool + DateFormat string + GroupSeparator, DecimalSeparator rune + MonetaryFormats [2]string + PercentFormat string +} + +var locales = [...]LocaleInfo{ + { + Bcp: "ca", + Eurozonep: true, + Name: gotext.GetC("Català", "Language Name"), + GroupSeparator: '.', + DecimalSeparator: ',', + PercentFormat: "123 %", + DateFormat: "2/1/06", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "de", + Eurozonep: true, + Name: gotext.GetC("Deutsch", "Language Name"), + GroupSeparator: '.', + DecimalSeparator: ',', + PercentFormat: "123 %", + DateFormat: "02.01.06", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "el", + Eurozonep: true, + Name: gotext.GetC("Ελληνικά", "Language Name"), + GroupSeparator: '.', + DecimalSeparator: ',', + PercentFormat: "123%", + DateFormat: "2/1/06", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "en", + Eurozonep: true, + Enabledp: true, + Name: gotext.GetC("English", "Language Name"), + GroupSeparator: ',', + DecimalSeparator: '.', + PercentFormat: "123%", + DateFormat: "02/01/2006", + MonetaryFormats: [2]string{"€123", "-€123"}, + }, + { + Bcp: "es", + Eurozonep: true, + Name: gotext.GetC("Español", "Language Name"), + GroupSeparator: '.', + DecimalSeparator: ',', + PercentFormat: "123 %", + DateFormat: "2/1/06", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "et", + Eurozonep: true, + Name: gotext.GetC("Eesti", "Language Name"), + GroupSeparator: ' ', + DecimalSeparator: ',', + PercentFormat: "123%", + DateFormat: "02.01.06", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "fi", + Eurozonep: true, + Name: gotext.GetC("Suomi", "Language Name"), + GroupSeparator: ' ', + DecimalSeparator: ',', + PercentFormat: "123 %", + DateFormat: "2.1.2006", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "fr", + Eurozonep: true, + Name: gotext.GetC("Français", "Language Name"), + GroupSeparator: ' ', + DecimalSeparator: ',', + PercentFormat: "123 %", + DateFormat: "02/01/2006", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "ga", + Eurozonep: true, + Name: gotext.GetC("Gaeilge", "Language Name"), + GroupSeparator: ',', + DecimalSeparator: '.', + PercentFormat: "123%", + DateFormat: "02/01/2006", + MonetaryFormats: [2]string{"€123", "-€123"}, + }, + { + Bcp: "hr", + Eurozonep: true, + Name: gotext.GetC("Hrvatski", "Language Name"), + GroupSeparator: '.', + DecimalSeparator: ',', + PercentFormat: "123 %", + DateFormat: "02. 01. 2006.", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "it", + Eurozonep: true, + Name: gotext.GetC("Italiano", "Language Name"), + GroupSeparator: '.', + DecimalSeparator: ',', + PercentFormat: "123%", + DateFormat: "02/01/06", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "lb", + Eurozonep: true, + Name: gotext.GetC("Lëtzebuergesch", "Language Name"), + GroupSeparator: '.', + DecimalSeparator: ',', + PercentFormat: "123 %", + DateFormat: "02.01.06", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "lt", + Eurozonep: true, + Name: gotext.GetC("Lietuvių", "Language Name"), + GroupSeparator: ' ', + DecimalSeparator: ',', + PercentFormat: "123 %", + DateFormat: "2006-01-02", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "lv", + Eurozonep: true, + Name: gotext.GetC("Latviešu", "Language Name"), + GroupSeparator: ' ', + DecimalSeparator: ',', + PercentFormat: "123%", + DateFormat: "02.01.06", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "mt", + Eurozonep: true, + Name: gotext.GetC("Malti", "Language Name"), + GroupSeparator: ',', + DecimalSeparator: '.', + PercentFormat: "123%", + DateFormat: "02/01/2006", + MonetaryFormats: [2]string{"€123", "-€123"}, + }, + { + Bcp: "nl", + Eurozonep: true, + Enabledp: true, + Name: gotext.GetC("Nederlands", "Language Name"), + GroupSeparator: '.', + DecimalSeparator: ',', + PercentFormat: "123%", + DateFormat: "02-01-2006", + MonetaryFormats: [2]string{"€ 123", "€ -123"}, + }, + { + Bcp: "pt", + Eurozonep: true, + Name: gotext.GetC("Português", "Language Name"), + GroupSeparator: ' ', + DecimalSeparator: ',', + PercentFormat: "123%", + DateFormat: "02/01/06", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "sk", + Eurozonep: true, + Name: gotext.GetC("Slovenčina", "Language Name"), + GroupSeparator: ' ', + DecimalSeparator: ',', + PercentFormat: "123 %", + DateFormat: "2. 1. 2006", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "sl", + Eurozonep: true, + Name: gotext.GetC("Slovenščina", "Language Name"), + GroupSeparator: '.', + DecimalSeparator: ',', + PercentFormat: "123 %", + DateFormat: "2. 1. 06", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "sv", + Eurozonep: true, + Enabledp: true, + Name: gotext.GetC("Svenska", "Language Name"), + GroupSeparator: ' ', + DecimalSeparator: ',', + PercentFormat: "123 %", + DateFormat: "2006-01-02", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "tr", + Eurozonep: true, + Name: gotext.GetC("Türkçe", "Language Name"), + GroupSeparator: '.', + DecimalSeparator: ',', + PercentFormat: "%123", + DateFormat: "2.01.2006", + MonetaryFormats: [2]string{"€123", "-€123"}, + }, + { + Bcp: "bg", + Name: gotext.GetC("Български", "Language Name"), + GroupSeparator: ' ', + DecimalSeparator: ',', + PercentFormat: "123%", + DateFormat: "2.01.06 г.", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "ro", + Name: gotext.GetC("Română", "Language Name"), + GroupSeparator: '.', + DecimalSeparator: ',', + PercentFormat: "123 %", + DateFormat: "02.01.2006", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, + { + Bcp: "uk", + Name: gotext.GetC("Українська", "Language Name"), + GroupSeparator: ' ', + DecimalSeparator: ',', + PercentFormat: "123%", + DateFormat: "02.01.06", + MonetaryFormats: [2]string{"123 €", "-123 €"}, + }, +} diff --git a/src/rosetta/bg/messages.gotext.json b/src/rosetta/bg/messages.gotext.json deleted file mode 100644 index 8a10385..0000000 --- a/src/rosetta/bg/messages.gotext.json +++ /dev/null @@ -1,1460 +0,0 @@ -{ - "language": "bg", - "messages": [ - { - "id": "Andorra", - "message": "Andorra", - "translation": "" - }, - { - "id": "Austria", - "message": "Austria", - "translation": "" - }, - { - "id": "Belgium", - "message": "Belgium", - "translation": "" - }, - { - "id": "Cyprus", - "message": "Cyprus", - "translation": "" - }, - { - "id": "Germany", - "message": "Germany", - "translation": "" - }, - { - "id": "Estonia", - "message": "Estonia", - "translation": "" - }, - { - "id": "Spain", - "message": "Spain", - "translation": "" - }, - { - "id": "Finland", - "message": "Finland", - "translation": "" - }, - { - "id": "France", - "message": "France", - "translation": "" - }, - { - "id": "Greece", - "message": "Greece", - "translation": "" - }, - { - "id": "Croatia", - "message": "Croatia", - "translation": "" - }, - { - "id": "Ireland", - "message": "Ireland", - "translation": "" - }, - { - "id": "Italy", - "message": "Italy", - "translation": "" - }, - { - "id": "Lithuania", - "message": "Lithuania", - "translation": "" - }, - { - "id": "Luxembourg", - "message": "Luxembourg", - "translation": "" - }, - { - "id": "Latvia", - "message": "Latvia", - "translation": "" - }, - { - "id": "Monaco", - "message": "Monaco", - "translation": "" - }, - { - "id": "Malta", - "message": "Malta", - "translation": "" - }, - { - "id": "Netherlands", - "message": "Netherlands", - "translation": "" - }, - { - "id": "Portugal", - "message": "Portugal", - "translation": "" - }, - { - "id": "Slovenia", - "message": "Slovenia", - "translation": "" - }, - { - "id": "Slovakia", - "message": "Slovakia", - "translation": "" - }, - { - "id": "San Marino", - "message": "San Marino", - "translation": "" - }, - { - "id": "Vatican City", - "message": "Vatican City", - "translation": "" - }, - { - "id": "Page Not Found", - "message": "Page Not Found", - "translation": "" - }, - { - "id": "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 %s.", - "message": "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 %s.", - "translation": "" - }, - { - "id": "Euro Cash", - "message": "Euro Cash", - "translation": "" - }, - { - "id": "Found a mistake or want to contribute missing information?", - "message": "Found a mistake or want to contribute missing information?", - "translation": "" - }, - { - "id": "Feel free to contact us!", - "message": "Feel free to contact us!", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "If this issue persists, don’t hesitate to contact @onetruemangoman on Discord or to email us at %s.", - "message": "If this issue persists, don’t hesitate to contact @onetruemangoman on Discord or to email us at %s.", - "translation": "" - }, - { - "id": "Home", - "message": "Home", - "translation": "" - }, - { - "id": "News", - "message": "News", - "translation": "" - }, - { - "id": "Coin Collecting", - "message": "Coin Collecting", - "translation": "" - }, - { - "id": "Coins", - "message": "Coins", - "translation": "" - }, - { - "id": "Banknotes", - "message": "Banknotes", - "translation": "" - }, - { - "id": "Jargon", - "message": "Jargon", - "translation": "" - }, - { - "id": "Discord", - "message": "Discord", - "translation": "" - }, - { - "id": "About", - "message": "About", - "translation": "" - }, - { - "id": "Language", - "message": "Language", - "translation": "" - }, - { - "id": "About Us", - "message": "About Us", - "translation": "" - }, - { - "id": "Open Source", - "message": "Open Source", - "translation": "" - }, - { - "id": "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 %shere%s. This site is licensed under the BSD 0-Clause license giving you the full freedom to do whatever you would like with anyof the content on this site.", - "message": "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 %shere%s. This site is licensed under the BSD 0-Clause license giving you the full freedom to do whatever you would like with anyof the content on this site.", - "translation": "" - }, - { - "id": "Contact Us", - "message": "Contact Us", - "translation": "" - }, - { - "id": "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. In such a 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 included, but if not you can always send an email to %s or contact ‘@onetruemangoman’ on Discord.", - "message": "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. In such a 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 included, but if not you can always send an email to %s or contact ‘@onetruemangoman’ on Discord.", - "translation": "" - }, - { - "id": "Special Thanks", - "message": "Special Thanks", - "translation": "" - }, - { - "id": "Development", - "message": "Development", - "translation": "" - }, - { - "id": "Research", - "message": "Research", - "translation": "" - }, - { - "id": "Translations", - "message": "Translations", - "translation": "" - }, - { - "id": "British- \u0026 American English", - "message": "British- \u0026 American English", - "translation": "" - }, - { - "id": "Icelandic", - "message": "Icelandic", - "translation": "" - }, - { - "id": "Location Codes", - "message": "Location Codes", - "translation": "" - }, - { - "id": "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 issues the banknote (for the 2002 series) or where the banknote was printed (for the Europa series).", - "message": "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 issues the banknote (for the 2002 series) or where the banknote was printed (for the Europa series).", - "translation": "" - }, - { - "id": "Printer Code", - "message": "Printer Code", - "translation": "" - }, - { - "id": "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 take the form of ‘X000X0’ — or in other words — a letter followed by 3 numbers, a letter and a final number.", - "message": "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 take the form of ‘X000X0’ — or in other words — a letter followed by 3 numbers, a letter and a final number.", - "translation": "" - }, - { - "id": "The printer code can be a bit tricky to find. The following dropdowns will show you where to find the printer code on each note.", - "message": "The printer code can be a bit tricky to find. The following dropdowns will show you where to find the printer code on each note.", - "translation": "" - }, - { - "id": "2002 Series Printer Codes", - "message": "2002 Series Printer Codes", - "translation": "" - }, - { - "id": "All these images are taken from %seurobilltracker.com%s.", - "message": "All these images are taken from %seurobilltracker.com%s.", - "translation": "" - }, - { - "id": "Europa Series Printer Codes", - "message": "Europa Series Printer Codes", - "translation": "" - }, - { - "id": "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 will be printed multiple times on a large sheet of paper which is later cut into smaller individual banknotes. A note with the pair ‘A1’ will have been at the upper-left corner of the printing sheet, with ‘A2’ to it’s right and ‘B1’ below it.", - "message": "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 will be printed multiple times on a large sheet of paper which is later cut into smaller individual banknotes. A note with the pair ‘A1’ will have been at the upper-left corner of the printing sheet, with ‘A2’ to it’s right and ‘B1’ below it.", - "translation": "" - }, - { - "id": "2002 Series", - "message": "2002 Series", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "Code", - "message": "Code", - "translation": "" - }, - { - "id": "Country", - "message": "Country", - "translation": "" - }, - { - "id": "The first letter of the printer code can also 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.", - "message": "The first letter of the printer code can also 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.", - "translation": "" - }, - { - "id": "Printer", - "message": "Printer", - "translation": "" - }, - { - "id": "United Kingdom", - "message": "United Kingdom", - "translation": "" - }, - { - "id": "Central Bank of Ireland", - "message": "Central Bank of Ireland", - "translation": "" - }, - { - "id": "Bank of Greece", - "message": "Bank of Greece", - "translation": "" - }, - { - "id": "National Bank of Belgium", - "message": "National Bank of Belgium", - "translation": "" - }, - { - "id": "Europa Series", - "message": "Europa Series", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "Bulgaria", - "message": "Bulgaria", - "translation": "" - }, - { - "id": "%d Euro", - "message": "%d Euro", - "translation": "" - }, - { - "id": "Printer code on a %d euro bill", - "message": "Printer code on a %d euro bill", - "translation": "" - }, - { - "id": "Euro Banknotes", - "message": "Euro Banknotes", - "translation": "" - }, - { - "id": "On this section of the site you can find everything there is to know about the banknotes of the Eurozone.", - "message": "On this section of the site you can find everything there is to know about the banknotes of the Eurozone.", - "translation": "" - }, - { - "id": "Designs", - "message": "Designs", - "translation": "" - }, - { - "id": "View the different Euro-note designs!", - "message": "View the different Euro-note designs!", - "translation": "" - }, - { - "id": "Find out where your notes were printed!", - "message": "Find out where your notes were printed!", - "translation": "" - }, - { - "id": "Test Notes", - "message": "Test Notes", - "translation": "" - }, - { - "id": "Learn about the special test notes!", - "message": "Learn about the special test notes!", - "translation": "" - }, - { - "id": "Andorran Euro Coin Designs", - "message": "Andorran Euro Coin Designs", - "translation": "" - }, - { - "id": "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:", - "message": "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:", - "translation": "" - }, - { - "id": "%s, %s, and %s", - "message": "%s, %s, and %s", - "translation": "" - }, - { - "id": "Andorran landscapes, nature, fauna, and flora", - "message": "Andorran landscapes, nature, fauna, and flora", - "translation": "" - }, - { - "id": "Andorra’s Romanesque art", - "message": "Andorra’s Romanesque art", - "translation": "" - }, - { - "id": "Casa de la Vall", - "message": "Casa de la Vall", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "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:", - "message": "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:", - "translation": "" - }, - { - "id": "The bottom of the coat of arms has the motto ‘%sVIRTVS VNITA FORTIOR%s’ (‘UNITED VIRTUE IS STRONGER’).", - "message": "The bottom of the coat of arms has the motto ‘%sVIRTVS VNITA FORTIOR%s’ (‘UNITED VIRTUE IS STRONGER’).", - "translation": "" - }, - { - "id": "Austrian Euro Coin Designs", - "message": "Austrian Euro Coin Designs", - "translation": "" - }, - { - "id": "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 %sGreek euro coins%s are the only coins that feature the denomination on both the common- and national-sides of the coin.", - "message": "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 %sGreek euro coins%s are the only coins that feature the denomination on both the common- and national-sides of the coin.", - "translation": "" - }, - { - "id": "The bronze coins feature the Alpine gentian, -edelweiss, and -primrose respectively, and were chosen to symbolize the role that Austria played in the development of EU environmental policy.", - "message": "The bronze coins feature the Alpine gentian, -edelweiss, and -primrose respectively, and were chosen to symbolize the role that Austria played in the development of EU environmental policy.", - "translation": "" - }, - { - "id": "The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese Gothic architectural style dating to around the year 1160. The €0.20 coin features Belvedere Palace. This is an example of Baroque architecture and symbolises the national freedom and sovereignty of Austria. The final gold coin — the €0.50 coin — features the Secession Building: an exhibition hall in the Art Nouveau style.", - "message": "The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese Gothic architectural style dating to around the year 1160. The €0.20 coin features Belvedere Palace. This is an example of Baroque architecture and symbolises the national freedom and sovereignty of Austria. The final gold coin — the €0.50 coin — features the Secession Building: an exhibition hall in the Art Nouveau style.", - "translation": "" - }, - { - "id": "The two bimetallic coins feature the busts of the musical composer Wolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist and Nobel Peace Prize winner Bertha von Suttner.", - "message": "The two bimetallic coins feature the busts of the musical composer Wolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist and Nobel Peace Prize winner Bertha von Suttner.", - "translation": "" - }, - { - "id": "Belgian Euro Coin Designs", - "message": "Belgian Euro Coin Designs", - "translation": "" - }, - { - "id": "Since 1999 Belgium has released three series of euro coins, which each series having a single design repeated on all denominations. Starting in 1999 the Belgian euro coins featured the portrait of King Albert II with the %sroyal monogram%s in the outer ring of the coins.", - "message": "Since 1999 Belgium has released three series of euro coins, which each series having a single design repeated on all denominations. Starting in 1999 the Belgian euro coins featured the portrait of King Albert II with the %sroyal monogram%s in the outer ring of the coins.", - "translation": "" - }, - { - "id": "In 2008 a second series of coins was released featuring a slightly-modified design in which the royal monogram was moved to the inner portion of the coin along with the year of mintage in order to comply with the European Commission’s guidelines. The country code ‘BE’ was also added to the design underneath the royal monogram.", - "message": "In 2008 a second series of coins was released featuring a slightly-modified design in which the royal monogram was moved to the inner portion of the coin along with the year of mintage in order to comply with the European Commission’s guidelines. The country code ‘BE’ was also added to the design underneath the royal monogram.", - "translation": "" - }, - { - "id": "After his accession to the throne Belgium began a third series of coins in 2014 featuring the portrait of King Philippe. As is customary with coins bearing the portraits of monarchs, the direction in which the portrait faces was flipped to face right instead of left.", - "message": "After his accession to the throne Belgium began a third series of coins in 2014 featuring the portrait of King Philippe. As is customary with coins bearing the portraits of monarchs, the direction in which the portrait faces was flipped to face right instead of left.", - "translation": "" - }, - { - "id": "Croatian Euro Coin Designs", - "message": "Croatian Euro Coin Designs", - "translation": "" - }, - { - "id": "The Croatian euro coins feature four different themes, with each design featuring the Croatian checkerboard and the countries name in Croatian (‘%sHRVATSKA%s’). All designs were selected after voting in a public design competition.", - "message": "The Croatian euro coins feature four different themes, with each design featuring the Croatian checkerboard and the countries name in Croatian (‘%sHRVATSKA%s’). All designs were selected after voting in a public design competition.", - "translation": "" - }, - { - "id": "The 1-, 2-, and 5 euro cent coins were designed by Maja Škripelj and feature a motif of the letters ‘HR’ in the %sGlagolitic script%s — an old Slavic script that saw use in Croatia up until the 19th century — with ‘HR’ representing Croatia’s country code.", - "message": "The 1-, 2-, and 5 euro cent coins were designed by Maja Škripelj and feature a motif of the letters ‘HR’ in the %sGlagolitic script%s — an old Slavic script that saw use in Croatia up until the 19th century — with ‘HR’ representing Croatia’s country code.", - "translation": "" - }, - { - "id": "The 10-, 20-, and 50 euro cent coins were designed by Ivan Domagoj Račić and feature the portrait of the inventor and engineer %sNikola Tesla%s. The design of these coins caused controversy when they were first announced with the National Bank of Serbia claiming that it would be an appropriation of the cultural and scientific heritage of the Serbian people to feature the portrait of someone who ‘declared himself to be Serbian by origin’.", - "message": "The 10-, 20-, and 50 euro cent coins were designed by Ivan Domagoj Račić and feature the portrait of the inventor and engineer %sNikola Tesla%s. The design of these coins caused controversy when they were first announced with the National Bank of Serbia claiming that it would be an appropriation of the cultural and scientific heritage of the Serbian people to feature the portrait of someone who ‘declared himself to be Serbian by origin’.", - "translation": "" - }, - { - "id": "The 1 euro coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and features a marten. The marten is the semi-official national animal of Croatia and the Kuna — their pre-Euro currency — was named after the marten (‘%skuna zlatica%s’ in Croatian).", - "message": "The 1 euro coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and features a marten. The marten is the semi-official national animal of Croatia and the Kuna — their pre-Euro currency — was named after the marten (‘%skuna zlatica%s’ in Croatian).", - "translation": "" - }, - { - "id": "The 2 euro coin was designed by Ivan Šivak and features the map of Croatia. The coin also has an edge-inscription that reads ‘%sO LIJEPA O DRAGA O SLATKA SLOBODO%s’ (‘OH BEAUTIFUL, OH DEAR, OH SWEET FREEDOM’) which is a line from the play %sDubravka%s by Ivan Gundulić.", - "message": "The 2 euro coin was designed by Ivan Šivak and features the map of Croatia. The coin also has an edge-inscription that reads ‘%sO LIJEPA O DRAGA O SLATKA SLOBODO%s’ (‘OH BEAUTIFUL, OH DEAR, OH SWEET FREEDOM’) which is a line from the play %sDubravka%s by Ivan Gundulić.", - "translation": "" - }, - { - "id": "Dutch Euro Coin Designs", - "message": "Dutch Euro Coin Designs", - "translation": "" - }, - { - "id": "From the years 1999–2013 all Dutch euro coins featured the portrait of Queen Beatrix of the Netherlands. After her abdication from the throne in 2013 the designs of all denominations were changed to feature the portrait of the new King Willem-Alexander. After her abdication the direction in which the monarchs portrait faced was flipped; a tradition dating back to the earliest coins of the Kingdom of the Netherlands.", - "message": "From the years 1999–2013 all Dutch euro coins featured the portrait of Queen Beatrix of the Netherlands. After her abdication from the throne in 2013 the designs of all denominations were changed to feature the portrait of the new King Willem-Alexander. After her abdication the direction in which the monarchs portrait faced was flipped; a tradition dating back to the earliest coins of the Kingdom of the Netherlands.", - "translation": "" - }, - { - "id": "Coins featuring both monarchs contain text reading ‘%sBEATRIX KONINGIN DER NEDERLANDEN%s’ (‘BEATRIX QUEEN OF THE NETHERLANDS’) and ‘%sWillem-Alexander Koning der Nederlanden%s’ (‘Willem-Alexander King of the Netherlands’) respectively. The €2 coins also feature an edge-inscription reading ‘%sGOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆%s’ (‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’).", - "message": "Coins featuring both monarchs contain text reading ‘%sBEATRIX KONINGIN DER NEDERLANDEN%s’ (‘BEATRIX QUEEN OF THE NETHERLANDS’) and ‘%sWillem-Alexander Koning der Nederlanden%s’ (‘Willem-Alexander King of the Netherlands’) respectively. The €2 coins also feature an edge-inscription reading ‘%sGOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆%s’ (‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’).", - "translation": "" - }, - { - "id": "The €1 and €2 coins featuring King Willem-Alexander were minted with a much lower %srelief%s than most euro coins of the same denomination. As a result it is not uncommon for these coins to appear worn after little use in circulation.", - "message": "The €1 and €2 coins featuring King Willem-Alexander were minted with a much lower %srelief%s than most euro coins of the same denomination. As a result it is not uncommon for these coins to appear worn after little use in circulation.", - "translation": "" - }, - { - "id": "Euro Coin Designs", - "message": "Euro Coin Designs", - "translation": "" - }, - { - "id": "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 %svarieties%s page.", - "message": "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 %svarieties%s page.", - "translation": "" - }, - { - "id": "Euro Coin Mintages", - "message": "Euro Coin Mintages", - "translation": "" - }, - { - "id": "Here you’ll be able to view all the known mintages for all coins. You’ll also be able to filter on country, denomination, etc. If you have any mintage data that’s missing from our site, feel free to contact us.", - "message": "Here you’ll be able to view all the known mintages for all coins. You’ll also be able to filter on country, denomination, etc. If you have any mintage data that’s missing from our site, feel free to contact us.", - "translation": "" - }, - { - "id": "Additional Notes", - "message": "Additional Notes", - "translation": "" - }, - { - "id": "Most coins from the years 2003–2016 are listed as NIFC coins while other popular sources such as Numista claim they were minted for circulation. For more information on why others are wrong, %sclick here%s.", - "message": "Most coins from the years 2003–2016 are listed as NIFC coins while other popular sources such as Numista claim they were minted for circulation. For more information on why others are wrong, %sclick here%s.", - "translation": "" - }, - { - "id": "In 2003 Numista calculated a total of %d coins issued for coin sets per denomination. Our own calculations found only %d. Numista also forgot to include the many hundred thousand coins from the coin roll sets that were produced.", - "message": "In 2003 Numista calculated a total of %d coins issued for coin sets per denomination. Our own calculations found only %d. Numista also forgot to include the many hundred thousand coins from the coin roll sets that were produced.", - "translation": "" - }, - { - "id": "Filter", - "message": "Filter", - "translation": "" - }, - { - "id": "Standard Issue Coins", - "message": "Standard Issue Coins", - "translation": "" - }, - { - "id": "Year", - "message": "Year", - "translation": "" - }, - { - "id": "Unknown", - "message": "Unknown", - "translation": "" - }, - { - "id": "Error", - "message": "Error", - "translation": "" - }, - { - "id": "Commemorative Coins", - "message": "Commemorative Coins", - "translation": "" - }, - { - "id": "Commemorated Issue", - "message": "Commemorated Issue", - "translation": "" - }, - { - "id": "Mintage", - "message": "Mintage", - "translation": "" - }, - { - "id": "Euro Coins", - "message": "Euro Coins", - "translation": "" - }, - { - "id": "On this section of the site you can find everything there is to know about the coins of the Eurozone.", - "message": "On this section of the site you can find everything there is to know about the coins of the Eurozone.", - "translation": "" - }, - { - "id": "View the 600+ different Euro-coin designs!", - "message": "View the 600+ different Euro-coin designs!", - "translation": "" - }, - { - "id": "Mintages", - "message": "Mintages", - "translation": "" - }, - { - "id": "View the mintage figures of all the Euro coins!", - "message": "View the mintage figures of all the Euro coins!", - "translation": "" - }, - { - "id": "Varieties", - "message": "Varieties", - "translation": "" - }, - { - "id": "View all the known Euro varieties!", - "message": "View all the known Euro varieties!", - "translation": "" - }, - { - "id": "Coin Roll Hunting", - "message": "Coin Roll Hunting", - "translation": "" - }, - { - "id": "What is Coin Roll Hunting?", - "message": "What is Coin Roll Hunting?", - "translation": "" - }, - { - "id": "Coin roll hunting is a popular method of coin collecting in which you withdrawal cash from your bank in the form of coins which you then search through to find new additions to your collection. Once you’ve searched through all your coins, you will typically deposit your left over coins at the bank and withdrawal new coins.", - "message": "Coin roll hunting is a popular method of coin collecting in which you withdrawal cash from your bank in the form of coins which you then search through to find new additions to your collection. Once you’ve searched through all your coins, you will typically deposit your left over coins at the bank and withdrawal new coins.", - "translation": "" - }, - { - "id": "This type of coin collecting is often called ‘Coin Roll Hunting’ due to the fact that coins are often withdrawn in paper-wrapped rolls. You may however find that your coins come in plastic bags instead (common in countries like Ireland).", - "message": "This type of coin collecting is often called ‘Coin Roll Hunting’ due to the fact that coins are often withdrawn in paper-wrapped rolls. You may however find that your coins come in plastic bags instead (common in countries like Ireland).", - "translation": "" - }, - { - "id": "Depending on your bank and branch, the process of obtaining coins may differ. Some banks require you speak to a teller, others have coin machines. Some banks may also require that you are a customer or even to have a business account. If you aren’t sure about if you can get coins we suggest you contact your bank, although further down this page we also have information about the withdrawal of coins in various countries and major banks.", - "message": "Depending on your bank and branch, the process of obtaining coins may differ. Some banks require you speak to a teller, others have coin machines. Some banks may also require that you are a customer or even to have a business account. If you aren’t sure about if you can get coins we suggest you contact your bank, although further down this page we also have information about the withdrawal of coins in various countries and major banks.", - "translation": "" - }, - { - "id": "Getting Started", - "message": "Getting Started", - "translation": "" - }, - { - "id": "To get started with coin roll hunting you should first contact your bank or check their website to find details regarding coin withdrawal. You will then typically need to go to the bank to pick up your coins. Depending on your bank you may be able to withdrawal coins from a machine, although often you can pick up your coins from the banks tellers. You will also often need to pay a small fee for each roll, although some banks don’t charge fees.", - "message": "To get started with coin roll hunting you should first contact your bank or check their website to find details regarding coin withdrawal. You will then typically need to go to the bank to pick up your coins. Depending on your bank you may be able to withdrawal coins from a machine, although often you can pick up your coins from the banks tellers. You will also often need to pay a small fee for each roll, although some banks don’t charge fees.", - "translation": "" - }, - { - "id": "It is also important to find details regarding the deposit of coins. Depositing coins often also requires the payment of a fee — one which is typically more expensive than the withdrawal fees. If depositing your coins is too expensive you can always exchange your left over coins at shops for banknotes. It is often cheaper (or even free) to deposit banknotes.", - "message": "It is also important to find details regarding the deposit of coins. Depositing coins often also requires the payment of a fee — one which is typically more expensive than the withdrawal fees. If depositing your coins is too expensive you can always exchange your left over coins at shops for banknotes. It is often cheaper (or even free) to deposit banknotes.", - "translation": "" - }, - { - "id": "In some countries such as Austria it is even common to be able to withdrawal new coins from your account by exchanging the left over coins you already have.", - "message": "In some countries such as Austria it is even common to be able to withdrawal new coins from your account by exchanging the left over coins you already have.", - "translation": "" - }, - { - "id": "Country-Specific Details", - "message": "Country-Specific Details", - "translation": "" - }, - { - "id": "Below you can find all sorts of country-specific information we have regarding obtaining coin rolls. We lack a lot of information for many of the countries, so if you have any additional information such as your banks fees, the availability of coin roll machines, etc. feel free to contact us! You can find our contact information %shere%s.", - "message": "Below you can find all sorts of country-specific information we have regarding obtaining coin rolls. We lack a lot of information for many of the countries, so if you have any additional information such as your banks fees, the availability of coin roll machines, etc. feel free to contact us! You can find our contact information %shere%s.", - "translation": "" - }, - { - "id": "Be aware of the face that the information below is prone to being outdated, and as such may not reflect the current reality.", - "message": "Be aware of the face that the information below is prone to being outdated, and as such may not reflect the current reality.", - "translation": "" - }, - { - "id": "Coin rolls can be obtained from Andbank, Crèdit Andorrà, and MoraBanc. All three of these banks require that you are a customer to get rolls. There have however been reports of individuals managing to get rolls without any fees and without being a customer by simply asking kindly at the bank.", - "message": "Coin rolls can be obtained from Andbank, Crèdit Andorrà, and MoraBanc. All three of these banks require that you are a customer to get rolls. There have however been reports of individuals managing to get rolls without any fees and without being a customer by simply asking kindly at the bank.", - "translation": "" - }, - { - "id": "The Austrian National Bank does not distribute circulated rolls but sells rolls of commemorative coins at face value on release as well as uncirculated rolls for all denominations.", - "message": "The Austrian National Bank does not distribute circulated rolls but sells rolls of commemorative coins at face value on release as well as uncirculated rolls for all denominations.", - "translation": "" - }, - { - "id": "There is a fee of %s per roll. Rolls can be purchased with cash at machines. These machines are available to everyone, but not in all branches. Look for the ‘Münzrollengeber’ filter option %shere%s.", - "message": "There is a fee of %s per roll. Rolls can be purchased with cash at machines. These machines are available to everyone, but not in all branches. Look for the ‘Münzrollengeber’ filter option %shere%s.", - "translation": "" - }, - { - "id": "There is a fee of %s per roll. You must be a customer to use machines to get rolls. Rolls have no fees when purchased at counters, but counters redirect you to machines if they work; counters accept cash. You must present an Erste Bank card to buy rolls from machines, but you can pay with cash.", - "message": "There is a fee of %s per roll. You must be a customer to use machines to get rolls. Rolls have no fees when purchased at counters, but counters redirect you to machines if they work; counters accept cash. You must present an Erste Bank card to buy rolls from machines, but you can pay with cash.", - "translation": "" - }, - { - "id": "Depositing coins is free for up to %s a day, at which point you pay 1%% for any additional deposited coins. You must also be a customer. Depositing coins is free for all Erste Bank customers at Dornbirner Sparkasse with no limit.", - "message": "Depositing coins is free for up to %s a day, at which point you pay 1%% for any additional deposited coins. You must also be a customer. Depositing coins is free for all Erste Bank customers at Dornbirner Sparkasse with no limit.", - "translation": "" - }, - { - "id": "There is a fee of %s per roll if you aren’t a customer, and %s otherwise. Coin deposits are free if you’re a customer.", - "message": "There is a fee of %s per roll if you aren’t a customer, and %s otherwise. Coin deposits are free if you’re a customer.", - "translation": "" - }, - { - "id": "Reportedly fee-less with no need of being a customer, but this is unconfirmed.", - "message": "Reportedly fee-less with no need of being a customer, but this is unconfirmed.", - "translation": "" - }, - { - "id": "There is a %s fee with no limit on the number of rolls.", - "message": "There is a %s fee with no limit on the number of rolls.", - "translation": "" - }, - { - "id": "Belgian Central Bank", - "message": "Belgian Central Bank", - "translation": "" - }, - { - "id": "You can visit the Belgian Central Bank in Brussels as an EU citizen. You can order coin rolls for no fee up to %s in value. They seem to distribute uncirculated coins (no commemoratives).", - "message": "You can visit the Belgian Central Bank in Brussels as an EU citizen. You can order coin rolls for no fee up to %s in value. They seem to distribute uncirculated coins (no commemoratives).", - "translation": "" - }, - { - "id": "Free for customers but getting coin rolls is still difficult sometimes. Non-customers cannot get rolls.", - "message": "Free for customers but getting coin rolls is still difficult sometimes. Non-customers cannot get rolls.", - "translation": "" - }, - { - "id": "Free for customers when you order through their online platform.", - "message": "Free for customers when you order through their online platform.", - "translation": "" - }, - { - "id": "Bank of Cyprus", - "message": "Bank of Cyprus", - "translation": "" - }, - { - "id": "At the Bank of Cyprus it is possible to buy bags of coins without being a customer, and without paying any additional fees. Depending on the branch you visit you may have coin roll machine available. Do note that the bags provided by the Bank of Cyprus are around twice as large as usual with %s bags containing 50 coins and the other denomination bags containing 100 coins.", - "message": "At the Bank of Cyprus it is possible to buy bags of coins without being a customer, and without paying any additional fees. Depending on the branch you visit you may have coin roll machine available. Do note that the bags provided by the Bank of Cyprus are around twice as large as usual with %s bags containing 50 coins and the other denomination bags containing 100 coins.", - "translation": "" - }, - { - "id": "Coin roll availability may vary across banks and branches, as well as the price. You must be a customer to purchase coin rolls unless specified otherwise.", - "message": "Coin roll availability may vary across banks and branches, as well as the price. You must be a customer to purchase coin rolls unless specified otherwise.", - "translation": "" - }, - { - "id": "German Federal Bank (Deutsche Bundesbank)", - "message": "German Federal Bank (Deutsche Bundesbank)", - "translation": "" - }, - { - "id": "You can obtain regular- and commemorative coins for face value including 5-, 10-, and 20 euro coins. You do not need to be a customer although depending on your branch you may need to make an appointment. The purchase of coins can only be done with cash.", - "message": "You can obtain regular- and commemorative coins for face value including 5-, 10-, and 20 euro coins. You do not need to be a customer although depending on your branch you may need to make an appointment. The purchase of coins can only be done with cash.", - "translation": "" - }, - { - "id": "Hand-rolled coin rolls can be obtained with no additional fees.", - "message": "Hand-rolled coin rolls can be obtained with no additional fees.", - "translation": "" - }, - { - "id": "Coin rolls can be obtained for a fee of %s–%s per roll. The amount varies per branch.", - "message": "Coin rolls can be obtained for a fee of %s–%s per roll. The amount varies per branch.", - "translation": "" - }, - { - "id": "Coin rolls can be obtained for a fee of %s per roll.", - "message": "Coin rolls can be obtained for a fee of %s per roll.", - "translation": "" - }, - { - "id": "Obtaining coin rolls in Estonia is typically quite difficult, and often expensive. You also often need to make an appointment in advance.", - "message": "Obtaining coin rolls in Estonia is typically quite difficult, and often expensive. You also often need to make an appointment in advance.", - "translation": "" - }, - { - "id": "Central Bank of Estonia Museum", - "message": "Central Bank of Estonia Museum", - "translation": "" - }, - { - "id": "You can purchase commemorative coins (even those released years ago) at face value. It is also an interesting museum to visit in general.", - "message": "You can purchase commemorative coins (even those released years ago) at face value. It is also an interesting museum to visit in general.", - "translation": "" - }, - { - "id": "Coin rolls are free but you must be a customer.", - "message": "Coin rolls are free but you must be a customer.", - "translation": "" - }, - { - "id": "Bank of Spain", - "message": "Bank of Spain", - "translation": "" - }, - { - "id": "You can purchase individual coins and commemorative coin rolls (even those of other countries). You can watch %shere%s to see how to do it.", - "message": "You can purchase individual coins and commemorative coin rolls (even those of other countries). You can watch %shere%s to see how to do it.", - "translation": "" - }, - { - "id": "Coin rolls have a fee of %s for 5 rolls. This seems to vary by region.", - "message": "Coin rolls have a fee of %s for 5 rolls. This seems to vary by region.", - "translation": "" - }, - { - "id": "Coin rolls have no fees.", - "message": "Coin rolls have no fees.", - "translation": "" - }, - { - "id": "La Caixa", - "message": "La Caixa", - "translation": "" - }, - { - "id": "Coin rolls have no fees and can be purchased with cash. You do not need to be a customer, although this needs to be re-verified.", - "message": "Coin rolls have no fees and can be purchased with cash. You do not need to be a customer, although this needs to be re-verified.", - "translation": "" - }, - { - "id": "Finland has no coin roll machines, but you can find vending machines or coin exchange machines (albeit they are rare).", - "message": "Finland has no coin roll machines, but you can find vending machines or coin exchange machines (albeit they are rare).", - "translation": "" - }, - { - "id": "Coin rolls can be obtained with no fees.", - "message": "Coin rolls can be obtained with no fees.", - "translation": "" - }, - { - "id": "Bank of Finland", - "message": "Bank of Finland", - "translation": "" - }, - { - "id": "It is probably not possible to obtain coin rolls, but this is not confirmed.", - "message": "It is probably not possible to obtain coin rolls, but this is not confirmed.", - "translation": "" - }, - { - "id": "Coin roll machines are uncommon, only some banks have them and you need to be a customer. You may also need to order them in advance.", - "message": "Coin roll machines are uncommon, only some banks have them and you need to be a customer. You may also need to order them in advance.", - "translation": "" - }, - { - "id": "Coin rolls can be obtained with no fee. You must be a customer.", - "message": "Coin rolls can be obtained with no fee. You must be a customer.", - "translation": "" - }, - { - "id": "and", - "message": "and", - "translation": "" - }, - { - "id": "Free coin rolls if you are a customer or %s per roll if you are not a customer. There are coin roll machines.", - "message": "Free coin rolls if you are a customer or %s per roll if you are not a customer. There are coin roll machines.", - "translation": "" - }, - { - "id": "There are coin roll machines but it is not yet known if you need to be a customer or if there are fees.", - "message": "There are coin roll machines but it is not yet known if you need to be a customer or if there are fees.", - "translation": "" - }, - { - "id": "Bank of Greece (Τράπεζα της Ελλάδος)", - "message": "Bank of Greece (Τράπεζα της Ελλάδος)", - "translation": "" - }, - { - "id": "Fee-less coin rolls for everyone (you will need to show ID). The latest commemorative coins are also sold for face value.", - "message": "Fee-less coin rolls for everyone (you will need to show ID). The latest commemorative coins are also sold for face value.", - "translation": "" - }, - { - "id": "Fee-less coin bags for everyone (no ID necessary). Smaller denominations are often not given out, and the coin bags you recieve are very large (there are reports of %s bags containing 250 coins).", - "message": "Fee-less coin bags for everyone (no ID necessary). Smaller denominations are often not given out, and the coin bags you recieve are very large (there are reports of %s bags containing 250 coins).", - "translation": "" - }, - { - "id": "In general, coin rolls are available at banks with a fee of %s per roll; rolls could potentially have no fee if you only need a few.", - "message": "In general, coin rolls are available at banks with a fee of %s per roll; rolls could potentially have no fee if you only need a few.", - "translation": "" - }, - { - "id": "There are coin roll machines but it is unknown if you need to be a customer or if there are additional fees.", - "message": "There are coin roll machines but it is unknown if you need to be a customer or if there are additional fees.", - "translation": "" - }, - { - "id": "Bank of Italy", - "message": "Bank of Italy", - "translation": "" - }, - { - "id": "Coin rolls are available to everyone.", - "message": "Coin rolls are available to everyone.", - "translation": "" - }, - { - "id": "Works, but with very high fees (5%% of cost).", - "message": "Works, but with very high fees (5%% of cost).", - "translation": "" - }, - { - "id": "Fee of %s per roll of 2 euro coins.", - "message": "Fee of %s per roll of 2 euro coins.", - "translation": "" - }, - { - "id": "As far as we are aware, Lietuvos Bankas only distributes coin rolls to businesses.", - "message": "As far as we are aware, Lietuvos Bankas only distributes coin rolls to businesses.", - "translation": "" - }, - { - "id": "It may be worth checking out payout machines to exchange banknotes into coins.", - "message": "It may be worth checking out payout machines to exchange banknotes into coins.", - "translation": "" - }, - { - "id": "Luxembourgish Central Bank (Banque Centrale du Luxembourg)", - "message": "Luxembourgish Central Bank (Banque Centrale du Luxembourg)", - "translation": "" - }, - { - "id": "We currently have no information regarding regular coins, however their webshop sells commemorative coins (for a high premium, but better than most resellers). Commemorative coins are also available for purchase in-person.", - "message": "We currently have no information regarding regular coins, however their webshop sells commemorative coins (for a high premium, but better than most resellers). Commemorative coins are also available for purchase in-person.", - "translation": "" - }, - { - "id": "You should be able to get coin rolls with no additional fees.", - "message": "You should be able to get coin rolls with no additional fees.", - "translation": "" - }, - { - "id": "In general coin rolls are sold with a fee of %s per roll, but we’re lacking a lot of information.", - "message": "In general coin rolls are sold with a fee of %s per roll, but we’re lacking a lot of information.", - "translation": "" - }, - { - "id": "Bank of Valletta and HSBC Bank Malta", - "message": "Bank of Valletta and HSBC Bank Malta", - "translation": "" - }, - { - "id": "You can get rolls for a fee of %s per roll. You must order coin rolls through their online platform, and you must be a customer.", - "message": "You can get rolls for a fee of %s per roll. You must order coin rolls through their online platform, and you must be a customer.", - "translation": "" - }, - { - "id": "Banks in the Netherlands do not carry cash, and as such it’s not possible to obtain rolls from bank tellers. Obtaining coins from the Dutch Central Bank (De Nederlandsche Bank) is also not possible. If you want to obtain coin rolls you need to use a Geldmaat coin roll machine which can be found in specific branches of GAMMA and Karwei. Geldmaat offers a map on their website where you can search for branches with these machines; you can find that map %shere%s.", - "message": "Banks in the Netherlands do not carry cash, and as such it’s not possible to obtain rolls from bank tellers. Obtaining coins from the Dutch Central Bank (De Nederlandsche Bank) is also not possible. If you want to obtain coin rolls you need to use a Geldmaat coin roll machine which can be found in specific branches of GAMMA and Karwei. Geldmaat offers a map on their website where you can search for branches with these machines; you can find that map %shere%s.", - "translation": "" - }, - { - "id": "In order to be able to use a Geldmaat coin machine, you must be a customer of either ABN AMRO, ING, or Rabobank. You also cannot pay by cash, only card payments are allowed. All three banks charge a withdrawal fee for getting coin rolls, which are detailed in the list below.", - "message": "In order to be able to use a Geldmaat coin machine, you must be a customer of either ABN AMRO, ING, or Rabobank. You also cannot pay by cash, only card payments are allowed. All three banks charge a withdrawal fee for getting coin rolls, which are detailed in the list below.", - "translation": "" - }, - { - "id": "%s per roll.", - "message": "%s per roll.", - "translation": "" - }, - { - "id": "Base fee of %s + %s per roll.", - "message": "Base fee of %s + %s per roll.", - "translation": "" - }, - { - "id": "One- and two-cent coins have been removed from circulation and cannot be obtained.", - "message": "One- and two-cent coins have been removed from circulation and cannot be obtained.", - "translation": "" - }, - { - "id": "Coin bags are sold with no additional fees to bank customers.", - "message": "Coin bags are sold with no additional fees to bank customers.", - "translation": "" - }, - { - "id": "Bank of Portugal (Banco de Portugal)", - "message": "Bank of Portugal (Banco de Portugal)", - "translation": "" - }, - { - "id": "Coin bags are sold with no additional fees to everyone.", - "message": "Coin bags are sold with no additional fees to everyone.", - "translation": "" - }, - { - "id": "In general there is a %s fee for coin rolls.", - "message": "In general there is a %s fee for coin rolls.", - "translation": "" - }, - { - "id": "Bank of Slovenia (Banka Slovenije)", - "message": "Bank of Slovenia (Banka Slovenije)", - "translation": "" - }, - { - "id": "You can purchase commemorative coins for face value, and coin rolls are sold with no fees to everyone.", - "message": "You can purchase commemorative coins for face value, and coin rolls are sold with no fees to everyone.", - "translation": "" - }, - { - "id": "National Bank of Slovakia (Národná banka Slovenska)", - "message": "National Bank of Slovakia (Národná banka Slovenska)", - "translation": "" - }, - { - "id": "You may be able to get uncirculated rolls, but this is not yet confirmed.", - "message": "You may be able to get uncirculated rolls, but this is not yet confirmed.", - "translation": "" - }, - { - "id": "You can get an unlimited number of rolls for a %s fee. You must be a customer of the bank.", - "message": "You can get an unlimited number of rolls for a %s fee. You must be a customer of the bank.", - "translation": "" - }, - { - "id": "Ask the Pope nicely and he’ll probably give you some Vatican coins for free.", - "message": "Ask the Pope nicely and he’ll probably give you some Vatican coins for free.", - "translation": "" - }, - { - "id": "We currently have no information regarding coin roll hunting in %s.", - "message": "We currently have no information regarding coin roll hunting in %s.", - "translation": "" - }, - { - "id": "Coin Storage", - "message": "Coin Storage", - "translation": "" - }, - { - "id": "There are many different methods of storing your collecting, each with their own benefits and drawbacks. This page will describe the most common methods collectors use to store their coins, as well as the pros and cons of each method.", - "message": "There are many different methods of storing your collecting, each with their own benefits and drawbacks. This page will describe the most common methods collectors use to store their coins, as well as the pros and cons of each method.", - "translation": "" - }, - { - "id": "Coin Albums", - "message": "Coin Albums", - "translation": "" - }, - { - "id": "Coin albums are one of the most popular ways of storing coins. In a coin album you will have multiple coin sheets. These sheets are plastic pages with slots that you can put your coin in to keep them protected. When searching for sheets for your album it is very important to ensure that they do not contain any PVC, which will damage your coins. Some albums will come with sheets already included.", - "message": "Coin albums are one of the most popular ways of storing coins. In a coin album you will have multiple coin sheets. These sheets are plastic pages with slots that you can put your coin in to keep them protected. When searching for sheets for your album it is very important to ensure that they do not contain any PVC, which will damage your coins. Some albums will come with sheets already included.", - "translation": "" - }, - { - "id": "Albums can be an affordable way to store your coins, but higher-end albums can be a bit expensive. Also remember to always ensure that your albums do not contain any PVC!", - "message": "Albums can be an affordable way to store your coins, but higher-end albums can be a bit expensive. Also remember to always ensure that your albums do not contain any PVC!", - "translation": "" - }, - { - "id": "Coin Boxes", - "message": "Coin Boxes", - "translation": "" - }, - { - "id": "Coin boxes are to many people the most aesthetic way to store your coins. A coin box is comprised of various layers which can be stacked ontop of each other. Each layer has various holes where you can insert your coins. Typically you are meant to store your coins in a layer encased in a coin capsule.", - "message": "Coin boxes are to many people the most aesthetic way to store your coins. A coin box is comprised of various layers which can be stacked ontop of each other. Each layer has various holes where you can insert your coins. Typically you are meant to store your coins in a layer encased in a coin capsule.", - "translation": "" - }, - { - "id": "Boxes are quite space-inefficient and are one of the most expensive ways to store your coins, but at the same time they offer a great visual appeal.", - "message": "Boxes are quite space-inefficient and are one of the most expensive ways to store your coins, but at the same time they offer a great visual appeal.", - "translation": "" - }, - { - "id": "Coin Capsules", - "message": "Coin Capsules", - "translation": "" - }, - { - "id": "Coin capsules are plastic capsules you can put your coin in. They offer good protection to your coins, while still allowing you to view all parts of your coin easily, including the edge engravings and -inscriptions. Capsules are also far more durable than flips, and can be opened and closed repeatedly allowing for them to be reused. This isn’t really possible with flips.", - "message": "Coin capsules are plastic capsules you can put your coin in. They offer good protection to your coins, while still allowing you to view all parts of your coin easily, including the edge engravings and -inscriptions. Capsules are also far more durable than flips, and can be opened and closed repeatedly allowing for them to be reused. This isn’t really possible with flips.", - "translation": "" - }, - { - "id": "Capsules can be a bit pricey, but are reusable and are very durable. They also come in different sizes, so make sure you get the right size for your coins.", - "message": "Capsules can be a bit pricey, but are reusable and are very durable. They also come in different sizes, so make sure you get the right size for your coins.", - "translation": "" - }, - { - "id": "Coin Flips", - "message": "Coin Flips", - "translation": "" - }, - { - "id": "Coin flips, also known as ‘2x2’ flips by some Americans are small cardboard flips with a plastic covered hole in the middle for viewing. Most coin flips are stapled, meaning you put your coin in the flip and staple it shut. These kinds of flips are very cheap, and you can buy stacks of a few hundred for only a few euros. If you don’t like the staples though, you can also buy adhesive-flips that glue themselves shut. These flips are more expensive, but also look better than their stapled equivalents.", - "message": "Coin flips, also known as ‘2x2’ flips by some Americans are small cardboard flips with a plastic covered hole in the middle for viewing. Most coin flips are stapled, meaning you put your coin in the flip and staple it shut. These kinds of flips are very cheap, and you can buy stacks of a few hundred for only a few euros. If you don’t like the staples though, you can also buy adhesive-flips that glue themselves shut. These flips are more expensive, but also look better than their stapled equivalents.", - "translation": "" - }, - { - "id": "Coin slips are also pretty space efficient, and can be easily stacked in boxes for compact storage. Many collectors also like to write notes about their coins on the flips. There also exist special sheets for coin albums that allow you to put in flipped coins, but this is more expensive and less space-efficient than simply using flips or an album without flips.", - "message": "Coin slips are also pretty space efficient, and can be easily stacked in boxes for compact storage. Many collectors also like to write notes about their coins on the flips. There also exist special sheets for coin albums that allow you to put in flipped coins, but this is more expensive and less space-efficient than simply using flips or an album without flips.", - "translation": "" - }, - { - "id": "Coin Rolls", - "message": "Coin Rolls", - "translation": "" - }, - { - "id": "This is probably the most inexpensive way to store your coins. If you take good care of the paper when opening your coin rolls, you can simply reuse them for storage. Just roll your coins back up and put some rubber bands on the ends. You can also get reusable plastic rolls that can be opened and closed. You will need different rolls based on the denomination you want to store, but they are very space-efficient.", - "message": "This is probably the most inexpensive way to store your coins. If you take good care of the paper when opening your coin rolls, you can simply reuse them for storage. Just roll your coins back up and put some rubber bands on the ends. You can also get reusable plastic rolls that can be opened and closed. You will need different rolls based on the denomination you want to store, but they are very space-efficient.", - "translation": "" - }, - { - "id": "Examples", - "message": "Examples", - "translation": "" - }, - { - "id": "In case you’re looking for some inspiration on how to store your collections, here are some examples.", - "message": "In case you’re looking for some inspiration on how to store your collections, here are some examples.", - "translation": "" - }, - { - "id": "Euro Coin Collecting", - "message": "Euro Coin Collecting", - "translation": "" - }, - { - "id": "What is Vending Machine Hunting?", - "message": "What is Vending Machine Hunting?", - "translation": "" - }, - { - "id": "‘Vending machine hunting’ is a strategy of collecting coins whereby you continuously insert coins into a vending machine and cancel the transaction by pressing the return button. When the vending machine returns your coins to you, you will often get different coins from the ones you put in, and you can repeat this process until you’ve searched through every coin in the machine.", - "message": "‘Vending machine hunting’ is a strategy of collecting coins whereby you continuously insert coins into a vending machine and cancel the transaction by pressing the return button. When the vending machine returns your coins to you, you will often get different coins from the ones you put in, and you can repeat this process until you’ve searched through every coin in the machine.", - "translation": "" - }, - { - "id": "The Test Coins", - "message": "The Test Coins", - "translation": "" - }, - { - "id": "First, you want to make sure the vending machine you come across actually gives back change — sometimes they don’t! Throw in a 10 cent coin and press the return button. If it doesn’t give the coin back, you can move on to the next machine; there’s a high chance it won’t return higher denominations either. Next throw in a random 2 euro coin and press the return button. You should do this because vending machines may not return 2 euro coins, but rather 1 euro- or 50 cent coins instead. It’s better to find out immediately as opposed to later once you’ve already put in all of your 2 euro coins.", - "message": "First, you want to make sure the vending machine you come across actually gives back change — sometimes they don’t! Throw in a 10 cent coin and press the return button. If it doesn’t give the coin back, you can move on to the next machine; there’s a high chance it won’t return higher denominations either. Next throw in a random 2 euro coin and press the return button. You should do this because vending machines may not return 2 euro coins, but rather 1 euro- or 50 cent coins instead. It’s better to find out immediately as opposed to later once you’ve already put in all of your 2 euro coins.", - "translation": "" - }, - { - "id": "The Stopper", - "message": "The Stopper", - "translation": "" - }, - { - "id": "We want to be able to know when we’ve gone through all the coins in the vending machine. To do this, take out a coin and mark it with something (drawing on it with a Sharpie works well), then put it into the machine. Next time you get the same coin back, you know you’ve gone through everything.", - "message": "We want to be able to know when we’ve gone through all the coins in the vending machine. To do this, take out a coin and mark it with something (drawing on it with a Sharpie works well), then put it into the machine. Next time you get the same coin back, you know you’ve gone through everything.", - "translation": "" - }, - { - "id": "Rejected Stoppers and Coins", - "message": "Rejected Stoppers and Coins", - "translation": "" - }, - { - "id": "Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if the coin was dropped into a box (normally adding a coin should be silent after you throw it in). This means the coin was not added to the stack properly, and so it will not be returned. Pay attention to this noise, because you won’t be getting the stopper back! Throw in another marked coin instead until the machine accepts the coin.", - "message": "Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if the coin was dropped into a box (normally adding a coin should be silent after you throw it in). This means the coin was not added to the stack properly, and so it will not be returned. Pay attention to this noise, because you won’t be getting the stopper back! Throw in another marked coin instead until the machine accepts the coin.", - "translation": "" - }, - { - "id": "(Non-)Merging Machines", - "message": "(Non-)Merging Machines", - "translation": "" - }, - { - "id": "We generally identify between two main types of vending machines.", - "message": "We generally identify between two main types of vending machines.", - "translation": "" - }, - { - "id": "Merging", - "message": "Merging", - "translation": "" - }, - { - "id": "The vending machine merges change together. For example if you throw in five 50 cent coins, the machine returns either two 1 euro coins and one 50 cent coin or one 2 euro and one 50 cent coin. This usually means you can hunt 2 euro coins very quickly but other denominations only once at a time. A good tip is to throw in an odd number of euros and 80 cents if you want to search through all denominations.", - "message": "The vending machine merges change together. For example if you throw in five 50 cent coins, the machine returns either two 1 euro coins and one 50 cent coin or one 2 euro and one 50 cent coin. This usually means you can hunt 2 euro coins very quickly but other denominations only once at a time. A good tip is to throw in an odd number of euros and 80 cents if you want to search through all denominations.", - "translation": "" - }, - { - "id": "Non-Merging", - "message": "Non-Merging", - "translation": "" - }, - { - "id": "The vending machine does not merge change together. This means if you throw in five 50 cent coins it will return five 50 cent coins. This makes it very easy to hunt a large amount of a specific denomination.", - "message": "The vending machine does not merge change together. This means if you throw in five 50 cent coins it will return five 50 cent coins. This makes it very easy to hunt a large amount of a specific denomination.", - "translation": "" - }, - { - "id": "Limits", - "message": "Limits", - "translation": "" - }, - { - "id": "There are some limits to vending machine hunts which you need to be aware of.", - "message": "There are some limits to vending machine hunts which you need to be aware of.", - "translation": "" - }, - { - "id": "Maximum Input Limit", - "message": "Maximum Input Limit", - "translation": "" - }, - { - "id": "Some machines have a maximum amount you can throw in, and will reject anything higher. For example machines with a max limit of five euros will reject any additional coins if you throw in five euros. You can try to go above the limit if you throw in, say, %s and then another one- or two euro coin; the machine will probably accept it.", - "message": "Some machines have a maximum amount you can throw in, and will reject anything higher. For example machines with a max limit of five euros will reject any additional coins if you throw in five euros. You can try to go above the limit if you throw in, say, %s and then another one- or two euro coin; the machine will probably accept it.", - "translation": "" - }, - { - "id": "Maximum Change Limit", - "message": "Maximum Change Limit", - "translation": "" - }, - { - "id": "Some machines will either give back large amounts of change in bills or will not give back large amounts of change at all (usually cigarette machines). Read the labels on all machines carefully since these limits are usually written there.", - "message": "Some machines will either give back large amounts of change in bills or will not give back large amounts of change at all (usually cigarette machines). Read the labels on all machines carefully since these limits are usually written there.", - "translation": "" - }, - { - "id": "Even if no limits are listed, it’s still advised that you exercise caution: it is not uncommon for a vending machine to steal your money. In the case that a vending machine does steal your money, look for a label on the machine that contains a support number.", - "message": "Even if no limits are listed, it’s still advised that you exercise caution: it is not uncommon for a vending machine to steal your money. In the case that a vending machine does steal your money, look for a label on the machine that contains a support number.", - "translation": "" - }, - { - "id": "For information on Austrian cigarette machines, see the ‘%sCigarette Machines%s’ section.", - "message": "For information on Austrian cigarette machines, see the ‘%sCigarette Machines%s’ section.", - "translation": "" - }, - { - "id": "Cigarette Machines", - "message": "Cigarette Machines", - "translation": "" - }, - { - "id": "In some countries where cigarette machines are legal, you can hunt through them as well. Unless you’re in Malta, you must verify your age on them by either sliding an ID card through a sensor or holding a debit card on an RFID scanner; you must do this for every cycle. Sometimes you must also select something to purchase, throw in less money than the cost, and then cancel the purchase. Note that most cigarette machines in Austria have a %s max change limit.", - "message": "In some countries where cigarette machines are legal, you can hunt through them as well. Unless you’re in Malta, you must verify your age on them by either sliding an ID card through a sensor or holding a debit card on an RFID scanner; you must do this for every cycle. Sometimes you must also select something to purchase, throw in less money than the cost, and then cancel the purchase. Note that most cigarette machines in Austria have a %s max change limit.", - "translation": "" - }, - { - "id": "For RFID scanner machines it helps to wear a glove and slide a debit card into the back of it so you can easily use both hands and don’t have to fumble with a card and coins.", - "message": "For RFID scanner machines it helps to wear a glove and slide a debit card into the back of it so you can easily use both hands and don’t have to fumble with a card and coins.", - "translation": "" - }, - { - "id": "On this section of the site you can find everything there is to know about collecting Euro coins. If this is a hobby that interests you, join the Discord server linked at the top of the page!", - "message": "On this section of the site you can find everything there is to know about collecting Euro coins. If this is a hobby that interests you, join the Discord server linked at the top of the page!", - "translation": "" - }, - { - "id": "Learn about collecting coins from coin rolls!", - "message": "Learn about collecting coins from coin rolls!", - "translation": "" - }, - { - "id": "Learn about the different methods to storing your collection!", - "message": "Learn about the different methods to storing your collection!", - "translation": "" - }, - { - "id": "Shop Hunting", - "message": "Shop Hunting", - "translation": "" - }, - { - "id": "Learn about how to collect coins from shop-keepers and other people who deal in cash!", - "message": "Learn about how to collect coins from shop-keepers and other people who deal in cash!", - "translation": "" - }, - { - "id": "Vending Machine Hunting", - "message": "Vending Machine Hunting", - "translation": "" - }, - { - "id": "Learn about collecting coins from vending machines!", - "message": "Learn about collecting coins from vending machines!", - "translation": "" - }, - { - "id": "The Euro Cash Compendium", - "message": "The Euro Cash Compendium", - "translation": "" - }, - { - "id": "United in", - "message": "United in", - "translation": "" - }, - { - "id": "diversity", - "message": "diversity", - "translation": "" - }, - { - "id": "cash", - "message": "cash", - "translation": "" - }, - { - "id": "Welcome to the Euro Cash Compendium. 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.", - "message": "Welcome to the Euro Cash Compendium. 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.", - "translation": "" - }, - { - "id": "Euro Cash Jargon", - "message": "Euro Cash Jargon", - "translation": "" - }, - { - "id": "Both on this website and in other euro-cash-related forums there are many terms you will come across that you may not immediately understand. This page will hopefully get you up to speed with the most important and frequently-used terminology.", - "message": "Both on this website and in other euro-cash-related forums there are many terms you will come across that you may not immediately understand. This page will hopefully get you up to speed with the most important and frequently-used terminology.", - "translation": "" - }, - { - "id": "All terms defined below can be used as clickable links which highlight the selected term. It is recommended to use these links when sharing this page with others, so that the relevant terms are highlighted.", - "message": "All terms defined below can be used as clickable links which highlight the selected term. It is recommended to use these links when sharing this page with others, so that the relevant terms are highlighted.", - "translation": "" - }, - { - "id": "General Terms", - "message": "General Terms", - "translation": "" - }, - { - "id": "AU coins are coins that are in extremely good condition as a result of limited use in circulation. Unlike the term ‘UNC’, this term is a description of the coins quality, not its usage. AU coins often appear to retain most of their original luster as well as possessing little-to-no scratches or other forms of post-mint damage (PMD).", - "message": "AU coins are coins that are in extremely good condition as a result of limited use in circulation. Unlike the term ‘UNC’, this term is a description of the coins quality, not its usage. AU coins often appear to retain most of their original luster as well as possessing little-to-no scratches or other forms of post-mint damage (PMD).", - "translation": "" - }, - { - "id": "BU is a general term to refer to coins from coincards and -sets. These are different from UNC coins in that they are typically handled with more care during the minting process and are struck with higher-quality dies than the coins minted for coin rolls resulting in a higher-quality end product. You may also see these coins referred to by the French term ‘fleur de coin’.", - "message": "BU is a general term to refer to coins from coincards and -sets. These are different from UNC coins in that they are typically handled with more care during the minting process and are struck with higher-quality dies than the coins minted for coin rolls resulting in a higher-quality end product. You may also see these coins referred to by the French term ‘fleur de coin’.", - "translation": "" - }, - { - "id": "NIFC coins are coins minted without the intention of being put into general circulation. These coins are typically minted with the purpose of being put into coincards or coin-sets to be sold to collectors. Occasionally they are also handed out to collectors for face value at banks.", - "message": "NIFC coins are coins minted without the intention of being put into general circulation. These coins are typically minted with the purpose of being put into coincards or coin-sets to be sold to collectors. Occasionally they are also handed out to collectors for face value at banks.", - "translation": "" - }, - { - "id": "While uncommon, NIFC coins are occasionally found in circulation. This can happen for a variety of reasons such as someone depositing their coin collection (known as a ‘collection dump’), or a collector’s child spending their rare coins on an ice cream. Some coin mints have also been known to put NIFC coins that have gone unsold for multiple years into circulation.", - "message": "While uncommon, NIFC coins are occasionally found in circulation. This can happen for a variety of reasons such as someone depositing their coin collection (known as a ‘collection dump’), or a collector’s child spending their rare coins on an ice cream. Some coin mints have also been known to put NIFC coins that have gone unsold for multiple years into circulation.", - "translation": "" - }, - { - "id": "Post-mint damage is any damage that a coin has sustained outside of the minting process, such as through being dropped on the ground, hit against a table, etc.", - "message": "Post-mint damage is any damage that a coin has sustained outside of the minting process, such as through being dropped on the ground, hit against a table, etc.", - "translation": "" - }, - { - "id": "Uncirculated coins are coins that have never been used in a monetary exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very good condition, but this is incorrect. A coin in poor condition that has never been circulated is still considered an ‘UNC’ coin.", - "message": "Uncirculated coins are coins that have never been used in a monetary exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very good condition, but this is incorrect. A coin in poor condition that has never been circulated is still considered an ‘UNC’ coin.", - "translation": "" - }, - { - "id": "Collector-Specific Terms", - "message": "Collector-Specific Terms", - "translation": "" - }, - { - "id": "Coin roll hunting is a general term for the activity of searching through coin rolls and -bags to find coins for a collection. Coin rolls and bags are often obtained at banks or coin roll machines.", - "message": "Coin roll hunting is a general term for the activity of searching through coin rolls and -bags to find coins for a collection. Coin rolls and bags are often obtained at banks or coin roll machines.", - "translation": "" - }, - { - "id": "Select Your Language", - "message": "Select Your Language", - "translation": "" - }, - { - "id": "Select your preferred language to use on the site.", - "message": "Select your preferred language to use on the site.", - "translation": "" - }, - { - "id": "Eurozone Languages", - "message": "Eurozone Languages", - "translation": "" - }, - { - "id": "Other Languages", - "message": "Other Languages", - "translation": "" - } - ] -}
\ No newline at end of file diff --git a/src/rosetta/el/messages.gotext.json b/src/rosetta/el/messages.gotext.json deleted file mode 100644 index 38d54f7..0000000 --- a/src/rosetta/el/messages.gotext.json +++ /dev/null @@ -1,1460 +0,0 @@ -{ - "language": "el", - "messages": [ - { - "id": "Andorra", - "message": "Andorra", - "translation": "" - }, - { - "id": "Austria", - "message": "Austria", - "translation": "" - }, - { - "id": "Belgium", - "message": "Belgium", - "translation": "" - }, - { - "id": "Cyprus", - "message": "Cyprus", - "translation": "" - }, - { - "id": "Germany", - "message": "Germany", - "translation": "" - }, - { - "id": "Estonia", - "message": "Estonia", - "translation": "" - }, - { - "id": "Spain", - "message": "Spain", - "translation": "" - }, - { - "id": "Finland", - "message": "Finland", - "translation": "" - }, - { - "id": "France", - "message": "France", - "translation": "" - }, - { - "id": "Greece", - "message": "Greece", - "translation": "" - }, - { - "id": "Croatia", - "message": "Croatia", - "translation": "" - }, - { - "id": "Ireland", - "message": "Ireland", - "translation": "" - }, - { - "id": "Italy", - "message": "Italy", - "translation": "" - }, - { - "id": "Lithuania", - "message": "Lithuania", - "translation": "" - }, - { - "id": "Luxembourg", - "message": "Luxembourg", - "translation": "" - }, - { - "id": "Latvia", - "message": "Latvia", - "translation": "" - }, - { - "id": "Monaco", - "message": "Monaco", - "translation": "" - }, - { - "id": "Malta", - "message": "Malta", - "translation": "" - }, - { - "id": "Netherlands", - "message": "Netherlands", - "translation": "" - }, - { - "id": "Portugal", - "message": "Portugal", - "translation": "" - }, - { - "id": "Slovenia", - "message": "Slovenia", - "translation": "" - }, - { - "id": "Slovakia", - "message": "Slovakia", - "translation": "" - }, - { - "id": "San Marino", - "message": "San Marino", - "translation": "" - }, - { - "id": "Vatican City", - "message": "Vatican City", - "translation": "" - }, - { - "id": "Page Not Found", - "message": "Page Not Found", - "translation": "" - }, - { - "id": "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 %s.", - "message": "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 %s.", - "translation": "" - }, - { - "id": "Euro Cash", - "message": "Euro Cash", - "translation": "" - }, - { - "id": "Found a mistake or want to contribute missing information?", - "message": "Found a mistake or want to contribute missing information?", - "translation": "" - }, - { - "id": "Feel free to contact us!", - "message": "Feel free to contact us!", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "If this issue persists, don’t hesitate to contact @onetruemangoman on Discord or to email us at %s.", - "message": "If this issue persists, don’t hesitate to contact @onetruemangoman on Discord or to email us at %s.", - "translation": "" - }, - { - "id": "Home", - "message": "Home", - "translation": "" - }, - { - "id": "News", - "message": "News", - "translation": "" - }, - { - "id": "Coin Collecting", - "message": "Coin Collecting", - "translation": "" - }, - { - "id": "Coins", - "message": "Coins", - "translation": "" - }, - { - "id": "Banknotes", - "message": "Banknotes", - "translation": "" - }, - { - "id": "Jargon", - "message": "Jargon", - "translation": "" - }, - { - "id": "Discord", - "message": "Discord", - "translation": "" - }, - { - "id": "About", - "message": "About", - "translation": "" - }, - { - "id": "Language", - "message": "Language", - "translation": "" - }, - { - "id": "About Us", - "message": "About Us", - "translation": "" - }, - { - "id": "Open Source", - "message": "Open Source", - "translation": "" - }, - { - "id": "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 %shere%s. This site is licensed under the BSD 0-Clause license giving you the full freedom to do whatever you would like with anyof the content on this site.", - "message": "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 %shere%s. This site is licensed under the BSD 0-Clause license giving you the full freedom to do whatever you would like with anyof the content on this site.", - "translation": "" - }, - { - "id": "Contact Us", - "message": "Contact Us", - "translation": "" - }, - { - "id": "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. In such a 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 included, but if not you can always send an email to %s or contact ‘@onetruemangoman’ on Discord.", - "message": "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. In such a 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 included, but if not you can always send an email to %s or contact ‘@onetruemangoman’ on Discord.", - "translation": "" - }, - { - "id": "Special Thanks", - "message": "Special Thanks", - "translation": "" - }, - { - "id": "Development", - "message": "Development", - "translation": "" - }, - { - "id": "Research", - "message": "Research", - "translation": "" - }, - { - "id": "Translations", - "message": "Translations", - "translation": "" - }, - { - "id": "British- \u0026 American English", - "message": "British- \u0026 American English", - "translation": "" - }, - { - "id": "Icelandic", - "message": "Icelandic", - "translation": "" - }, - { - "id": "Location Codes", - "message": "Location Codes", - "translation": "" - }, - { - "id": "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 issues the banknote (for the 2002 series) or where the banknote was printed (for the Europa series).", - "message": "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 issues the banknote (for the 2002 series) or where the banknote was printed (for the Europa series).", - "translation": "" - }, - { - "id": "Printer Code", - "message": "Printer Code", - "translation": "" - }, - { - "id": "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 take the form of ‘X000X0’ — or in other words — a letter followed by 3 numbers, a letter and a final number.", - "message": "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 take the form of ‘X000X0’ — or in other words — a letter followed by 3 numbers, a letter and a final number.", - "translation": "" - }, - { - "id": "The printer code can be a bit tricky to find. The following dropdowns will show you where to find the printer code on each note.", - "message": "The printer code can be a bit tricky to find. The following dropdowns will show you where to find the printer code on each note.", - "translation": "" - }, - { - "id": "2002 Series Printer Codes", - "message": "2002 Series Printer Codes", - "translation": "" - }, - { - "id": "All these images are taken from %seurobilltracker.com%s.", - "message": "All these images are taken from %seurobilltracker.com%s.", - "translation": "" - }, - { - "id": "Europa Series Printer Codes", - "message": "Europa Series Printer Codes", - "translation": "" - }, - { - "id": "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 will be printed multiple times on a large sheet of paper which is later cut into smaller individual banknotes. A note with the pair ‘A1’ will have been at the upper-left corner of the printing sheet, with ‘A2’ to it’s right and ‘B1’ below it.", - "message": "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 will be printed multiple times on a large sheet of paper which is later cut into smaller individual banknotes. A note with the pair ‘A1’ will have been at the upper-left corner of the printing sheet, with ‘A2’ to it’s right and ‘B1’ below it.", - "translation": "" - }, - { - "id": "2002 Series", - "message": "2002 Series", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "Code", - "message": "Code", - "translation": "" - }, - { - "id": "Country", - "message": "Country", - "translation": "" - }, - { - "id": "The first letter of the printer code can also 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.", - "message": "The first letter of the printer code can also 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.", - "translation": "" - }, - { - "id": "Printer", - "message": "Printer", - "translation": "" - }, - { - "id": "United Kingdom", - "message": "United Kingdom", - "translation": "" - }, - { - "id": "Central Bank of Ireland", - "message": "Central Bank of Ireland", - "translation": "" - }, - { - "id": "Bank of Greece", - "message": "Bank of Greece", - "translation": "" - }, - { - "id": "National Bank of Belgium", - "message": "National Bank of Belgium", - "translation": "" - }, - { - "id": "Europa Series", - "message": "Europa Series", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "Bulgaria", - "message": "Bulgaria", - "translation": "" - }, - { - "id": "%d Euro", - "message": "%d Euro", - "translation": "" - }, - { - "id": "Printer code on a %d euro bill", - "message": "Printer code on a %d euro bill", - "translation": "" - }, - { - "id": "Euro Banknotes", - "message": "Euro Banknotes", - "translation": "" - }, - { - "id": "On this section of the site you can find everything there is to know about the banknotes of the Eurozone.", - "message": "On this section of the site you can find everything there is to know about the banknotes of the Eurozone.", - "translation": "" - }, - { - "id": "Designs", - "message": "Designs", - "translation": "" - }, - { - "id": "View the different Euro-note designs!", - "message": "View the different Euro-note designs!", - "translation": "" - }, - { - "id": "Find out where your notes were printed!", - "message": "Find out where your notes were printed!", - "translation": "" - }, - { - "id": "Test Notes", - "message": "Test Notes", - "translation": "" - }, - { - "id": "Learn about the special test notes!", - "message": "Learn about the special test notes!", - "translation": "" - }, - { - "id": "Andorran Euro Coin Designs", - "message": "Andorran Euro Coin Designs", - "translation": "" - }, - { - "id": "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:", - "message": "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:", - "translation": "" - }, - { - "id": "%s, %s, and %s", - "message": "%s, %s, and %s", - "translation": "" - }, - { - "id": "Andorran landscapes, nature, fauna, and flora", - "message": "Andorran landscapes, nature, fauna, and flora", - "translation": "" - }, - { - "id": "Andorra’s Romanesque art", - "message": "Andorra’s Romanesque art", - "translation": "" - }, - { - "id": "Casa de la Vall", - "message": "Casa de la Vall", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "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:", - "message": "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:", - "translation": "" - }, - { - "id": "The bottom of the coat of arms has the motto ‘%sVIRTVS VNITA FORTIOR%s’ (‘UNITED VIRTUE IS STRONGER’).", - "message": "The bottom of the coat of arms has the motto ‘%sVIRTVS VNITA FORTIOR%s’ (‘UNITED VIRTUE IS STRONGER’).", - "translation": "" - }, - { - "id": "Austrian Euro Coin Designs", - "message": "Austrian Euro Coin Designs", - "translation": "" - }, - { - "id": "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 %sGreek euro coins%s are the only coins that feature the denomination on both the common- and national-sides of the coin.", - "message": "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 %sGreek euro coins%s are the only coins that feature the denomination on both the common- and national-sides of the coin.", - "translation": "" - }, - { - "id": "The bronze coins feature the Alpine gentian, -edelweiss, and -primrose respectively, and were chosen to symbolize the role that Austria played in the development of EU environmental policy.", - "message": "The bronze coins feature the Alpine gentian, -edelweiss, and -primrose respectively, and were chosen to symbolize the role that Austria played in the development of EU environmental policy.", - "translation": "" - }, - { - "id": "The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese Gothic architectural style dating to around the year 1160. The €0.20 coin features Belvedere Palace. This is an example of Baroque architecture and symbolises the national freedom and sovereignty of Austria. The final gold coin — the €0.50 coin — features the Secession Building: an exhibition hall in the Art Nouveau style.", - "message": "The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese Gothic architectural style dating to around the year 1160. The €0.20 coin features Belvedere Palace. This is an example of Baroque architecture and symbolises the national freedom and sovereignty of Austria. The final gold coin — the €0.50 coin — features the Secession Building: an exhibition hall in the Art Nouveau style.", - "translation": "" - }, - { - "id": "The two bimetallic coins feature the busts of the musical composer Wolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist and Nobel Peace Prize winner Bertha von Suttner.", - "message": "The two bimetallic coins feature the busts of the musical composer Wolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist and Nobel Peace Prize winner Bertha von Suttner.", - "translation": "" - }, - { - "id": "Belgian Euro Coin Designs", - "message": "Belgian Euro Coin Designs", - "translation": "" - }, - { - "id": "Since 1999 Belgium has released three series of euro coins, which each series having a single design repeated on all denominations. Starting in 1999 the Belgian euro coins featured the portrait of King Albert II with the %sroyal monogram%s in the outer ring of the coins.", - "message": "Since 1999 Belgium has released three series of euro coins, which each series having a single design repeated on all denominations. Starting in 1999 the Belgian euro coins featured the portrait of King Albert II with the %sroyal monogram%s in the outer ring of the coins.", - "translation": "" - }, - { - "id": "In 2008 a second series of coins was released featuring a slightly-modified design in which the royal monogram was moved to the inner portion of the coin along with the year of mintage in order to comply with the European Commission’s guidelines. The country code ‘BE’ was also added to the design underneath the royal monogram.", - "message": "In 2008 a second series of coins was released featuring a slightly-modified design in which the royal monogram was moved to the inner portion of the coin along with the year of mintage in order to comply with the European Commission’s guidelines. The country code ‘BE’ was also added to the design underneath the royal monogram.", - "translation": "" - }, - { - "id": "After his accession to the throne Belgium began a third series of coins in 2014 featuring the portrait of King Philippe. As is customary with coins bearing the portraits of monarchs, the direction in which the portrait faces was flipped to face right instead of left.", - "message": "After his accession to the throne Belgium began a third series of coins in 2014 featuring the portrait of King Philippe. As is customary with coins bearing the portraits of monarchs, the direction in which the portrait faces was flipped to face right instead of left.", - "translation": "" - }, - { - "id": "Croatian Euro Coin Designs", - "message": "Croatian Euro Coin Designs", - "translation": "" - }, - { - "id": "The Croatian euro coins feature four different themes, with each design featuring the Croatian checkerboard and the countries name in Croatian (‘%sHRVATSKA%s’). All designs were selected after voting in a public design competition.", - "message": "The Croatian euro coins feature four different themes, with each design featuring the Croatian checkerboard and the countries name in Croatian (‘%sHRVATSKA%s’). All designs were selected after voting in a public design competition.", - "translation": "" - }, - { - "id": "The 1-, 2-, and 5 euro cent coins were designed by Maja Škripelj and feature a motif of the letters ‘HR’ in the %sGlagolitic script%s — an old Slavic script that saw use in Croatia up until the 19th century — with ‘HR’ representing Croatia’s country code.", - "message": "The 1-, 2-, and 5 euro cent coins were designed by Maja Škripelj and feature a motif of the letters ‘HR’ in the %sGlagolitic script%s — an old Slavic script that saw use in Croatia up until the 19th century — with ‘HR’ representing Croatia’s country code.", - "translation": "" - }, - { - "id": "The 10-, 20-, and 50 euro cent coins were designed by Ivan Domagoj Račić and feature the portrait of the inventor and engineer %sNikola Tesla%s. The design of these coins caused controversy when they were first announced with the National Bank of Serbia claiming that it would be an appropriation of the cultural and scientific heritage of the Serbian people to feature the portrait of someone who ‘declared himself to be Serbian by origin’.", - "message": "The 10-, 20-, and 50 euro cent coins were designed by Ivan Domagoj Račić and feature the portrait of the inventor and engineer %sNikola Tesla%s. The design of these coins caused controversy when they were first announced with the National Bank of Serbia claiming that it would be an appropriation of the cultural and scientific heritage of the Serbian people to feature the portrait of someone who ‘declared himself to be Serbian by origin’.", - "translation": "" - }, - { - "id": "The 1 euro coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and features a marten. The marten is the semi-official national animal of Croatia and the Kuna — their pre-Euro currency — was named after the marten (‘%skuna zlatica%s’ in Croatian).", - "message": "The 1 euro coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and features a marten. The marten is the semi-official national animal of Croatia and the Kuna — their pre-Euro currency — was named after the marten (‘%skuna zlatica%s’ in Croatian).", - "translation": "" - }, - { - "id": "The 2 euro coin was designed by Ivan Šivak and features the map of Croatia. The coin also has an edge-inscription that reads ‘%sO LIJEPA O DRAGA O SLATKA SLOBODO%s’ (‘OH BEAUTIFUL, OH DEAR, OH SWEET FREEDOM’) which is a line from the play %sDubravka%s by Ivan Gundulić.", - "message": "The 2 euro coin was designed by Ivan Šivak and features the map of Croatia. The coin also has an edge-inscription that reads ‘%sO LIJEPA O DRAGA O SLATKA SLOBODO%s’ (‘OH BEAUTIFUL, OH DEAR, OH SWEET FREEDOM’) which is a line from the play %sDubravka%s by Ivan Gundulić.", - "translation": "" - }, - { - "id": "Dutch Euro Coin Designs", - "message": "Dutch Euro Coin Designs", - "translation": "" - }, - { - "id": "From the years 1999–2013 all Dutch euro coins featured the portrait of Queen Beatrix of the Netherlands. After her abdication from the throne in 2013 the designs of all denominations were changed to feature the portrait of the new King Willem-Alexander. After her abdication the direction in which the monarchs portrait faced was flipped; a tradition dating back to the earliest coins of the Kingdom of the Netherlands.", - "message": "From the years 1999–2013 all Dutch euro coins featured the portrait of Queen Beatrix of the Netherlands. After her abdication from the throne in 2013 the designs of all denominations were changed to feature the portrait of the new King Willem-Alexander. After her abdication the direction in which the monarchs portrait faced was flipped; a tradition dating back to the earliest coins of the Kingdom of the Netherlands.", - "translation": "" - }, - { - "id": "Coins featuring both monarchs contain text reading ‘%sBEATRIX KONINGIN DER NEDERLANDEN%s’ (‘BEATRIX QUEEN OF THE NETHERLANDS’) and ‘%sWillem-Alexander Koning der Nederlanden%s’ (‘Willem-Alexander King of the Netherlands’) respectively. The €2 coins also feature an edge-inscription reading ‘%sGOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆%s’ (‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’).", - "message": "Coins featuring both monarchs contain text reading ‘%sBEATRIX KONINGIN DER NEDERLANDEN%s’ (‘BEATRIX QUEEN OF THE NETHERLANDS’) and ‘%sWillem-Alexander Koning der Nederlanden%s’ (‘Willem-Alexander King of the Netherlands’) respectively. The €2 coins also feature an edge-inscription reading ‘%sGOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆%s’ (‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’).", - "translation": "" - }, - { - "id": "The €1 and €2 coins featuring King Willem-Alexander were minted with a much lower %srelief%s than most euro coins of the same denomination. As a result it is not uncommon for these coins to appear worn after little use in circulation.", - "message": "The €1 and €2 coins featuring King Willem-Alexander were minted with a much lower %srelief%s than most euro coins of the same denomination. As a result it is not uncommon for these coins to appear worn after little use in circulation.", - "translation": "" - }, - { - "id": "Euro Coin Designs", - "message": "Euro Coin Designs", - "translation": "" - }, - { - "id": "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 %svarieties%s page.", - "message": "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 %svarieties%s page.", - "translation": "" - }, - { - "id": "Euro Coin Mintages", - "message": "Euro Coin Mintages", - "translation": "" - }, - { - "id": "Here you’ll be able to view all the known mintages for all coins. You’ll also be able to filter on country, denomination, etc. If you have any mintage data that’s missing from our site, feel free to contact us.", - "message": "Here you’ll be able to view all the known mintages for all coins. You’ll also be able to filter on country, denomination, etc. If you have any mintage data that’s missing from our site, feel free to contact us.", - "translation": "" - }, - { - "id": "Additional Notes", - "message": "Additional Notes", - "translation": "" - }, - { - "id": "Most coins from the years 2003–2016 are listed as NIFC coins while other popular sources such as Numista claim they were minted for circulation. For more information on why others are wrong, %sclick here%s.", - "message": "Most coins from the years 2003–2016 are listed as NIFC coins while other popular sources such as Numista claim they were minted for circulation. For more information on why others are wrong, %sclick here%s.", - "translation": "" - }, - { - "id": "In 2003 Numista calculated a total of %d coins issued for coin sets per denomination. Our own calculations found only %d. Numista also forgot to include the many hundred thousand coins from the coin roll sets that were produced.", - "message": "In 2003 Numista calculated a total of %d coins issued for coin sets per denomination. Our own calculations found only %d. Numista also forgot to include the many hundred thousand coins from the coin roll sets that were produced.", - "translation": "" - }, - { - "id": "Filter", - "message": "Filter", - "translation": "" - }, - { - "id": "Standard Issue Coins", - "message": "Standard Issue Coins", - "translation": "" - }, - { - "id": "Year", - "message": "Year", - "translation": "" - }, - { - "id": "Unknown", - "message": "Unknown", - "translation": "" - }, - { - "id": "Error", - "message": "Error", - "translation": "" - }, - { - "id": "Commemorative Coins", - "message": "Commemorative Coins", - "translation": "" - }, - { - "id": "Commemorated Issue", - "message": "Commemorated Issue", - "translation": "" - }, - { - "id": "Mintage", - "message": "Mintage", - "translation": "" - }, - { - "id": "Euro Coins", - "message": "Euro Coins", - "translation": "" - }, - { - "id": "On this section of the site you can find everything there is to know about the coins of the Eurozone.", - "message": "On this section of the site you can find everything there is to know about the coins of the Eurozone.", - "translation": "" - }, - { - "id": "View the 600+ different Euro-coin designs!", - "message": "View the 600+ different Euro-coin designs!", - "translation": "" - }, - { - "id": "Mintages", - "message": "Mintages", - "translation": "" - }, - { - "id": "View the mintage figures of all the Euro coins!", - "message": "View the mintage figures of all the Euro coins!", - "translation": "" - }, - { - "id": "Varieties", - "message": "Varieties", - "translation": "" - }, - { - "id": "View all the known Euro varieties!", - "message": "View all the known Euro varieties!", - "translation": "" - }, - { - "id": "Coin Roll Hunting", - "message": "Coin Roll Hunting", - "translation": "" - }, - { - "id": "What is Coin Roll Hunting?", - "message": "What is Coin Roll Hunting?", - "translation": "" - }, - { - "id": "Coin roll hunting is a popular method of coin collecting in which you withdrawal cash from your bank in the form of coins which you then search through to find new additions to your collection. Once you’ve searched through all your coins, you will typically deposit your left over coins at the bank and withdrawal new coins.", - "message": "Coin roll hunting is a popular method of coin collecting in which you withdrawal cash from your bank in the form of coins which you then search through to find new additions to your collection. Once you’ve searched through all your coins, you will typically deposit your left over coins at the bank and withdrawal new coins.", - "translation": "" - }, - { - "id": "This type of coin collecting is often called ‘Coin Roll Hunting’ due to the fact that coins are often withdrawn in paper-wrapped rolls. You may however find that your coins come in plastic bags instead (common in countries like Ireland).", - "message": "This type of coin collecting is often called ‘Coin Roll Hunting’ due to the fact that coins are often withdrawn in paper-wrapped rolls. You may however find that your coins come in plastic bags instead (common in countries like Ireland).", - "translation": "" - }, - { - "id": "Depending on your bank and branch, the process of obtaining coins may differ. Some banks require you speak to a teller, others have coin machines. Some banks may also require that you are a customer or even to have a business account. If you aren’t sure about if you can get coins we suggest you contact your bank, although further down this page we also have information about the withdrawal of coins in various countries and major banks.", - "message": "Depending on your bank and branch, the process of obtaining coins may differ. Some banks require you speak to a teller, others have coin machines. Some banks may also require that you are a customer or even to have a business account. If you aren’t sure about if you can get coins we suggest you contact your bank, although further down this page we also have information about the withdrawal of coins in various countries and major banks.", - "translation": "" - }, - { - "id": "Getting Started", - "message": "Getting Started", - "translation": "" - }, - { - "id": "To get started with coin roll hunting you should first contact your bank or check their website to find details regarding coin withdrawal. You will then typically need to go to the bank to pick up your coins. Depending on your bank you may be able to withdrawal coins from a machine, although often you can pick up your coins from the banks tellers. You will also often need to pay a small fee for each roll, although some banks don’t charge fees.", - "message": "To get started with coin roll hunting you should first contact your bank or check their website to find details regarding coin withdrawal. You will then typically need to go to the bank to pick up your coins. Depending on your bank you may be able to withdrawal coins from a machine, although often you can pick up your coins from the banks tellers. You will also often need to pay a small fee for each roll, although some banks don’t charge fees.", - "translation": "" - }, - { - "id": "It is also important to find details regarding the deposit of coins. Depositing coins often also requires the payment of a fee — one which is typically more expensive than the withdrawal fees. If depositing your coins is too expensive you can always exchange your left over coins at shops for banknotes. It is often cheaper (or even free) to deposit banknotes.", - "message": "It is also important to find details regarding the deposit of coins. Depositing coins often also requires the payment of a fee — one which is typically more expensive than the withdrawal fees. If depositing your coins is too expensive you can always exchange your left over coins at shops for banknotes. It is often cheaper (or even free) to deposit banknotes.", - "translation": "" - }, - { - "id": "In some countries such as Austria it is even common to be able to withdrawal new coins from your account by exchanging the left over coins you already have.", - "message": "In some countries such as Austria it is even common to be able to withdrawal new coins from your account by exchanging the left over coins you already have.", - "translation": "" - }, - { - "id": "Country-Specific Details", - "message": "Country-Specific Details", - "translation": "" - }, - { - "id": "Below you can find all sorts of country-specific information we have regarding obtaining coin rolls. We lack a lot of information for many of the countries, so if you have any additional information such as your banks fees, the availability of coin roll machines, etc. feel free to contact us! You can find our contact information %shere%s.", - "message": "Below you can find all sorts of country-specific information we have regarding obtaining coin rolls. We lack a lot of information for many of the countries, so if you have any additional information such as your banks fees, the availability of coin roll machines, etc. feel free to contact us! You can find our contact information %shere%s.", - "translation": "" - }, - { - "id": "Be aware of the face that the information below is prone to being outdated, and as such may not reflect the current reality.", - "message": "Be aware of the face that the information below is prone to being outdated, and as such may not reflect the current reality.", - "translation": "" - }, - { - "id": "Coin rolls can be obtained from Andbank, Crèdit Andorrà, and MoraBanc. All three of these banks require that you are a customer to get rolls. There have however been reports of individuals managing to get rolls without any fees and without being a customer by simply asking kindly at the bank.", - "message": "Coin rolls can be obtained from Andbank, Crèdit Andorrà, and MoraBanc. All three of these banks require that you are a customer to get rolls. There have however been reports of individuals managing to get rolls without any fees and without being a customer by simply asking kindly at the bank.", - "translation": "" - }, - { - "id": "The Austrian National Bank does not distribute circulated rolls but sells rolls of commemorative coins at face value on release as well as uncirculated rolls for all denominations.", - "message": "The Austrian National Bank does not distribute circulated rolls but sells rolls of commemorative coins at face value on release as well as uncirculated rolls for all denominations.", - "translation": "" - }, - { - "id": "There is a fee of %s per roll. Rolls can be purchased with cash at machines. These machines are available to everyone, but not in all branches. Look for the ‘Münzrollengeber’ filter option %shere%s.", - "message": "There is a fee of %s per roll. Rolls can be purchased with cash at machines. These machines are available to everyone, but not in all branches. Look for the ‘Münzrollengeber’ filter option %shere%s.", - "translation": "" - }, - { - "id": "There is a fee of %s per roll. You must be a customer to use machines to get rolls. Rolls have no fees when purchased at counters, but counters redirect you to machines if they work; counters accept cash. You must present an Erste Bank card to buy rolls from machines, but you can pay with cash.", - "message": "There is a fee of %s per roll. You must be a customer to use machines to get rolls. Rolls have no fees when purchased at counters, but counters redirect you to machines if they work; counters accept cash. You must present an Erste Bank card to buy rolls from machines, but you can pay with cash.", - "translation": "" - }, - { - "id": "Depositing coins is free for up to %s a day, at which point you pay 1%% for any additional deposited coins. You must also be a customer. Depositing coins is free for all Erste Bank customers at Dornbirner Sparkasse with no limit.", - "message": "Depositing coins is free for up to %s a day, at which point you pay 1%% for any additional deposited coins. You must also be a customer. Depositing coins is free for all Erste Bank customers at Dornbirner Sparkasse with no limit.", - "translation": "" - }, - { - "id": "There is a fee of %s per roll if you aren’t a customer, and %s otherwise. Coin deposits are free if you’re a customer.", - "message": "There is a fee of %s per roll if you aren’t a customer, and %s otherwise. Coin deposits are free if you’re a customer.", - "translation": "" - }, - { - "id": "Reportedly fee-less with no need of being a customer, but this is unconfirmed.", - "message": "Reportedly fee-less with no need of being a customer, but this is unconfirmed.", - "translation": "" - }, - { - "id": "There is a %s fee with no limit on the number of rolls.", - "message": "There is a %s fee with no limit on the number of rolls.", - "translation": "" - }, - { - "id": "Belgian Central Bank", - "message": "Belgian Central Bank", - "translation": "" - }, - { - "id": "You can visit the Belgian Central Bank in Brussels as an EU citizen. You can order coin rolls for no fee up to %s in value. They seem to distribute uncirculated coins (no commemoratives).", - "message": "You can visit the Belgian Central Bank in Brussels as an EU citizen. You can order coin rolls for no fee up to %s in value. They seem to distribute uncirculated coins (no commemoratives).", - "translation": "" - }, - { - "id": "Free for customers but getting coin rolls is still difficult sometimes. Non-customers cannot get rolls.", - "message": "Free for customers but getting coin rolls is still difficult sometimes. Non-customers cannot get rolls.", - "translation": "" - }, - { - "id": "Free for customers when you order through their online platform.", - "message": "Free for customers when you order through their online platform.", - "translation": "" - }, - { - "id": "Bank of Cyprus", - "message": "Bank of Cyprus", - "translation": "" - }, - { - "id": "At the Bank of Cyprus it is possible to buy bags of coins without being a customer, and without paying any additional fees. Depending on the branch you visit you may have coin roll machine available. Do note that the bags provided by the Bank of Cyprus are around twice as large as usual with %s bags containing 50 coins and the other denomination bags containing 100 coins.", - "message": "At the Bank of Cyprus it is possible to buy bags of coins without being a customer, and without paying any additional fees. Depending on the branch you visit you may have coin roll machine available. Do note that the bags provided by the Bank of Cyprus are around twice as large as usual with %s bags containing 50 coins and the other denomination bags containing 100 coins.", - "translation": "" - }, - { - "id": "Coin roll availability may vary across banks and branches, as well as the price. You must be a customer to purchase coin rolls unless specified otherwise.", - "message": "Coin roll availability may vary across banks and branches, as well as the price. You must be a customer to purchase coin rolls unless specified otherwise.", - "translation": "" - }, - { - "id": "German Federal Bank (Deutsche Bundesbank)", - "message": "German Federal Bank (Deutsche Bundesbank)", - "translation": "" - }, - { - "id": "You can obtain regular- and commemorative coins for face value including 5-, 10-, and 20 euro coins. You do not need to be a customer although depending on your branch you may need to make an appointment. The purchase of coins can only be done with cash.", - "message": "You can obtain regular- and commemorative coins for face value including 5-, 10-, and 20 euro coins. You do not need to be a customer although depending on your branch you may need to make an appointment. The purchase of coins can only be done with cash.", - "translation": "" - }, - { - "id": "Hand-rolled coin rolls can be obtained with no additional fees.", - "message": "Hand-rolled coin rolls can be obtained with no additional fees.", - "translation": "" - }, - { - "id": "Coin rolls can be obtained for a fee of %s–%s per roll. The amount varies per branch.", - "message": "Coin rolls can be obtained for a fee of %s–%s per roll. The amount varies per branch.", - "translation": "" - }, - { - "id": "Coin rolls can be obtained for a fee of %s per roll.", - "message": "Coin rolls can be obtained for a fee of %s per roll.", - "translation": "" - }, - { - "id": "Obtaining coin rolls in Estonia is typically quite difficult, and often expensive. You also often need to make an appointment in advance.", - "message": "Obtaining coin rolls in Estonia is typically quite difficult, and often expensive. You also often need to make an appointment in advance.", - "translation": "" - }, - { - "id": "Central Bank of Estonia Museum", - "message": "Central Bank of Estonia Museum", - "translation": "" - }, - { - "id": "You can purchase commemorative coins (even those released years ago) at face value. It is also an interesting museum to visit in general.", - "message": "You can purchase commemorative coins (even those released years ago) at face value. It is also an interesting museum to visit in general.", - "translation": "" - }, - { - "id": "Coin rolls are free but you must be a customer.", - "message": "Coin rolls are free but you must be a customer.", - "translation": "" - }, - { - "id": "Bank of Spain", - "message": "Bank of Spain", - "translation": "" - }, - { - "id": "You can purchase individual coins and commemorative coin rolls (even those of other countries). You can watch %shere%s to see how to do it.", - "message": "You can purchase individual coins and commemorative coin rolls (even those of other countries). You can watch %shere%s to see how to do it.", - "translation": "" - }, - { - "id": "Coin rolls have a fee of %s for 5 rolls. This seems to vary by region.", - "message": "Coin rolls have a fee of %s for 5 rolls. This seems to vary by region.", - "translation": "" - }, - { - "id": "Coin rolls have no fees.", - "message": "Coin rolls have no fees.", - "translation": "" - }, - { - "id": "La Caixa", - "message": "La Caixa", - "translation": "" - }, - { - "id": "Coin rolls have no fees and can be purchased with cash. You do not need to be a customer, although this needs to be re-verified.", - "message": "Coin rolls have no fees and can be purchased with cash. You do not need to be a customer, although this needs to be re-verified.", - "translation": "" - }, - { - "id": "Finland has no coin roll machines, but you can find vending machines or coin exchange machines (albeit they are rare).", - "message": "Finland has no coin roll machines, but you can find vending machines or coin exchange machines (albeit they are rare).", - "translation": "" - }, - { - "id": "Coin rolls can be obtained with no fees.", - "message": "Coin rolls can be obtained with no fees.", - "translation": "" - }, - { - "id": "Bank of Finland", - "message": "Bank of Finland", - "translation": "" - }, - { - "id": "It is probably not possible to obtain coin rolls, but this is not confirmed.", - "message": "It is probably not possible to obtain coin rolls, but this is not confirmed.", - "translation": "" - }, - { - "id": "Coin roll machines are uncommon, only some banks have them and you need to be a customer. You may also need to order them in advance.", - "message": "Coin roll machines are uncommon, only some banks have them and you need to be a customer. You may also need to order them in advance.", - "translation": "" - }, - { - "id": "Coin rolls can be obtained with no fee. You must be a customer.", - "message": "Coin rolls can be obtained with no fee. You must be a customer.", - "translation": "" - }, - { - "id": "and", - "message": "and", - "translation": "" - }, - { - "id": "Free coin rolls if you are a customer or %s per roll if you are not a customer. There are coin roll machines.", - "message": "Free coin rolls if you are a customer or %s per roll if you are not a customer. There are coin roll machines.", - "translation": "" - }, - { - "id": "There are coin roll machines but it is not yet known if you need to be a customer or if there are fees.", - "message": "There are coin roll machines but it is not yet known if you need to be a customer or if there are fees.", - "translation": "" - }, - { - "id": "Bank of Greece (Τράπεζα της Ελλάδος)", - "message": "Bank of Greece (Τράπεζα της Ελλάδος)", - "translation": "" - }, - { - "id": "Fee-less coin rolls for everyone (you will need to show ID). The latest commemorative coins are also sold for face value.", - "message": "Fee-less coin rolls for everyone (you will need to show ID). The latest commemorative coins are also sold for face value.", - "translation": "" - }, - { - "id": "Fee-less coin bags for everyone (no ID necessary). Smaller denominations are often not given out, and the coin bags you recieve are very large (there are reports of %s bags containing 250 coins).", - "message": "Fee-less coin bags for everyone (no ID necessary). Smaller denominations are often not given out, and the coin bags you recieve are very large (there are reports of %s bags containing 250 coins).", - "translation": "" - }, - { - "id": "In general, coin rolls are available at banks with a fee of %s per roll; rolls could potentially have no fee if you only need a few.", - "message": "In general, coin rolls are available at banks with a fee of %s per roll; rolls could potentially have no fee if you only need a few.", - "translation": "" - }, - { - "id": "There are coin roll machines but it is unknown if you need to be a customer or if there are additional fees.", - "message": "There are coin roll machines but it is unknown if you need to be a customer or if there are additional fees.", - "translation": "" - }, - { - "id": "Bank of Italy", - "message": "Bank of Italy", - "translation": "" - }, - { - "id": "Coin rolls are available to everyone.", - "message": "Coin rolls are available to everyone.", - "translation": "" - }, - { - "id": "Works, but with very high fees (5%% of cost).", - "message": "Works, but with very high fees (5%% of cost).", - "translation": "" - }, - { - "id": "Fee of %s per roll of 2 euro coins.", - "message": "Fee of %s per roll of 2 euro coins.", - "translation": "" - }, - { - "id": "As far as we are aware, Lietuvos Bankas only distributes coin rolls to businesses.", - "message": "As far as we are aware, Lietuvos Bankas only distributes coin rolls to businesses.", - "translation": "" - }, - { - "id": "It may be worth checking out payout machines to exchange banknotes into coins.", - "message": "It may be worth checking out payout machines to exchange banknotes into coins.", - "translation": "" - }, - { - "id": "Luxembourgish Central Bank (Banque Centrale du Luxembourg)", - "message": "Luxembourgish Central Bank (Banque Centrale du Luxembourg)", - "translation": "" - }, - { - "id": "We currently have no information regarding regular coins, however their webshop sells commemorative coins (for a high premium, but better than most resellers). Commemorative coins are also available for purchase in-person.", - "message": "We currently have no information regarding regular coins, however their webshop sells commemorative coins (for a high premium, but better than most resellers). Commemorative coins are also available for purchase in-person.", - "translation": "" - }, - { - "id": "You should be able to get coin rolls with no additional fees.", - "message": "You should be able to get coin rolls with no additional fees.", - "translation": "" - }, - { - "id": "In general coin rolls are sold with a fee of %s per roll, but we’re lacking a lot of information.", - "message": "In general coin rolls are sold with a fee of %s per roll, but we’re lacking a lot of information.", - "translation": "" - }, - { - "id": "Bank of Valletta and HSBC Bank Malta", - "message": "Bank of Valletta and HSBC Bank Malta", - "translation": "" - }, - { - "id": "You can get rolls for a fee of %s per roll. You must order coin rolls through their online platform, and you must be a customer.", - "message": "You can get rolls for a fee of %s per roll. You must order coin rolls through their online platform, and you must be a customer.", - "translation": "" - }, - { - "id": "Banks in the Netherlands do not carry cash, and as such it’s not possible to obtain rolls from bank tellers. Obtaining coins from the Dutch Central Bank (De Nederlandsche Bank) is also not possible. If you want to obtain coin rolls you need to use a Geldmaat coin roll machine which can be found in specific branches of GAMMA and Karwei. Geldmaat offers a map on their website where you can search for branches with these machines; you can find that map %shere%s.", - "message": "Banks in the Netherlands do not carry cash, and as such it’s not possible to obtain rolls from bank tellers. Obtaining coins from the Dutch Central Bank (De Nederlandsche Bank) is also not possible. If you want to obtain coin rolls you need to use a Geldmaat coin roll machine which can be found in specific branches of GAMMA and Karwei. Geldmaat offers a map on their website where you can search for branches with these machines; you can find that map %shere%s.", - "translation": "" - }, - { - "id": "In order to be able to use a Geldmaat coin machine, you must be a customer of either ABN AMRO, ING, or Rabobank. You also cannot pay by cash, only card payments are allowed. All three banks charge a withdrawal fee for getting coin rolls, which are detailed in the list below.", - "message": "In order to be able to use a Geldmaat coin machine, you must be a customer of either ABN AMRO, ING, or Rabobank. You also cannot pay by cash, only card payments are allowed. All three banks charge a withdrawal fee for getting coin rolls, which are detailed in the list below.", - "translation": "" - }, - { - "id": "%s per roll.", - "message": "%s per roll.", - "translation": "" - }, - { - "id": "Base fee of %s + %s per roll.", - "message": "Base fee of %s + %s per roll.", - "translation": "" - }, - { - "id": "One- and two-cent coins have been removed from circulation and cannot be obtained.", - "message": "One- and two-cent coins have been removed from circulation and cannot be obtained.", - "translation": "" - }, - { - "id": "Coin bags are sold with no additional fees to bank customers.", - "message": "Coin bags are sold with no additional fees to bank customers.", - "translation": "" - }, - { - "id": "Bank of Portugal (Banco de Portugal)", - "message": "Bank of Portugal (Banco de Portugal)", - "translation": "" - }, - { - "id": "Coin bags are sold with no additional fees to everyone.", - "message": "Coin bags are sold with no additional fees to everyone.", - "translation": "" - }, - { - "id": "In general there is a %s fee for coin rolls.", - "message": "In general there is a %s fee for coin rolls.", - "translation": "" - }, - { - "id": "Bank of Slovenia (Banka Slovenije)", - "message": "Bank of Slovenia (Banka Slovenije)", - "translation": "" - }, - { - "id": "You can purchase commemorative coins for face value, and coin rolls are sold with no fees to everyone.", - "message": "You can purchase commemorative coins for face value, and coin rolls are sold with no fees to everyone.", - "translation": "" - }, - { - "id": "National Bank of Slovakia (Národná banka Slovenska)", - "message": "National Bank of Slovakia (Národná banka Slovenska)", - "translation": "" - }, - { - "id": "You may be able to get uncirculated rolls, but this is not yet confirmed.", - "message": "You may be able to get uncirculated rolls, but this is not yet confirmed.", - "translation": "" - }, - { - "id": "You can get an unlimited number of rolls for a %s fee. You must be a customer of the bank.", - "message": "You can get an unlimited number of rolls for a %s fee. You must be a customer of the bank.", - "translation": "" - }, - { - "id": "Ask the Pope nicely and he’ll probably give you some Vatican coins for free.", - "message": "Ask the Pope nicely and he’ll probably give you some Vatican coins for free.", - "translation": "" - }, - { - "id": "We currently have no information regarding coin roll hunting in %s.", - "message": "We currently have no information regarding coin roll hunting in %s.", - "translation": "" - }, - { - "id": "Coin Storage", - "message": "Coin Storage", - "translation": "" - }, - { - "id": "There are many different methods of storing your collecting, each with their own benefits and drawbacks. This page will describe the most common methods collectors use to store their coins, as well as the pros and cons of each method.", - "message": "There are many different methods of storing your collecting, each with their own benefits and drawbacks. This page will describe the most common methods collectors use to store their coins, as well as the pros and cons of each method.", - "translation": "" - }, - { - "id": "Coin Albums", - "message": "Coin Albums", - "translation": "" - }, - { - "id": "Coin albums are one of the most popular ways of storing coins. In a coin album you will have multiple coin sheets. These sheets are plastic pages with slots that you can put your coin in to keep them protected. When searching for sheets for your album it is very important to ensure that they do not contain any PVC, which will damage your coins. Some albums will come with sheets already included.", - "message": "Coin albums are one of the most popular ways of storing coins. In a coin album you will have multiple coin sheets. These sheets are plastic pages with slots that you can put your coin in to keep them protected. When searching for sheets for your album it is very important to ensure that they do not contain any PVC, which will damage your coins. Some albums will come with sheets already included.", - "translation": "" - }, - { - "id": "Albums can be an affordable way to store your coins, but higher-end albums can be a bit expensive. Also remember to always ensure that your albums do not contain any PVC!", - "message": "Albums can be an affordable way to store your coins, but higher-end albums can be a bit expensive. Also remember to always ensure that your albums do not contain any PVC!", - "translation": "" - }, - { - "id": "Coin Boxes", - "message": "Coin Boxes", - "translation": "" - }, - { - "id": "Coin boxes are to many people the most aesthetic way to store your coins. A coin box is comprised of various layers which can be stacked ontop of each other. Each layer has various holes where you can insert your coins. Typically you are meant to store your coins in a layer encased in a coin capsule.", - "message": "Coin boxes are to many people the most aesthetic way to store your coins. A coin box is comprised of various layers which can be stacked ontop of each other. Each layer has various holes where you can insert your coins. Typically you are meant to store your coins in a layer encased in a coin capsule.", - "translation": "" - }, - { - "id": "Boxes are quite space-inefficient and are one of the most expensive ways to store your coins, but at the same time they offer a great visual appeal.", - "message": "Boxes are quite space-inefficient and are one of the most expensive ways to store your coins, but at the same time they offer a great visual appeal.", - "translation": "" - }, - { - "id": "Coin Capsules", - "message": "Coin Capsules", - "translation": "" - }, - { - "id": "Coin capsules are plastic capsules you can put your coin in. They offer good protection to your coins, while still allowing you to view all parts of your coin easily, including the edge engravings and -inscriptions. Capsules are also far more durable than flips, and can be opened and closed repeatedly allowing for them to be reused. This isn’t really possible with flips.", - "message": "Coin capsules are plastic capsules you can put your coin in. They offer good protection to your coins, while still allowing you to view all parts of your coin easily, including the edge engravings and -inscriptions. Capsules are also far more durable than flips, and can be opened and closed repeatedly allowing for them to be reused. This isn’t really possible with flips.", - "translation": "" - }, - { - "id": "Capsules can be a bit pricey, but are reusable and are very durable. They also come in different sizes, so make sure you get the right size for your coins.", - "message": "Capsules can be a bit pricey, but are reusable and are very durable. They also come in different sizes, so make sure you get the right size for your coins.", - "translation": "" - }, - { - "id": "Coin Flips", - "message": "Coin Flips", - "translation": "" - }, - { - "id": "Coin flips, also known as ‘2x2’ flips by some Americans are small cardboard flips with a plastic covered hole in the middle for viewing. Most coin flips are stapled, meaning you put your coin in the flip and staple it shut. These kinds of flips are very cheap, and you can buy stacks of a few hundred for only a few euros. If you don’t like the staples though, you can also buy adhesive-flips that glue themselves shut. These flips are more expensive, but also look better than their stapled equivalents.", - "message": "Coin flips, also known as ‘2x2’ flips by some Americans are small cardboard flips with a plastic covered hole in the middle for viewing. Most coin flips are stapled, meaning you put your coin in the flip and staple it shut. These kinds of flips are very cheap, and you can buy stacks of a few hundred for only a few euros. If you don’t like the staples though, you can also buy adhesive-flips that glue themselves shut. These flips are more expensive, but also look better than their stapled equivalents.", - "translation": "" - }, - { - "id": "Coin slips are also pretty space efficient, and can be easily stacked in boxes for compact storage. Many collectors also like to write notes about their coins on the flips. There also exist special sheets for coin albums that allow you to put in flipped coins, but this is more expensive and less space-efficient than simply using flips or an album without flips.", - "message": "Coin slips are also pretty space efficient, and can be easily stacked in boxes for compact storage. Many collectors also like to write notes about their coins on the flips. There also exist special sheets for coin albums that allow you to put in flipped coins, but this is more expensive and less space-efficient than simply using flips or an album without flips.", - "translation": "" - }, - { - "id": "Coin Rolls", - "message": "Coin Rolls", - "translation": "" - }, - { - "id": "This is probably the most inexpensive way to store your coins. If you take good care of the paper when opening your coin rolls, you can simply reuse them for storage. Just roll your coins back up and put some rubber bands on the ends. You can also get reusable plastic rolls that can be opened and closed. You will need different rolls based on the denomination you want to store, but they are very space-efficient.", - "message": "This is probably the most inexpensive way to store your coins. If you take good care of the paper when opening your coin rolls, you can simply reuse them for storage. Just roll your coins back up and put some rubber bands on the ends. You can also get reusable plastic rolls that can be opened and closed. You will need different rolls based on the denomination you want to store, but they are very space-efficient.", - "translation": "" - }, - { - "id": "Examples", - "message": "Examples", - "translation": "" - }, - { - "id": "In case you’re looking for some inspiration on how to store your collections, here are some examples.", - "message": "In case you’re looking for some inspiration on how to store your collections, here are some examples.", - "translation": "" - }, - { - "id": "Euro Coin Collecting", - "message": "Euro Coin Collecting", - "translation": "" - }, - { - "id": "What is Vending Machine Hunting?", - "message": "What is Vending Machine Hunting?", - "translation": "" - }, - { - "id": "‘Vending machine hunting’ is a strategy of collecting coins whereby you continuously insert coins into a vending machine and cancel the transaction by pressing the return button. When the vending machine returns your coins to you, you will often get different coins from the ones you put in, and you can repeat this process until you’ve searched through every coin in the machine.", - "message": "‘Vending machine hunting’ is a strategy of collecting coins whereby you continuously insert coins into a vending machine and cancel the transaction by pressing the return button. When the vending machine returns your coins to you, you will often get different coins from the ones you put in, and you can repeat this process until you’ve searched through every coin in the machine.", - "translation": "" - }, - { - "id": "The Test Coins", - "message": "The Test Coins", - "translation": "" - }, - { - "id": "First, you want to make sure the vending machine you come across actually gives back change — sometimes they don’t! Throw in a 10 cent coin and press the return button. If it doesn’t give the coin back, you can move on to the next machine; there’s a high chance it won’t return higher denominations either. Next throw in a random 2 euro coin and press the return button. You should do this because vending machines may not return 2 euro coins, but rather 1 euro- or 50 cent coins instead. It’s better to find out immediately as opposed to later once you’ve already put in all of your 2 euro coins.", - "message": "First, you want to make sure the vending machine you come across actually gives back change — sometimes they don’t! Throw in a 10 cent coin and press the return button. If it doesn’t give the coin back, you can move on to the next machine; there’s a high chance it won’t return higher denominations either. Next throw in a random 2 euro coin and press the return button. You should do this because vending machines may not return 2 euro coins, but rather 1 euro- or 50 cent coins instead. It’s better to find out immediately as opposed to later once you’ve already put in all of your 2 euro coins.", - "translation": "" - }, - { - "id": "The Stopper", - "message": "The Stopper", - "translation": "" - }, - { - "id": "We want to be able to know when we’ve gone through all the coins in the vending machine. To do this, take out a coin and mark it with something (drawing on it with a Sharpie works well), then put it into the machine. Next time you get the same coin back, you know you’ve gone through everything.", - "message": "We want to be able to know when we’ve gone through all the coins in the vending machine. To do this, take out a coin and mark it with something (drawing on it with a Sharpie works well), then put it into the machine. Next time you get the same coin back, you know you’ve gone through everything.", - "translation": "" - }, - { - "id": "Rejected Stoppers and Coins", - "message": "Rejected Stoppers and Coins", - "translation": "" - }, - { - "id": "Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if the coin was dropped into a box (normally adding a coin should be silent after you throw it in). This means the coin was not added to the stack properly, and so it will not be returned. Pay attention to this noise, because you won’t be getting the stopper back! Throw in another marked coin instead until the machine accepts the coin.", - "message": "Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if the coin was dropped into a box (normally adding a coin should be silent after you throw it in). This means the coin was not added to the stack properly, and so it will not be returned. Pay attention to this noise, because you won’t be getting the stopper back! Throw in another marked coin instead until the machine accepts the coin.", - "translation": "" - }, - { - "id": "(Non-)Merging Machines", - "message": "(Non-)Merging Machines", - "translation": "" - }, - { - "id": "We generally identify between two main types of vending machines.", - "message": "We generally identify between two main types of vending machines.", - "translation": "" - }, - { - "id": "Merging", - "message": "Merging", - "translation": "" - }, - { - "id": "The vending machine merges change together. For example if you throw in five 50 cent coins, the machine returns either two 1 euro coins and one 50 cent coin or one 2 euro and one 50 cent coin. This usually means you can hunt 2 euro coins very quickly but other denominations only once at a time. A good tip is to throw in an odd number of euros and 80 cents if you want to search through all denominations.", - "message": "The vending machine merges change together. For example if you throw in five 50 cent coins, the machine returns either two 1 euro coins and one 50 cent coin or one 2 euro and one 50 cent coin. This usually means you can hunt 2 euro coins very quickly but other denominations only once at a time. A good tip is to throw in an odd number of euros and 80 cents if you want to search through all denominations.", - "translation": "" - }, - { - "id": "Non-Merging", - "message": "Non-Merging", - "translation": "" - }, - { - "id": "The vending machine does not merge change together. This means if you throw in five 50 cent coins it will return five 50 cent coins. This makes it very easy to hunt a large amount of a specific denomination.", - "message": "The vending machine does not merge change together. This means if you throw in five 50 cent coins it will return five 50 cent coins. This makes it very easy to hunt a large amount of a specific denomination.", - "translation": "" - }, - { - "id": "Limits", - "message": "Limits", - "translation": "" - }, - { - "id": "There are some limits to vending machine hunts which you need to be aware of.", - "message": "There are some limits to vending machine hunts which you need to be aware of.", - "translation": "" - }, - { - "id": "Maximum Input Limit", - "message": "Maximum Input Limit", - "translation": "" - }, - { - "id": "Some machines have a maximum amount you can throw in, and will reject anything higher. For example machines with a max limit of five euros will reject any additional coins if you throw in five euros. You can try to go above the limit if you throw in, say, %s and then another one- or two euro coin; the machine will probably accept it.", - "message": "Some machines have a maximum amount you can throw in, and will reject anything higher. For example machines with a max limit of five euros will reject any additional coins if you throw in five euros. You can try to go above the limit if you throw in, say, %s and then another one- or two euro coin; the machine will probably accept it.", - "translation": "" - }, - { - "id": "Maximum Change Limit", - "message": "Maximum Change Limit", - "translation": "" - }, - { - "id": "Some machines will either give back large amounts of change in bills or will not give back large amounts of change at all (usually cigarette machines). Read the labels on all machines carefully since these limits are usually written there.", - "message": "Some machines will either give back large amounts of change in bills or will not give back large amounts of change at all (usually cigarette machines). Read the labels on all machines carefully since these limits are usually written there.", - "translation": "" - }, - { - "id": "Even if no limits are listed, it’s still advised that you exercise caution: it is not uncommon for a vending machine to steal your money. In the case that a vending machine does steal your money, look for a label on the machine that contains a support number.", - "message": "Even if no limits are listed, it’s still advised that you exercise caution: it is not uncommon for a vending machine to steal your money. In the case that a vending machine does steal your money, look for a label on the machine that contains a support number.", - "translation": "" - }, - { - "id": "For information on Austrian cigarette machines, see the ‘%sCigarette Machines%s’ section.", - "message": "For information on Austrian cigarette machines, see the ‘%sCigarette Machines%s’ section.", - "translation": "" - }, - { - "id": "Cigarette Machines", - "message": "Cigarette Machines", - "translation": "" - }, - { - "id": "In some countries where cigarette machines are legal, you can hunt through them as well. Unless you’re in Malta, you must verify your age on them by either sliding an ID card through a sensor or holding a debit card on an RFID scanner; you must do this for every cycle. Sometimes you must also select something to purchase, throw in less money than the cost, and then cancel the purchase. Note that most cigarette machines in Austria have a %s max change limit.", - "message": "In some countries where cigarette machines are legal, you can hunt through them as well. Unless you’re in Malta, you must verify your age on them by either sliding an ID card through a sensor or holding a debit card on an RFID scanner; you must do this for every cycle. Sometimes you must also select something to purchase, throw in less money than the cost, and then cancel the purchase. Note that most cigarette machines in Austria have a %s max change limit.", - "translation": "" - }, - { - "id": "For RFID scanner machines it helps to wear a glove and slide a debit card into the back of it so you can easily use both hands and don’t have to fumble with a card and coins.", - "message": "For RFID scanner machines it helps to wear a glove and slide a debit card into the back of it so you can easily use both hands and don’t have to fumble with a card and coins.", - "translation": "" - }, - { - "id": "On this section of the site you can find everything there is to know about collecting Euro coins. If this is a hobby that interests you, join the Discord server linked at the top of the page!", - "message": "On this section of the site you can find everything there is to know about collecting Euro coins. If this is a hobby that interests you, join the Discord server linked at the top of the page!", - "translation": "" - }, - { - "id": "Learn about collecting coins from coin rolls!", - "message": "Learn about collecting coins from coin rolls!", - "translation": "" - }, - { - "id": "Learn about the different methods to storing your collection!", - "message": "Learn about the different methods to storing your collection!", - "translation": "" - }, - { - "id": "Shop Hunting", - "message": "Shop Hunting", - "translation": "" - }, - { - "id": "Learn about how to collect coins from shop-keepers and other people who deal in cash!", - "message": "Learn about how to collect coins from shop-keepers and other people who deal in cash!", - "translation": "" - }, - { - "id": "Vending Machine Hunting", - "message": "Vending Machine Hunting", - "translation": "" - }, - { - "id": "Learn about collecting coins from vending machines!", - "message": "Learn about collecting coins from vending machines!", - "translation": "" - }, - { - "id": "The Euro Cash Compendium", - "message": "The Euro Cash Compendium", - "translation": "" - }, - { - "id": "United in", - "message": "United in", - "translation": "" - }, - { - "id": "diversity", - "message": "diversity", - "translation": "" - }, - { - "id": "cash", - "message": "cash", - "translation": "" - }, - { - "id": "Welcome to the Euro Cash Compendium. 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.", - "message": "Welcome to the Euro Cash Compendium. 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.", - "translation": "" - }, - { - "id": "Euro Cash Jargon", - "message": "Euro Cash Jargon", - "translation": "" - }, - { - "id": "Both on this website and in other euro-cash-related forums there are many terms you will come across that you may not immediately understand. This page will hopefully get you up to speed with the most important and frequently-used terminology.", - "message": "Both on this website and in other euro-cash-related forums there are many terms you will come across that you may not immediately understand. This page will hopefully get you up to speed with the most important and frequently-used terminology.", - "translation": "" - }, - { - "id": "All terms defined below can be used as clickable links which highlight the selected term. It is recommended to use these links when sharing this page with others, so that the relevant terms are highlighted.", - "message": "All terms defined below can be used as clickable links which highlight the selected term. It is recommended to use these links when sharing this page with others, so that the relevant terms are highlighted.", - "translation": "" - }, - { - "id": "General Terms", - "message": "General Terms", - "translation": "" - }, - { - "id": "AU coins are coins that are in extremely good condition as a result of limited use in circulation. Unlike the term ‘UNC’, this term is a description of the coins quality, not its usage. AU coins often appear to retain most of their original luster as well as possessing little-to-no scratches or other forms of post-mint damage (PMD).", - "message": "AU coins are coins that are in extremely good condition as a result of limited use in circulation. Unlike the term ‘UNC’, this term is a description of the coins quality, not its usage. AU coins often appear to retain most of their original luster as well as possessing little-to-no scratches or other forms of post-mint damage (PMD).", - "translation": "" - }, - { - "id": "BU is a general term to refer to coins from coincards and -sets. These are different from UNC coins in that they are typically handled with more care during the minting process and are struck with higher-quality dies than the coins minted for coin rolls resulting in a higher-quality end product. You may also see these coins referred to by the French term ‘fleur de coin’.", - "message": "BU is a general term to refer to coins from coincards and -sets. These are different from UNC coins in that they are typically handled with more care during the minting process and are struck with higher-quality dies than the coins minted for coin rolls resulting in a higher-quality end product. You may also see these coins referred to by the French term ‘fleur de coin’.", - "translation": "" - }, - { - "id": "NIFC coins are coins minted without the intention of being put into general circulation. These coins are typically minted with the purpose of being put into coincards or coin-sets to be sold to collectors. Occasionally they are also handed out to collectors for face value at banks.", - "message": "NIFC coins are coins minted without the intention of being put into general circulation. These coins are typically minted with the purpose of being put into coincards or coin-sets to be sold to collectors. Occasionally they are also handed out to collectors for face value at banks.", - "translation": "" - }, - { - "id": "While uncommon, NIFC coins are occasionally found in circulation. This can happen for a variety of reasons such as someone depositing their coin collection (known as a ‘collection dump’), or a collector’s child spending their rare coins on an ice cream. Some coin mints have also been known to put NIFC coins that have gone unsold for multiple years into circulation.", - "message": "While uncommon, NIFC coins are occasionally found in circulation. This can happen for a variety of reasons such as someone depositing their coin collection (known as a ‘collection dump’), or a collector’s child spending their rare coins on an ice cream. Some coin mints have also been known to put NIFC coins that have gone unsold for multiple years into circulation.", - "translation": "" - }, - { - "id": "Post-mint damage is any damage that a coin has sustained outside of the minting process, such as through being dropped on the ground, hit against a table, etc.", - "message": "Post-mint damage is any damage that a coin has sustained outside of the minting process, such as through being dropped on the ground, hit against a table, etc.", - "translation": "" - }, - { - "id": "Uncirculated coins are coins that have never been used in a monetary exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very good condition, but this is incorrect. A coin in poor condition that has never been circulated is still considered an ‘UNC’ coin.", - "message": "Uncirculated coins are coins that have never been used in a monetary exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very good condition, but this is incorrect. A coin in poor condition that has never been circulated is still considered an ‘UNC’ coin.", - "translation": "" - }, - { - "id": "Collector-Specific Terms", - "message": "Collector-Specific Terms", - "translation": "" - }, - { - "id": "Coin roll hunting is a general term for the activity of searching through coin rolls and -bags to find coins for a collection. Coin rolls and bags are often obtained at banks or coin roll machines.", - "message": "Coin roll hunting is a general term for the activity of searching through coin rolls and -bags to find coins for a collection. Coin rolls and bags are often obtained at banks or coin roll machines.", - "translation": "" - }, - { - "id": "Select Your Language", - "message": "Select Your Language", - "translation": "" - }, - { - "id": "Select your preferred language to use on the site.", - "message": "Select your preferred language to use on the site.", - "translation": "" - }, - { - "id": "Eurozone Languages", - "message": "Eurozone Languages", - "translation": "" - }, - { - "id": "Other Languages", - "message": "Other Languages", - "translation": "" - } - ] -}
\ No newline at end of file diff --git a/src/rosetta/en/messages.gotext.json b/src/rosetta/en/messages.gotext.json deleted file mode 100644 index e2651b1..0000000 --- a/src/rosetta/en/messages.gotext.json +++ /dev/null @@ -1,2042 +0,0 @@ -{ - "language": "en", - "messages": [ - { - "id": "Andorra", - "message": "Andorra", - "translation": "Andorra", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Austria", - "message": "Austria", - "translation": "Austria", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Belgium", - "message": "Belgium", - "translation": "Belgium", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Cyprus", - "message": "Cyprus", - "translation": "Cyprus", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Germany", - "message": "Germany", - "translation": "Germany", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Estonia", - "message": "Estonia", - "translation": "Estonia", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Spain", - "message": "Spain", - "translation": "Spain", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Finland", - "message": "Finland", - "translation": "Finland", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "France", - "message": "France", - "translation": "France", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Greece", - "message": "Greece", - "translation": "Greece", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Croatia", - "message": "Croatia", - "translation": "Croatia", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Ireland", - "message": "Ireland", - "translation": "Ireland", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Italy", - "message": "Italy", - "translation": "Italy", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Lithuania", - "message": "Lithuania", - "translation": "Lithuania", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Luxembourg", - "message": "Luxembourg", - "translation": "Luxembourg", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Latvia", - "message": "Latvia", - "translation": "Latvia", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Monaco", - "message": "Monaco", - "translation": "Monaco", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Malta", - "message": "Malta", - "translation": "Malta", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Netherlands", - "message": "Netherlands", - "translation": "Netherlands", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Portugal", - "message": "Portugal", - "translation": "Portugal", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Slovenia", - "message": "Slovenia", - "translation": "Slovenia", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Slovakia", - "message": "Slovakia", - "translation": "Slovakia", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "San Marino", - "message": "San Marino", - "translation": "San Marino", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Vatican City", - "message": "Vatican City", - "translation": "Vatican City", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Page Not Found", - "message": "Page Not Found", - "translation": "Page Not Found", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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 %s.", - "message": "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 %s.", - "translation": "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 %s.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Euro Cash", - "message": "Euro Cash", - "translation": "Euro Cash", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Found a mistake or want to contribute missing information?", - "message": "Found a mistake or want to contribute missing information?", - "translation": "Found a mistake or want to contribute missing information?", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Feel free to contact us!", - "message": "Feel free to contact us!", - "translation": "Feel free to contact us!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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.", - "message": "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.", - "translation": "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.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "If this issue persists, don’t hesitate to contact @onetruemangoman on Discord or to email us at %s.", - "message": "If this issue persists, don’t hesitate to contact @onetruemangoman on Discord or to email us at %s.", - "translation": "If this issue persists, don’t hesitate to contact @onetruemangoman on Discord or to email us at %s.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Home", - "message": "Home", - "translation": "Home", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "News", - "message": "News", - "translation": "News", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin Collecting", - "message": "Coin Collecting", - "translation": "Coin Collecting", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coins", - "message": "Coins", - "translation": "Coins", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Banknotes", - "message": "Banknotes", - "translation": "Banknotes", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Jargon", - "message": "Jargon", - "translation": "Jargon", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Discord", - "message": "Discord", - "translation": "Discord", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "About", - "message": "About", - "translation": "About", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Language", - "message": "Language", - "translation": "Language", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "About Us", - "message": "About Us", - "translation": "About Us", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Open Source", - "message": "Open Source", - "translation": "Open Source", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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 %shere%s. This site is licensed under the BSD 0-Clause license giving you the full freedom to do whatever you would like with anyof the content on this site.", - "message": "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 %shere%s. This site is licensed under the BSD 0-Clause license giving you the full freedom to do whatever you would like with anyof the content on this site.", - "translation": "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 %shere%s. This site is licensed under the BSD 0-Clause license giving you the full freedom to do whatever you would like with anyof the content on this site.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Contact Us", - "message": "Contact Us", - "translation": "Contact Us", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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. In such a 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 included, but if not you can always send an email to %s or contact ‘@onetruemangoman’ on Discord.", - "message": "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. In such a 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 included, but if not you can always send an email to %s or contact ‘@onetruemangoman’ on Discord.", - "translation": "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. In such a 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 included, but if not you can always send an email to %s or contact ‘@onetruemangoman’ on Discord.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Special Thanks", - "message": "Special Thanks", - "translation": "Special Thanks", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Development", - "message": "Development", - "translation": "Development", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Research", - "message": "Research", - "translation": "Research", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Translations", - "message": "Translations", - "translation": "Translations", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "British- \u0026 American English", - "message": "British- \u0026 American English", - "translation": "British- \u0026 American English", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Icelandic", - "message": "Icelandic", - "translation": "Icelandic", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Location Codes", - "message": "Location Codes", - "translation": "Location Codes", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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 issues the banknote (for the 2002 series) or where the banknote was printed (for the Europa series).", - "message": "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 issues the banknote (for the 2002 series) or where the banknote was printed (for the Europa series).", - "translation": "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 issues the banknote (for the 2002 series) or where the banknote was printed (for the Europa series).", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Printer Code", - "message": "Printer Code", - "translation": "Printer Code", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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 take the form of ‘X000X0’ — or in other words — a letter followed by 3 numbers, a letter and a final number.", - "message": "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 take the form of ‘X000X0’ — or in other words — a letter followed by 3 numbers, a letter and a final number.", - "translation": "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 take the form of ‘X000X0’ — or in other words — a letter followed by 3 numbers, a letter and a final number.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The printer code can be a bit tricky to find. The following dropdowns will show you where to find the printer code on each note.", - "message": "The printer code can be a bit tricky to find. The following dropdowns will show you where to find the printer code on each note.", - "translation": "The printer code can be a bit tricky to find. The following dropdowns will show you where to find the printer code on each note.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "2002 Series Printer Codes", - "message": "2002 Series Printer Codes", - "translation": "2002 Series Printer Codes", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "All these images are taken from %seurobilltracker.com%s.", - "message": "All these images are taken from %seurobilltracker.com%s.", - "translation": "All these images are taken from %seurobilltracker.com%s.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Europa Series Printer Codes", - "message": "Europa Series Printer Codes", - "translation": "Europa Series Printer Codes", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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 will be printed multiple times on a large sheet of paper which is later cut into smaller individual banknotes. A note with the pair ‘A1’ will have been at the upper-left corner of the printing sheet, with ‘A2’ to it’s right and ‘B1’ below it.", - "message": "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 will be printed multiple times on a large sheet of paper which is later cut into smaller individual banknotes. A note with the pair ‘A1’ will have been at the upper-left corner of the printing sheet, with ‘A2’ to it’s right and ‘B1’ below it.", - "translation": "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 will be printed multiple times on a large sheet of paper which is later cut into smaller individual banknotes. A note with the pair ‘A1’ will have been at the upper-left corner of the printing sheet, with ‘A2’ to it’s right and ‘B1’ below it.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "2002 Series", - "message": "2002 Series", - "translation": "2002 Series", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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.", - "message": "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.", - "translation": "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.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Code", - "message": "Code", - "translation": "Code", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Country", - "message": "Country", - "translation": "Country", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The first letter of the printer code can also 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.", - "message": "The first letter of the printer code can also 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.", - "translation": "The first letter of the printer code can also 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.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Printer", - "message": "Printer", - "translation": "Printer", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "United Kingdom", - "message": "United Kingdom", - "translation": "United Kingdom", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Central Bank of Ireland", - "message": "Central Bank of Ireland", - "translation": "Central Bank of Ireland", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Bank of Greece", - "message": "Bank of Greece", - "translation": "Bank of Greece", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "National Bank of Belgium", - "message": "National Bank of Belgium", - "translation": "National Bank of Belgium", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Europa Series", - "message": "Europa Series", - "translation": "Europa Series", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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.", - "message": "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.", - "translation": "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.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Bulgaria", - "message": "Bulgaria", - "translation": "Bulgaria", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "%d Euro", - "message": "%d Euro", - "translation": "%d Euro", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Printer code on a %d euro bill", - "message": "Printer code on a %d euro bill", - "translation": "Printer code on a %d euro bill", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Euro Banknotes", - "message": "Euro Banknotes", - "translation": "Euro Banknotes", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "On this section of the site you can find everything there is to know about the banknotes of the Eurozone.", - "message": "On this section of the site you can find everything there is to know about the banknotes of the Eurozone.", - "translation": "On this section of the site you can find everything there is to know about the banknotes of the Eurozone.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Designs", - "message": "Designs", - "translation": "Designs", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "View the different Euro-note designs!", - "message": "View the different Euro-note designs!", - "translation": "View the different Euro-note designs!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Find out where your notes were printed!", - "message": "Find out where your notes were printed!", - "translation": "Find out where your notes were printed!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Test Notes", - "message": "Test Notes", - "translation": "Test Notes", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Learn about the special test notes!", - "message": "Learn about the special test notes!", - "translation": "Learn about the special test notes!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Andorran Euro Coin Designs", - "message": "Andorran Euro Coin Designs", - "translation": "Andorran Euro Coin Designs", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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:", - "message": "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:", - "translation": "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:", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "%s, %s, and %s", - "message": "%s, %s, and %s", - "translation": "%s, %s, and %s", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Andorran landscapes, nature, fauna, and flora", - "message": "Andorran landscapes, nature, fauna, and flora", - "translation": "Andorran landscapes, nature, fauna, and flora", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Andorra’s Romanesque art", - "message": "Andorra’s Romanesque art", - "translation": "Andorra’s Romanesque art", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Casa de la Vall", - "message": "Casa de la Vall", - "translation": "Casa de la Vall", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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.", - "message": "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.", - "translation": "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.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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.", - "message": "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.", - "translation": "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.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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.", - "message": "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.", - "translation": "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.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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.", - "message": "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.", - "translation": "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.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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:", - "message": "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:", - "translation": "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:", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The bottom of the coat of arms has the motto ‘%sVIRTVS VNITA FORTIOR%s’ (‘UNITED VIRTUE IS STRONGER’).", - "message": "The bottom of the coat of arms has the motto ‘%sVIRTVS VNITA FORTIOR%s’ (‘UNITED VIRTUE IS STRONGER’).", - "translation": "The bottom of the coat of arms has the motto ‘%sVIRTVS VNITA FORTIOR%s’ (‘UNITED VIRTUE IS STRONGER’).", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Austrian Euro Coin Designs", - "message": "Austrian Euro Coin Designs", - "translation": "Austrian Euro Coin Designs", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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 %sGreek euro coins%s are the only coins that feature the denomination on both the common- and national-sides of the coin.", - "message": "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 %sGreek euro coins%s are the only coins that feature the denomination on both the common- and national-sides of the coin.", - "translation": "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 %sGreek euro coins%s are the only coins that feature the denomination on both the common- and national-sides of the coin.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The bronze coins feature the Alpine gentian, -edelweiss, and -primrose respectively, and were chosen to symbolize the role that Austria played in the development of EU environmental policy.", - "message": "The bronze coins feature the Alpine gentian, -edelweiss, and -primrose respectively, and were chosen to symbolize the role that Austria played in the development of EU environmental policy.", - "translation": "The bronze coins feature the Alpine gentian, -edelweiss, and -primrose respectively, and were chosen to symbolize the role that Austria played in the development of EU environmental policy.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese Gothic architectural style dating to around the year 1160. The €0.20 coin features Belvedere Palace. This is an example of Baroque architecture and symbolises the national freedom and sovereignty of Austria. The final gold coin — the €0.50 coin — features the Secession Building: an exhibition hall in the Art Nouveau style.", - "message": "The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese Gothic architectural style dating to around the year 1160. The €0.20 coin features Belvedere Palace. This is an example of Baroque architecture and symbolises the national freedom and sovereignty of Austria. The final gold coin — the €0.50 coin — features the Secession Building: an exhibition hall in the Art Nouveau style.", - "translation": "The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese Gothic architectural style dating to around the year 1160. The €0.20 coin features Belvedere Palace. This is an example of Baroque architecture and symbolises the national freedom and sovereignty of Austria. The final gold coin — the €0.50 coin — features the Secession Building: an exhibition hall in the Art Nouveau style.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The two bimetallic coins feature the busts of the musical composer Wolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist and Nobel Peace Prize winner Bertha von Suttner.", - "message": "The two bimetallic coins feature the busts of the musical composer Wolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist and Nobel Peace Prize winner Bertha von Suttner.", - "translation": "The two bimetallic coins feature the busts of the musical composer Wolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist and Nobel Peace Prize winner Bertha von Suttner.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Belgian Euro Coin Designs", - "message": "Belgian Euro Coin Designs", - "translation": "Belgian Euro Coin Designs", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Since 1999 Belgium has released three series of euro coins, which each series having a single design repeated on all denominations. Starting in 1999 the Belgian euro coins featured the portrait of King Albert II with the %sroyal monogram%s in the outer ring of the coins.", - "message": "Since 1999 Belgium has released three series of euro coins, which each series having a single design repeated on all denominations. Starting in 1999 the Belgian euro coins featured the portrait of King Albert II with the %sroyal monogram%s in the outer ring of the coins.", - "translation": "Since 1999 Belgium has released three series of euro coins, which each series having a single design repeated on all denominations. Starting in 1999 the Belgian euro coins featured the portrait of King Albert II with the %sroyal monogram%s in the outer ring of the coins.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "In 2008 a second series of coins was released featuring a slightly-modified design in which the royal monogram was moved to the inner portion of the coin along with the year of mintage in order to comply with the European Commission’s guidelines. The country code ‘BE’ was also added to the design underneath the royal monogram.", - "message": "In 2008 a second series of coins was released featuring a slightly-modified design in which the royal monogram was moved to the inner portion of the coin along with the year of mintage in order to comply with the European Commission’s guidelines. The country code ‘BE’ was also added to the design underneath the royal monogram.", - "translation": "In 2008 a second series of coins was released featuring a slightly-modified design in which the royal monogram was moved to the inner portion of the coin along with the year of mintage in order to comply with the European Commission’s guidelines. The country code ‘BE’ was also added to the design underneath the royal monogram.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "After his accession to the throne Belgium began a third series of coins in 2014 featuring the portrait of King Philippe. As is customary with coins bearing the portraits of monarchs, the direction in which the portrait faces was flipped to face right instead of left.", - "message": "After his accession to the throne Belgium began a third series of coins in 2014 featuring the portrait of King Philippe. As is customary with coins bearing the portraits of monarchs, the direction in which the portrait faces was flipped to face right instead of left.", - "translation": "After his accession to the throne Belgium began a third series of coins in 2014 featuring the portrait of King Philippe. As is customary with coins bearing the portraits of monarchs, the direction in which the portrait faces was flipped to face right instead of left.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Croatian Euro Coin Designs", - "message": "Croatian Euro Coin Designs", - "translation": "Croatian Euro Coin Designs", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The Croatian euro coins feature four different themes, with each design featuring the Croatian checkerboard and the countries name in Croatian (‘%sHRVATSKA%s’). All designs were selected after voting in a public design competition.", - "message": "The Croatian euro coins feature four different themes, with each design featuring the Croatian checkerboard and the countries name in Croatian (‘%sHRVATSKA%s’). All designs were selected after voting in a public design competition.", - "translation": "The Croatian euro coins feature four different themes, with each design featuring the Croatian checkerboard and the countries name in Croatian (‘%sHRVATSKA%s’). All designs were selected after voting in a public design competition.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The 1-, 2-, and 5 euro cent coins were designed by Maja Škripelj and feature a motif of the letters ‘HR’ in the %sGlagolitic script%s — an old Slavic script that saw use in Croatia up until the 19th century — with ‘HR’ representing Croatia’s country code.", - "message": "The 1-, 2-, and 5 euro cent coins were designed by Maja Škripelj and feature a motif of the letters ‘HR’ in the %sGlagolitic script%s — an old Slavic script that saw use in Croatia up until the 19th century — with ‘HR’ representing Croatia’s country code.", - "translation": "The 1-, 2-, and 5 euro cent coins were designed by Maja Škripelj and feature a motif of the letters ‘HR’ in the %sGlagolitic script%s — an old Slavic script that saw use in Croatia up until the 19th century — with ‘HR’ representing Croatia’s country code.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The 10-, 20-, and 50 euro cent coins were designed by Ivan Domagoj Račić and feature the portrait of the inventor and engineer %sNikola Tesla%s. The design of these coins caused controversy when they were first announced with the National Bank of Serbia claiming that it would be an appropriation of the cultural and scientific heritage of the Serbian people to feature the portrait of someone who ‘declared himself to be Serbian by origin’.", - "message": "The 10-, 20-, and 50 euro cent coins were designed by Ivan Domagoj Račić and feature the portrait of the inventor and engineer %sNikola Tesla%s. The design of these coins caused controversy when they were first announced with the National Bank of Serbia claiming that it would be an appropriation of the cultural and scientific heritage of the Serbian people to feature the portrait of someone who ‘declared himself to be Serbian by origin’.", - "translation": "The 10-, 20-, and 50 euro cent coins were designed by Ivan Domagoj Račić and feature the portrait of the inventor and engineer %sNikola Tesla%s. The design of these coins caused controversy when they were first announced with the National Bank of Serbia claiming that it would be an appropriation of the cultural and scientific heritage of the Serbian people to feature the portrait of someone who ‘declared himself to be Serbian by origin’.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The 1 euro coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and features a marten. The marten is the semi-official national animal of Croatia and the Kuna — their pre-Euro currency — was named after the marten (‘%skuna zlatica%s’ in Croatian).", - "message": "The 1 euro coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and features a marten. The marten is the semi-official national animal of Croatia and the Kuna — their pre-Euro currency — was named after the marten (‘%skuna zlatica%s’ in Croatian).", - "translation": "The 1 euro coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and features a marten. The marten is the semi-official national animal of Croatia and the Kuna — their pre-Euro currency — was named after the marten (‘%skuna zlatica%s’ in Croatian).", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The 2 euro coin was designed by Ivan Šivak and features the map of Croatia. The coin also has an edge-inscription that reads ‘%sO LIJEPA O DRAGA O SLATKA SLOBODO%s’ (‘OH BEAUTIFUL, OH DEAR, OH SWEET FREEDOM’) which is a line from the play %sDubravka%s by Ivan Gundulić.", - "message": "The 2 euro coin was designed by Ivan Šivak and features the map of Croatia. The coin also has an edge-inscription that reads ‘%sO LIJEPA O DRAGA O SLATKA SLOBODO%s’ (‘OH BEAUTIFUL, OH DEAR, OH SWEET FREEDOM’) which is a line from the play %sDubravka%s by Ivan Gundulić.", - "translation": "The 2 euro coin was designed by Ivan Šivak and features the map of Croatia. The coin also has an edge-inscription that reads ‘%sO LIJEPA O DRAGA O SLATKA SLOBODO%s’ (‘OH BEAUTIFUL, OH DEAR, OH SWEET FREEDOM’) which is a line from the play %sDubravka%s by Ivan Gundulić.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Dutch Euro Coin Designs", - "message": "Dutch Euro Coin Designs", - "translation": "Dutch Euro Coin Designs", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "From the years 1999–2013 all Dutch euro coins featured the portrait of Queen Beatrix of the Netherlands. After her abdication from the throne in 2013 the designs of all denominations were changed to feature the portrait of the new King Willem-Alexander. After her abdication the direction in which the monarchs portrait faced was flipped; a tradition dating back to the earliest coins of the Kingdom of the Netherlands.", - "message": "From the years 1999–2013 all Dutch euro coins featured the portrait of Queen Beatrix of the Netherlands. After her abdication from the throne in 2013 the designs of all denominations were changed to feature the portrait of the new King Willem-Alexander. After her abdication the direction in which the monarchs portrait faced was flipped; a tradition dating back to the earliest coins of the Kingdom of the Netherlands.", - "translation": "From the years 1999–2013 all Dutch euro coins featured the portrait of Queen Beatrix of the Netherlands. After her abdication from the throne in 2013 the designs of all denominations were changed to feature the portrait of the new King Willem-Alexander. After her abdication the direction in which the monarchs portrait faced was flipped; a tradition dating back to the earliest coins of the Kingdom of the Netherlands.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coins featuring both monarchs contain text reading ‘%sBEATRIX KONINGIN DER NEDERLANDEN%s’ (‘BEATRIX QUEEN OF THE NETHERLANDS’) and ‘%sWillem-Alexander Koning der Nederlanden%s’ (‘Willem-Alexander King of the Netherlands’) respectively. The €2 coins also feature an edge-inscription reading ‘%sGOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆%s’ (‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’).", - "message": "Coins featuring both monarchs contain text reading ‘%sBEATRIX KONINGIN DER NEDERLANDEN%s’ (‘BEATRIX QUEEN OF THE NETHERLANDS’) and ‘%sWillem-Alexander Koning der Nederlanden%s’ (‘Willem-Alexander King of the Netherlands’) respectively. The €2 coins also feature an edge-inscription reading ‘%sGOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆%s’ (‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’).", - "translation": "Coins featuring both monarchs contain text reading ‘%sBEATRIX KONINGIN DER NEDERLANDEN%s’ (‘BEATRIX QUEEN OF THE NETHERLANDS’) and ‘%sWillem-Alexander Koning der Nederlanden%s’ (‘Willem-Alexander King of the Netherlands’) respectively. The €2 coins also feature an edge-inscription reading ‘%sGOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆%s’ (‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’).", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The €1 and €2 coins featuring King Willem-Alexander were minted with a much lower %srelief%s than most euro coins of the same denomination. As a result it is not uncommon for these coins to appear worn after little use in circulation.", - "message": "The €1 and €2 coins featuring King Willem-Alexander were minted with a much lower %srelief%s than most euro coins of the same denomination. As a result it is not uncommon for these coins to appear worn after little use in circulation.", - "translation": "The €1 and €2 coins featuring King Willem-Alexander were minted with a much lower %srelief%s than most euro coins of the same denomination. As a result it is not uncommon for these coins to appear worn after little use in circulation.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Euro Coin Designs", - "message": "Euro Coin Designs", - "translation": "Euro Coin Designs", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "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 %svarieties%s page.", - "message": "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 %svarieties%s page.", - "translation": "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 %svarieties%s page.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Euro Coin Mintages", - "message": "Euro Coin Mintages", - "translation": "Euro Coin Mintages", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Here you’ll be able to view all the known mintages for all coins. You’ll also be able to filter on country, denomination, etc. If you have any mintage data that’s missing from our site, feel free to contact us.", - "message": "Here you’ll be able to view all the known mintages for all coins. You’ll also be able to filter on country, denomination, etc. If you have any mintage data that’s missing from our site, feel free to contact us.", - "translation": "Here you’ll be able to view all the known mintages for all coins. You’ll also be able to filter on country, denomination, etc. If you have any mintage data that’s missing from our site, feel free to contact us.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Additional Notes", - "message": "Additional Notes", - "translation": "Additional Notes", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Most coins from the years 2003–2016 are listed as NIFC coins while other popular sources such as Numista claim they were minted for circulation. For more information on why others are wrong, %sclick here%s.", - "message": "Most coins from the years 2003–2016 are listed as NIFC coins while other popular sources such as Numista claim they were minted for circulation. For more information on why others are wrong, %sclick here%s.", - "translation": "Most coins from the years 2003–2016 are listed as NIFC coins while other popular sources such as Numista claim they were minted for circulation. For more information on why others are wrong, %sclick here%s.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "In 2003 Numista calculated a total of %d coins issued for coin sets per denomination. Our own calculations found only %d. Numista also forgot to include the many hundred thousand coins from the coin roll sets that were produced.", - "message": "In 2003 Numista calculated a total of %d coins issued for coin sets per denomination. Our own calculations found only %d. Numista also forgot to include the many hundred thousand coins from the coin roll sets that were produced.", - "translation": "In 2003 Numista calculated a total of %d coins issued for coin sets per denomination. Our own calculations found only %d. Numista also forgot to include the many hundred thousand coins from the coin roll sets that were produced.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Filter", - "message": "Filter", - "translation": "Filter", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Standard Issue Coins", - "message": "Standard Issue Coins", - "translation": "Standard Issue Coins", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Year", - "message": "Year", - "translation": "Year", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Unknown", - "message": "Unknown", - "translation": "Unknown", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Error", - "message": "Error", - "translation": "Error", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Commemorative Coins", - "message": "Commemorative Coins", - "translation": "Commemorative Coins", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Commemorated Issue", - "message": "Commemorated Issue", - "translation": "Commemorated Issue", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Mintage", - "message": "Mintage", - "translation": "Mintage", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Euro Coins", - "message": "Euro Coins", - "translation": "Euro Coins", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "On this section of the site you can find everything there is to know about the coins of the Eurozone.", - "message": "On this section of the site you can find everything there is to know about the coins of the Eurozone.", - "translation": "On this section of the site you can find everything there is to know about the coins of the Eurozone.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "View the 600+ different Euro-coin designs!", - "message": "View the 600+ different Euro-coin designs!", - "translation": "View the 600+ different Euro-coin designs!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Mintages", - "message": "Mintages", - "translation": "Mintages", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "View the mintage figures of all the Euro coins!", - "message": "View the mintage figures of all the Euro coins!", - "translation": "View the mintage figures of all the Euro coins!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Varieties", - "message": "Varieties", - "translation": "Varieties", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "View all the known Euro varieties!", - "message": "View all the known Euro varieties!", - "translation": "View all the known Euro varieties!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin Roll Hunting", - "message": "Coin Roll Hunting", - "translation": "Coin Roll Hunting", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "What is Coin Roll Hunting?", - "message": "What is Coin Roll Hunting?", - "translation": "What is Coin Roll Hunting?", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin roll hunting is a popular method of coin collecting in which you withdrawal cash from your bank in the form of coins which you then search through to find new additions to your collection. Once you’ve searched through all your coins, you will typically deposit your left over coins at the bank and withdrawal new coins.", - "message": "Coin roll hunting is a popular method of coin collecting in which you withdrawal cash from your bank in the form of coins which you then search through to find new additions to your collection. Once you’ve searched through all your coins, you will typically deposit your left over coins at the bank and withdrawal new coins.", - "translation": "Coin roll hunting is a popular method of coin collecting in which you withdrawal cash from your bank in the form of coins which you then search through to find new additions to your collection. Once you’ve searched through all your coins, you will typically deposit your left over coins at the bank and withdrawal new coins.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "This type of coin collecting is often called ‘Coin Roll Hunting’ due to the fact that coins are often withdrawn in paper-wrapped rolls. You may however find that your coins come in plastic bags instead (common in countries like Ireland).", - "message": "This type of coin collecting is often called ‘Coin Roll Hunting’ due to the fact that coins are often withdrawn in paper-wrapped rolls. You may however find that your coins come in plastic bags instead (common in countries like Ireland).", - "translation": "This type of coin collecting is often called ‘Coin Roll Hunting’ due to the fact that coins are often withdrawn in paper-wrapped rolls. You may however find that your coins come in plastic bags instead (common in countries like Ireland).", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Depending on your bank and branch, the process of obtaining coins may differ. Some banks require you speak to a teller, others have coin machines. Some banks may also require that you are a customer or even to have a business account. If you aren’t sure about if you can get coins we suggest you contact your bank, although further down this page we also have information about the withdrawal of coins in various countries and major banks.", - "message": "Depending on your bank and branch, the process of obtaining coins may differ. Some banks require you speak to a teller, others have coin machines. Some banks may also require that you are a customer or even to have a business account. If you aren’t sure about if you can get coins we suggest you contact your bank, although further down this page we also have information about the withdrawal of coins in various countries and major banks.", - "translation": "Depending on your bank and branch, the process of obtaining coins may differ. Some banks require you speak to a teller, others have coin machines. Some banks may also require that you are a customer or even to have a business account. If you aren’t sure about if you can get coins we suggest you contact your bank, although further down this page we also have information about the withdrawal of coins in various countries and major banks.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Getting Started", - "message": "Getting Started", - "translation": "Getting Started", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "To get started with coin roll hunting you should first contact your bank or check their website to find details regarding coin withdrawal. You will then typically need to go to the bank to pick up your coins. Depending on your bank you may be able to withdrawal coins from a machine, although often you can pick up your coins from the banks tellers. You will also often need to pay a small fee for each roll, although some banks don’t charge fees.", - "message": "To get started with coin roll hunting you should first contact your bank or check their website to find details regarding coin withdrawal. You will then typically need to go to the bank to pick up your coins. Depending on your bank you may be able to withdrawal coins from a machine, although often you can pick up your coins from the banks tellers. You will also often need to pay a small fee for each roll, although some banks don’t charge fees.", - "translation": "To get started with coin roll hunting you should first contact your bank or check their website to find details regarding coin withdrawal. You will then typically need to go to the bank to pick up your coins. Depending on your bank you may be able to withdrawal coins from a machine, although often you can pick up your coins from the banks tellers. You will also often need to pay a small fee for each roll, although some banks don’t charge fees.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "It is also important to find details regarding the deposit of coins. Depositing coins often also requires the payment of a fee — one which is typically more expensive than the withdrawal fees. If depositing your coins is too expensive you can always exchange your left over coins at shops for banknotes. It is often cheaper (or even free) to deposit banknotes.", - "message": "It is also important to find details regarding the deposit of coins. Depositing coins often also requires the payment of a fee — one which is typically more expensive than the withdrawal fees. If depositing your coins is too expensive you can always exchange your left over coins at shops for banknotes. It is often cheaper (or even free) to deposit banknotes.", - "translation": "It is also important to find details regarding the deposit of coins. Depositing coins often also requires the payment of a fee — one which is typically more expensive than the withdrawal fees. If depositing your coins is too expensive you can always exchange your left over coins at shops for banknotes. It is often cheaper (or even free) to deposit banknotes.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "In some countries such as Austria it is even common to be able to withdrawal new coins from your account by exchanging the left over coins you already have.", - "message": "In some countries such as Austria it is even common to be able to withdrawal new coins from your account by exchanging the left over coins you already have.", - "translation": "In some countries such as Austria it is even common to be able to withdrawal new coins from your account by exchanging the left over coins you already have.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Country-Specific Details", - "message": "Country-Specific Details", - "translation": "Country-Specific Details", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Below you can find all sorts of country-specific information we have regarding obtaining coin rolls. We lack a lot of information for many of the countries, so if you have any additional information such as your banks fees, the availability of coin roll machines, etc. feel free to contact us! You can find our contact information %shere%s.", - "message": "Below you can find all sorts of country-specific information we have regarding obtaining coin rolls. We lack a lot of information for many of the countries, so if you have any additional information such as your banks fees, the availability of coin roll machines, etc. feel free to contact us! You can find our contact information %shere%s.", - "translation": "Below you can find all sorts of country-specific information we have regarding obtaining coin rolls. We lack a lot of information for many of the countries, so if you have any additional information such as your banks fees, the availability of coin roll machines, etc. feel free to contact us! You can find our contact information %shere%s.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Be aware of the face that the information below is prone to being outdated, and as such may not reflect the current reality.", - "message": "Be aware of the face that the information below is prone to being outdated, and as such may not reflect the current reality.", - "translation": "Be aware of the face that the information below is prone to being outdated, and as such may not reflect the current reality.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin rolls can be obtained from Andbank, Crèdit Andorrà, and MoraBanc. All three of these banks require that you are a customer to get rolls. There have however been reports of individuals managing to get rolls without any fees and without being a customer by simply asking kindly at the bank.", - "message": "Coin rolls can be obtained from Andbank, Crèdit Andorrà, and MoraBanc. All three of these banks require that you are a customer to get rolls. There have however been reports of individuals managing to get rolls without any fees and without being a customer by simply asking kindly at the bank.", - "translation": "Coin rolls can be obtained from Andbank, Crèdit Andorrà, and MoraBanc. All three of these banks require that you are a customer to get rolls. There have however been reports of individuals managing to get rolls without any fees and without being a customer by simply asking kindly at the bank.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The Austrian National Bank does not distribute circulated rolls but sells rolls of commemorative coins at face value on release as well as uncirculated rolls for all denominations.", - "message": "The Austrian National Bank does not distribute circulated rolls but sells rolls of commemorative coins at face value on release as well as uncirculated rolls for all denominations.", - "translation": "The Austrian National Bank does not distribute circulated rolls but sells rolls of commemorative coins at face value on release as well as uncirculated rolls for all denominations.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "There is a fee of %s per roll. Rolls can be purchased with cash at machines. These machines are available to everyone, but not in all branches. Look for the ‘Münzrollengeber’ filter option %shere%s.", - "message": "There is a fee of %s per roll. Rolls can be purchased with cash at machines. These machines are available to everyone, but not in all branches. Look for the ‘Münzrollengeber’ filter option %shere%s.", - "translation": "There is a fee of %s per roll. Rolls can be purchased with cash at machines. These machines are available to everyone, but not in all branches. Look for the ‘Münzrollengeber’ filter option %shere%s.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "There is a fee of %s per roll. You must be a customer to use machines to get rolls. Rolls have no fees when purchased at counters, but counters redirect you to machines if they work; counters accept cash. You must present an Erste Bank card to buy rolls from machines, but you can pay with cash.", - "message": "There is a fee of %s per roll. You must be a customer to use machines to get rolls. Rolls have no fees when purchased at counters, but counters redirect you to machines if they work; counters accept cash. You must present an Erste Bank card to buy rolls from machines, but you can pay with cash.", - "translation": "There is a fee of %s per roll. You must be a customer to use machines to get rolls. Rolls have no fees when purchased at counters, but counters redirect you to machines if they work; counters accept cash. You must present an Erste Bank card to buy rolls from machines, but you can pay with cash.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Depositing coins is free for up to %s a day, at which point you pay 1%% for any additional deposited coins. You must also be a customer. Depositing coins is free for all Erste Bank customers at Dornbirner Sparkasse with no limit.", - "message": "Depositing coins is free for up to %s a day, at which point you pay 1%% for any additional deposited coins. You must also be a customer. Depositing coins is free for all Erste Bank customers at Dornbirner Sparkasse with no limit.", - "translation": "Depositing coins is free for up to %s a day, at which point you pay 1%% for any additional deposited coins. You must also be a customer. Depositing coins is free for all Erste Bank customers at Dornbirner Sparkasse with no limit.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "There is a fee of %s per roll if you aren’t a customer, and %s otherwise. Coin deposits are free if you’re a customer.", - "message": "There is a fee of %s per roll if you aren’t a customer, and %s otherwise. Coin deposits are free if you’re a customer.", - "translation": "There is a fee of %s per roll if you aren’t a customer, and %s otherwise. Coin deposits are free if you’re a customer.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Reportedly fee-less with no need of being a customer, but this is unconfirmed.", - "message": "Reportedly fee-less with no need of being a customer, but this is unconfirmed.", - "translation": "Reportedly fee-less with no need of being a customer, but this is unconfirmed.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "There is a %s fee with no limit on the number of rolls.", - "message": "There is a %s fee with no limit on the number of rolls.", - "translation": "There is a %s fee with no limit on the number of rolls.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Belgian Central Bank", - "message": "Belgian Central Bank", - "translation": "Belgian Central Bank", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "You can visit the Belgian Central Bank in Brussels as an EU citizen. You can order coin rolls for no fee up to %s in value. They seem to distribute uncirculated coins (no commemoratives).", - "message": "You can visit the Belgian Central Bank in Brussels as an EU citizen. You can order coin rolls for no fee up to %s in value. They seem to distribute uncirculated coins (no commemoratives).", - "translation": "You can visit the Belgian Central Bank in Brussels as an EU citizen. You can order coin rolls for no fee up to %s in value. They seem to distribute uncirculated coins (no commemoratives).", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Free for customers but getting coin rolls is still difficult sometimes. Non-customers cannot get rolls.", - "message": "Free for customers but getting coin rolls is still difficult sometimes. Non-customers cannot get rolls.", - "translation": "Free for customers but getting coin rolls is still difficult sometimes. Non-customers cannot get rolls.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Free for customers when you order through their online platform.", - "message": "Free for customers when you order through their online platform.", - "translation": "Free for customers when you order through their online platform.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Bank of Cyprus", - "message": "Bank of Cyprus", - "translation": "Bank of Cyprus", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "At the Bank of Cyprus it is possible to buy bags of coins without being a customer, and without paying any additional fees. Depending on the branch you visit you may have coin roll machine available. Do note that the bags provided by the Bank of Cyprus are around twice as large as usual with %s bags containing 50 coins and the other denomination bags containing 100 coins.", - "message": "At the Bank of Cyprus it is possible to buy bags of coins without being a customer, and without paying any additional fees. Depending on the branch you visit you may have coin roll machine available. Do note that the bags provided by the Bank of Cyprus are around twice as large as usual with %s bags containing 50 coins and the other denomination bags containing 100 coins.", - "translation": "At the Bank of Cyprus it is possible to buy bags of coins without being a customer, and without paying any additional fees. Depending on the branch you visit you may have coin roll machine available. Do note that the bags provided by the Bank of Cyprus are around twice as large as usual with %s bags containing 50 coins and the other denomination bags containing 100 coins.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin roll availability may vary across banks and branches, as well as the price. You must be a customer to purchase coin rolls unless specified otherwise.", - "message": "Coin roll availability may vary across banks and branches, as well as the price. You must be a customer to purchase coin rolls unless specified otherwise.", - "translation": "Coin roll availability may vary across banks and branches, as well as the price. You must be a customer to purchase coin rolls unless specified otherwise.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "German Federal Bank (Deutsche Bundesbank)", - "message": "German Federal Bank (Deutsche Bundesbank)", - "translation": "German Federal Bank (Deutsche Bundesbank)", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "You can obtain regular- and commemorative coins for face value including 5-, 10-, and 20 euro coins. You do not need to be a customer although depending on your branch you may need to make an appointment. The purchase of coins can only be done with cash.", - "message": "You can obtain regular- and commemorative coins for face value including 5-, 10-, and 20 euro coins. You do not need to be a customer although depending on your branch you may need to make an appointment. The purchase of coins can only be done with cash.", - "translation": "You can obtain regular- and commemorative coins for face value including 5-, 10-, and 20 euro coins. You do not need to be a customer although depending on your branch you may need to make an appointment. The purchase of coins can only be done with cash.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Hand-rolled coin rolls can be obtained with no additional fees.", - "message": "Hand-rolled coin rolls can be obtained with no additional fees.", - "translation": "Hand-rolled coin rolls can be obtained with no additional fees.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin rolls can be obtained for a fee of %s–%s per roll. The amount varies per branch.", - "message": "Coin rolls can be obtained for a fee of %s–%s per roll. The amount varies per branch.", - "translation": "Coin rolls can be obtained for a fee of %s–%s per roll. The amount varies per branch.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin rolls can be obtained for a fee of %s per roll.", - "message": "Coin rolls can be obtained for a fee of %s per roll.", - "translation": "Coin rolls can be obtained for a fee of %s per roll.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Obtaining coin rolls in Estonia is typically quite difficult, and often expensive. You also often need to make an appointment in advance.", - "message": "Obtaining coin rolls in Estonia is typically quite difficult, and often expensive. You also often need to make an appointment in advance.", - "translation": "Obtaining coin rolls in Estonia is typically quite difficult, and often expensive. You also often need to make an appointment in advance.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Central Bank of Estonia Museum", - "message": "Central Bank of Estonia Museum", - "translation": "Central Bank of Estonia Museum", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "You can purchase commemorative coins (even those released years ago) at face value. It is also an interesting museum to visit in general.", - "message": "You can purchase commemorative coins (even those released years ago) at face value. It is also an interesting museum to visit in general.", - "translation": "You can purchase commemorative coins (even those released years ago) at face value. It is also an interesting museum to visit in general.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin rolls are free but you must be a customer.", - "message": "Coin rolls are free but you must be a customer.", - "translation": "Coin rolls are free but you must be a customer.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Bank of Spain", - "message": "Bank of Spain", - "translation": "Bank of Spain", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "You can purchase individual coins and commemorative coin rolls (even those of other countries). You can watch %shere%s to see how to do it.", - "message": "You can purchase individual coins and commemorative coin rolls (even those of other countries). You can watch %shere%s to see how to do it.", - "translation": "You can purchase individual coins and commemorative coin rolls (even those of other countries). You can watch %shere%s to see how to do it.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin rolls have a fee of %s for 5 rolls. This seems to vary by region.", - "message": "Coin rolls have a fee of %s for 5 rolls. This seems to vary by region.", - "translation": "Coin rolls have a fee of %s for 5 rolls. This seems to vary by region.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin rolls have no fees.", - "message": "Coin rolls have no fees.", - "translation": "Coin rolls have no fees.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "La Caixa", - "message": "La Caixa", - "translation": "La Caixa", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin rolls have no fees and can be purchased with cash. You do not need to be a customer, although this needs to be re-verified.", - "message": "Coin rolls have no fees and can be purchased with cash. You do not need to be a customer, although this needs to be re-verified.", - "translation": "Coin rolls have no fees and can be purchased with cash. You do not need to be a customer, although this needs to be re-verified.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Finland has no coin roll machines, but you can find vending machines or coin exchange machines (albeit they are rare).", - "message": "Finland has no coin roll machines, but you can find vending machines or coin exchange machines (albeit they are rare).", - "translation": "Finland has no coin roll machines, but you can find vending machines or coin exchange machines (albeit they are rare).", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin rolls can be obtained with no fees.", - "message": "Coin rolls can be obtained with no fees.", - "translation": "Coin rolls can be obtained with no fees.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Bank of Finland", - "message": "Bank of Finland", - "translation": "Bank of Finland", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "It is probably not possible to obtain coin rolls, but this is not confirmed.", - "message": "It is probably not possible to obtain coin rolls, but this is not confirmed.", - "translation": "It is probably not possible to obtain coin rolls, but this is not confirmed.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin roll machines are uncommon, only some banks have them and you need to be a customer. You may also need to order them in advance.", - "message": "Coin roll machines are uncommon, only some banks have them and you need to be a customer. You may also need to order them in advance.", - "translation": "Coin roll machines are uncommon, only some banks have them and you need to be a customer. You may also need to order them in advance.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin rolls can be obtained with no fee. You must be a customer.", - "message": "Coin rolls can be obtained with no fee. You must be a customer.", - "translation": "Coin rolls can be obtained with no fee. You must be a customer.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "and", - "message": "and", - "translation": "and", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Free coin rolls if you are a customer or %s per roll if you are not a customer. There are coin roll machines.", - "message": "Free coin rolls if you are a customer or %s per roll if you are not a customer. There are coin roll machines.", - "translation": "Free coin rolls if you are a customer or %s per roll if you are not a customer. There are coin roll machines.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "There are coin roll machines but it is not yet known if you need to be a customer or if there are fees.", - "message": "There are coin roll machines but it is not yet known if you need to be a customer or if there are fees.", - "translation": "There are coin roll machines but it is not yet known if you need to be a customer or if there are fees.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Bank of Greece (Τράπεζα της Ελλάδος)", - "message": "Bank of Greece (Τράπεζα της Ελλάδος)", - "translation": "Bank of Greece (Τράπεζα της Ελλάδος)", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Fee-less coin rolls for everyone (you will need to show ID). The latest commemorative coins are also sold for face value.", - "message": "Fee-less coin rolls for everyone (you will need to show ID). The latest commemorative coins are also sold for face value.", - "translation": "Fee-less coin rolls for everyone (you will need to show ID). The latest commemorative coins are also sold for face value.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Fee-less coin bags for everyone (no ID necessary). Smaller denominations are often not given out, and the coin bags you recieve are very large (there are reports of %s bags containing 250 coins).", - "message": "Fee-less coin bags for everyone (no ID necessary). Smaller denominations are often not given out, and the coin bags you recieve are very large (there are reports of %s bags containing 250 coins).", - "translation": "Fee-less coin bags for everyone (no ID necessary). Smaller denominations are often not given out, and the coin bags you recieve are very large (there are reports of %s bags containing 250 coins).", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "In general, coin rolls are available at banks with a fee of %s per roll; rolls could potentially have no fee if you only need a few.", - "message": "In general, coin rolls are available at banks with a fee of %s per roll; rolls could potentially have no fee if you only need a few.", - "translation": "In general, coin rolls are available at banks with a fee of %s per roll; rolls could potentially have no fee if you only need a few.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "There are coin roll machines but it is unknown if you need to be a customer or if there are additional fees.", - "message": "There are coin roll machines but it is unknown if you need to be a customer or if there are additional fees.", - "translation": "There are coin roll machines but it is unknown if you need to be a customer or if there are additional fees.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Bank of Italy", - "message": "Bank of Italy", - "translation": "Bank of Italy", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin rolls are available to everyone.", - "message": "Coin rolls are available to everyone.", - "translation": "Coin rolls are available to everyone.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Works, but with very high fees (5%% of cost).", - "message": "Works, but with very high fees (5%% of cost).", - "translation": "Works, but with very high fees (5%% of cost).", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Fee of %s per roll of 2 euro coins.", - "message": "Fee of %s per roll of 2 euro coins.", - "translation": "Fee of %s per roll of 2 euro coins.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "As far as we are aware, Lietuvos Bankas only distributes coin rolls to businesses.", - "message": "As far as we are aware, Lietuvos Bankas only distributes coin rolls to businesses.", - "translation": "As far as we are aware, Lietuvos Bankas only distributes coin rolls to businesses.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "It may be worth checking out payout machines to exchange banknotes into coins.", - "message": "It may be worth checking out payout machines to exchange banknotes into coins.", - "translation": "It may be worth checking out payout machines to exchange banknotes into coins.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Luxembourgish Central Bank (Banque Centrale du Luxembourg)", - "message": "Luxembourgish Central Bank (Banque Centrale du Luxembourg)", - "translation": "Luxembourgish Central Bank (Banque Centrale du Luxembourg)", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "We currently have no information regarding regular coins, however their webshop sells commemorative coins (for a high premium, but better than most resellers). Commemorative coins are also available for purchase in-person.", - "message": "We currently have no information regarding regular coins, however their webshop sells commemorative coins (for a high premium, but better than most resellers). Commemorative coins are also available for purchase in-person.", - "translation": "We currently have no information regarding regular coins, however their webshop sells commemorative coins (for a high premium, but better than most resellers). Commemorative coins are also available for purchase in-person.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "You should be able to get coin rolls with no additional fees.", - "message": "You should be able to get coin rolls with no additional fees.", - "translation": "You should be able to get coin rolls with no additional fees.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "In general coin rolls are sold with a fee of %s per roll, but we’re lacking a lot of information.", - "message": "In general coin rolls are sold with a fee of %s per roll, but we’re lacking a lot of information.", - "translation": "In general coin rolls are sold with a fee of %s per roll, but we’re lacking a lot of information.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Bank of Valletta and HSBC Bank Malta", - "message": "Bank of Valletta and HSBC Bank Malta", - "translation": "Bank of Valletta and HSBC Bank Malta", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "You can get rolls for a fee of %s per roll. You must order coin rolls through their online platform, and you must be a customer.", - "message": "You can get rolls for a fee of %s per roll. You must order coin rolls through their online platform, and you must be a customer.", - "translation": "You can get rolls for a fee of %s per roll. You must order coin rolls through their online platform, and you must be a customer.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Banks in the Netherlands do not carry cash, and as such it’s not possible to obtain rolls from bank tellers. Obtaining coins from the Dutch Central Bank (De Nederlandsche Bank) is also not possible. If you want to obtain coin rolls you need to use a Geldmaat coin roll machine which can be found in specific branches of GAMMA and Karwei. Geldmaat offers a map on their website where you can search for branches with these machines; you can find that map %shere%s.", - "message": "Banks in the Netherlands do not carry cash, and as such it’s not possible to obtain rolls from bank tellers. Obtaining coins from the Dutch Central Bank (De Nederlandsche Bank) is also not possible. If you want to obtain coin rolls you need to use a Geldmaat coin roll machine which can be found in specific branches of GAMMA and Karwei. Geldmaat offers a map on their website where you can search for branches with these machines; you can find that map %shere%s.", - "translation": "Banks in the Netherlands do not carry cash, and as such it’s not possible to obtain rolls from bank tellers. Obtaining coins from the Dutch Central Bank (De Nederlandsche Bank) is also not possible. If you want to obtain coin rolls you need to use a Geldmaat coin roll machine which can be found in specific branches of GAMMA and Karwei. Geldmaat offers a map on their website where you can search for branches with these machines; you can find that map %shere%s.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "In order to be able to use a Geldmaat coin machine, you must be a customer of either ABN AMRO, ING, or Rabobank. You also cannot pay by cash, only card payments are allowed. All three banks charge a withdrawal fee for getting coin rolls, which are detailed in the list below.", - "message": "In order to be able to use a Geldmaat coin machine, you must be a customer of either ABN AMRO, ING, or Rabobank. You also cannot pay by cash, only card payments are allowed. All three banks charge a withdrawal fee for getting coin rolls, which are detailed in the list below.", - "translation": "In order to be able to use a Geldmaat coin machine, you must be a customer of either ABN AMRO, ING, or Rabobank. You also cannot pay by cash, only card payments are allowed. All three banks charge a withdrawal fee for getting coin rolls, which are detailed in the list below.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "%s per roll.", - "message": "%s per roll.", - "translation": "%s per roll.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Base fee of %s + %s per roll.", - "message": "Base fee of %s + %s per roll.", - "translation": "Base fee of %s + %s per roll.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "One- and two-cent coins have been removed from circulation and cannot be obtained.", - "message": "One- and two-cent coins have been removed from circulation and cannot be obtained.", - "translation": "One- and two-cent coins have been removed from circulation and cannot be obtained.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin bags are sold with no additional fees to bank customers.", - "message": "Coin bags are sold with no additional fees to bank customers.", - "translation": "Coin bags are sold with no additional fees to bank customers.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Bank of Portugal (Banco de Portugal)", - "message": "Bank of Portugal (Banco de Portugal)", - "translation": "Bank of Portugal (Banco de Portugal)", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin bags are sold with no additional fees to everyone.", - "message": "Coin bags are sold with no additional fees to everyone.", - "translation": "Coin bags are sold with no additional fees to everyone.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "In general there is a %s fee for coin rolls.", - "message": "In general there is a %s fee for coin rolls.", - "translation": "In general there is a %s fee for coin rolls.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Bank of Slovenia (Banka Slovenije)", - "message": "Bank of Slovenia (Banka Slovenije)", - "translation": "Bank of Slovenia (Banka Slovenije)", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "You can purchase commemorative coins for face value, and coin rolls are sold with no fees to everyone.", - "message": "You can purchase commemorative coins for face value, and coin rolls are sold with no fees to everyone.", - "translation": "You can purchase commemorative coins for face value, and coin rolls are sold with no fees to everyone.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "National Bank of Slovakia (Národná banka Slovenska)", - "message": "National Bank of Slovakia (Národná banka Slovenska)", - "translation": "National Bank of Slovakia (Národná banka Slovenska)", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "You may be able to get uncirculated rolls, but this is not yet confirmed.", - "message": "You may be able to get uncirculated rolls, but this is not yet confirmed.", - "translation": "You may be able to get uncirculated rolls, but this is not yet confirmed.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "You can get an unlimited number of rolls for a %s fee. You must be a customer of the bank.", - "message": "You can get an unlimited number of rolls for a %s fee. You must be a customer of the bank.", - "translation": "You can get an unlimited number of rolls for a %s fee. You must be a customer of the bank.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Ask the Pope nicely and he’ll probably give you some Vatican coins for free.", - "message": "Ask the Pope nicely and he’ll probably give you some Vatican coins for free.", - "translation": "Ask the Pope nicely and he’ll probably give you some Vatican coins for free.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "We currently have no information regarding coin roll hunting in %s.", - "message": "We currently have no information regarding coin roll hunting in %s.", - "translation": "We currently have no information regarding coin roll hunting in %s.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin Storage", - "message": "Coin Storage", - "translation": "Coin Storage", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "There are many different methods of storing your collecting, each with their own benefits and drawbacks. This page will describe the most common methods collectors use to store their coins, as well as the pros and cons of each method.", - "message": "There are many different methods of storing your collecting, each with their own benefits and drawbacks. This page will describe the most common methods collectors use to store their coins, as well as the pros and cons of each method.", - "translation": "There are many different methods of storing your collecting, each with their own benefits and drawbacks. This page will describe the most common methods collectors use to store their coins, as well as the pros and cons of each method.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin Albums", - "message": "Coin Albums", - "translation": "Coin Albums", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin albums are one of the most popular ways of storing coins. In a coin album you will have multiple coin sheets. These sheets are plastic pages with slots that you can put your coin in to keep them protected. When searching for sheets for your album it is very important to ensure that they do not contain any PVC, which will damage your coins. Some albums will come with sheets already included.", - "message": "Coin albums are one of the most popular ways of storing coins. In a coin album you will have multiple coin sheets. These sheets are plastic pages with slots that you can put your coin in to keep them protected. When searching for sheets for your album it is very important to ensure that they do not contain any PVC, which will damage your coins. Some albums will come with sheets already included.", - "translation": "Coin albums are one of the most popular ways of storing coins. In a coin album you will have multiple coin sheets. These sheets are plastic pages with slots that you can put your coin in to keep them protected. When searching for sheets for your album it is very important to ensure that they do not contain any PVC, which will damage your coins. Some albums will come with sheets already included.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Albums can be an affordable way to store your coins, but higher-end albums can be a bit expensive. Also remember to always ensure that your albums do not contain any PVC!", - "message": "Albums can be an affordable way to store your coins, but higher-end albums can be a bit expensive. Also remember to always ensure that your albums do not contain any PVC!", - "translation": "Albums can be an affordable way to store your coins, but higher-end albums can be a bit expensive. Also remember to always ensure that your albums do not contain any PVC!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin Boxes", - "message": "Coin Boxes", - "translation": "Coin Boxes", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin boxes are to many people the most aesthetic way to store your coins. A coin box is comprised of various layers which can be stacked ontop of each other. Each layer has various holes where you can insert your coins. Typically you are meant to store your coins in a layer encased in a coin capsule.", - "message": "Coin boxes are to many people the most aesthetic way to store your coins. A coin box is comprised of various layers which can be stacked ontop of each other. Each layer has various holes where you can insert your coins. Typically you are meant to store your coins in a layer encased in a coin capsule.", - "translation": "Coin boxes are to many people the most aesthetic way to store your coins. A coin box is comprised of various layers which can be stacked ontop of each other. Each layer has various holes where you can insert your coins. Typically you are meant to store your coins in a layer encased in a coin capsule.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Boxes are quite space-inefficient and are one of the most expensive ways to store your coins, but at the same time they offer a great visual appeal.", - "message": "Boxes are quite space-inefficient and are one of the most expensive ways to store your coins, but at the same time they offer a great visual appeal.", - "translation": "Boxes are quite space-inefficient and are one of the most expensive ways to store your coins, but at the same time they offer a great visual appeal.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin Capsules", - "message": "Coin Capsules", - "translation": "Coin Capsules", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin capsules are plastic capsules you can put your coin in. They offer good protection to your coins, while still allowing you to view all parts of your coin easily, including the edge engravings and -inscriptions. Capsules are also far more durable than flips, and can be opened and closed repeatedly allowing for them to be reused. This isn’t really possible with flips.", - "message": "Coin capsules are plastic capsules you can put your coin in. They offer good protection to your coins, while still allowing you to view all parts of your coin easily, including the edge engravings and -inscriptions. Capsules are also far more durable than flips, and can be opened and closed repeatedly allowing for them to be reused. This isn’t really possible with flips.", - "translation": "Coin capsules are plastic capsules you can put your coin in. They offer good protection to your coins, while still allowing you to view all parts of your coin easily, including the edge engravings and -inscriptions. Capsules are also far more durable than flips, and can be opened and closed repeatedly allowing for them to be reused. This isn’t really possible with flips.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Capsules can be a bit pricey, but are reusable and are very durable. They also come in different sizes, so make sure you get the right size for your coins.", - "message": "Capsules can be a bit pricey, but are reusable and are very durable. They also come in different sizes, so make sure you get the right size for your coins.", - "translation": "Capsules can be a bit pricey, but are reusable and are very durable. They also come in different sizes, so make sure you get the right size for your coins.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin Flips", - "message": "Coin Flips", - "translation": "Coin Flips", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin flips, also known as ‘2x2’ flips by some Americans are small cardboard flips with a plastic covered hole in the middle for viewing. Most coin flips are stapled, meaning you put your coin in the flip and staple it shut. These kinds of flips are very cheap, and you can buy stacks of a few hundred for only a few euros. If you don’t like the staples though, you can also buy adhesive-flips that glue themselves shut. These flips are more expensive, but also look better than their stapled equivalents.", - "message": "Coin flips, also known as ‘2x2’ flips by some Americans are small cardboard flips with a plastic covered hole in the middle for viewing. Most coin flips are stapled, meaning you put your coin in the flip and staple it shut. These kinds of flips are very cheap, and you can buy stacks of a few hundred for only a few euros. If you don’t like the staples though, you can also buy adhesive-flips that glue themselves shut. These flips are more expensive, but also look better than their stapled equivalents.", - "translation": "Coin flips, also known as ‘2x2’ flips by some Americans are small cardboard flips with a plastic covered hole in the middle for viewing. Most coin flips are stapled, meaning you put your coin in the flip and staple it shut. These kinds of flips are very cheap, and you can buy stacks of a few hundred for only a few euros. If you don’t like the staples though, you can also buy adhesive-flips that glue themselves shut. These flips are more expensive, but also look better than their stapled equivalents.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin slips are also pretty space efficient, and can be easily stacked in boxes for compact storage. Many collectors also like to write notes about their coins on the flips. There also exist special sheets for coin albums that allow you to put in flipped coins, but this is more expensive and less space-efficient than simply using flips or an album without flips.", - "message": "Coin slips are also pretty space efficient, and can be easily stacked in boxes for compact storage. Many collectors also like to write notes about their coins on the flips. There also exist special sheets for coin albums that allow you to put in flipped coins, but this is more expensive and less space-efficient than simply using flips or an album without flips.", - "translation": "Coin slips are also pretty space efficient, and can be easily stacked in boxes for compact storage. Many collectors also like to write notes about their coins on the flips. There also exist special sheets for coin albums that allow you to put in flipped coins, but this is more expensive and less space-efficient than simply using flips or an album without flips.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin Rolls", - "message": "Coin Rolls", - "translation": "Coin Rolls", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "This is probably the most inexpensive way to store your coins. If you take good care of the paper when opening your coin rolls, you can simply reuse them for storage. Just roll your coins back up and put some rubber bands on the ends. You can also get reusable plastic rolls that can be opened and closed. You will need different rolls based on the denomination you want to store, but they are very space-efficient.", - "message": "This is probably the most inexpensive way to store your coins. If you take good care of the paper when opening your coin rolls, you can simply reuse them for storage. Just roll your coins back up and put some rubber bands on the ends. You can also get reusable plastic rolls that can be opened and closed. You will need different rolls based on the denomination you want to store, but they are very space-efficient.", - "translation": "This is probably the most inexpensive way to store your coins. If you take good care of the paper when opening your coin rolls, you can simply reuse them for storage. Just roll your coins back up and put some rubber bands on the ends. You can also get reusable plastic rolls that can be opened and closed. You will need different rolls based on the denomination you want to store, but they are very space-efficient.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Examples", - "message": "Examples", - "translation": "Examples", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "In case you’re looking for some inspiration on how to store your collections, here are some examples.", - "message": "In case you’re looking for some inspiration on how to store your collections, here are some examples.", - "translation": "In case you’re looking for some inspiration on how to store your collections, here are some examples.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Euro Coin Collecting", - "message": "Euro Coin Collecting", - "translation": "Euro Coin Collecting", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "What is Vending Machine Hunting?", - "message": "What is Vending Machine Hunting?", - "translation": "What is Vending Machine Hunting?", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "‘Vending machine hunting’ is a strategy of collecting coins whereby you continuously insert coins into a vending machine and cancel the transaction by pressing the return button. When the vending machine returns your coins to you, you will often get different coins from the ones you put in, and you can repeat this process until you’ve searched through every coin in the machine.", - "message": "‘Vending machine hunting’ is a strategy of collecting coins whereby you continuously insert coins into a vending machine and cancel the transaction by pressing the return button. When the vending machine returns your coins to you, you will often get different coins from the ones you put in, and you can repeat this process until you’ve searched through every coin in the machine.", - "translation": "‘Vending machine hunting’ is a strategy of collecting coins whereby you continuously insert coins into a vending machine and cancel the transaction by pressing the return button. When the vending machine returns your coins to you, you will often get different coins from the ones you put in, and you can repeat this process until you’ve searched through every coin in the machine.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The Test Coins", - "message": "The Test Coins", - "translation": "The Test Coins", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "First, you want to make sure the vending machine you come across actually gives back change — sometimes they don’t! Throw in a 10 cent coin and press the return button. If it doesn’t give the coin back, you can move on to the next machine; there’s a high chance it won’t return higher denominations either. Next throw in a random 2 euro coin and press the return button. You should do this because vending machines may not return 2 euro coins, but rather 1 euro- or 50 cent coins instead. It’s better to find out immediately as opposed to later once you’ve already put in all of your 2 euro coins.", - "message": "First, you want to make sure the vending machine you come across actually gives back change — sometimes they don’t! Throw in a 10 cent coin and press the return button. If it doesn’t give the coin back, you can move on to the next machine; there’s a high chance it won’t return higher denominations either. Next throw in a random 2 euro coin and press the return button. You should do this because vending machines may not return 2 euro coins, but rather 1 euro- or 50 cent coins instead. It’s better to find out immediately as opposed to later once you’ve already put in all of your 2 euro coins.", - "translation": "First, you want to make sure the vending machine you come across actually gives back change — sometimes they don’t! Throw in a 10 cent coin and press the return button. If it doesn’t give the coin back, you can move on to the next machine; there’s a high chance it won’t return higher denominations either. Next throw in a random 2 euro coin and press the return button. You should do this because vending machines may not return 2 euro coins, but rather 1 euro- or 50 cent coins instead. It’s better to find out immediately as opposed to later once you’ve already put in all of your 2 euro coins.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The Stopper", - "message": "The Stopper", - "translation": "The Stopper", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "We want to be able to know when we’ve gone through all the coins in the vending machine. To do this, take out a coin and mark it with something (drawing on it with a Sharpie works well), then put it into the machine. Next time you get the same coin back, you know you’ve gone through everything.", - "message": "We want to be able to know when we’ve gone through all the coins in the vending machine. To do this, take out a coin and mark it with something (drawing on it with a Sharpie works well), then put it into the machine. Next time you get the same coin back, you know you’ve gone through everything.", - "translation": "We want to be able to know when we’ve gone through all the coins in the vending machine. To do this, take out a coin and mark it with something (drawing on it with a Sharpie works well), then put it into the machine. Next time you get the same coin back, you know you’ve gone through everything.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Rejected Stoppers and Coins", - "message": "Rejected Stoppers and Coins", - "translation": "Rejected Stoppers and Coins", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if the coin was dropped into a box (normally adding a coin should be silent after you throw it in). This means the coin was not added to the stack properly, and so it will not be returned. Pay attention to this noise, because you won’t be getting the stopper back! Throw in another marked coin instead until the machine accepts the coin.", - "message": "Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if the coin was dropped into a box (normally adding a coin should be silent after you throw it in). This means the coin was not added to the stack properly, and so it will not be returned. Pay attention to this noise, because you won’t be getting the stopper back! Throw in another marked coin instead until the machine accepts the coin.", - "translation": "Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if the coin was dropped into a box (normally adding a coin should be silent after you throw it in). This means the coin was not added to the stack properly, and so it will not be returned. Pay attention to this noise, because you won’t be getting the stopper back! Throw in another marked coin instead until the machine accepts the coin.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "(Non-)Merging Machines", - "message": "(Non-)Merging Machines", - "translation": "(Non-)Merging Machines", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "We generally identify between two main types of vending machines.", - "message": "We generally identify between two main types of vending machines.", - "translation": "We generally identify between two main types of vending machines.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Merging", - "message": "Merging", - "translation": "Merging", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The vending machine merges change together. For example if you throw in five 50 cent coins, the machine returns either two 1 euro coins and one 50 cent coin or one 2 euro and one 50 cent coin. This usually means you can hunt 2 euro coins very quickly but other denominations only once at a time. A good tip is to throw in an odd number of euros and 80 cents if you want to search through all denominations.", - "message": "The vending machine merges change together. For example if you throw in five 50 cent coins, the machine returns either two 1 euro coins and one 50 cent coin or one 2 euro and one 50 cent coin. This usually means you can hunt 2 euro coins very quickly but other denominations only once at a time. A good tip is to throw in an odd number of euros and 80 cents if you want to search through all denominations.", - "translation": "The vending machine merges change together. For example if you throw in five 50 cent coins, the machine returns either two 1 euro coins and one 50 cent coin or one 2 euro and one 50 cent coin. This usually means you can hunt 2 euro coins very quickly but other denominations only once at a time. A good tip is to throw in an odd number of euros and 80 cents if you want to search through all denominations.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Non-Merging", - "message": "Non-Merging", - "translation": "Non-Merging", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The vending machine does not merge change together. This means if you throw in five 50 cent coins it will return five 50 cent coins. This makes it very easy to hunt a large amount of a specific denomination.", - "message": "The vending machine does not merge change together. This means if you throw in five 50 cent coins it will return five 50 cent coins. This makes it very easy to hunt a large amount of a specific denomination.", - "translation": "The vending machine does not merge change together. This means if you throw in five 50 cent coins it will return five 50 cent coins. This makes it very easy to hunt a large amount of a specific denomination.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Limits", - "message": "Limits", - "translation": "Limits", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "There are some limits to vending machine hunts which you need to be aware of.", - "message": "There are some limits to vending machine hunts which you need to be aware of.", - "translation": "There are some limits to vending machine hunts which you need to be aware of.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Maximum Input Limit", - "message": "Maximum Input Limit", - "translation": "Maximum Input Limit", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Some machines have a maximum amount you can throw in, and will reject anything higher. For example machines with a max limit of five euros will reject any additional coins if you throw in five euros. You can try to go above the limit if you throw in, say, %s and then another one- or two euro coin; the machine will probably accept it.", - "message": "Some machines have a maximum amount you can throw in, and will reject anything higher. For example machines with a max limit of five euros will reject any additional coins if you throw in five euros. You can try to go above the limit if you throw in, say, %s and then another one- or two euro coin; the machine will probably accept it.", - "translation": "Some machines have a maximum amount you can throw in, and will reject anything higher. For example machines with a max limit of five euros will reject any additional coins if you throw in five euros. You can try to go above the limit if you throw in, say, %s and then another one- or two euro coin; the machine will probably accept it.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Maximum Change Limit", - "message": "Maximum Change Limit", - "translation": "Maximum Change Limit", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Some machines will either give back large amounts of change in bills or will not give back large amounts of change at all (usually cigarette machines). Read the labels on all machines carefully since these limits are usually written there.", - "message": "Some machines will either give back large amounts of change in bills or will not give back large amounts of change at all (usually cigarette machines). Read the labels on all machines carefully since these limits are usually written there.", - "translation": "Some machines will either give back large amounts of change in bills or will not give back large amounts of change at all (usually cigarette machines). Read the labels on all machines carefully since these limits are usually written there.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Even if no limits are listed, it’s still advised that you exercise caution: it is not uncommon for a vending machine to steal your money. In the case that a vending machine does steal your money, look for a label on the machine that contains a support number.", - "message": "Even if no limits are listed, it’s still advised that you exercise caution: it is not uncommon for a vending machine to steal your money. In the case that a vending machine does steal your money, look for a label on the machine that contains a support number.", - "translation": "Even if no limits are listed, it’s still advised that you exercise caution: it is not uncommon for a vending machine to steal your money. In the case that a vending machine does steal your money, look for a label on the machine that contains a support number.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "For information on Austrian cigarette machines, see the ‘%sCigarette Machines%s’ section.", - "message": "For information on Austrian cigarette machines, see the ‘%sCigarette Machines%s’ section.", - "translation": "For information on Austrian cigarette machines, see the ‘%sCigarette Machines%s’ section.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Cigarette Machines", - "message": "Cigarette Machines", - "translation": "Cigarette Machines", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "In some countries where cigarette machines are legal, you can hunt through them as well. Unless you’re in Malta, you must verify your age on them by either sliding an ID card through a sensor or holding a debit card on an RFID scanner; you must do this for every cycle. Sometimes you must also select something to purchase, throw in less money than the cost, and then cancel the purchase. Note that most cigarette machines in Austria have a %s max change limit.", - "message": "In some countries where cigarette machines are legal, you can hunt through them as well. Unless you’re in Malta, you must verify your age on them by either sliding an ID card through a sensor or holding a debit card on an RFID scanner; you must do this for every cycle. Sometimes you must also select something to purchase, throw in less money than the cost, and then cancel the purchase. Note that most cigarette machines in Austria have a %s max change limit.", - "translation": "In some countries where cigarette machines are legal, you can hunt through them as well. Unless you’re in Malta, you must verify your age on them by either sliding an ID card through a sensor or holding a debit card on an RFID scanner; you must do this for every cycle. Sometimes you must also select something to purchase, throw in less money than the cost, and then cancel the purchase. Note that most cigarette machines in Austria have a %s max change limit.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "For RFID scanner machines it helps to wear a glove and slide a debit card into the back of it so you can easily use both hands and don’t have to fumble with a card and coins.", - "message": "For RFID scanner machines it helps to wear a glove and slide a debit card into the back of it so you can easily use both hands and don’t have to fumble with a card and coins.", - "translation": "For RFID scanner machines it helps to wear a glove and slide a debit card into the back of it so you can easily use both hands and don’t have to fumble with a card and coins.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "On this section of the site you can find everything there is to know about collecting Euro coins. If this is a hobby that interests you, join the Discord server linked at the top of the page!", - "message": "On this section of the site you can find everything there is to know about collecting Euro coins. If this is a hobby that interests you, join the Discord server linked at the top of the page!", - "translation": "On this section of the site you can find everything there is to know about collecting Euro coins. If this is a hobby that interests you, join the Discord server linked at the top of the page!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Learn about collecting coins from coin rolls!", - "message": "Learn about collecting coins from coin rolls!", - "translation": "Learn about collecting coins from coin rolls!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Learn about the different methods to storing your collection!", - "message": "Learn about the different methods to storing your collection!", - "translation": "Learn about the different methods to storing your collection!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Shop Hunting", - "message": "Shop Hunting", - "translation": "Shop Hunting", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Learn about how to collect coins from shop-keepers and other people who deal in cash!", - "message": "Learn about how to collect coins from shop-keepers and other people who deal in cash!", - "translation": "Learn about how to collect coins from shop-keepers and other people who deal in cash!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Vending Machine Hunting", - "message": "Vending Machine Hunting", - "translation": "Vending Machine Hunting", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Learn about collecting coins from vending machines!", - "message": "Learn about collecting coins from vending machines!", - "translation": "Learn about collecting coins from vending machines!", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "The Euro Cash Compendium", - "message": "The Euro Cash Compendium", - "translation": "The Euro Cash Compendium", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "United in", - "message": "United in", - "translation": "United in", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "diversity", - "message": "diversity", - "translation": "diversity", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "cash", - "message": "cash", - "translation": "cash", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Welcome to the Euro Cash Compendium. 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.", - "message": "Welcome to the Euro Cash Compendium. 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.", - "translation": "Welcome to the Euro Cash Compendium. 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.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Euro Cash Jargon", - "message": "Euro Cash Jargon", - "translation": "Euro Cash Jargon", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Both on this website and in other euro-cash-related forums there are many terms you will come across that you may not immediately understand. This page will hopefully get you up to speed with the most important and frequently-used terminology.", - "message": "Both on this website and in other euro-cash-related forums there are many terms you will come across that you may not immediately understand. This page will hopefully get you up to speed with the most important and frequently-used terminology.", - "translation": "Both on this website and in other euro-cash-related forums there are many terms you will come across that you may not immediately understand. This page will hopefully get you up to speed with the most important and frequently-used terminology.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "All terms defined below can be used as clickable links which highlight the selected term. It is recommended to use these links when sharing this page with others, so that the relevant terms are highlighted.", - "message": "All terms defined below can be used as clickable links which highlight the selected term. It is recommended to use these links when sharing this page with others, so that the relevant terms are highlighted.", - "translation": "All terms defined below can be used as clickable links which highlight the selected term. It is recommended to use these links when sharing this page with others, so that the relevant terms are highlighted.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "General Terms", - "message": "General Terms", - "translation": "General Terms", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "AU coins are coins that are in extremely good condition as a result of limited use in circulation. Unlike the term ‘UNC’, this term is a description of the coins quality, not its usage. AU coins often appear to retain most of their original luster as well as possessing little-to-no scratches or other forms of post-mint damage (PMD).", - "message": "AU coins are coins that are in extremely good condition as a result of limited use in circulation. Unlike the term ‘UNC’, this term is a description of the coins quality, not its usage. AU coins often appear to retain most of their original luster as well as possessing little-to-no scratches or other forms of post-mint damage (PMD).", - "translation": "AU coins are coins that are in extremely good condition as a result of limited use in circulation. Unlike the term ‘UNC’, this term is a description of the coins quality, not its usage. AU coins often appear to retain most of their original luster as well as possessing little-to-no scratches or other forms of post-mint damage (PMD).", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "BU is a general term to refer to coins from coincards and -sets. These are different from UNC coins in that they are typically handled with more care during the minting process and are struck with higher-quality dies than the coins minted for coin rolls resulting in a higher-quality end product. You may also see these coins referred to by the French term ‘fleur de coin’.", - "message": "BU is a general term to refer to coins from coincards and -sets. These are different from UNC coins in that they are typically handled with more care during the minting process and are struck with higher-quality dies than the coins minted for coin rolls resulting in a higher-quality end product. You may also see these coins referred to by the French term ‘fleur de coin’.", - "translation": "BU is a general term to refer to coins from coincards and -sets. These are different from UNC coins in that they are typically handled with more care during the minting process and are struck with higher-quality dies than the coins minted for coin rolls resulting in a higher-quality end product. You may also see these coins referred to by the French term ‘fleur de coin’.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "NIFC coins are coins minted without the intention of being put into general circulation. These coins are typically minted with the purpose of being put into coincards or coin-sets to be sold to collectors. Occasionally they are also handed out to collectors for face value at banks.", - "message": "NIFC coins are coins minted without the intention of being put into general circulation. These coins are typically minted with the purpose of being put into coincards or coin-sets to be sold to collectors. Occasionally they are also handed out to collectors for face value at banks.", - "translation": "NIFC coins are coins minted without the intention of being put into general circulation. These coins are typically minted with the purpose of being put into coincards or coin-sets to be sold to collectors. Occasionally they are also handed out to collectors for face value at banks.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "While uncommon, NIFC coins are occasionally found in circulation. This can happen for a variety of reasons such as someone depositing their coin collection (known as a ‘collection dump’), or a collector’s child spending their rare coins on an ice cream. Some coin mints have also been known to put NIFC coins that have gone unsold for multiple years into circulation.", - "message": "While uncommon, NIFC coins are occasionally found in circulation. This can happen for a variety of reasons such as someone depositing their coin collection (known as a ‘collection dump’), or a collector’s child spending their rare coins on an ice cream. Some coin mints have also been known to put NIFC coins that have gone unsold for multiple years into circulation.", - "translation": "While uncommon, NIFC coins are occasionally found in circulation. This can happen for a variety of reasons such as someone depositing their coin collection (known as a ‘collection dump’), or a collector’s child spending their rare coins on an ice cream. Some coin mints have also been known to put NIFC coins that have gone unsold for multiple years into circulation.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Post-mint damage is any damage that a coin has sustained outside of the minting process, such as through being dropped on the ground, hit against a table, etc.", - "message": "Post-mint damage is any damage that a coin has sustained outside of the minting process, such as through being dropped on the ground, hit against a table, etc.", - "translation": "Post-mint damage is any damage that a coin has sustained outside of the minting process, such as through being dropped on the ground, hit against a table, etc.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Uncirculated coins are coins that have never been used in a monetary exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very good condition, but this is incorrect. A coin in poor condition that has never been circulated is still considered an ‘UNC’ coin.", - "message": "Uncirculated coins are coins that have never been used in a monetary exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very good condition, but this is incorrect. A coin in poor condition that has never been circulated is still considered an ‘UNC’ coin.", - "translation": "Uncirculated coins are coins that have never been used in a monetary exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very good condition, but this is incorrect. A coin in poor condition that has never been circulated is still considered an ‘UNC’ coin.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Collector-Specific Terms", - "message": "Collector-Specific Terms", - "translation": "Collector-Specific Terms", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Coin roll hunting is a general term for the activity of searching through coin rolls and -bags to find coins for a collection. Coin rolls and bags are often obtained at banks or coin roll machines.", - "message": "Coin roll hunting is a general term for the activity of searching through coin rolls and -bags to find coins for a collection. Coin rolls and bags are often obtained at banks or coin roll machines.", - "translation": "Coin roll hunting is a general term for the activity of searching through coin rolls and -bags to find coins for a collection. Coin rolls and bags are often obtained at banks or coin roll machines.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Select Your Language", - "message": "Select Your Language", - "translation": "Select Your Language", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Select your preferred language to use on the site.", - "message": "Select your preferred language to use on the site.", - "translation": "Select your preferred language to use on the site.", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Eurozone Languages", - "message": "Eurozone Languages", - "translation": "Eurozone Languages", - "translatorComment": "Copied from source.", - "fuzzy": true - }, - { - "id": "Other Languages", - "message": "Other Languages", - "translation": "Other Languages", - "translatorComment": "Copied from source.", - "fuzzy": true - } - ] -}
\ No newline at end of file diff --git a/src/rosetta/nl/messages.gotext.json b/src/rosetta/nl/messages.gotext.json deleted file mode 100644 index 8fdd868..0000000 --- a/src/rosetta/nl/messages.gotext.json +++ /dev/null @@ -1,1460 +0,0 @@ -{ - "language": "nl", - "messages": [ - { - "id": "Andorra", - "message": "Andorra", - "translation": "" - }, - { - "id": "Austria", - "message": "Austria", - "translation": "" - }, - { - "id": "Belgium", - "message": "Belgium", - "translation": "" - }, - { - "id": "Cyprus", - "message": "Cyprus", - "translation": "" - }, - { - "id": "Germany", - "message": "Germany", - "translation": "" - }, - { - "id": "Estonia", - "message": "Estonia", - "translation": "" - }, - { - "id": "Spain", - "message": "Spain", - "translation": "" - }, - { - "id": "Finland", - "message": "Finland", - "translation": "" - }, - { - "id": "France", - "message": "France", - "translation": "" - }, - { - "id": "Greece", - "message": "Greece", - "translation": "" - }, - { - "id": "Croatia", - "message": "Croatia", - "translation": "" - }, - { - "id": "Ireland", - "message": "Ireland", - "translation": "" - }, - { - "id": "Italy", - "message": "Italy", - "translation": "" - }, - { - "id": "Lithuania", - "message": "Lithuania", - "translation": "" - }, - { - "id": "Luxembourg", - "message": "Luxembourg", - "translation": "" - }, - { - "id": "Latvia", - "message": "Latvia", - "translation": "" - }, - { - "id": "Monaco", - "message": "Monaco", - "translation": "" - }, - { - "id": "Malta", - "message": "Malta", - "translation": "" - }, - { - "id": "Netherlands", - "message": "Netherlands", - "translation": "Nederland" - }, - { - "id": "Portugal", - "message": "Portugal", - "translation": "" - }, - { - "id": "Slovenia", - "message": "Slovenia", - "translation": "" - }, - { - "id": "Slovakia", - "message": "Slovakia", - "translation": "" - }, - { - "id": "San Marino", - "message": "San Marino", - "translation": "" - }, - { - "id": "Vatican City", - "message": "Vatican City", - "translation": "" - }, - { - "id": "Page Not Found", - "message": "Page Not Found", - "translation": "" - }, - { - "id": "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 %s.", - "message": "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 %s.", - "translation": "" - }, - { - "id": "Euro Cash", - "message": "Euro Cash", - "translation": "" - }, - { - "id": "Found a mistake or want to contribute missing information?", - "message": "Found a mistake or want to contribute missing information?", - "translation": "" - }, - { - "id": "Feel free to contact us!", - "message": "Feel free to contact us!", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "If this issue persists, don’t hesitate to contact @onetruemangoman on Discord or to email us at %s.", - "message": "If this issue persists, don’t hesitate to contact @onetruemangoman on Discord or to email us at %s.", - "translation": "" - }, - { - "id": "Home", - "message": "Home", - "translation": "" - }, - { - "id": "News", - "message": "News", - "translation": "" - }, - { - "id": "Coin Collecting", - "message": "Coin Collecting", - "translation": "" - }, - { - "id": "Coins", - "message": "Coins", - "translation": "" - }, - { - "id": "Banknotes", - "message": "Banknotes", - "translation": "" - }, - { - "id": "Jargon", - "message": "Jargon", - "translation": "" - }, - { - "id": "Discord", - "message": "Discord", - "translation": "" - }, - { - "id": "About", - "message": "About", - "translation": "" - }, - { - "id": "Language", - "message": "Language", - "translation": "" - }, - { - "id": "About Us", - "message": "About Us", - "translation": "" - }, - { - "id": "Open Source", - "message": "Open Source", - "translation": "" - }, - { - "id": "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 %shere%s. This site is licensed under the BSD 0-Clause license giving you the full freedom to do whatever you would like with anyof the content on this site.", - "message": "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 %shere%s. This site is licensed under the BSD 0-Clause license giving you the full freedom to do whatever you would like with anyof the content on this site.", - "translation": "" - }, - { - "id": "Contact Us", - "message": "Contact Us", - "translation": "" - }, - { - "id": "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. In such a 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 included, but if not you can always send an email to %s or contact ‘@onetruemangoman’ on Discord.", - "message": "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. In such a 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 included, but if not you can always send an email to %s or contact ‘@onetruemangoman’ on Discord.", - "translation": "" - }, - { - "id": "Special Thanks", - "message": "Special Thanks", - "translation": "" - }, - { - "id": "Development", - "message": "Development", - "translation": "" - }, - { - "id": "Research", - "message": "Research", - "translation": "" - }, - { - "id": "Translations", - "message": "Translations", - "translation": "" - }, - { - "id": "British- \u0026 American English", - "message": "British- \u0026 American English", - "translation": "" - }, - { - "id": "Icelandic", - "message": "Icelandic", - "translation": "" - }, - { - "id": "Location Codes", - "message": "Location Codes", - "translation": "" - }, - { - "id": "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 issues the banknote (for the 2002 series) or where the banknote was printed (for the Europa series).", - "message": "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 issues the banknote (for the 2002 series) or where the banknote was printed (for the Europa series).", - "translation": "" - }, - { - "id": "Printer Code", - "message": "Printer Code", - "translation": "" - }, - { - "id": "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 take the form of ‘X000X0’ — or in other words — a letter followed by 3 numbers, a letter and a final number.", - "message": "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 take the form of ‘X000X0’ — or in other words — a letter followed by 3 numbers, a letter and a final number.", - "translation": "" - }, - { - "id": "The printer code can be a bit tricky to find. The following dropdowns will show you where to find the printer code on each note.", - "message": "The printer code can be a bit tricky to find. The following dropdowns will show you where to find the printer code on each note.", - "translation": "" - }, - { - "id": "2002 Series Printer Codes", - "message": "2002 Series Printer Codes", - "translation": "" - }, - { - "id": "All these images are taken from %seurobilltracker.com%s.", - "message": "All these images are taken from %seurobilltracker.com%s.", - "translation": "" - }, - { - "id": "Europa Series Printer Codes", - "message": "Europa Series Printer Codes", - "translation": "" - }, - { - "id": "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 will be printed multiple times on a large sheet of paper which is later cut into smaller individual banknotes. A note with the pair ‘A1’ will have been at the upper-left corner of the printing sheet, with ‘A2’ to it’s right and ‘B1’ below it.", - "message": "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 will be printed multiple times on a large sheet of paper which is later cut into smaller individual banknotes. A note with the pair ‘A1’ will have been at the upper-left corner of the printing sheet, with ‘A2’ to it’s right and ‘B1’ below it.", - "translation": "" - }, - { - "id": "2002 Series", - "message": "2002 Series", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "Code", - "message": "Code", - "translation": "" - }, - { - "id": "Country", - "message": "Country", - "translation": "" - }, - { - "id": "The first letter of the printer code can also 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.", - "message": "The first letter of the printer code can also 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.", - "translation": "" - }, - { - "id": "Printer", - "message": "Printer", - "translation": "" - }, - { - "id": "United Kingdom", - "message": "United Kingdom", - "translation": "" - }, - { - "id": "Central Bank of Ireland", - "message": "Central Bank of Ireland", - "translation": "" - }, - { - "id": "Bank of Greece", - "message": "Bank of Greece", - "translation": "" - }, - { - "id": "National Bank of Belgium", - "message": "National Bank of Belgium", - "translation": "" - }, - { - "id": "Europa Series", - "message": "Europa Series", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "Bulgaria", - "message": "Bulgaria", - "translation": "" - }, - { - "id": "%d Euro", - "message": "%d Euro", - "translation": "" - }, - { - "id": "Printer code on a %d euro bill", - "message": "Printer code on a %d euro bill", - "translation": "" - }, - { - "id": "Euro Banknotes", - "message": "Euro Banknotes", - "translation": "" - }, - { - "id": "On this section of the site you can find everything there is to know about the banknotes of the Eurozone.", - "message": "On this section of the site you can find everything there is to know about the banknotes of the Eurozone.", - "translation": "" - }, - { - "id": "Designs", - "message": "Designs", - "translation": "" - }, - { - "id": "View the different Euro-note designs!", - "message": "View the different Euro-note designs!", - "translation": "" - }, - { - "id": "Find out where your notes were printed!", - "message": "Find out where your notes were printed!", - "translation": "" - }, - { - "id": "Test Notes", - "message": "Test Notes", - "translation": "" - }, - { - "id": "Learn about the special test notes!", - "message": "Learn about the special test notes!", - "translation": "" - }, - { - "id": "Andorran Euro Coin Designs", - "message": "Andorran Euro Coin Designs", - "translation": "" - }, - { - "id": "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:", - "message": "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:", - "translation": "" - }, - { - "id": "%s, %s, and %s", - "message": "%s, %s, and %s", - "translation": "" - }, - { - "id": "Andorran landscapes, nature, fauna, and flora", - "message": "Andorran landscapes, nature, fauna, and flora", - "translation": "" - }, - { - "id": "Andorra’s Romanesque art", - "message": "Andorra’s Romanesque art", - "translation": "" - }, - { - "id": "Casa de la Vall", - "message": "Casa de la Vall", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "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.", - "message": "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.", - "translation": "" - }, - { - "id": "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:", - "message": "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:", - "translation": "" - }, - { - "id": "The bottom of the coat of arms has the motto ‘%sVIRTVS VNITA FORTIOR%s’ (‘UNITED VIRTUE IS STRONGER’).", - "message": "The bottom of the coat of arms has the motto ‘%sVIRTVS VNITA FORTIOR%s’ (‘UNITED VIRTUE IS STRONGER’).", - "translation": "" - }, - { - "id": "Austrian Euro Coin Designs", - "message": "Austrian Euro Coin Designs", - "translation": "" - }, - { - "id": "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 %sGreek euro coins%s are the only coins that feature the denomination on both the common- and national-sides of the coin.", - "message": "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 %sGreek euro coins%s are the only coins that feature the denomination on both the common- and national-sides of the coin.", - "translation": "" - }, - { - "id": "The bronze coins feature the Alpine gentian, -edelweiss, and -primrose respectively, and were chosen to symbolize the role that Austria played in the development of EU environmental policy.", - "message": "The bronze coins feature the Alpine gentian, -edelweiss, and -primrose respectively, and were chosen to symbolize the role that Austria played in the development of EU environmental policy.", - "translation": "" - }, - { - "id": "The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese Gothic architectural style dating to around the year 1160. The €0.20 coin features Belvedere Palace. This is an example of Baroque architecture and symbolises the national freedom and sovereignty of Austria. The final gold coin — the €0.50 coin — features the Secession Building: an exhibition hall in the Art Nouveau style.", - "message": "The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese Gothic architectural style dating to around the year 1160. The €0.20 coin features Belvedere Palace. This is an example of Baroque architecture and symbolises the national freedom and sovereignty of Austria. The final gold coin — the €0.50 coin — features the Secession Building: an exhibition hall in the Art Nouveau style.", - "translation": "" - }, - { - "id": "The two bimetallic coins feature the busts of the musical composer Wolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist and Nobel Peace Prize winner Bertha von Suttner.", - "message": "The two bimetallic coins feature the busts of the musical composer Wolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist and Nobel Peace Prize winner Bertha von Suttner.", - "translation": "" - }, - { - "id": "Belgian Euro Coin Designs", - "message": "Belgian Euro Coin Designs", - "translation": "" - }, - { - "id": "Since 1999 Belgium has released three series of euro coins, which each series having a single design repeated on all denominations. Starting in 1999 the Belgian euro coins featured the portrait of King Albert II with the %sroyal monogram%s in the outer ring of the coins.", - "message": "Since 1999 Belgium has released three series of euro coins, which each series having a single design repeated on all denominations. Starting in 1999 the Belgian euro coins featured the portrait of King Albert II with the %sroyal monogram%s in the outer ring of the coins.", - "translation": "" - }, - { - "id": "In 2008 a second series of coins was released featuring a slightly-modified design in which the royal monogram was moved to the inner portion of the coin along with the year of mintage in order to comply with the European Commission’s guidelines. The country code ‘BE’ was also added to the design underneath the royal monogram.", - "message": "In 2008 a second series of coins was released featuring a slightly-modified design in which the royal monogram was moved to the inner portion of the coin along with the year of mintage in order to comply with the European Commission’s guidelines. The country code ‘BE’ was also added to the design underneath the royal monogram.", - "translation": "" - }, - { - "id": "After his accession to the throne Belgium began a third series of coins in 2014 featuring the portrait of King Philippe. As is customary with coins bearing the portraits of monarchs, the direction in which the portrait faces was flipped to face right instead of left.", - "message": "After his accession to the throne Belgium began a third series of coins in 2014 featuring the portrait of King Philippe. As is customary with coins bearing the portraits of monarchs, the direction in which the portrait faces was flipped to face right instead of left.", - "translation": "" - }, - { - "id": "Croatian Euro Coin Designs", - "message": "Croatian Euro Coin Designs", - "translation": "" - }, - { - "id": "The Croatian euro coins feature four different themes, with each design featuring the Croatian checkerboard and the countries name in Croatian (‘%sHRVATSKA%s’). All designs were selected after voting in a public design competition.", - "message": "The Croatian euro coins feature four different themes, with each design featuring the Croatian checkerboard and the countries name in Croatian (‘%sHRVATSKA%s’). All designs were selected after voting in a public design competition.", - "translation": "" - }, - { - "id": "The 1-, 2-, and 5 euro cent coins were designed by Maja Škripelj and feature a motif of the letters ‘HR’ in the %sGlagolitic script%s — an old Slavic script that saw use in Croatia up until the 19th century — with ‘HR’ representing Croatia’s country code.", - "message": "The 1-, 2-, and 5 euro cent coins were designed by Maja Škripelj and feature a motif of the letters ‘HR’ in the %sGlagolitic script%s — an old Slavic script that saw use in Croatia up until the 19th century — with ‘HR’ representing Croatia’s country code.", - "translation": "" - }, - { - "id": "The 10-, 20-, and 50 euro cent coins were designed by Ivan Domagoj Račić and feature the portrait of the inventor and engineer %sNikola Tesla%s. The design of these coins caused controversy when they were first announced with the National Bank of Serbia claiming that it would be an appropriation of the cultural and scientific heritage of the Serbian people to feature the portrait of someone who ‘declared himself to be Serbian by origin’.", - "message": "The 10-, 20-, and 50 euro cent coins were designed by Ivan Domagoj Račić and feature the portrait of the inventor and engineer %sNikola Tesla%s. The design of these coins caused controversy when they were first announced with the National Bank of Serbia claiming that it would be an appropriation of the cultural and scientific heritage of the Serbian people to feature the portrait of someone who ‘declared himself to be Serbian by origin’.", - "translation": "" - }, - { - "id": "The 1 euro coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and features a marten. The marten is the semi-official national animal of Croatia and the Kuna — their pre-Euro currency — was named after the marten (‘%skuna zlatica%s’ in Croatian).", - "message": "The 1 euro coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and features a marten. The marten is the semi-official national animal of Croatia and the Kuna — their pre-Euro currency — was named after the marten (‘%skuna zlatica%s’ in Croatian).", - "translation": "" - }, - { - "id": "The 2 euro coin was designed by Ivan Šivak and features the map of Croatia. The coin also has an edge-inscription that reads ‘%sO LIJEPA O DRAGA O SLATKA SLOBODO%s’ (‘OH BEAUTIFUL, OH DEAR, OH SWEET FREEDOM’) which is a line from the play %sDubravka%s by Ivan Gundulić.", - "message": "The 2 euro coin was designed by Ivan Šivak and features the map of Croatia. The coin also has an edge-inscription that reads ‘%sO LIJEPA O DRAGA O SLATKA SLOBODO%s’ (‘OH BEAUTIFUL, OH DEAR, OH SWEET FREEDOM’) which is a line from the play %sDubravka%s by Ivan Gundulić.", - "translation": "" - }, - { - "id": "Dutch Euro Coin Designs", - "message": "Dutch Euro Coin Designs", - "translation": "" - }, - { - "id": "From the years 1999–2013 all Dutch euro coins featured the portrait of Queen Beatrix of the Netherlands. After her abdication from the throne in 2013 the designs of all denominations were changed to feature the portrait of the new King Willem-Alexander. After her abdication the direction in which the monarchs portrait faced was flipped; a tradition dating back to the earliest coins of the Kingdom of the Netherlands.", - "message": "From the years 1999–2013 all Dutch euro coins featured the portrait of Queen Beatrix of the Netherlands. After her abdication from the throne in 2013 the designs of all denominations were changed to feature the portrait of the new King Willem-Alexander. After her abdication the direction in which the monarchs portrait faced was flipped; a tradition dating back to the earliest coins of the Kingdom of the Netherlands.", - "translation": "" - }, - { - "id": "Coins featuring both monarchs contain text reading ‘%sBEATRIX KONINGIN DER NEDERLANDEN%s’ (‘BEATRIX QUEEN OF THE NETHERLANDS’) and ‘%sWillem-Alexander Koning der Nederlanden%s’ (‘Willem-Alexander King of the Netherlands’) respectively. The €2 coins also feature an edge-inscription reading ‘%sGOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆%s’ (‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’).", - "message": "Coins featuring both monarchs contain text reading ‘%sBEATRIX KONINGIN DER NEDERLANDEN%s’ (‘BEATRIX QUEEN OF THE NETHERLANDS’) and ‘%sWillem-Alexander Koning der Nederlanden%s’ (‘Willem-Alexander King of the Netherlands’) respectively. The €2 coins also feature an edge-inscription reading ‘%sGOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆%s’ (‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’).", - "translation": "" - }, - { - "id": "The €1 and €2 coins featuring King Willem-Alexander were minted with a much lower %srelief%s than most euro coins of the same denomination. As a result it is not uncommon for these coins to appear worn after little use in circulation.", - "message": "The €1 and €2 coins featuring King Willem-Alexander were minted with a much lower %srelief%s than most euro coins of the same denomination. As a result it is not uncommon for these coins to appear worn after little use in circulation.", - "translation": "" - }, - { - "id": "Euro Coin Designs", - "message": "Euro Coin Designs", - "translation": "" - }, - { - "id": "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 %svarieties%s page.", - "message": "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 %svarieties%s page.", - "translation": "" - }, - { - "id": "Euro Coin Mintages", - "message": "Euro Coin Mintages", - "translation": "" - }, - { - "id": "Here you’ll be able to view all the known mintages for all coins. You’ll also be able to filter on country, denomination, etc. If you have any mintage data that’s missing from our site, feel free to contact us.", - "message": "Here you’ll be able to view all the known mintages for all coins. You’ll also be able to filter on country, denomination, etc. If you have any mintage data that’s missing from our site, feel free to contact us.", - "translation": "" - }, - { - "id": "Additional Notes", - "message": "Additional Notes", - "translation": "" - }, - { - "id": "Most coins from the years 2003–2016 are listed as NIFC coins while other popular sources such as Numista claim they were minted for circulation. For more information on why others are wrong, %sclick here%s.", - "message": "Most coins from the years 2003–2016 are listed as NIFC coins while other popular sources such as Numista claim they were minted for circulation. For more information on why others are wrong, %sclick here%s.", - "translation": "" - }, - { - "id": "In 2003 Numista calculated a total of %d coins issued for coin sets per denomination. Our own calculations found only %d. Numista also forgot to include the many hundred thousand coins from the coin roll sets that were produced.", - "message": "In 2003 Numista calculated a total of %d coins issued for coin sets per denomination. Our own calculations found only %d. Numista also forgot to include the many hundred thousand coins from the coin roll sets that were produced.", - "translation": "" - }, - { - "id": "Filter", - "message": "Filter", - "translation": "" - }, - { - "id": "Standard Issue Coins", - "message": "Standard Issue Coins", - "translation": "" - }, - { - "id": "Year", - "message": "Year", - "translation": "" - }, - { - "id": "Unknown", - "message": "Unknown", - "translation": "" - }, - { - "id": "Error", - "message": "Error", - "translation": "" - }, - { - "id": "Commemorative Coins", - "message": "Commemorative Coins", - "translation": "" - }, - { - "id": "Commemorated Issue", - "message": "Commemorated Issue", - "translation": "" - }, - { - "id": "Mintage", - "message": "Mintage", - "translation": "" - }, - { - "id": "Euro Coins", - "message": "Euro Coins", - "translation": "" - }, - { - "id": "On this section of the site you can find everything there is to know about the coins of the Eurozone.", - "message": "On this section of the site you can find everything there is to know about the coins of the Eurozone.", - "translation": "" - }, - { - "id": "View the 600+ different Euro-coin designs!", - "message": "View the 600+ different Euro-coin designs!", - "translation": "" - }, - { - "id": "Mintages", - "message": "Mintages", - "translation": "" - }, - { - "id": "View the mintage figures of all the Euro coins!", - "message": "View the mintage figures of all the Euro coins!", - "translation": "" - }, - { - "id": "Varieties", - "message": "Varieties", - "translation": "" - }, - { - "id": "View all the known Euro varieties!", - "message": "View all the known Euro varieties!", - "translation": "" - }, - { - "id": "Coin Roll Hunting", - "message": "Coin Roll Hunting", - "translation": "" - }, - { - "id": "What is Coin Roll Hunting?", - "message": "What is Coin Roll Hunting?", - "translation": "" - }, - { - "id": "Coin roll hunting is a popular method of coin collecting in which you withdrawal cash from your bank in the form of coins which you then search through to find new additions to your collection. Once you’ve searched through all your coins, you will typically deposit your left over coins at the bank and withdrawal new coins.", - "message": "Coin roll hunting is a popular method of coin collecting in which you withdrawal cash from your bank in the form of coins which you then search through to find new additions to your collection. Once you’ve searched through all your coins, you will typically deposit your left over coins at the bank and withdrawal new coins.", - "translation": "" - }, - { - "id": "This type of coin collecting is often called ‘Coin Roll Hunting’ due to the fact that coins are often withdrawn in paper-wrapped rolls. You may however find that your coins come in plastic bags instead (common in countries like Ireland).", - "message": "This type of coin collecting is often called ‘Coin Roll Hunting’ due to the fact that coins are often withdrawn in paper-wrapped rolls. You may however find that your coins come in plastic bags instead (common in countries like Ireland).", - "translation": "" - }, - { - "id": "Depending on your bank and branch, the process of obtaining coins may differ. Some banks require you speak to a teller, others have coin machines. Some banks may also require that you are a customer or even to have a business account. If you aren’t sure about if you can get coins we suggest you contact your bank, although further down this page we also have information about the withdrawal of coins in various countries and major banks.", - "message": "Depending on your bank and branch, the process of obtaining coins may differ. Some banks require you speak to a teller, others have coin machines. Some banks may also require that you are a customer or even to have a business account. If you aren’t sure about if you can get coins we suggest you contact your bank, although further down this page we also have information about the withdrawal of coins in various countries and major banks.", - "translation": "" - }, - { - "id": "Getting Started", - "message": "Getting Started", - "translation": "" - }, - { - "id": "To get started with coin roll hunting you should first contact your bank or check their website to find details regarding coin withdrawal. You will then typically need to go to the bank to pick up your coins. Depending on your bank you may be able to withdrawal coins from a machine, although often you can pick up your coins from the banks tellers. You will also often need to pay a small fee for each roll, although some banks don’t charge fees.", - "message": "To get started with coin roll hunting you should first contact your bank or check their website to find details regarding coin withdrawal. You will then typically need to go to the bank to pick up your coins. Depending on your bank you may be able to withdrawal coins from a machine, although often you can pick up your coins from the banks tellers. You will also often need to pay a small fee for each roll, although some banks don’t charge fees.", - "translation": "" - }, - { - "id": "It is also important to find details regarding the deposit of coins. Depositing coins often also requires the payment of a fee — one which is typically more expensive than the withdrawal fees. If depositing your coins is too expensive you can always exchange your left over coins at shops for banknotes. It is often cheaper (or even free) to deposit banknotes.", - "message": "It is also important to find details regarding the deposit of coins. Depositing coins often also requires the payment of a fee — one which is typically more expensive than the withdrawal fees. If depositing your coins is too expensive you can always exchange your left over coins at shops for banknotes. It is often cheaper (or even free) to deposit banknotes.", - "translation": "" - }, - { - "id": "In some countries such as Austria it is even common to be able to withdrawal new coins from your account by exchanging the left over coins you already have.", - "message": "In some countries such as Austria it is even common to be able to withdrawal new coins from your account by exchanging the left over coins you already have.", - "translation": "" - }, - { - "id": "Country-Specific Details", - "message": "Country-Specific Details", - "translation": "" - }, - { - "id": "Below you can find all sorts of country-specific information we have regarding obtaining coin rolls. We lack a lot of information for many of the countries, so if you have any additional information such as your banks fees, the availability of coin roll machines, etc. feel free to contact us! You can find our contact information %shere%s.", - "message": "Below you can find all sorts of country-specific information we have regarding obtaining coin rolls. We lack a lot of information for many of the countries, so if you have any additional information such as your banks fees, the availability of coin roll machines, etc. feel free to contact us! You can find our contact information %shere%s.", - "translation": "" - }, - { - "id": "Be aware of the face that the information below is prone to being outdated, and as such may not reflect the current reality.", - "message": "Be aware of the face that the information below is prone to being outdated, and as such may not reflect the current reality.", - "translation": "" - }, - { - "id": "Coin rolls can be obtained from Andbank, Crèdit Andorrà, and MoraBanc. All three of these banks require that you are a customer to get rolls. There have however been reports of individuals managing to get rolls without any fees and without being a customer by simply asking kindly at the bank.", - "message": "Coin rolls can be obtained from Andbank, Crèdit Andorrà, and MoraBanc. All three of these banks require that you are a customer to get rolls. There have however been reports of individuals managing to get rolls without any fees and without being a customer by simply asking kindly at the bank.", - "translation": "" - }, - { - "id": "The Austrian National Bank does not distribute circulated rolls but sells rolls of commemorative coins at face value on release as well as uncirculated rolls for all denominations.", - "message": "The Austrian National Bank does not distribute circulated rolls but sells rolls of commemorative coins at face value on release as well as uncirculated rolls for all denominations.", - "translation": "" - }, - { - "id": "There is a fee of %s per roll. Rolls can be purchased with cash at machines. These machines are available to everyone, but not in all branches. Look for the ‘Münzrollengeber’ filter option %shere%s.", - "message": "There is a fee of %s per roll. Rolls can be purchased with cash at machines. These machines are available to everyone, but not in all branches. Look for the ‘Münzrollengeber’ filter option %shere%s.", - "translation": "" - }, - { - "id": "There is a fee of %s per roll. You must be a customer to use machines to get rolls. Rolls have no fees when purchased at counters, but counters redirect you to machines if they work; counters accept cash. You must present an Erste Bank card to buy rolls from machines, but you can pay with cash.", - "message": "There is a fee of %s per roll. You must be a customer to use machines to get rolls. Rolls have no fees when purchased at counters, but counters redirect you to machines if they work; counters accept cash. You must present an Erste Bank card to buy rolls from machines, but you can pay with cash.", - "translation": "" - }, - { - "id": "Depositing coins is free for up to %s a day, at which point you pay 1%% for any additional deposited coins. You must also be a customer. Depositing coins is free for all Erste Bank customers at Dornbirner Sparkasse with no limit.", - "message": "Depositing coins is free for up to %s a day, at which point you pay 1%% for any additional deposited coins. You must also be a customer. Depositing coins is free for all Erste Bank customers at Dornbirner Sparkasse with no limit.", - "translation": "" - }, - { - "id": "There is a fee of %s per roll if you aren’t a customer, and %s otherwise. Coin deposits are free if you’re a customer.", - "message": "There is a fee of %s per roll if you aren’t a customer, and %s otherwise. Coin deposits are free if you’re a customer.", - "translation": "" - }, - { - "id": "Reportedly fee-less with no need of being a customer, but this is unconfirmed.", - "message": "Reportedly fee-less with no need of being a customer, but this is unconfirmed.", - "translation": "" - }, - { - "id": "There is a %s fee with no limit on the number of rolls.", - "message": "There is a %s fee with no limit on the number of rolls.", - "translation": "" - }, - { - "id": "Belgian Central Bank", - "message": "Belgian Central Bank", - "translation": "" - }, - { - "id": "You can visit the Belgian Central Bank in Brussels as an EU citizen. You can order coin rolls for no fee up to %s in value. They seem to distribute uncirculated coins (no commemoratives).", - "message": "You can visit the Belgian Central Bank in Brussels as an EU citizen. You can order coin rolls for no fee up to %s in value. They seem to distribute uncirculated coins (no commemoratives).", - "translation": "" - }, - { - "id": "Free for customers but getting coin rolls is still difficult sometimes. Non-customers cannot get rolls.", - "message": "Free for customers but getting coin rolls is still difficult sometimes. Non-customers cannot get rolls.", - "translation": "" - }, - { - "id": "Free for customers when you order through their online platform.", - "message": "Free for customers when you order through their online platform.", - "translation": "" - }, - { - "id": "Bank of Cyprus", - "message": "Bank of Cyprus", - "translation": "" - }, - { - "id": "At the Bank of Cyprus it is possible to buy bags of coins without being a customer, and without paying any additional fees. Depending on the branch you visit you may have coin roll machine available. Do note that the bags provided by the Bank of Cyprus are around twice as large as usual with %s bags containing 50 coins and the other denomination bags containing 100 coins.", - "message": "At the Bank of Cyprus it is possible to buy bags of coins without being a customer, and without paying any additional fees. Depending on the branch you visit you may have coin roll machine available. Do note that the bags provided by the Bank of Cyprus are around twice as large as usual with %s bags containing 50 coins and the other denomination bags containing 100 coins.", - "translation": "" - }, - { - "id": "Coin roll availability may vary across banks and branches, as well as the price. You must be a customer to purchase coin rolls unless specified otherwise.", - "message": "Coin roll availability may vary across banks and branches, as well as the price. You must be a customer to purchase coin rolls unless specified otherwise.", - "translation": "" - }, - { - "id": "German Federal Bank (Deutsche Bundesbank)", - "message": "German Federal Bank (Deutsche Bundesbank)", - "translation": "" - }, - { - "id": "You can obtain regular- and commemorative coins for face value including 5-, 10-, and 20 euro coins. You do not need to be a customer although depending on your branch you may need to make an appointment. The purchase of coins can only be done with cash.", - "message": "You can obtain regular- and commemorative coins for face value including 5-, 10-, and 20 euro coins. You do not need to be a customer although depending on your branch you may need to make an appointment. The purchase of coins can only be done with cash.", - "translation": "" - }, - { - "id": "Hand-rolled coin rolls can be obtained with no additional fees.", - "message": "Hand-rolled coin rolls can be obtained with no additional fees.", - "translation": "" - }, - { - "id": "Coin rolls can be obtained for a fee of %s–%s per roll. The amount varies per branch.", - "message": "Coin rolls can be obtained for a fee of %s–%s per roll. The amount varies per branch.", - "translation": "" - }, - { - "id": "Coin rolls can be obtained for a fee of %s per roll.", - "message": "Coin rolls can be obtained for a fee of %s per roll.", - "translation": "" - }, - { - "id": "Obtaining coin rolls in Estonia is typically quite difficult, and often expensive. You also often need to make an appointment in advance.", - "message": "Obtaining coin rolls in Estonia is typically quite difficult, and often expensive. You also often need to make an appointment in advance.", - "translation": "" - }, - { - "id": "Central Bank of Estonia Museum", - "message": "Central Bank of Estonia Museum", - "translation": "" - }, - { - "id": "You can purchase commemorative coins (even those released years ago) at face value. It is also an interesting museum to visit in general.", - "message": "You can purchase commemorative coins (even those released years ago) at face value. It is also an interesting museum to visit in general.", - "translation": "" - }, - { - "id": "Coin rolls are free but you must be a customer.", - "message": "Coin rolls are free but you must be a customer.", - "translation": "" - }, - { - "id": "Bank of Spain", - "message": "Bank of Spain", - "translation": "" - }, - { - "id": "You can purchase individual coins and commemorative coin rolls (even those of other countries). You can watch %shere%s to see how to do it.", - "message": "You can purchase individual coins and commemorative coin rolls (even those of other countries). You can watch %shere%s to see how to do it.", - "translation": "" - }, - { - "id": "Coin rolls have a fee of %s for 5 rolls. This seems to vary by region.", - "message": "Coin rolls have a fee of %s for 5 rolls. This seems to vary by region.", - "translation": "" - }, - { - "id": "Coin rolls have no fees.", - "message": "Coin rolls have no fees.", - "translation": "" - }, - { - "id": "La Caixa", - "message": "La Caixa", - "translation": "" - }, - { - "id": "Coin rolls have no fees and can be purchased with cash. You do not need to be a customer, although this needs to be re-verified.", - "message": "Coin rolls have no fees and can be purchased with cash. You do not need to be a customer, although this needs to be re-verified.", - "translation": "" - }, - { - "id": "Finland has no coin roll machines, but you can find vending machines or coin exchange machines (albeit they are rare).", - "message": "Finland has no coin roll machines, but you can find vending machines or coin exchange machines (albeit they are rare).", - "translation": "" - }, - { - "id": "Coin rolls can be obtained with no fees.", - "message": "Coin rolls can be obtained with no fees.", - "translation": "" - }, - { - "id": "Bank of Finland", - "message": "Bank of Finland", - "translation": "" - }, - { - "id": "It is probably not possible to obtain coin rolls, but this is not confirmed.", - "message": "It is probably not possible to obtain coin rolls, but this is not confirmed.", - "translation": "" - }, - { - "id": "Coin roll machines are uncommon, only some banks have them and you need to be a customer. You may also need to order them in advance.", - "message": "Coin roll machines are uncommon, only some banks have them and you need to be a customer. You may also need to order them in advance.", - "translation": "" - }, - { - "id": "Coin rolls can be obtained with no fee. You must be a customer.", - "message": "Coin rolls can be obtained with no fee. You must be a customer.", - "translation": "" - }, - { - "id": "and", - "message": "and", - "translation": "" - }, - { - "id": "Free coin rolls if you are a customer or %s per roll if you are not a customer. There are coin roll machines.", - "message": "Free coin rolls if you are a customer or %s per roll if you are not a customer. There are coin roll machines.", - "translation": "" - }, - { - "id": "There are coin roll machines but it is not yet known if you need to be a customer or if there are fees.", - "message": "There are coin roll machines but it is not yet known if you need to be a customer or if there are fees.", - "translation": "" - }, - { - "id": "Bank of Greece (Τράπεζα της Ελλάδος)", - "message": "Bank of Greece (Τράπεζα της Ελλάδος)", - "translation": "" - }, - { - "id": "Fee-less coin rolls for everyone (you will need to show ID). The latest commemorative coins are also sold for face value.", - "message": "Fee-less coin rolls for everyone (you will need to show ID). The latest commemorative coins are also sold for face value.", - "translation": "" - }, - { - "id": "Fee-less coin bags for everyone (no ID necessary). Smaller denominations are often not given out, and the coin bags you recieve are very large (there are reports of %s bags containing 250 coins).", - "message": "Fee-less coin bags for everyone (no ID necessary). Smaller denominations are often not given out, and the coin bags you recieve are very large (there are reports of %s bags containing 250 coins).", - "translation": "" - }, - { - "id": "In general, coin rolls are available at banks with a fee of %s per roll; rolls could potentially have no fee if you only need a few.", - "message": "In general, coin rolls are available at banks with a fee of %s per roll; rolls could potentially have no fee if you only need a few.", - "translation": "" - }, - { - "id": "There are coin roll machines but it is unknown if you need to be a customer or if there are additional fees.", - "message": "There are coin roll machines but it is unknown if you need to be a customer or if there are additional fees.", - "translation": "" - }, - { - "id": "Bank of Italy", - "message": "Bank of Italy", - "translation": "" - }, - { - "id": "Coin rolls are available to everyone.", - "message": "Coin rolls are available to everyone.", - "translation": "" - }, - { - "id": "Works, but with very high fees (5%% of cost).", - "message": "Works, but with very high fees (5%% of cost).", - "translation": "" - }, - { - "id": "Fee of %s per roll of 2 euro coins.", - "message": "Fee of %s per roll of 2 euro coins.", - "translation": "" - }, - { - "id": "As far as we are aware, Lietuvos Bankas only distributes coin rolls to businesses.", - "message": "As far as we are aware, Lietuvos Bankas only distributes coin rolls to businesses.", - "translation": "" - }, - { - "id": "It may be worth checking out payout machines to exchange banknotes into coins.", - "message": "It may be worth checking out payout machines to exchange banknotes into coins.", - "translation": "" - }, - { - "id": "Luxembourgish Central Bank (Banque Centrale du Luxembourg)", - "message": "Luxembourgish Central Bank (Banque Centrale du Luxembourg)", - "translation": "" - }, - { - "id": "We currently have no information regarding regular coins, however their webshop sells commemorative coins (for a high premium, but better than most resellers). Commemorative coins are also available for purchase in-person.", - "message": "We currently have no information regarding regular coins, however their webshop sells commemorative coins (for a high premium, but better than most resellers). Commemorative coins are also available for purchase in-person.", - "translation": "" - }, - { - "id": "You should be able to get coin rolls with no additional fees.", - "message": "You should be able to get coin rolls with no additional fees.", - "translation": "" - }, - { - "id": "In general coin rolls are sold with a fee of %s per roll, but we’re lacking a lot of information.", - "message": "In general coin rolls are sold with a fee of %s per roll, but we’re lacking a lot of information.", - "translation": "" - }, - { - "id": "Bank of Valletta and HSBC Bank Malta", - "message": "Bank of Valletta and HSBC Bank Malta", - "translation": "" - }, - { - "id": "You can get rolls for a fee of %s per roll. You must order coin rolls through their online platform, and you must be a customer.", - "message": "You can get rolls for a fee of %s per roll. You must order coin rolls through their online platform, and you must be a customer.", - "translation": "" - }, - { - "id": "Banks in the Netherlands do not carry cash, and as such it’s not possible to obtain rolls from bank tellers. Obtaining coins from the Dutch Central Bank (De Nederlandsche Bank) is also not possible. If you want to obtain coin rolls you need to use a Geldmaat coin roll machine which can be found in specific branches of GAMMA and Karwei. Geldmaat offers a map on their website where you can search for branches with these machines; you can find that map %shere%s.", - "message": "Banks in the Netherlands do not carry cash, and as such it’s not possible to obtain rolls from bank tellers. Obtaining coins from the Dutch Central Bank (De Nederlandsche Bank) is also not possible. If you want to obtain coin rolls you need to use a Geldmaat coin roll machine which can be found in specific branches of GAMMA and Karwei. Geldmaat offers a map on their website where you can search for branches with these machines; you can find that map %shere%s.", - "translation": "" - }, - { - "id": "In order to be able to use a Geldmaat coin machine, you must be a customer of either ABN AMRO, ING, or Rabobank. You also cannot pay by cash, only card payments are allowed. All three banks charge a withdrawal fee for getting coin rolls, which are detailed in the list below.", - "message": "In order to be able to use a Geldmaat coin machine, you must be a customer of either ABN AMRO, ING, or Rabobank. You also cannot pay by cash, only card payments are allowed. All three banks charge a withdrawal fee for getting coin rolls, which are detailed in the list below.", - "translation": "" - }, - { - "id": "%s per roll.", - "message": "%s per roll.", - "translation": "" - }, - { - "id": "Base fee of %s + %s per roll.", - "message": "Base fee of %s + %s per roll.", - "translation": "" - }, - { - "id": "One- and two-cent coins have been removed from circulation and cannot be obtained.", - "message": "One- and two-cent coins have been removed from circulation and cannot be obtained.", - "translation": "" - }, - { - "id": "Coin bags are sold with no additional fees to bank customers.", - "message": "Coin bags are sold with no additional fees to bank customers.", - "translation": "" - }, - { - "id": "Bank of Portugal (Banco de Portugal)", - "message": "Bank of Portugal (Banco de Portugal)", - "translation": "" - }, - { - "id": "Coin bags are sold with no additional fees to everyone.", - "message": "Coin bags are sold with no additional fees to everyone.", - "translation": "" - }, - { - "id": "In general there is a %s fee for coin rolls.", - "message": "In general there is a %s fee for coin rolls.", - "translation": "" - }, - { - "id": "Bank of Slovenia (Banka Slovenije)", - "message": "Bank of Slovenia (Banka Slovenije)", - "translation": "" - }, - { - "id": "You can purchase commemorative coins for face value, and coin rolls are sold with no fees to everyone.", - "message": "You can purchase commemorative coins for face value, and coin rolls are sold with no fees to everyone.", - "translation": "" - }, - { - "id": "National Bank of Slovakia (Národná banka Slovenska)", - "message": "National Bank of Slovakia (Národná banka Slovenska)", - "translation": "" - }, - { - "id": "You may be able to get uncirculated rolls, but this is not yet confirmed.", - "message": "You may be able to get uncirculated rolls, but this is not yet confirmed.", - "translation": "" - }, - { - "id": "You can get an unlimited number of rolls for a %s fee. You must be a customer of the bank.", - "message": "You can get an unlimited number of rolls for a %s fee. You must be a customer of the bank.", - "translation": "" - }, - { - "id": "Ask the Pope nicely and he’ll probably give you some Vatican coins for free.", - "message": "Ask the Pope nicely and he’ll probably give you some Vatican coins for free.", - "translation": "" - }, - { - "id": "We currently have no information regarding coin roll hunting in %s.", - "message": "We currently have no information regarding coin roll hunting in %s.", - "translation": "" - }, - { - "id": "Coin Storage", - "message": "Coin Storage", - "translation": "" - }, - { - "id": "There are many different methods of storing your collecting, each with their own benefits and drawbacks. This page will describe the most common methods collectors use to store their coins, as well as the pros and cons of each method.", - "message": "There are many different methods of storing your collecting, each with their own benefits and drawbacks. This page will describe the most common methods collectors use to store their coins, as well as the pros and cons of each method.", - "translation": "" - }, - { - "id": "Coin Albums", - "message": "Coin Albums", - "translation": "" - }, - { - "id": "Coin albums are one of the most popular ways of storing coins. In a coin album you will have multiple coin sheets. These sheets are plastic pages with slots that you can put your coin in to keep them protected. When searching for sheets for your album it is very important to ensure that they do not contain any PVC, which will damage your coins. Some albums will come with sheets already included.", - "message": "Coin albums are one of the most popular ways of storing coins. In a coin album you will have multiple coin sheets. These sheets are plastic pages with slots that you can put your coin in to keep them protected. When searching for sheets for your album it is very important to ensure that they do not contain any PVC, which will damage your coins. Some albums will come with sheets already included.", - "translation": "" - }, - { - "id": "Albums can be an affordable way to store your coins, but higher-end albums can be a bit expensive. Also remember to always ensure that your albums do not contain any PVC!", - "message": "Albums can be an affordable way to store your coins, but higher-end albums can be a bit expensive. Also remember to always ensure that your albums do not contain any PVC!", - "translation": "" - }, - { - "id": "Coin Boxes", - "message": "Coin Boxes", - "translation": "" - }, - { - "id": "Coin boxes are to many people the most aesthetic way to store your coins. A coin box is comprised of various layers which can be stacked ontop of each other. Each layer has various holes where you can insert your coins. Typically you are meant to store your coins in a layer encased in a coin capsule.", - "message": "Coin boxes are to many people the most aesthetic way to store your coins. A coin box is comprised of various layers which can be stacked ontop of each other. Each layer has various holes where you can insert your coins. Typically you are meant to store your coins in a layer encased in a coin capsule.", - "translation": "" - }, - { - "id": "Boxes are quite space-inefficient and are one of the most expensive ways to store your coins, but at the same time they offer a great visual appeal.", - "message": "Boxes are quite space-inefficient and are one of the most expensive ways to store your coins, but at the same time they offer a great visual appeal.", - "translation": "" - }, - { - "id": "Coin Capsules", - "message": "Coin Capsules", - "translation": "" - }, - { - "id": "Coin capsules are plastic capsules you can put your coin in. They offer good protection to your coins, while still allowing you to view all parts of your coin easily, including the edge engravings and -inscriptions. Capsules are also far more durable than flips, and can be opened and closed repeatedly allowing for them to be reused. This isn’t really possible with flips.", - "message": "Coin capsules are plastic capsules you can put your coin in. They offer good protection to your coins, while still allowing you to view all parts of your coin easily, including the edge engravings and -inscriptions. Capsules are also far more durable than flips, and can be opened and closed repeatedly allowing for them to be reused. This isn’t really possible with flips.", - "translation": "" - }, - { - "id": "Capsules can be a bit pricey, but are reusable and are very durable. They also come in different sizes, so make sure you get the right size for your coins.", - "message": "Capsules can be a bit pricey, but are reusable and are very durable. They also come in different sizes, so make sure you get the right size for your coins.", - "translation": "" - }, - { - "id": "Coin Flips", - "message": "Coin Flips", - "translation": "" - }, - { - "id": "Coin flips, also known as ‘2x2’ flips by some Americans are small cardboard flips with a plastic covered hole in the middle for viewing. Most coin flips are stapled, meaning you put your coin in the flip and staple it shut. These kinds of flips are very cheap, and you can buy stacks of a few hundred for only a few euros. If you don’t like the staples though, you can also buy adhesive-flips that glue themselves shut. These flips are more expensive, but also look better than their stapled equivalents.", - "message": "Coin flips, also known as ‘2x2’ flips by some Americans are small cardboard flips with a plastic covered hole in the middle for viewing. Most coin flips are stapled, meaning you put your coin in the flip and staple it shut. These kinds of flips are very cheap, and you can buy stacks of a few hundred for only a few euros. If you don’t like the staples though, you can also buy adhesive-flips that glue themselves shut. These flips are more expensive, but also look better than their stapled equivalents.", - "translation": "" - }, - { - "id": "Coin slips are also pretty space efficient, and can be easily stacked in boxes for compact storage. Many collectors also like to write notes about their coins on the flips. There also exist special sheets for coin albums that allow you to put in flipped coins, but this is more expensive and less space-efficient than simply using flips or an album without flips.", - "message": "Coin slips are also pretty space efficient, and can be easily stacked in boxes for compact storage. Many collectors also like to write notes about their coins on the flips. There also exist special sheets for coin albums that allow you to put in flipped coins, but this is more expensive and less space-efficient than simply using flips or an album without flips.", - "translation": "" - }, - { - "id": "Coin Rolls", - "message": "Coin Rolls", - "translation": "" - }, - { - "id": "This is probably the most inexpensive way to store your coins. If you take good care of the paper when opening your coin rolls, you can simply reuse them for storage. Just roll your coins back up and put some rubber bands on the ends. You can also get reusable plastic rolls that can be opened and closed. You will need different rolls based on the denomination you want to store, but they are very space-efficient.", - "message": "This is probably the most inexpensive way to store your coins. If you take good care of the paper when opening your coin rolls, you can simply reuse them for storage. Just roll your coins back up and put some rubber bands on the ends. You can also get reusable plastic rolls that can be opened and closed. You will need different rolls based on the denomination you want to store, but they are very space-efficient.", - "translation": "" - }, - { - "id": "Examples", - "message": "Examples", - "translation": "" - }, - { - "id": "In case you’re looking for some inspiration on how to store your collections, here are some examples.", - "message": "In case you’re looking for some inspiration on how to store your collections, here are some examples.", - "translation": "" - }, - { - "id": "Euro Coin Collecting", - "message": "Euro Coin Collecting", - "translation": "" - }, - { - "id": "What is Vending Machine Hunting?", - "message": "What is Vending Machine Hunting?", - "translation": "" - }, - { - "id": "‘Vending machine hunting’ is a strategy of collecting coins whereby you continuously insert coins into a vending machine and cancel the transaction by pressing the return button. When the vending machine returns your coins to you, you will often get different coins from the ones you put in, and you can repeat this process until you’ve searched through every coin in the machine.", - "message": "‘Vending machine hunting’ is a strategy of collecting coins whereby you continuously insert coins into a vending machine and cancel the transaction by pressing the return button. When the vending machine returns your coins to you, you will often get different coins from the ones you put in, and you can repeat this process until you’ve searched through every coin in the machine.", - "translation": "" - }, - { - "id": "The Test Coins", - "message": "The Test Coins", - "translation": "" - }, - { - "id": "First, you want to make sure the vending machine you come across actually gives back change — sometimes they don’t! Throw in a 10 cent coin and press the return button. If it doesn’t give the coin back, you can move on to the next machine; there’s a high chance it won’t return higher denominations either. Next throw in a random 2 euro coin and press the return button. You should do this because vending machines may not return 2 euro coins, but rather 1 euro- or 50 cent coins instead. It’s better to find out immediately as opposed to later once you’ve already put in all of your 2 euro coins.", - "message": "First, you want to make sure the vending machine you come across actually gives back change — sometimes they don’t! Throw in a 10 cent coin and press the return button. If it doesn’t give the coin back, you can move on to the next machine; there’s a high chance it won’t return higher denominations either. Next throw in a random 2 euro coin and press the return button. You should do this because vending machines may not return 2 euro coins, but rather 1 euro- or 50 cent coins instead. It’s better to find out immediately as opposed to later once you’ve already put in all of your 2 euro coins.", - "translation": "" - }, - { - "id": "The Stopper", - "message": "The Stopper", - "translation": "" - }, - { - "id": "We want to be able to know when we’ve gone through all the coins in the vending machine. To do this, take out a coin and mark it with something (drawing on it with a Sharpie works well), then put it into the machine. Next time you get the same coin back, you know you’ve gone through everything.", - "message": "We want to be able to know when we’ve gone through all the coins in the vending machine. To do this, take out a coin and mark it with something (drawing on it with a Sharpie works well), then put it into the machine. Next time you get the same coin back, you know you’ve gone through everything.", - "translation": "" - }, - { - "id": "Rejected Stoppers and Coins", - "message": "Rejected Stoppers and Coins", - "translation": "" - }, - { - "id": "Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if the coin was dropped into a box (normally adding a coin should be silent after you throw it in). This means the coin was not added to the stack properly, and so it will not be returned. Pay attention to this noise, because you won’t be getting the stopper back! Throw in another marked coin instead until the machine accepts the coin.", - "message": "Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if the coin was dropped into a box (normally adding a coin should be silent after you throw it in). This means the coin was not added to the stack properly, and so it will not be returned. Pay attention to this noise, because you won’t be getting the stopper back! Throw in another marked coin instead until the machine accepts the coin.", - "translation": "" - }, - { - "id": "(Non-)Merging Machines", - "message": "(Non-)Merging Machines", - "translation": "" - }, - { - "id": "We generally identify between two main types of vending machines.", - "message": "We generally identify between two main types of vending machines.", - "translation": "" - }, - { - "id": "Merging", - "message": "Merging", - "translation": "" - }, - { - "id": "The vending machine merges change together. For example if you throw in five 50 cent coins, the machine returns either two 1 euro coins and one 50 cent coin or one 2 euro and one 50 cent coin. This usually means you can hunt 2 euro coins very quickly but other denominations only once at a time. A good tip is to throw in an odd number of euros and 80 cents if you want to search through all denominations.", - "message": "The vending machine merges change together. For example if you throw in five 50 cent coins, the machine returns either two 1 euro coins and one 50 cent coin or one 2 euro and one 50 cent coin. This usually means you can hunt 2 euro coins very quickly but other denominations only once at a time. A good tip is to throw in an odd number of euros and 80 cents if you want to search through all denominations.", - "translation": "" - }, - { - "id": "Non-Merging", - "message": "Non-Merging", - "translation": "" - }, - { - "id": "The vending machine does not merge change together. This means if you throw in five 50 cent coins it will return five 50 cent coins. This makes it very easy to hunt a large amount of a specific denomination.", - "message": "The vending machine does not merge change together. This means if you throw in five 50 cent coins it will return five 50 cent coins. This makes it very easy to hunt a large amount of a specific denomination.", - "translation": "" - }, - { - "id": "Limits", - "message": "Limits", - "translation": "" - }, - { - "id": "There are some limits to vending machine hunts which you need to be aware of.", - "message": "There are some limits to vending machine hunts which you need to be aware of.", - "translation": "" - }, - { - "id": "Maximum Input Limit", - "message": "Maximum Input Limit", - "translation": "" - }, - { - "id": "Some machines have a maximum amount you can throw in, and will reject anything higher. For example machines with a max limit of five euros will reject any additional coins if you throw in five euros. You can try to go above the limit if you throw in, say, %s and then another one- or two euro coin; the machine will probably accept it.", - "message": "Some machines have a maximum amount you can throw in, and will reject anything higher. For example machines with a max limit of five euros will reject any additional coins if you throw in five euros. You can try to go above the limit if you throw in, say, %s and then another one- or two euro coin; the machine will probably accept it.", - "translation": "" - }, - { - "id": "Maximum Change Limit", - "message": "Maximum Change Limit", - "translation": "" - }, - { - "id": "Some machines will either give back large amounts of change in bills or will not give back large amounts of change at all (usually cigarette machines). Read the labels on all machines carefully since these limits are usually written there.", - "message": "Some machines will either give back large amounts of change in bills or will not give back large amounts of change at all (usually cigarette machines). Read the labels on all machines carefully since these limits are usually written there.", - "translation": "" - }, - { - "id": "Even if no limits are listed, it’s still advised that you exercise caution: it is not uncommon for a vending machine to steal your money. In the case that a vending machine does steal your money, look for a label on the machine that contains a support number.", - "message": "Even if no limits are listed, it’s still advised that you exercise caution: it is not uncommon for a vending machine to steal your money. In the case that a vending machine does steal your money, look for a label on the machine that contains a support number.", - "translation": "" - }, - { - "id": "For information on Austrian cigarette machines, see the ‘%sCigarette Machines%s’ section.", - "message": "For information on Austrian cigarette machines, see the ‘%sCigarette Machines%s’ section.", - "translation": "" - }, - { - "id": "Cigarette Machines", - "message": "Cigarette Machines", - "translation": "" - }, - { - "id": "In some countries where cigarette machines are legal, you can hunt through them as well. Unless you’re in Malta, you must verify your age on them by either sliding an ID card through a sensor or holding a debit card on an RFID scanner; you must do this for every cycle. Sometimes you must also select something to purchase, throw in less money than the cost, and then cancel the purchase. Note that most cigarette machines in Austria have a %s max change limit.", - "message": "In some countries where cigarette machines are legal, you can hunt through them as well. Unless you’re in Malta, you must verify your age on them by either sliding an ID card through a sensor or holding a debit card on an RFID scanner; you must do this for every cycle. Sometimes you must also select something to purchase, throw in less money than the cost, and then cancel the purchase. Note that most cigarette machines in Austria have a %s max change limit.", - "translation": "" - }, - { - "id": "For RFID scanner machines it helps to wear a glove and slide a debit card into the back of it so you can easily use both hands and don’t have to fumble with a card and coins.", - "message": "For RFID scanner machines it helps to wear a glove and slide a debit card into the back of it so you can easily use both hands and don’t have to fumble with a card and coins.", - "translation": "" - }, - { - "id": "On this section of the site you can find everything there is to know about collecting Euro coins. If this is a hobby that interests you, join the Discord server linked at the top of the page!", - "message": "On this section of the site you can find everything there is to know about collecting Euro coins. If this is a hobby that interests you, join the Discord server linked at the top of the page!", - "translation": "" - }, - { - "id": "Learn about collecting coins from coin rolls!", - "message": "Learn about collecting coins from coin rolls!", - "translation": "" - }, - { - "id": "Learn about the different methods to storing your collection!", - "message": "Learn about the different methods to storing your collection!", - "translation": "" - }, - { - "id": "Shop Hunting", - "message": "Shop Hunting", - "translation": "" - }, - { - "id": "Learn about how to collect coins from shop-keepers and other people who deal in cash!", - "message": "Learn about how to collect coins from shop-keepers and other people who deal in cash!", - "translation": "" - }, - { - "id": "Vending Machine Hunting", - "message": "Vending Machine Hunting", - "translation": "" - }, - { - "id": "Learn about collecting coins from vending machines!", - "message": "Learn about collecting coins from vending machines!", - "translation": "" - }, - { - "id": "The Euro Cash Compendium", - "message": "The Euro Cash Compendium", - "translation": "" - }, - { - "id": "United in", - "message": "United in", - "translation": "" - }, - { - "id": "diversity", - "message": "diversity", - "translation": "" - }, - { - "id": "cash", - "message": "cash", - "translation": "" - }, - { - "id": "Welcome to the Euro Cash Compendium. 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.", - "message": "Welcome to the Euro Cash Compendium. 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.", - "translation": "" - }, - { - "id": "Euro Cash Jargon", - "message": "Euro Cash Jargon", - "translation": "" - }, - { - "id": "Both on this website and in other euro-cash-related forums there are many terms you will come across that you may not immediately understand. This page will hopefully get you up to speed with the most important and frequently-used terminology.", - "message": "Both on this website and in other euro-cash-related forums there are many terms you will come across that you may not immediately understand. This page will hopefully get you up to speed with the most important and frequently-used terminology.", - "translation": "" - }, - { - "id": "All terms defined below can be used as clickable links which highlight the selected term. It is recommended to use these links when sharing this page with others, so that the relevant terms are highlighted.", - "message": "All terms defined below can be used as clickable links which highlight the selected term. It is recommended to use these links when sharing this page with others, so that the relevant terms are highlighted.", - "translation": "" - }, - { - "id": "General Terms", - "message": "General Terms", - "translation": "" - }, - { - "id": "AU coins are coins that are in extremely good condition as a result of limited use in circulation. Unlike the term ‘UNC’, this term is a description of the coins quality, not its usage. AU coins often appear to retain most of their original luster as well as possessing little-to-no scratches or other forms of post-mint damage (PMD).", - "message": "AU coins are coins that are in extremely good condition as a result of limited use in circulation. Unlike the term ‘UNC’, this term is a description of the coins quality, not its usage. AU coins often appear to retain most of their original luster as well as possessing little-to-no scratches or other forms of post-mint damage (PMD).", - "translation": "" - }, - { - "id": "BU is a general term to refer to coins from coincards and -sets. These are different from UNC coins in that they are typically handled with more care during the minting process and are struck with higher-quality dies than the coins minted for coin rolls resulting in a higher-quality end product. You may also see these coins referred to by the French term ‘fleur de coin’.", - "message": "BU is a general term to refer to coins from coincards and -sets. These are different from UNC coins in that they are typically handled with more care during the minting process and are struck with higher-quality dies than the coins minted for coin rolls resulting in a higher-quality end product. You may also see these coins referred to by the French term ‘fleur de coin’.", - "translation": "" - }, - { - "id": "NIFC coins are coins minted without the intention of being put into general circulation. These coins are typically minted with the purpose of being put into coincards or coin-sets to be sold to collectors. Occasionally they are also handed out to collectors for face value at banks.", - "message": "NIFC coins are coins minted without the intention of being put into general circulation. These coins are typically minted with the purpose of being put into coincards or coin-sets to be sold to collectors. Occasionally they are also handed out to collectors for face value at banks.", - "translation": "" - }, - { - "id": "While uncommon, NIFC coins are occasionally found in circulation. This can happen for a variety of reasons such as someone depositing their coin collection (known as a ‘collection dump’), or a collector’s child spending their rare coins on an ice cream. Some coin mints have also been known to put NIFC coins that have gone unsold for multiple years into circulation.", - "message": "While uncommon, NIFC coins are occasionally found in circulation. This can happen for a variety of reasons such as someone depositing their coin collection (known as a ‘collection dump’), or a collector’s child spending their rare coins on an ice cream. Some coin mints have also been known to put NIFC coins that have gone unsold for multiple years into circulation.", - "translation": "" - }, - { - "id": "Post-mint damage is any damage that a coin has sustained outside of the minting process, such as through being dropped on the ground, hit against a table, etc.", - "message": "Post-mint damage is any damage that a coin has sustained outside of the minting process, such as through being dropped on the ground, hit against a table, etc.", - "translation": "" - }, - { - "id": "Uncirculated coins are coins that have never been used in a monetary exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very good condition, but this is incorrect. A coin in poor condition that has never been circulated is still considered an ‘UNC’ coin.", - "message": "Uncirculated coins are coins that have never been used in a monetary exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very good condition, but this is incorrect. A coin in poor condition that has never been circulated is still considered an ‘UNC’ coin.", - "translation": "" - }, - { - "id": "Collector-Specific Terms", - "message": "Collector-Specific Terms", - "translation": "" - }, - { - "id": "Coin roll hunting is a general term for the activity of searching through coin rolls and -bags to find coins for a collection. Coin rolls and bags are often obtained at banks or coin roll machines.", - "message": "Coin roll hunting is a general term for the activity of searching through coin rolls and -bags to find coins for a collection. Coin rolls and bags are often obtained at banks or coin roll machines.", - "translation": "" - }, - { - "id": "Select Your Language", - "message": "Select Your Language", - "translation": "" - }, - { - "id": "Select your preferred language to use on the site.", - "message": "Select your preferred language to use on the site.", - "translation": "" - }, - { - "id": "Eurozone Languages", - "message": "Eurozone Languages", - "translation": "" - }, - { - "id": "Other Languages", - "message": "Other Languages", - "translation": "" - } - ] -}
\ No newline at end of file diff --git a/src/tables.go b/src/tables.go new file mode 100644 index 0000000..f99630b --- /dev/null +++ b/src/tables.go @@ -0,0 +1,108 @@ +package app + +import ( + "database/sql" + "slices" + + "golang.org/x/text/collate" + "golang.org/x/text/language" + + "git.thomasvoss.com/euro-cash.eu/src/dbx" + "git.thomasvoss.com/euro-cash.eu/src/i18n" +) + +type YearCCsPair struct { + Year int + Mintmark sql.Null[string] + CCs []dbx.MCommemorative +} + +type CountryMintageTable struct { + Standard []dbx.MSCountryRow + Commemorative []YearCCsPair +} + +type CountryCCsPair struct { + Country string + Mintmark sql.Null[string] + CCs []dbx.MCommemorative +} + +type YearMintageTable struct { + Standard []dbx.MSYearRow + Commemorative []CountryCCsPair +} + +func makeCountryMintageTable(data dbx.CountryMintageData, p i18n.Printer) CountryMintageTable { + ccdata := data.Commemorative + ccs := make([]YearCCsPair, 0, len(ccdata)) + + for len(ccdata) > 0 { + x := ccdata[0] + i := len(ccdata) + for j, y := range ccdata[1:] { + if x.Year != y.Year || x.Mintmark != y.Mintmark { + i = j + 1 + break + } + } + ccs = append(ccs, YearCCsPair{ + Year: x.Year, + Mintmark: x.Mintmark, + CCs: ccdata[:i], + }) + ccdata = ccdata[i:] + } + + return CountryMintageTable{data.Standard, ccs} +} + +func makeYearMintageTable(data dbx.YearMintageData, p i18n.Printer) YearMintageTable { + ccdata := data.Commemorative + ccs := make([]CountryCCsPair, 0, len(ccdata)) + + for len(ccdata) > 0 { + x := ccdata[0] + i := len(ccdata) + for j, y := range ccdata[1:] { + if x.Country != y.Country || x.Mintmark != y.Mintmark { + i = j + 1 + break + } + } + ccs = append(ccs, CountryCCsPair{ + Country: x.Country, + Mintmark: x.Mintmark, + CCs: ccdata[:i], + }) + ccdata = ccdata[i:] + } + + /* NOTE: It’s safe to use MustParse() here, because by this + point we know that all BCPs are valid. */ + c := collate.New(language.MustParse(p.Bcp)) + for i, r := range data.Standard { + name := countryCodeToName[r.Country] + data.Standard[i].Country = p.GetC(name, "Place Name") + } + for i, r := range ccs { + name := countryCodeToName[r.Country] + ccs[i].Country = p.GetC(name, "Place Name") + } + slices.SortFunc(data.Standard, func(x, y dbx.MSYearRow) int { + Δ := c.CompareString(x.Country, y.Country) + if Δ == 0 { + Δ = c.CompareString(x.Mintmark.V, y.Mintmark.V) + } + return Δ + }) + slices.SortFunc(ccs, func(x, y CountryCCsPair) int { + Δ := c.CompareString(x.Country, y.Country) + if Δ == 0 { + Δ = c.CompareString(x.Mintmark.V, y.Mintmark.V) + } + return Δ + }) + + return YearMintageTable{data.Standard, ccs} +} diff --git a/src/templates.go b/src/templates.go index 28b7700..6a43fcb 100644 --- a/src/templates.go +++ b/src/templates.go @@ -1,87 +1,229 @@ -package src +package app import ( - "embed" - "fmt" "html/template" + "io/fs" "log" "strings" + "time" - "git.thomasvoss.com/euro-cash.eu/src/dbx" + . "git.thomasvoss.com/euro-cash.eu/pkg/try" + "git.thomasvoss.com/euro-cash.eu/pkg/watch" + + "git.thomasvoss.com/euro-cash.eu/src/i18n" ) type templateData struct { - Printer Printer - Code, Type string - Mintages dbx.MintageData - Countries []country + Debugp bool + Printer i18n.Printer + Printers map[string]i18n.Printer + Code, Type, FilterBy string + Year int + CountryMintages CountryMintageTable + YearMintages YearMintageTable + Countries []country } var ( - //go:embed templates/*.html.tmpl - templateFS embed.FS - notFoundTmpl = buildTemplate("-404") - errorTmpl = buildTemplate("-error") + notFoundTmpl *template.Template + errorTmpl *template.Template templates map[string]*template.Template funcmap = map[string]any{ - "denoms": denoms, - "locales": locales, - "safe": asHTML, - "sprintf": fmt.Sprintf, - "toUpper": strings.ToUpper, - "tuple": templateMakeTuple, + "evenp": evenp, + "ifElse": ifElse, + "locales": i18n.Locales, + "map": templateMakeMap, + "plus1": plus1, + "safe": asHTML, + "toString": toString, + "toUpper": strings.ToUpper, + "tuple": templateMakeTuple, + "withTranslation": withTranslation, + "withTranslations": withTranslations, + "years": years, } ) -func init() { - ents, err := templateFS.ReadDir("templates") - if err != nil { - log.Fatalln(err) - } +func BuildTemplates(dir fs.FS) { + buildTemplates(dir, Debugp) +} + +func buildTemplates(dir fs.FS, debugp bool) { + ents := Try2(fs.ReadDir(dir, ".")) + notFoundTmpl = buildTemplate(dir, "-404") + errorTmpl = buildTemplate(dir, "-error") templates = make(map[string]*template.Template, len(ents)) + for _, e := range ents { - path := "/" - name := strings.TrimSuffix(e.Name(), ".html.tmpl") - switch { - case name[0] == '-': + if e.IsDir() { continue - case name != "index": - path += strings.ReplaceAll(name, "-", "/") } - templates[path] = buildTemplate(name) + name := e.Name() + buildAndSetTemplate(dir, name) + if debugp { + go watch.FileFS(dir, name, func() { + defer func() { + if p := recover(); p != nil { + log.Println(p) + } + }() + + if strings.HasPrefix(name, "-") { + buildTemplates(dir, false) + log.Println("All templates updated") + } else { + buildAndSetTemplate(dir, name) + log.Printf("Template ‘%s’ updated\n", name) + } + }) + } + } +} + +func buildAndSetTemplate(dir fs.FS, name string) { + path := "/" + name = strings.TrimSuffix(name, ".html.tmpl") + switch { + case name[0] == '-': + return + case name != "index": + path += strings.ReplaceAll(name, "-", "/") } + templates[path] = buildTemplate(dir, name) } -func buildTemplate(name string) *template.Template { +func buildTemplate(dir fs.FS, name string) *template.Template { names := [...]string{"-base", "-navbar", name} for i, s := range names { - names[i] = "templates/" + s + ".html.tmpl" + names[i] = s + ".html.tmpl" } return template.Must(template. New("-base.html.tmpl"). Funcs(funcmap). - ParseFS(templateFS, names[:]...)) + ParseFS(dir, names[:]...)) } func asHTML(s string) template.HTML { return template.HTML(s) } -func denoms() [8]float64 { - return [8]float64{ - 0.01, 0.02, 0.05, 0.10, - 0.20, 0.50, 1.00, 2.00, +func toString(s template.HTML) string { + return string(s) +} + +func templateMakeTuple(args ...any) []any { + return args +} + +func templateMakeMap(args ...any) map[string]any { + if len(args)&1 != 0 { + /* TODO: Handle error */ + args = args[:len(args)-1] } + m := make(map[string]any, len(args)/2) + for i := 0; i < len(args); i += 2 { + k, ok := args[i].(string) + if !ok { + /* TODO: Handle error */ + continue + } + m[k] = args[i+1] + } + return m } -func locales() []locale { - return Locales[:] +func evenp(n int) bool { + return n&1 == 0 } -func templateMakeTuple(args ...any) []any { - return args +func ifElse(b bool, x, y any) any { + if b { + return x + } + return y +} + +func withTranslation(tag, bcp, text string, trans template.HTML, + spanAttrs ...string) template.HTML { + name, _, _ := strings.Cut(tag, " ") + + var bob strings.Builder + bob.WriteByte('<') + bob.WriteString(tag) + bob.WriteString(`><span lang="`) + bob.WriteString(bcp) + bob.WriteString(`">`) + bob.WriteString(text) + bob.WriteString("</span>") + + if text != string(trans) { + bob.WriteString(`<br><span class="translation"`) + for _, s := range spanAttrs { + bob.WriteByte(' ') + bob.WriteString(s) + } + bob.WriteByte('>') + bob.WriteString(string(trans)) + bob.WriteString("</span>") + } + + bob.WriteString("</") + bob.WriteString(name) + bob.WriteByte('>') + return template.HTML(bob.String()) +} + +func withTranslations(tag string, text string, translations ...[]any) template.HTML { + var bob strings.Builder + bob.WriteByte('<') + bob.WriteString(tag) + bob.WriteByte('>') + bob.WriteString(text) + + /* TODO: Assert that the pairs are [2]string */ + for _, pair := range translations { + if text == pair[1] { + continue + } + bob.WriteString(`<br><span class="translation"`) + if pair[0].(string) != "" { + bob.WriteString(` lang="`) + bob.WriteString(pair[0].(string)) + bob.WriteString(`">`) + } else { + bob.WriteByte('>') + } + bob.WriteString(pair[1].(string)) + bob.WriteString("</span>") + } + + bob.WriteString("</") + bob.WriteString(tag) + bob.WriteByte('>') + return template.HTML(bob.String()) +} + +func plus1(x int) int { + return x + 1 +} + +func years() []int { + sy, ey := 1999, time.Now().Year() + xs := make([]int, ey-sy+1) + for i := range xs { + xs[i] = sy + i + } + return xs +} + +func (td templateData) Get(fmt string, args ...map[string]any) template.HTML { + return template.HTML(td.Printer.Get(fmt, args...)) +} + +func (td templateData) GetC(fmt, ctx string, args ...map[string]any) template.HTML { + return template.HTML(td.Printer.GetC(fmt, ctx, args...)) } -func (td templateData) T(fmt string, args ...any) string { - return td.Printer.T(fmt, args...) +func (td templateData) GetN(fmtS, fmtP string, n int, args ...map[string]any) template.HTML { + return template.HTML(td.Printer.GetN(fmtS, fmtP, n, args...)) } diff --git a/src/templates/-404.html.tmpl b/src/templates/-404.html.tmpl index c86dc30..fd17cf6 100644 --- a/src/templates/-404.html.tmpl +++ b/src/templates/-404.html.tmpl @@ -1,16 +1,16 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Page Not Found" }}</h1> + <h1>{{ .Get "Page Not Found" }}</h1> </header> -<main> +<main class="container"> <p> - {{ .T ` - 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 %s.` - `<a href="mailto:mail@euro-cash.eu">mail@euro-cash.eu</a>` | safe - }} + {{ .Get "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}." + (map "Email" "mail@euro-cash.eu") }} </p> </main> -{{ end }} +{{ end }}
\ No newline at end of file diff --git a/src/templates/-base.html.tmpl b/src/templates/-base.html.tmpl index 2a33cc3..2e78a7c 100644 --- a/src/templates/-base.html.tmpl +++ b/src/templates/-base.html.tmpl @@ -1,42 +1,60 @@ <!DOCTYPE html> -<html lang={{ .Printer.Locale.Bcp }}> +<html lang="{{ .Printer.Bcp }}"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> + {{ if .Debugp }} + <link href="/style-2.css" type="text/css" rel="stylesheet"> + {{ else }} <link href="/style.min.css" type="text/css" rel="stylesheet"> - <title>{{ .T "Euro Cash" }}</title> + {{ end }} + <title>{{ .Get "Euro Cash Wiki" }}</title> <script type="text/javascript"> const $ = q => document.querySelector(q); const $$ = q => document.querySelectorAll(q); - const validate = theme => - ["light", "dark"].includes(theme) ? theme : "light"; - const toggle = theme => - theme == "light" ? "dark" : "light"; + (() => { + document.addEventListener("DOMContentLoaded", _ => { + const root = $("html"); + const icons = { + light: $("#nav-icon-theme-light"), + dark: $("#nav-icon-theme-dark"), + }; - const setTheme = theme => { - localStorage.setItem("theme", theme); - $("html").setAttribute("data-theme", theme); - $(`#nav-icon-theme-${theme}`).style.display = ""; - $(`#nav-icon-theme-${toggle(theme)}`).style.display = "none"; - }; + const toggle = theme => + theme === "light" ? "dark" : "light" - document.addEventListener("DOMContentLoaded", _ => { - $("#theme-button").onclick = () => - setTheme(toggle(validate(localStorage.getItem("theme")))); - setTheme(validate(localStorage.getItem("theme"))); - }); + const setTheme = theme => { + localStorage.setItem("theme", theme); + root.setAttribute("data-theme", theme); + icons[theme].style.display = ""; + icons[toggle(theme)].style.display = "none"; + }; + + /* Double toggle to handle invalid theme */ + setTheme(toggle(toggle(localStorage.getItem("theme")))); + $("#theme-button").onclick = () => { + const theme = toggle(localStorage.getItem("theme")); + if (document.startViewTransition) + document.startViewTransition(() => setTheme(theme)); + else + setTheme(theme); + }; + }); + })(); </script> + + {{ template "header" . }} </head> <body> {{ template "content" . }} - <footer> + <footer class="container"> <p> <small> - {{ .T "Found a mistake or want to contribute missing information?" }} - <a href="/about">{{ .T "Feel free to contact us!" }}</a> + {{ .Get "Found a mistake or want to contribute missing information?" }} + <a href="/about">{{ .Get "Feel free to contact us!" }}</a> </small> </p> </footer> </body> -</html> +</html>
\ No newline at end of file diff --git a/src/templates/-error.html.tmpl b/src/templates/-error.html.tmpl index 47bff81..198318d 100644 --- a/src/templates/-error.html.tmpl +++ b/src/templates/-error.html.tmpl @@ -1,3 +1,7 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + {{ define "content" }} <header> {{ template "navbar" . }} @@ -5,19 +9,11 @@ </header> <main> <p> - {{ .T ` - 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. - ` }} + {{ .Get "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." }} </p> <p> - {{ .T ` - If this issue persists, don’t hesitate to contact @onetruemangoman - on Discord or to email us at %s.` - `<a href="https://git.thomasvoss.com/www.euro-cash.eu" - target="_blank">` | safe - }} + {{ .Get "If this issue persists, don’t hesitate to contact ‘@onetruemangoman’ on Discord or to email us at {Email:e}" + (map "Email" "mail@euro-cash.eu") }} </p> </main> -{{ end }} +{{ end }}
\ No newline at end of file diff --git a/src/templates/-navbar.html.tmpl b/src/templates/-navbar.html.tmpl index f1e95e9..e202330 100644 --- a/src/templates/-navbar.html.tmpl +++ b/src/templates/-navbar.html.tmpl @@ -1,20 +1,59 @@ +{{ define "header-navbar" }} +<style> + #nav-icon-lang { + a { + display: flex; + align-items: center; + gap: .5ch; + } + + svg { + stroke: var(--pico-color); + height: 1rem; + } + } + + #nav-icon-theme { + button { + background-color: unset; + margin: 0; + display: flex; + justify-content: center; + align-items: center; + height: 1.5rem; + } + + svg { + stroke: var(--pico-primary); + stroke-width: .1; + height: 1.2rem; + width: 2rem; + } + } + + [data-theme="light"] #nav-icon-theme svg { + fill: var(--pico-primary); + } +</style> +{{ end }} + {{ define "navbar" }} <nav> - <menu> - <li><a href="/">{{ .T "Home" }}</a></li> - <li><a href="#TODO">{{ .T "News" }}</a></li> - <li><a href="/collecting">{{ .T "Coin Collecting" }}</a></li> - <li><a href="/coins">{{ .T "Coins" }}</a></li> - <li><a href="/banknotes">{{ .T "Banknotes" }}</a></li> - <li><a href="/jargon">{{ .T "Jargon" }}</a></li> - </menu> - <menu> + <ul> + <li><a href="/">{{ .GetC "Home" "Navbar Label" }}</a></li> + <li><a href="#TODO">{{ .GetC "News" "Navbar Label" }}</a></li> + <li><a href="/collecting">{{ .GetC "Coin Collecting" "Navbar Label" }}</a></li> + <li><a href="/coins">{{ .GetC "Coins" "Navbar Label" }}</a></li> + <li><a href="/banknotes">{{ .GetC "Banknotes" "Navbar Label" }}</a></li> + <li><a href="/jargon">{{ .GetC "Jargon" "Navbar Label" }}</a></li> + </ul> + <ul> <li> <a href="https://discord.gg/DCaXfRcy9C" target="_blank"> - {{ .T "Discord" }} + {{ .GetC "Discord" "Navbar Label" }} </a> </li> - <li><a href="/about">{{ .T "About" }}</a></li> + <li><a href="/about">{{ .GetC "About" "Navbar Label" }}</a></li> <li id="nav-icon-lang"> <a href="/language"> <svg @@ -55,7 +94,7 @@ <path d="M 17.0 5.0 H 2.0" stroke-linejoin="round"></path> <path d="M 17.0 14.0 H 2.0" stroke-linejoin="round"></path> </svg> - {{ .T "Language" }} + {{ .GetC "Language" "Navbar Label" }} </a> </li> <li id="nav-icon-theme"> @@ -223,6 +262,6 @@ </svg> </button> </li> - </menu> + </ul> </nav> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/src/templates/about.html.tmpl b/src/templates/about.html.tmpl index ba5aaaa..0eea730 100644 --- a/src/templates/about.html.tmpl +++ b/src/templates/about.html.tmpl @@ -1,61 +1,23 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "About Us" }}</h1> + <h1>{{ .Get "About Us" }}</h1> </header> -<main> - <h2>{{ .T "Open Source" }}</h2> +<main class="container"> + <h2>{{ .Get "Open Source" }}</h2> <p> - {{ .T ` - 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 - %shere%s. This site is licensed under the BSD 0-Clause license - giving you the full freedom to do whatever you would like with - anyof the content on this site.` - `<a href="https://git.thomasvoss.com/www.euro-cash.eu" - target="_blank">` - `</a>` | safe - }} + {{ .Get "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." + (map "LinkGit" "https://git.thomasvoss.com/www.euro-cash.eu" + "LinkBSD" "https://opensource.org/license/0bsd") }} </p> - <h2>{{ .T "Contact Us" }}</h2> + <h2>{{ .Get "Contact Us" }}</h2> <p> - {{ .T ` - 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. In such a 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 included, - but if not you can always send an email to %s or contact - ‘@onetruemangoman’ on Discord.` - `<a href="mailto:mail@euro-cash.eu">mail@euro-cash.eu</a>` | safe - }} + {{ .Get "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." + (map "Email" "mail@euro-cash.eu") }} </p> - <h2>{{ .T "Special Thanks" }}</h2> - <table> - <thead> - <th scope="col">{{ .T "Development" }}</th> - <th scope="col">{{ .T "Research" }}</th> - <th scope="col">{{ .T "Translations" }}</th> - </thead> - <tbody> - <tr> - <td> - Jessika Wexler, - Lyyli Savolainen, - Ralf Nadel - </td> - <td> - Elín Hjartardóttir, - Storm Sørensen - </td> - <td> - <span data-tooltip={{ .T "British- & American English" }}>Thomas Voss</span>, - <span data-tooltip={{ .T "Icelandic" }}>Védís Indriðadóttir</span> - </td> - </tr> - </tbody> - </table> </main> {{ end }} diff --git a/src/templates/banknotes-codes.html.tmpl b/src/templates/banknotes-codes.html.tmpl index f7aea7f..6586a14 100644 --- a/src/templates/banknotes-codes.html.tmpl +++ b/src/templates/banknotes-codes.html.tmpl @@ -1,352 +1,520 @@ +{{ define "header" }} +{{ template "header-navbar" . }} + +<style> + .design-container { + --euro-cash-design-width: 90%; + } + + table { + white-space: nowrap; + + tr :is(th, td):first-child { + text-align: center; + } + } + + #seperated-tables { + display: none; + } + + @media (min-width: 576px) { + #seperated-tables { + display: flex; + justify-content: space-between; + gap: var(--pico-grid-column-gap); + } + + #joint-table { + display: none; + } + } +</style> +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Location Codes" }}</h1> + <h1>{{ .Get "Location Codes" }}</h1> </header> -<main> +<main class="container"> <p> - {{ .T ` - 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 issues the banknote - (for the 2002 series) or where the banknote was printed (for the - Europa series). - ` }} + {{ .Get "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)." }} </p> - <h2>{{ .T "Printer Code" }}</h2> + <h2>{{ .Get "Printer Codes" }}</h2> <p> - {{ .T ` - 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 take the form of ‘X000X0’ - — or in other words — a letter followed by 3 numbers, a letter - and a final number. - ` }} + {{ .Get "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." }} </p> <p> - {{ .T ` - The printer code can be a bit tricky to find. The following - dropdowns will show you where to find the printer code on each - note. - ` }} + {{ .Get "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." }} </p> - <details> - <summary>{{ .T "2002 Series Printer Codes" }}</summary> - <p> - {{ .T ` - All these images are taken from %seurobilltracker.com%s.` - `<a href="https://eurobilltracker.com" target="_blank">` - `</a>` | safe - }} - </p> - {{ template "banknotes/codes/code-pos" (tuple .Printer 5 "2002") }} - {{ template "banknotes/codes/code-pos" (tuple .Printer 10 "2002") }} - {{ template "banknotes/codes/code-pos" (tuple .Printer 20 "2002") }} - {{ template "banknotes/codes/code-pos" (tuple .Printer 50 "2002") }} - {{ template "banknotes/codes/code-pos" (tuple .Printer 100 "2002") }} - {{ template "banknotes/codes/code-pos" (tuple .Printer 200 "2002") }} - {{ template "banknotes/codes/code-pos" (tuple .Printer 500 "2002") }} - </details> - <details> - <summary>{{ .T "Europa Series Printer Codes" }}</summary> - {{ template "banknotes/codes/code-pos" (tuple .Printer 5 "europa") }} - {{ template "banknotes/codes/code-pos" (tuple .Printer 10 "europa") }} - {{ template "banknotes/codes/code-pos" (tuple .Printer 20 "europa") }} - {{ template "banknotes/codes/code-pos" (tuple .Printer 50 "europa") }} - {{ template "banknotes/codes/code-pos" (tuple .Printer 100 "europa") }} - {{ template "banknotes/codes/code-pos" (tuple .Printer 200 "europa") }} - </details> + + <article> + <details name="printer-codes"> + <summary>{{ .Get "2002 Series Printer Codes" }}</summary><hr> + <p> + {{ .Get "All these images are taken from {Link:L}eurobilltracker.com{-:E}." + (map "Link" "https://eurobilltracker.com") }} + </p> + <article> + {{ template "banknotes/codes/code-pos" (tuple .Printer 5 "2002") }}<hr> + {{ template "banknotes/codes/code-pos" (tuple .Printer 10 "2002") }}<hr> + {{ template "banknotes/codes/code-pos" (tuple .Printer 20 "2002") }}<hr> + {{ template "banknotes/codes/code-pos" (tuple .Printer 50 "2002") }}<hr> + {{ template "banknotes/codes/code-pos" (tuple .Printer 100 "2002") }}<hr> + {{ template "banknotes/codes/code-pos" (tuple .Printer 200 "2002") }}<hr> + {{ template "banknotes/codes/code-pos" (tuple .Printer 500 "2002") }} + </article> + </details> + <hr> + <details name="printer-codes"> + <summary>{{ .Get "Europa Series Printer Codes" }}</summary><hr> + <article> + {{ template "banknotes/codes/code-pos" (tuple .Printer 5 "europa") }}<hr> + {{ template "banknotes/codes/code-pos" (tuple .Printer 10 "europa") }}<hr> + {{ template "banknotes/codes/code-pos" (tuple .Printer 20 "europa") }}<hr> + {{ template "banknotes/codes/code-pos" (tuple .Printer 50 "europa") }}<hr> + {{ template "banknotes/codes/code-pos" (tuple .Printer 100 "europa") }}<hr> + {{ template "banknotes/codes/code-pos" (tuple .Printer 200 "europa") }} + </article> + </details> + </article> <p> - {{ .T ` - 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 will be - printed multiple times on a large sheet of paper which is later cut - into smaller individual banknotes. A note with the pair ‘A1’ will - have been at the upper-left corner of the printing sheet, with ‘A2’ - to it’s right and ‘B1’ below it. - ` }} + {{ .Get "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." }} </p> - <h2>{{ .T "2002 Series" }}</h2> + <h2>{{ .Get "2002 Series" }}</h2> <p> - {{ .T ` - 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. - ` }} + {{ .Get "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." }} </p> - <table role="grid"> + <div id="seperated-tables"> + <table class="striped"> + <thead> + <tr> + <th>{{ .GetC "Code" "Header/Label" }}</th> + <th>{{ .GetC "Country" "Header/Label" }}</th> + </tr> + </thead> + <tbody> + <tr> + <td>D</td> + <td>{{ .GetC "Estonia" "Place Name" }}</td> + </tr> + <tr> + <td>E</td> + <td>{{ .GetC "Slovakia" "Place Name" }}</td> + </tr> + <tr> + <td>F</td> + <td>{{ .GetC "Malta" "Place Name" }}</td> + </tr> + <tr> + <td>G</td> + <td>{{ .GetC "Cyprus" "Place Name" }}</td> + </tr> + <tr> + <td>H</td> + <td>{{ .GetC "Slovenia" "Place Name" }}</td> + </tr> + <tr> + <td>L</td> + <td>{{ .GetC "Finland" "Place Name" }}</td> + </tr> + <tr> + <td>M</td> + <td>{{ .GetC "Portugal" "Place Name" }}</td> + </tr> + <tr> + <td>N</td> + <td>{{ .GetC "Austria" "Place Name" }}</td> + </tr> + </tbody> + </table> + + <table class="striped"> + <thead> + <tr> + <th>{{ .GetC "Code" "Header/Label" }}</th> + <th>{{ .GetC "Country" "Header/Label" }}</th> + </tr> + </thead> + <tbody> + <tr> + <td>P</td> + <td>{{ .GetC "Netherlands" "Place Name" }}</td> + </tr> + <tr> + <td>S</td> + <td>{{ .GetC "Italy" "Place Name" }}</td> + </tr> + <tr> + <td>T</td> + <td>{{ .GetC "Ireland" "Place Name" }}</td> + </tr> + <tr> + <td>U</td> + <td>{{ .GetC "France" "Place Name" }}</td> + </tr> + <tr> + <td>V</td> + <td>{{ .GetC "Spain" "Place Name" }}</td> + </tr> + <tr> + <td>X</td> + <td>{{ .GetC "Germany" "Place Name" }}</td> + </tr> + <tr> + <td>Y</td> + <td>{{ .GetC "Greece" "Place Name" }}</td> + </tr> + <tr> + <td>Z</td> + <td>{{ .GetC "Belgium" "Place Name" }}</td> + </tr> + </tbody> + </table> + </div> + + <table id="joint-table" class="striped"> <thead> <tr> - <th>{{ .T "Code" }}</th> - <th>{{ .T "Country" }}</th> + <th>{{ .GetC "Code" "Header/Label" }}</th> + <th>{{ .GetC "Country" "Header/Label" }}</th> </tr> </thead> <tbody> <tr> <td>D</td> - <td>{{ .T "Estonia" }}</td> + <td>{{ .GetC "Estonia" "Place Name" }}</td> </tr> <tr> <td>E</td> - <td>{{ .T "Slovakia" }}</td> + <td>{{ .GetC "Slovakia" "Place Name" }}</td> </tr> <tr> <td>F</td> - <td>{{ .T "Malta" }}</td> + <td>{{ .GetC "Malta" "Place Name" }}</td> </tr> <tr> <td>G</td> - <td>{{ .T "Cyprus" }}</td> + <td>{{ .GetC "Cyprus" "Place Name" }}</td> </tr> <tr> <td>H</td> - <td>{{ .T "Slovenia" }}</td> + <td>{{ .GetC "Slovenia" "Place Name" }}</td> </tr> <tr> <td>L</td> - <td>{{ .T "Finland" }}</td> + <td>{{ .GetC "Finland" "Place Name" }}</td> </tr> <tr> <td>M</td> - <td>{{ .T "Portugal" }}</td> + <td>{{ .GetC "Portugal" "Place Name" }}</td> </tr> <tr> <td>N</td> - <td>{{ .T "Austria" }}</td> + <td>{{ .GetC "Austria" "Place Name" }}</td> </tr> <tr> <td>P</td> - <td>{{ .T "Netherlands" }}</td> + <td>{{ .GetC "Netherlands" "Place Name" }}</td> </tr> <tr> <td>S</td> - <td>{{ .T "Italy" }}</td> + <td>{{ .GetC "Italy" "Place Name" }}</td> </tr> <tr> <td>T</td> - <td>{{ .T "Ireland" }}</td> + <td>{{ .GetC "Ireland" "Place Name" }}</td> </tr> <tr> <td>U</td> - <td>{{ .T "France" }}</td> + <td>{{ .GetC "France" "Place Name" }}</td> </tr> <tr> <td>V</td> - <td>{{ .T "Spain" }}</td> + <td>{{ .GetC "Spain" "Place Name" }}</td> </tr> <tr> <td>X</td> - <td>{{ .T "Germany" }}</td> + <td>{{ .GetC "Germany" "Place Name" }}</td> </tr> <tr> <td>Y</td> - <td>{{ .T "Greece" }}</td> + <td>{{ .GetC "Greece" "Place Name" }}</td> </tr> <tr> <td>Z</td> - <td>{{ .T "Belgium" }}</td> + <td>{{ .GetC "Belgium" "Place Name" }}</td> </tr> </tbody> </table> <p> - {{ .T ` - The first letter of the printer code can also 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. - ` }} + {{ .Get "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." }} </p> - <table role="grid"> - <thead> - <tr> - <th>{{ .T "Code" }}</th> - <th>{{ .T "Country" }}</th> - <th>{{ .T "Printer" }}</th> - </tr> - </thead> - <tbody> - <tr> - <td>D</td> - <td>{{ .T "Finland" }}</td> - <td>SETEC</td> - </tr> + <div class="overflow-auto"> + <table class="striped"> + <thead> + <tr> + <th>{{ .GetC "Code" "Header/Label" }}</th> + <th>{{ .GetC "Country" "Header/Label" }}</th> + <th> + {{ .GetC "Printer" "Header/Label" }}<br> + <span class="translation"> + {{ .GetC "Local Names" "Header/Label" }} + </span> + </th> + </tr> + </thead> + <tbody> + <tr> + <td>D</td> + <td>{{ .GetC "Finland" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "SETEC" "Company Name" | toString) + (tuple "" "SETEC") }} + </tr> + <tr> + <td>E</td> + <td>{{ .GetC "France" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Oberthur" "Company Name" | toString) + (tuple "" "Oberthur") }} + </tr> + <tr> + <td>F</td> + <td>{{ .GetC "Austria" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Austrian Banknote and Security Printing" "Company Name" | toString) + (tuple "de" "Oesterreichische Banknoten- und Sicherheitsdruck") }} + </tr> + <tr> + <td>G</td> + <td>{{ .GetC "Netherlands" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Royal Joh. Enschedé" "Company Name" | toString) + (tuple "nl" "Koninklijke Joh. Enschedé") }} + </tr> + <tr> + <td>H</td> + <td>{{ .GetC "United Kingdom" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "De La Rue" "Company Name" | toString) + (tuple "" "De La Rue") }} + </tr> + <tr> + <td>J</td> + <td>{{ .GetC "Italy" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Bank of Italy" "Company Name" | toString) + (tuple "it" "Banca d’Italia") }} + </tr> + <tr> + <td>K</td> + <td>{{ .GetC "Ireland" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Central Bank of Ireland" "Company Name" | toString) + (tuple "ga" "Banc Ceannais na hÉireann") + (tuple "en" "Central Bank of Ireland") }} + </tr> + <tr> + <td>L</td> + <td>{{ .GetC "France" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Bank of France" "Company Name" | toString) + (tuple "fr" "Banque du France") }} + </tr> + <tr> + <td>M</td> + <td>{{ .GetC "Spain" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Royal Mint of Spain" "Company Name" | toString) + (tuple "es" "Fábrica Nacional de Moneda y Timbre") }} + </tr> + <tr> + <td>N</td> + <td>{{ .GetC "Greece" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Bank of Greece" "Company Name" | toString) + (tuple "gr" "Τράπεζα της Ελλάδος") }} + </tr> + <tr> + <td>P</td> + <td>{{ .GetC "Germany" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Giesecke+Devrient" "Company Name" | toString) + (tuple "de" "Giesecke+Devrient") }} + </tr> + <tr> + <td>R</td> + <td>{{ .GetC "Germany" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Federal Printing Office" "Company Name" | toString) + (tuple "de" "Bundesdruckerei") }} + </tr> + <tr> + <td>T</td> + <td>{{ .GetC "Belgium" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "National Bank of Belgium" "Company Name" | toString) + (tuple "nl" "Nationale Bank van België") + (tuple "fr" "Banque nationale de Belgique") + (tuple "de" "Belgische Nationalbank") }} + </tr> + <tr> + <td>U</td> + <td>{{ .GetC "Portugal" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Valora S.A." "Company Name" | toString) + (tuple "" "Valora S.A.") }} + </tr> + </tbody> + </table> + </div> + + + <h2>{{ .Get "Europa Series" }}</h2> + <p> + {{ .Get "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." }} + </p> + + <div class="overflow-auto"> + <table class="striped"> + <thead> + <tr> + <th>{{ .GetC "Code" "Header/Label" }}</th> + <th>{{ .GetC "Country" "Header/Label" }}</th> + <th> + {{ .GetC "Printer" "Header/Label" }}<br> + <span class="translation"> + {{ .GetC "Local Names" "Header/Label" }} + </span> + </th> + </tr> + </thead> <tr> <td>E</td> - <td>{{ .T "France" }}</td> - <td>Oberthur</td> + <td>{{ .GetC "France" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Oberthur" "Company Name" | toString) + (tuple "" "Oberthur") }} </tr> <tr> <td>F</td> - <td>{{ .T "Austria" }}</td> - <td>Österreichische Banknoten‐ und Sicherheitsdruck GmbH</td> + <td>{{ .GetC "Bulgaria" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Oberthur Fiduciaire AD" "Company Name" | toString) + (tuple "" "Oberthur Fiduciaire AD") }} </tr> <tr> - <td>G</td> - <td>{{ .T "Netherlands" }}</td> - <td>Koninklijke Joh. Enschede</td> + <td>M</td> + <td>{{ .GetC "Portugal" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Valora S.A." "Company Name" | toString) + (tuple "" "Valora S.A.") }} </tr> <tr> - <td>H</td> - <td>{{ .T "United Kingdom" }}</td> - <td>Thomas de la Rue</td> + <td>N</td> + <td>{{ .GetC "Austria" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Austrian Banknote and Security Printing" "Company Name" | toString) + (tuple "de" "Oesterreichische Banknoten- und Sicherheitsdruck") }} </tr> <tr> - <td>J</td> - <td>{{ .T "Italy" }}</td> - <td>Banca d’ Italia</td> + <td>P</td> + <td>{{ .GetC "Netherlands" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Royal Joh. Enschedé" "Company Name" | toString) + (tuple "nl" "Koninklijke Joh. Enschedé") }} </tr> <tr> - <td>K</td> - <td>{{ .T "Ireland" }}</td> - <td>{{ .T "Central Bank of Ireland" }}</td> + <td>R</td> + <td>{{ .GetC "Germany" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Federal Printing Office" "Company Name" | toString) + (tuple "de" "Bundesdruckerei") }} </tr> <tr> - <td>L</td> - <td>{{ .T "France" }}</td> - <td>Banque de France</td> + <td>S</td> + <td>{{ .GetC "Italy" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Bank of Italy" "Company Name" | toString) + (tuple "it" "Banca d’Italia") }} </tr> <tr> - <td>M</td> - <td>{{ .T "Spain" }}</td> - <td>Fábrica Nacional de Moneda y Timbre</td> + <td>T</td> + <td>{{ .GetC "Ireland" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Central Bank of Ireland" "Company Name" | toString) + (tuple "ga" "Banc Ceannais na hÉireann") + (tuple "en" "Central Bank of Ireland") }} </tr> <tr> - <td>N</td> - <td>{{ .T "Greece" }}</td> - <td>{{ .T "Bank of Greece" }}</td> + <td>U</td> + <td>{{ .GetC "France" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Bank of France" "Company Name" | toString) + (tuple "fr" "Banque du France") }} </tr> <tr> - <td>P</td> - <td>{{ .T "Germany" }}</td> - <td>Giesecke & Devrient</td> + <td>V</td> + <td>{{ .GetC "Spain" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Royal Mint of Spain" "Company Name" | toString) + (tuple "es" "Fábrica Nacional de Moneda y Timbre") }} </tr> <tr> - <td>R</td> - <td>{{ .T "Germany" }}</td> - <td>Bundesdruckerei Berlin</td> + <td>W</td> + <td>{{ .GetC "Germany" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Giesecke+Devrient Leipzig" "Company Name" | toString) + (tuple "de" "Giesecke+Devrient Leipzig") }} </tr> <tr> - <td>T</td> - <td>{{ .T "Belgium" }}</td> - <td>{{ .T "National Bank of Belgium" }}</td> + <td>X</td> + <td>{{ .GetC "Germany" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Giesecke+Devrient Munich" "Company Name" | toString) + (tuple "de" "Giesecke+Devrient München") }} </tr> <tr> - <td>U</td> - <td>{{ .T "Portugal" }}</td> - <td>Valora S.A.</td> + <td>Y</td> + <td>{{ .GetC "Greece" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "Bank of Greece" "Company Name" | toString) + (tuple "gr" "Τράπεζα της Ελλάδος") }} </tr> - </tbody> - </table> - - <h2>{{ .T "Europa Series" }}</h2> - <p> - {{ .T ` - 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. - ` }} - </p> - <table role="grid"> - <thead> <tr> - <th>{{ .T "Code" }}</th> - <th>{{ .T "Country" }}</th> - <th>{{ .T "Printer" }}</th> - </tr> - </thead> - <tr> - <td>E</td> - <td>{{ .T "France" }}</td> - <td>Oberthur</td> - </tr> - <tr> - <td>F</td> - <td>{{ .T "Bulgaria" }}</td> - <td>Oberthur Fiduciaire AD</td> - </tr> - <tr> - <td>M</td> - <td>{{ .T "Portugal" }}</td> - <td>Valora S.A.</td> - </tr> - <tr> - <td>N</td> - <td>{{ .T "Austria" }}</td> - <td>Österreichische Banknoten‐ und Sicherheitsdruck GmbH</td> - </tr> - <tr> - <td>P</td> - <td>{{ .T "Netherlands" }}</td> - <td>Koninklijke Joh. Enschedé</td> - </tr> - <tr> - <td>R</td> - <td>{{ .T "Germany" }}</td> - <td>Bundesdruckerei Berlin</td> - </tr> - <tr> - <td>S</td> - <td>{{ .T "Italy" }}</td> - <td>Banca d’Italia</td> - </tr> - <tr> - <td>T</td> - <td>{{ .T "Ireland" }}</td> - <td>{{ .T "Central Bank of Ireland" }}</td> - </tr> - <tr> - <td>U</td> - <td>{{ .T "France" }}</td> - <td>Banque de France</td> - </tr> - <tr> - <td>V</td> - <td>{{ .T "Spain" }}</td> - <td>Fábrica Nacional de Moneda y Timbre</td> - </tr> - <tr> - <td>W</td> - <td>{{ .T "Germany" }}</td> - <td>Giesecke & Devrient Leipzig</td> - </tr> - <tr> - <td>X</td> - <td>{{ .T "Germany" }}</td> - <td>Giesecke & Devrient Munich</td> - </tr> - <tr> - <td>Y</td> - <td>{{ .T "Greece" }}</td> - <td>{{ .T "Bank of Greece" }}</td> - </tr> - <tr> - <td>Z</td> - <td>{{ .T "Belgium" }}</td> - <td>{{ .T "National Bank of Belgium" }}</td> - </tr> - </table> + <td>Z</td> + <td>{{ .GetC "Belgium" "Place Name" }}</td> + {{ withTranslations "td" + (.GetC "National Bank of Belgium" "Company Name" | toString) + (tuple "nl" "Nationale Bank van België") + (tuple "fr" "Banque nationale de Belgique") + (tuple "de" "Belgische Nationalbank") }} + </tr> + </table> + </div> </main> {{ end }} {{ define "banknotes/codes/code-pos" }} {{ $p := (index . 0) }} -<details> - <summary>{{ $p.T "%d Euro" (index . 1) }}</summary> - <img - class="big" - src={{ sprintf "/codes/%s-%03d.jpg" (index . 2) (index . 1) }} - alt={{ $p.T "Printer code on a %d euro bill" (index . 1) }} - > +{{ $d := (index . 1) }} +{{ $args := (map "N" $d) }} +<details name="printer-codes-1"> + {{/* TRANSLATORS: As in ‘5 Euro Banknote’ */}} + <summary>{{ $p.GetN "{N} Euro" "{N} Euro" $d $args }}</summary> + <div class="design-container"> + <img + src={{ printf "/codes/%s-%03d.jpg" (index . 2) $d }} + alt={{ $p.GetN "Printer code on a {N} euro bill" "Printer code on a {N} euro bill" $d $args }} + > + </div> </details> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/src/templates/banknotes.html.tmpl b/src/templates/banknotes.html.tmpl index 1a171db..8a50dfa 100644 --- a/src/templates/banknotes.html.tmpl +++ b/src/templates/banknotes.html.tmpl @@ -1,49 +1,52 @@ +{{ define "header" }} +{{ template "header-navbar" . }} + +<style> + #sections { + --button-min-width: 40ch; + + article { + min-height: 100%; + } + } +</style> +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Euro Banknotes" }}</h1> + <h1>{{ .Get "Euro Banknotes" }}</h1> </header> -<main> +<main class="container"> <p> - {{ .T ` - On this section of the site you can find everything there is to - know about the banknotes of the Eurozone. - ` }} + {{ .Get "On this section of the site you can find everything there is to know about the banknotes of the Eurozone." }} </p> <hr> - <section> - <div class="grid"> - <a class="no-deco" href="/banknotes/designs"> - <article> - <header> - <h3>{{ .T "Designs" }}</h3> - </header> - <main> - {{ .T "View the different Euro-note designs!" }} - </main> - </article> - </a> - <a class="no-deco" href="/banknotes/codes"> - <article> - <header> - <h3>{{ .T "Location Codes" }}</h3> - </header> - <main> - {{ .T "Find out where your notes were printed!" }} - </main> - </article> - </a> - <a class="no-deco" href="/banknotes/test"> - <article> - <header> - <h3>{{ .T "Test Notes" }}</h3> - </header> - <main> - {{ .T "Learn about the special test notes!" }} - </main> - </article> - </a> - </div> - </section> + <div id="sections" class="button-grid"> + <a class="no-deco" href="/banknotes/designs"> + <article> + <header> + <h3>{{ .Get "Designs" }}</h3> + </header> + {{ .Get "View the different Euro banknote designs" }} + </article> + </a> + <a class="no-deco" href="/banknotes/codes"> + <article> + <header> + <h3>{{ .Get "Location Codes" }}</h3> + </header> + {{ .Get "Find out where your notes were printed" }} + </article> + </a> + <a class="no-deco" href="/banknotes/test"> + <article> + <header> + <h3>{{ .Get "Test Notes" }}</h3> + </header> + {{ .Get "Learn about the special test notes" }} + </article> + </a> + </div> </main> {{ end }}
\ No newline at end of file diff --git a/src/templates/coins-designs-ad.html.tmpl b/src/templates/coins-designs-ad.html.tmpl index c42930a..aaefaca 100644 --- a/src/templates/coins-designs-ad.html.tmpl +++ b/src/templates/coins-designs-ad.html.tmpl @@ -1,91 +1,65 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Andorran Euro Coin Designs" }}</h1> + <h1>{{ .Get "Andorran Euro Coin Designs" }}</h1> </header> -<main> - <div class="design-container"> - <img alt="Andorran 1 euro cent coin" src="/designs/ad-001.avif" /> - <img alt="Andorran 50 euro cent coin" src="/designs/ad-050.avif" /> - </div> - <div class="design-container"> - <img alt="Andorran 1 euro coin" src="/designs/ad-100.avif" /> - <img alt="Andorran 2 euro coin" src="/designs/ad-200.avif" /> - </div> +<main class="container"> + <figure> + <div class="design-container"> + <img alt="{{ .Get `Andorran €0.01 coin` }}" src="/designs/ad-001-1.avif" /> + <img alt="{{ .Get `Andorran €0.50 coin` }}" src="/designs/ad-050-1.avif" /> + </div> + <div class="design-container"> + <img alt="{{ .Get `Andorran €1 coin` }}" src="/designs/ad-100-1.avif" /> + <img alt="{{ .Get `Andorran €2 coin` }}" src="/designs/ad-200-1.avif" /> + </div> + <figcaption> + {{ .Get "Andorran coins (since 2014)" }} + </figcaption> + </figure> <p> - {{ .T ` - 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: - ` }} + {{ .Get "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:" }} </p> <dl> - <dt>{{ .T "%s, %s, and %s" - (.Printer.M 0.01) - (.Printer.M 0.02) - (.Printer.M 0.05) }}</dt> - <dd>{{ .T "Andorran landscapes, nature, fauna, and flora" }}</dd> - <dt>{{ .T "%s, %s, and %s" - (.Printer.M 0.10) - (.Printer.M 0.20) - (.Printer.M 0.50) }}</dt> - <dd>{{ .T "Andorra’s Romanesque art" }}</dd> - <dt>{{ .Printer.M 1.00 }}</dt> - <dd>{{ .T "Casa de la Vall" }}</dd> + <dt>{{ .Get "€0.01, €0.02 and €0.05" }}</dt> + <dd>{{ .Get "Andorran landscapes, nature, fauna and flora" }}</dd> + <dt>{{ .Get "€0.10, €0.20 and €0.50" }}</dt> + <dd>{{ .Get "Andorra’s Romanesque art" }}</dd> + <dt>{{ .Printer.Ftom 1 }}</dt> + <dd>{{ .Get "Casa de la Vall" }}</dd> </dl> + <!-- TODO: Can we find the other submissions? --> <p> - {{ .T ` - 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. - ` }} + {{ .Get "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 name of the Principality (‘ANDORRA’) along the outer portion of the design with the year of issue written underneath." }} </p> <p> - {{ .T ` - 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. - ` }} + {{ .Get "The Andorran 1c, 2c and 5c 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." }} </p> + + <div class="design-container"> + <figure> + <img + alt="{{ .Get `Rejected Andorran design` }}" + src="/designs/ad-rejected.jpg" + style="width: unset;" + /> + <figcaption>{{ .Get "The rejected Andorran design" }}</figcaption> + </figure> + </div> + <p> - <!-- TODO: Can we find a photo of the rejected design with a source? --> - {{ .T ` - 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. - ` }} + {{ .Get "The Andorran 10c, 20c and 50c coins 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." }} </p> <p> - {{ .T ` - 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. - ` }} + {{ .Get "The €1 coin features the Casa 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." }} </p> <p> - {{ .T ` - 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: - ` }} - <ul> - <li>The arms of the Bishop of Urgell</li> - <li>The arms of the Count of Foix</li> - <li>The arms of Catalonia</li> - <li>The arms of the Viscounts of Béarn</li> - </ul> - {{ .T ` - The bottom of the coat of arms has the motto ‘%sVIRTVS VNITA - FORTIOR%s’ (‘UNITED VIRTUE IS STRONGER’). - ` `<span lang="la">` `</span>` }} + {{ .Get "Finally, the €2 coin features the {Link:L}coat of arms of Andorra{-:E}." + (map "Link" (.Printer.Wikipedia "Coat of arms of Andorra")) }} </p> </main> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/src/templates/coins-designs-at.html.tmpl b/src/templates/coins-designs-at.html.tmpl index 9f87d5f..c00daee 100644 --- a/src/templates/coins-designs-at.html.tmpl +++ b/src/templates/coins-designs-at.html.tmpl @@ -1,59 +1,55 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Austrian Euro Coin Designs" }}</h1> + <h1>{{ .Get "Austrian Euro Coin Designs" }}</h1> </header> -<main> +<main class="container"> <p> - {{ .T ` - 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 %sGreek - euro coins%s are the only coins that feature the denomination on both - the common- and national-sides of the coin.` - `<a href="gr">` `</a>` | safe - }} + {{ .Get "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." + (map "Link" "gr") }} </p> - <div class="design-container"> - <img alt="Austrian 1 euro cent coin" src="/designs/at-001.avif"> - <img alt="Austrian 2 euro cent coin" src="/designs/at-002.avif"> - <img alt="Austrian 5 euro cent coin" src="/designs/at-005.avif"> - </div> + + <figure> + <div class="design-container"> + <img alt="{{ .Get `Austrian €0.01 coin` }}" src="/designs/at-001-1.avif"> + <img alt="{{ .Get `Austrian €0.02 coin` }}" src="/designs/at-002-1.avif"> + <img alt="{{ .Get `Austrian €0.05 coin` }}" src="/designs/at-005-1.avif"> + </div> + <figcaption> + {{ .Get "Austrian 1c, 2c and 5c coins (since 2002)" }} + </figcaption> + </figure> <p> - {{ .T ` - The bronze coins feature the Alpine gentian, -edelweiss, and - -primrose respectively, and were chosen to symbolize the role that - Austria played in the development of EU environmental policy. - ` }} + {{ .Get "The bronze coins feature the Alpine gentian, edelweiss and primrose respectively, and were chosen to symbolize the role that Austria played in the development of EU environmental policy." }} </p> - <div class="design-container"> - <img alt="Austrian 10 euro cent coin" src="/designs/at-010.avif"> - <img alt="Austrian 20 euro cent coin" src="/designs/at-020.avif"> - <img alt="Austrian 50 euro cent coin" src="/designs/at-050.avif"> - </div> + <figure> + <div class="design-container"> + <img alt="{{ .Get `Austrian €0.10 coin` }}" src="/designs/at-010-1.avif"> + <img alt="{{ .Get `Austrian €0.20 coin` }}" src="/designs/at-020-1.avif"> + <img alt="{{ .Get `Austrian €0.50 coin` }}" src="/designs/at-050-1.avif"> + </div> + <figcaption> + {{ .Get "Austrian 10c, 20c and 50c coins (since 2002)" }} + </figcaption> + </figure> <p> - {{ .T ` - The €0.10 coin features St. Stephen’s Cathedral. It symbolises the - Viennese Gothic architectural style dating to around the year 1160. - The €0.20 coin features Belvedere Palace. This is an example of - Baroque architecture and symbolises the national freedom and - sovereignty of Austria. The final gold coin — the €0.50 coin — - features the Secession Building: an exhibition hall in the Art - Nouveau style. - ` }} + {{ .Get "The €0.10 coin features St. Stephen’s Cathedral. It symbolises the Viennese Gothic architectural style dating to around the year 1160. The €0.20 coin features Belvedere Palace. This is an example of Baroque architecture and symbolises the national freedom and sovereignty of Austria. Finally, the €0.50 coin features the Secession Building: an exhibition hall in the Art Nouveau style." }} </p> - <div class="design-container"> - <img alt="Austrian 1 euro coin" src="/designs/at-100.avif"> - <img alt="Austrian 2 euro coin" src="/designs/at-200.avif"> - </div> + <figure> + <div class="design-container"> + <img alt="{{ .Get `Austrian €1 coin` }}" src="/designs/at-100-1.avif"> + <img alt="{{ .Get `Austrian €2 coin` }}" src="/designs/at-200-1.avif"> + </div> + <figcaption> + {{ .Get "Austrian €1 and €2 coins (since 2002)" }} + </figcaption> + </figure> <p> - {{ .T ` - The two bimetallic coins feature the busts of the musical composer - Wolfgang Amadeus Mozarts on the €1 coin, and the Austrian pacifist - and Nobel Peace Prize winner Bertha von Suttner. - ` }} + {{ .Get "The two bimetallic coins feature the busts of the musical composer Wolfgang Amadeus Mozart on the €1 coin, and the Austrian pacifist and Nobel Peace Prize winner Bertha von Suttner on the €2 coin." }} </p> </main> {{ end }} diff --git a/src/templates/coins-designs-be.html.tmpl b/src/templates/coins-designs-be.html.tmpl index 22f533f..a1e7921 100644 --- a/src/templates/coins-designs-be.html.tmpl +++ b/src/templates/coins-designs-be.html.tmpl @@ -1,47 +1,68 @@ +{{ define "header" }} +{{ template "header-navbar" . }} + +<style> + .portrait { + width: 30%; + display: flex; + flex-direction: column; + align-items: center; + + img { + width: 100%; + } + } +</style> +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Belgian Euro Coin Designs" }}</h1> + <h1>{{ .Get "Belgian Euro Coin Designs" }}</h1> </header> -<main> - <div class="design-container"> - <img alt="Belgian 1 euro coin" src="/designs/be-100-albert-1.avif"> - <img alt="Belgian 1 euro coin" src="/designs/be-100-albert-2.avif"> - <img alt="Belgian 1 euro coin" src="/designs/be-100-philippe.avif"> - </div> +<main class="container"> + <figure> + <div class="design-container"> + <img + alt="{{ .Get `Belgian €1 coin (King Albert; Series 1)` }}" + src="/designs/be-100-1.avif" + > + <img + alt="{{ .Get `Belgian €1 coin (King Albert; Series 2)` }}" + src="/designs/be-100-2.avif" + > + <img + alt="{{ .Get `Belgian €1 coin (King Philippe)` }}" + src="/designs/be-100-3.avif" + > + </div> + <figcaption> + {{ .Get "Belgian coins (1999–2007, 2008–2013, 2014-today)" }} + </figcaption> + </figure> <p> - {{ .T ` - Since 1999 Belgium has released three series of euro coins, - which each series having a single design repeated on all - denominations. Starting in 1999 the Belgian euro coins - featured the portrait of King Albert II with the %sroyal - monogram%s in the outer ring of the coins. - ` - `<a - target="_blank" - href="https://www.wikipedia.org/wiki/Royal_cypher" - >` - `</a>` - }} + {{ .Get "Since 1999 Belgium has released three series of euro coins, with each series having a single design repeated on all denominations. Starting in 1999 the Belgian euro coins featured the portrait of King Albert II with the {Link:L}royal monogram{-:E} in the outer ring of the coins." + (map "Link" (.Printer.Wikipedia "Royal cypher")) }} </p> + + <figure> + <div class="design-container"> + <img + alt="{{ .Get `2008 portrait of King Albert II` }}" + src="/designs/be-portraits/2008.avif" + > + </div> + <figcaption> + {{ .Get "2008 portrait of King Albert II" }}<br> + <small>© brismike (<a target="_blank" href="https://creativecommons.org/licenses/by-nc/4.0/">CC BY-NC</a>)</small> + </figcaption> + </figure> + <p> - {{ .T ` - In 2008 a second series of coins was released featuring a - slightly-modified design in which the royal monogram was - moved to the inner portion of the coin along with the year of - mintage in order to comply with the European Commission’s - guidelines. The country code ‘BE’ was also added to the - design underneath the royal monogram. - ` }} + {{ .Get "In 2008 a second series of coins was released featuring a slightly modified design in which the royal monogram was moved to the inner portion of the coin along with the year of mintage in order to comply with the European Commission’s guidelines. The country code ‘BE’ was also added to the design underneath the royal monogram. The 2008 redesign also saw the use of a slightly modified portrait of the King, but this design change was reverted in 2009." }} </p> <p> - {{ .T ` - After his accession to the throne Belgium began a third - series of coins in 2014 featuring the portrait of King - Philippe. As is customary with coins bearing the portraits - of monarchs, the direction in which the portrait faces was - flipped to face right instead of left. - ` }} + {{ .Get "After his accession to the throne in 2014, Belgium switched to a third series of coins featuring the portrait of King Philippe. As is customary with coins bearing the portraits of monarchs, the direction in which the portrait faces was flipped from the prior series to face right instead of left." }} </p> </main> {{ end }} diff --git a/src/templates/coins-designs-cy.html.tmpl b/src/templates/coins-designs-cy.html.tmpl new file mode 100644 index 0000000..2d26517 --- /dev/null +++ b/src/templates/coins-designs-cy.html.tmpl @@ -0,0 +1,34 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + +{{ define "content" }} +<header class="container"> + {{ template "navbar" . }} + <h1>{{ .Get "Cypriot Euro Coin Designs" }}</h1> +</header> +<main class="container"> + <figure> + <div class="design-container"> + <img alt="Cypriot €0.01 coin" src="/designs/cy-001-1.avif" /> + <img alt="Cypriot €0.50 coin" src="/designs/cy-050-1.avif" /> + <img alt="Cypriot €2.00 coin" src="/designs/cy-200-1.avif" /> + </div> + <figcaption> + {{ .Get "Cypriot coins (since 2008)" }} + </figcaption> + </figure> + {{ $langargs := (map "GreekStart" `<span lang="el"><em>` + "TurkishStart" `<span lang="tr"><em>` + "LangEnd" "em,span") }} + <p> + {{ .Get "The Cypriot euro coins feature 3 different designs across the three different coin types (bronze, gold and bimetallic). Along with each design’s unique motif, all designs feature the country’s name in both of the island’s official languages (Greek: ‘{GreekStart:r}ΚΥΠΡΟΣ{LangEnd:E}’, Turkish: ‘{TurkishStart:r}KIBRIS{LangEnd:E}’)." + $langargs }} + </p> + <p> + {{ .Get "The 1c, 2c and 5c coins feature two mouflons, a wild sheep native to Cyprus, symbolising the island’s wildlife. The 10c, 20c and 50c coins feature the {LinkK:L}Kyrenia{-:E}, an ancient Greek merchent ship that sank circa 294 BC; it represents the importance of seafaring to Cyprus’ history as well as its importance as a centre of trade. Finally, the €1 and €2 coins feature the {LinkI:L}Idol of Pomos{-:E}, a stone prehistoric sculpture found near the Cypriot village of Pomos. The sculpture is currently on display in the Cyprus Museum in Nicosia." + (map "LinkK" (.Printer.Wikipedia "Kyrenia (ship)") + "LinkI" (.Printer.Wikipedia "Idol of Pomos")) }} + </p> +</main> +{{ end }} diff --git a/src/templates/coins-designs-de.html.tmpl b/src/templates/coins-designs-de.html.tmpl new file mode 100644 index 0000000..9c4a65b --- /dev/null +++ b/src/templates/coins-designs-de.html.tmpl @@ -0,0 +1,73 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + +{{ define "content" }} +<header class="container"> + {{ template "navbar" . }} + <h1>{{ .Get "German Euro Coin Designs" }}</h1> +</header> +<main class="container"> + {{ $deargs := (map "GermanStart" `<span lang="de"><em>` "GermanEnd" "em,span") }} + + <figure> + <div class="design-container"> + <img alt="{{ .Get `German €0.01 coin` }}" src="/designs/de-001-1.avif"> + <img alt="{{ .Get `German €0.10 coin` }}" src="/designs/de-010-1.avif"> + <img alt="{{ .Get `German €1 coin` }}" src="/designs/de-100-1.avif"> + </div> + <figcaption> + {{ .Get "German coins (since 2002)" }} + </figcaption> + </figure> + <p> + {{ .Get "The German euro coins feature three different designs. A unique feature of German euro coins are the mint marks on each coin that denote in which city a given coin was minted. Germany has five active mints that produce Euro coins, which are denoted in the table below." }} + </p> + + <table> + <thead> + <tr> + <th>{{ .GetC "City" "Header/Label" }}</th> + <th>{{ .GetC "Mintmark" "Header/Label" }}</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{ .GetC "Berlin" "Place Name" }}</td> + <td>A</td> + </tr> + <tr> + <td>{{ .GetC "Munich" "Place Name" }}</td> + <td>D</td> + </tr> + <tr> + <td>{{ .GetC "Stuttgart" "Place Name" }}</td> + <td>F</td> + </tr> + <tr> + <td>{{ .GetC "Karlsruhe" "Place Name" }}</td> + <td>G</td> + </tr> + <tr> + <td>{{ .GetC "Hamburg" "Place Name" }}</td> + <td>J</td> + </tr> + </tbody> + </table> + + <p> + {{ .Get "The 1c, 2c and 5c coins display an oak twig similar to that found on the former Pfennig coins of the German Mark (Germany’s pre-Euro currency). The mint mark and year are located on the left- and right-hand sides of the oak twig’s stem." }} + </p> + <p> + {{ .Get "The 10c, 20c and 50c coins feature the Brandenburg Gate, a symbol of Berlin and of Germany as a whole, but also a symbol of German division and unity. The mint mark is located below the year." }} + </p> + <p> + {{ .Get "The €1 and €2 coins feature an interpretation of the German Federal Eagle (German: ‘{GermanStart:r}Bundesadler{GermanEnd:E}’). The eagle is a common motif in German heraldry – including in the {Link:L}German coat of arms{-:E} – and represents strength and freedom. The mint mark is located to the right of the year." + (map "Link" (.Printer.Wikipedia "Coat of arms of Germany")) $deargs }} + </p> + <p> + <!-- TODO: Get a picture of the edge-inscription --> + {{ .Get "The €2 coin also features an edge-inscription of Germany’s national motto and incipit of Germany’s national anthem. It reads ‘{GermanStart:r}EINIGKEIT UND RECHT UND FREIHEIT{GermanEnd:E}’ (English: ‘UNITY AND JUSTICE AND FREEDOM’)." $deargs }} + </p> +</main> +{{ end }} diff --git a/src/templates/coins-designs-ee.html.tmpl b/src/templates/coins-designs-ee.html.tmpl new file mode 100644 index 0000000..f5d74b6 --- /dev/null +++ b/src/templates/coins-designs-ee.html.tmpl @@ -0,0 +1,197 @@ +{{ define "header" }} +{{ template "header-navbar" . }} + +<style> + @media (max-width: 500px) { + #ee-vote-table { + tr:first-child td:first-child { + border-top: var(--border-width) solid var(--table-border-color); + } + + thead, tfoot { + display: none; + } + tbody, tr, td { + display: block; + } + + tr { + &:nth-child(even) { + background-color: var(--table-row-stripped-background-color); + } + + td:not(:first-child) { + padding-top: calc(var(--spacing) / 4); + } + td:not(:last-child) { + padding-bottom: 0; + border-bottom: none; + } + } + + td { + padding-left: 50%; + position: relative; + text-align: left; + + } + + :is(td, span)::before { + content: attr(data-label); + position: absolute; + left: 0; + width: 50%; + padding-left: 2ch; + font-weight: bold; + } + } + } +</style> +{{ end }} + +{{ define "content" }} +<header class="container"> + {{ template "navbar" . }} + <h1>{{ .Get "Estonian Euro Coin Designs" }}</h1> +</header> +<main class="container"> + <figure> + <div class="design-container"> + <img + alt="{{ .Get `Estonian €1 coin` }}" + src="/designs/ee-100-1.avif" + > + </div> + <figcaption> + {{ .Get "Estonian coins (since 2011)" }} + </figcaption> + </figure> + <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> + <p> + {{ .Get "The design of the Estonian euro coins was chosen as part of a {Link:L}Eurovision{-:E}-style public televote where it competed and won against 9 other designs." + (map "Link" (.Printer.Wikipedia "Eurovision Song Contest")) }} + </p> + <p> + {{ .Get "In June 2004 a public design competition was announced with a deadline for the 19th of October. A total of 134 designs were submitted by the deadline and of these submissions, 10 were picked by a jury to partake in the public vote over the course of one week. In total, 45,453 people voted and the current design won with a total of 12,482 votes (27.46%)." }} + </p> + <p> + {{ .Get "The winner of the contest was awarded 50,000 EEK (€3,196) while the other finalists were each awarded 20,000 EEK (€1,278)." }} + </p> + + <!-- TODO: Add images of the other designs: https://web.archive.org/web/20070704210956/http://www.eestipank.info/pub/et/majandus/euroopaliit/euro/kavand/_1kava.html --> + <!-- Good description of one of the designs: http://www.worldofcoins.eu/forum/index.php/topic,21902.15.html?PHPSESSID=pc4qnnd3ng4etv8fp75u41erb1 --> + + <table id="ee-vote-table"> + <thead> + <tr> + <th data-numeric style="width: 1%">{{ .GetC "Position" "Header/Label" }}</th> + <th> + {{ .GetC "Name" "Header/Label" }}<br> + <span class="translation">{{ .GetC "Translation" "Header/Label" }}</span> + </th> + <th>{{ .GetC "Author(s)" "Header/Label" }}</th> + <th data-numeric>{{ .GetC "Votes" "Header/Label" }}</th> + <th data-numeric>{{ .GetC "Votes (%)" "Header/Label" }}</th> + </tr> + </thead> + <tbody> + {{ $args := map "Break" "<br>" }} + {{ $tag := printf `td data-label="%s"` (.GetC "Name" "Header/Label") }} + {{ $attr := printf `data-label="%s"` (.GetC "Translation" "Header/Label") }} + <tr> + <td data-label="{{ .GetC `Position` `Header/Label` }}" data-numeric>1</td> + {{/* TRANSLATORS: Name of a coin design. Don’t translate unless you use a non-latin script */}} + {{ withTranslation $tag "et" "Hara 2" + (.GetC "Hara 2" "Coin Design") $attr }} + <td data-label="{{ .GetC `Author(s)` `Header/Label` }}">{{ .Get "Lembit Lõhmus" }}</td> + <td data-label="{{ .GetC `Votes` `Header/Label` }}" data-numeric>{{ .Printer.Itoa 12482 }}</td> + <td data-label="{{ .GetC `Votes (%)` `Header/Label` }}" data-numeric>{{ .Printer.Ftop 27.46 }}</td> + </tr> + <tr> + <td data-label="{{ .GetC `Position` `Header/Label` }}" data-numeric>2</td> + {{ withTranslation $tag "et" "Järjepidevus" + (.GetC "Consistency" "Coin Design") $attr }} + <td data-label="{{ .GetC `Author(s)` `Header/Label` }}">{{ .Get "Tiit Jürna" }}</td> + <td data-label="{{ .GetC `Votes` `Header/Label` }}" data-numeric>{{ .Printer.Itoa 7477 }}</td> + <td data-label="{{ .GetC `Votes (%)` `Header/Label` }}" data-numeric>{{ .Printer.Ftop 16.45 }}</td> + </tr> + <tr> + <td data-label="{{ .GetC `Position` `Header/Label` }}" data-numeric>3</td> + {{ withTranslation $tag "la" "In corpore" + (.GetC "In the Body" "Coin Design") $attr }} + <td data-label="{{ .GetC `Author(s)` `Header/Label` }}">{{ .Get "Jaan Meristo" }}</td> + <td data-label="{{ .GetC `Votes` `Header/Label` }}" data-numeric>{{ .Printer.Itoa 7284 }}</td> + <td data-label="{{ .GetC `Votes (%)` `Header/Label` }}" data-numeric>{{ .Printer.Ftop 16.03 }}</td> + </tr> + <tr> + <td data-label="{{ .GetC `Position` `Header/Label` }}" data-numeric>4</td> + {{/* TRANSLATORS: Name of a coin design. Don’t translate unless you use a non-latin script */}} + {{ withTranslation $tag "et" "Tomson 5791" + (.GetC "Tomson 5791" "Coin Design") $attr }} + <td data-label="{{ .GetC `Author(s)` `Header/Label` }}">{{ .Get "Taavi Torim" }}</td> + <td data-label="{{ .GetC `Votes` `Header/Label` }}" data-numeric>{{ .Printer.Itoa 6219 }}</td> + <td data-label="{{ .GetC `Votes (%)` `Header/Label` }}" data-numeric>{{ .Printer.Ftop 13.68 }}</td> + </tr> + <tr> + <td data-label="{{ .GetC `Position` `Header/Label` }}" data-numeric>5</td> + {{/* TRANSLATORS: ‘Estonian’ as in the language, not the nationality */}} + {{ withTranslation $tag "et" "Eesti keel" + (.GetC "Estonian" "Coin Design") $attr }} + <td data-label="{{ .GetC `Author(s)` `Header/Label` }}">{{ .Get "Jaak Peep, Villem Valme" }}</td> + <td data-label="{{ .GetC `Votes` `Header/Label` }}" data-numeric>{{ .Printer.Itoa 5997 }}</td> + <td data-label="{{ .GetC `Votes (%)` `Header/Label` }}" data-numeric>{{ .Printer.Ftop 13.19 }}</td> + </tr> + <tr> + <td data-label="{{ .GetC `Position` `Header/Label` }}" data-numeric>6</td> + <td data-label="{{ .GetC `Name` `Header/Label` }}">261948</td> + <td data-label="{{ .GetC `Author(s)` `Header/Label` }}">{{ .Get "Mai Järmut, Villu Järmut" }}</td> + <td data-label="{{ .GetC `Votes` `Header/Label` }}" data-numeric>{{ .Printer.Itoa 3036 }}</td> + <td data-label="{{ .GetC `Votes (%)` `Header/Label` }}" data-numeric>{{ .Printer.Ftop 6.68 }}</td> + </tr> + <tr> + <td data-label="{{ .GetC `Position` `Header/Label` }}" data-numeric>7</td> + {{ withTranslation $tag "et" "Linnutee" + (.GetC "Bird Road" "Coin Design") $attr }} + <td data-label="{{ .GetC `Author(s)` `Header/Label` }}">{{ .Get "Tiit Jürna" }}</td> + <td data-label="{{ .GetC `Votes` `Header/Label` }}" data-numeric>{{ .Printer.Itoa 1323 }}</td> + <td data-label="{{ .GetC `Votes (%)` `Header/Label` }}" data-numeric>{{ .Printer.Ftop 2.91 }}</td> + </tr> + <tr> + <td data-label="{{ .GetC `Position` `Header/Label` }}" data-numeric>8</td> + {{ withTranslation $tag "et" "Leopardid-2" + (.GetC "Leopards-2" "Coin Design") $attr }} + <td data-label="{{ .GetC `Author(s)` `Header/Label` }}">{{ .Get "Jaarno Ester" }}</td> + <td data-label="{{ .GetC `Votes` `Header/Label` }}" data-numeric>{{ .Printer.Itoa 759 }}</td> + <td data-label="{{ .GetC `Votes (%)` `Header/Label` }}" data-numeric>{{ .Printer.Ftop 1.67 }}</td> + </tr> + <tr> + <td data-label="{{ .GetC `Position` `Header/Label` }}" data-numeric>9</td> + {{/* TRANSLATORS: Name of a coin design. Don’t translate unless you use a non-latin script */}} + {{ withTranslation $tag "et" "Nova" + (.GetC "Nova" "Coin Design") $attr }} + <td data-label="{{ .GetC `Author(s)` `Header/Label` }}">{{ .Get "Rene Haljasmäe" }}</td> + <td data-label="{{ .GetC `Votes` `Header/Label` }}" data-numeric>{{ .Printer.Itoa 498 }}</td> + <td data-label="{{ .GetC `Votes (%)` `Header/Label` }}" data-numeric>{{ .Printer.Ftop 1.1 }}</td> + </tr> + <tr> + <td data-label="{{ .GetC `Position` `Header/Label` }}" data-numeric>10</td> + {{ withTranslation $tag "et" "Lill rukkis" + (.GetC "A Flower in the Rye" "Coin Design") $attr }} + <td data-label="{{ .GetC `Author(s)` `Header/Label` }}">{{ .Get "Margus Kadarik" }}</td> + <td data-label="{{ .GetC `Votes` `Header/Label` }}" data-numeric>{{ .Printer.Itoa 378 }}</td> + <td data-label="{{ .GetC `Votes (%)` `Header/Label` }}" data-numeric>{{ .Printer.Ftop 0.83 }}</td> + </tr> + </tbody> + <tfoot> + <tr> + <th colspan="3">{{ .GetC "Total" "Header/Label" }}</th> + <th data-numeric>{{ .Printer.Itoa 45453 }}</th> + <th data-numeric>{{ .Printer.Ftop 100.0 }}</th> + </tr> + </tfoot> + </table> +</main> +{{ end }} diff --git a/src/templates/coins-designs-fi.html.tmpl b/src/templates/coins-designs-fi.html.tmpl new file mode 100644 index 0000000..bc028d1 --- /dev/null +++ b/src/templates/coins-designs-fi.html.tmpl @@ -0,0 +1,37 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + +{{ define "content" }} +<header class="container"> + {{ template "navbar" . }} + <h1>{{ .Get "Finnish Euro Coin Designs" }}</h1> +</header> +<main class="container"> + <figure> + <div class="design-container"> + <img alt="{{ .Get `Finnish €0.01 coin` }}" src="/designs/fi-001-1.avif" /> + <img alt="{{ .Get `Finnish €1.00 coin` }}" src="/designs/fi-100-1.avif" /> + <img alt="{{ .Get `Finnish €2.00 coin` }}" src="/designs/fi-200-1.avif" /> + </div> + <figcaption> + {{ .Get "Finnish coins (since 2002)" }} + </figcaption> + </figure> + <p> + {{ .Get "The Finnish euro coins feature 3 different designs: one for the cents, one for the €1 coin and one for the €2 coin. All coins minted between 1999–2006 bear the mintmaster mark ‘M’ for Raimo Makkonen. From 2007 onwards, the mintmaster mark was replaced with the logo of the Mint of Finland and the Finnish country code (‘FI’) was added." }} + </p> + <p> + {{ .Get "The cent coins feature the Finnish heraldic lion that can be found on the {Link:L}Finnish coat of arms{-:E}. It was also found on various Finnish Mark coins from 1921–2001." + (map "Link" (.Printer.Wikipedia "Coat of arms of Finland")) }} + </p> + <p> + {{ .Get "The €1 coin features two {Link:L}Whooper swans{-:E} – the national bird of Finland – flying over a Finnish landscape. The coin was designed by Pertti Mäkinen as part of a design contest for a commemorative coin design in 1997 to celebrate the 80th anniversary of Finnish independence." + (map "Link" (.Printer.Wikipedia "Whooper swan")) }} + </p> + <p> + <!-- Citation for the design contest: https://coinsinfo.wixsite.com/euro/finland --> + {{ .Get "The €2 coin was designed by Raimo Heino and features a motif of cloudberries and cloudberry flowers. This design was made as part of a design contest hosted in 1988." }} + </p> +</main> +{{ end }} diff --git a/src/templates/coins-designs-fr.html.tmpl b/src/templates/coins-designs-fr.html.tmpl new file mode 100644 index 0000000..ee3e392 --- /dev/null +++ b/src/templates/coins-designs-fr.html.tmpl @@ -0,0 +1,67 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + +{{ define "content" }} +<header class="container"> + {{ template "navbar" . }} + <h1>{{ .Get "French Euro Coin Designs" }}</h1> +</header> +<main class="container"> + {{ $frargs := (map "FrenchStart" `<span lang="fr"><em>` "FrenchEnd" "em,span") }} + <figure> + <div class="design-container"> + <img alt="{{ .Get `French series 1 €0.01 coin` }}" src="/designs/fr-001-1.avif" /> + </div> + <figcaption> + {{ .Get "French 1c, 2c and 5c coins (since 1999)" }} + </figcaption> + </figure> + <p> + {{ .Get "The 1c, 2c and 5c coins were designed by Fabienne Courtiade, an engraver from the Paris Mint, and feature the face of {Link:L}Marianne{-:E}. To the right of her face are the stylised letters ‘RF’, an abbreviation for ‘{FrenchStart:r}République française{FrenchEnd:E}’ (English: ‘French Republic’)." + (map "Link" (.Printer.Wikipedia "Marianne")) $frargs }} + </p> + + <figure> + <div class="design-container"> + <img alt="{{ .Get `French series 1 €0.50 coin` }}" src="/designs/fr-050-1.avif" /> + </div> + <figcaption> + {{ .Get "French 10c, 20c and 50c coins (1999–2023)" }} + </figcaption> + </figure> + <figure> + <div class="design-container"> + <img alt="{{ .Get `French series 2 €0.10 coin` }}" src="/designs/fr-010-2.avif" /> + <img alt="{{ .Get `French series 2 €0.20 coin` }}" src="/designs/fr-020-2.avif" /> + <img alt="{{ .Get `French series 2 €0.50 coin` }}" src="/designs/fr-050-2.avif" /> + </div> + <figcaption> + {{ .Get "French 10c, 20c and 50c coins (since 2024)" }} + </figcaption> + </figure> + <p> + {{ .Get "The original 10c, 20c and 50c coins were designed by Laurent Jorlo and depict {LinkS:L}the Sower{-:E} (French: ‘{FrenchStart:r}La Semeuse{FrenchEnd:E}’) – a design carried over from the former {LinkF:L}French franc{-:E} – set within a motif of the French flag. Beginning in 2024, the 10c, 20c and 50c coins were each given their own similar, yet unique redesigns. The new designs by Joaquin Jimenez once again feature the Sower within a motif of the French flag, but relegated to a less prominent position with the center of the coins being occupied by the portraits of frenchwomen {LinkSV:L}Simone Veil{-:E}, {LinkJB:L}Josephine Baker{-:E} and {LinkMSC:L}Marie Skłodowska-Curie{-:E} respectively. The name of each respective frenchwoman is written down the middle of each portrait. All designs feature the letters ‘RF’ to the right of the Sower." + (map "LinkS" (.Printer.Wikipedia "La Semeuse") + "LinkF" (.Printer.Wikipedia "French franc") + "LinkSV" (.Printer.Wikipedia "Simone Veil") + "LinkJB" (.Printer.Wikipedia "Josephine Baker") + "LinkMSC" (.Printer.Wikipedia "Marie Curie")) + $frargs }} + </p> + + <figure> + <div class="design-container"> + <img alt="{{ .Get `French series 1 €1.00 coin` }}" src="/designs/fr-100-1.avif" /> + <img alt="{{ .Get `French series 2 €2.00 coin` }}" src="/designs/fr-200-2.avif" /> + </div> + <figcaption> + {{ .Get "French €1 and €2 coins (1999–2021, 2022–today)" }} + </figcaption> + </figure> + <p> + {{ .Get "The original €1 and €2 coins designed by Joaquin Jimenez feature a tree representing the {Link:L}tree of life{-:E} encircled by a hexagon and the text ‘{FrenchStart:r}LIBERTÉ, EGALITÉ, FRATERNITÉ{FrenchEnd:E}’ (English: ‘LIBERTY, EGALITY, FRATERNITY’), the motto of the French republic. The letters ‘RF’ appear on either side of the trunk of the tree. Beginning in 2022 the coins were redesigned, but kept the same fundamental design. The letters ‘RF’ were moved to the bottom of the coins and the motto of the French republic was placed within the tree." + (map "Link" (.Printer.Wikipedia "Tree of life")) $frargs }} + </p> +</main> +{{ end }} diff --git a/src/templates/coins-designs-hr.html.tmpl b/src/templates/coins-designs-hr.html.tmpl index b6333ba..71581bc 100644 --- a/src/templates/coins-designs-hr.html.tmpl +++ b/src/templates/coins-designs-hr.html.tmpl @@ -1,83 +1,47 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Croatian Euro Coin Designs" }}</h1> + <h1>{{ .Get "Croatian Euro Coin Designs" }}</h1> </header> -<main> - {{ $croatianStart := `<span lang="hr">` }} - {{ $croatianEnd := `</span>` }} - - <div class="design-container"> - <img alt="Croatian 1 euro cent coin" src="/designs/hr-001.avif" /> - <img alt="Croatian 50 euro cent coin" src="/designs/hr-050.avif" /> - </div> - <div class="design-container"> - <img alt="Croatian 1 euro coin" src="/designs/hr-100.avif" /> - <img alt="Croatian 2 euro coin" src="/designs/hr-200.avif" /> - </div> +<main class="container"> + {{ $hrargs := (map "CroatianStart" `<span lang="hr"><em>` "CroatianEnd" "em,span") }} + <figure> + <div class="design-container"> + <img alt="{{ .Get `Croatian €0.01 coin` }}" src="/designs/hr-001-1.avif" /> + <img alt="{{ .Get `Croatian €0.50 coin` }}" src="/designs/hr-050-1.avif" /> + </div> + <div class="design-container"> + <img alt="{{ .Get `Croatian €1 coin` }}" src="/designs/hr-100-1.avif" /> + <img alt="{{ .Get `Croatian €2 coin` }}" src="/designs/hr-200-1.avif" /> + </div> + <figcaption> + {{ .Get "Croatian coins (since 2023)" }} + </figcaption> + </figure> <p> - {{ .T ` - The Croatian euro coins feature four different themes, with - each design featuring the Croatian checkerboard and the - countries name in Croatian (‘%sHRVATSKA%s’). All designs - were selected after voting in a public design competition. - ` $croatianStart $croatianEnd | safe }} + {{ .Get "The Croatian euro coins feature four different themes, with each design featuring the Croatian checkerboard and the country’s name in Croatian (‘{CroatianStart:r}HRVATSKA{CroatianEnd:E}’). All designs were selected after voting in a public design competition." + $hrargs }} </p> <p> - {{ .T ` - The 1-, 2-, and 5 euro cent coins were designed by Maja - Škripelj and feature a motif of the letters ‘HR’ in the - %sGlagolitic script%s — an old Slavic script that saw use in - Croatia up until the 19th century — with ‘HR’ representing - Croatia’s country code.` - `<a - target="_blank" - href="https://www.wikipedia.org/wiki/Glagolitic_script" - >` - `</a>` | safe - }} + {{ .Get "The 1c, 2c and 5c coins were designed by Maja Škripelj and feature a motif of the letters ‘ⰘⰓ’ from the {Link:L}Glagolitic script{-:E} – an old Slavic script that saw use in Croatia up until the 19th century – representing Croatia’s country code (‘HR’ in the Latin alphabet)." + (map "Link" (.Printer.Wikipedia "Glagolitic script")) }} </p> <p> - {{ .T ` - The 10-, 20-, and 50 euro cent coins were designed by Ivan - Domagoj Račić and feature the portrait of the inventor and - engineer %sNikola Tesla%s. The design of these coins caused - controversy when they were first announced with the National - Bank of Serbia claiming that it would be an appropriation of - the cultural and scientific heritage of the Serbian people to - feature the portrait of someone who ‘declared himself to be - Serbian by origin’.` - `<a - target="_blank" - href="https://www.wikipedia.org/wiki/Nikola_Tesla" - >` - `</a>` | safe - }} + {{ .Get "The 10c, 20c and 50c coins were designed by Ivan Domagoj Račić and feature the portrait of the inventor and engineer {Link:L}Nikola Tesla{-:E}. The design of these coins caused controversy when they were first announced with the National Bank of Serbia claiming that it would be an appropriation of the cultural and scientific heritage of the Serbian people to feature the portrait of someone who ‘declared himself to be Serbian by origin’." + (map "Link" (.Printer.Wikipedia "Nikola Tesla")) }} </p> <p> - {{ .T ` - The 1 euro coin was designed by Jagor Šunde, David Čemeljić - and Fran Zekan and features a marten. The marten is the - semi-official national animal of Croatia and the Kuna — - their pre-Euro currency — was named after the marten (‘%skuna - zlatica%s’ in Croatian). - ` $croatianStart $croatianEnd | safe }} + {{ .Get "The €1 coin was designed by Jagor Šunde, David Čemeljić and Fran Zekan and features a marten. The marten is the semi-official national animal of Croatia and the Kuna – their pre-Euro currency – was named after the marten (‘{CroatianStart:r}kuna zlatica{CroatianEnd:E}’ in Croatian)." + $hrargs }} </p> <p> <!-- TODO: Include a photo of the edge inscription --> - {{ .T ` - The 2 euro coin was designed by Ivan Šivak and features the - map of Croatia. The coin also has an edge-inscription that - reads ‘%sO LIJEPA O DRAGA O SLATKA SLOBODO%s’ (‘OH BEAUTIFUL, - OH DEAR, OH SWEET FREEDOM’) which is a line from the play - %sDubravka%s by Ivan Gundulić. - ` $croatianStart $croatianEnd - `<a - target="_blank" - href="https://www.wikipedia.org/wiki/Dubravka_(drama)" - lang="hr" - >` - `</a>` | safe }} + {{ .Get "The €2 coin was designed by Ivan Šivak and features the map of Croatia. The coin also has an edge-inscription that reads ‘{CroatianStart:r}O LIJEPA O DRAGA O SLATKA SLOBODO{CroatianEnd:E}’ (English: ‘OH BEAUTIFUL, OH DEAR, OH SWEET FREEDOM’) which is a line from the play {Link:L}Dubravka{-:E} by Ivan Gundulić." + $hrargs (map "Link" (.Printer.Wikipedia "Dubravka (drama)")) }} </p> </main> {{ end }} diff --git a/src/templates/coins-designs-nl.html.tmpl b/src/templates/coins-designs-nl.html.tmpl index 2395480..42008b1 100644 --- a/src/templates/coins-designs-nl.html.tmpl +++ b/src/templates/coins-designs-nl.html.tmpl @@ -1,65 +1,55 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Dutch Euro Coin Designs" }}</h1> + <h1>{{ .Get "Dutch Euro Coin Designs" }}</h1> </header> -<main> - {{ $dutchStart := `<span lang="nl">` }} - {{ $dutchEnd := `</span>` }} - <div class="design-container"> - <img - alt="Dutch 50 euro cent coin (Beatrix)" - src="/designs/nl-050-beatrix.avif" - /> - <img - alt="Dutch 50 euro cent coin (Willem-Alexander)" - src="/designs/nl-050-willem-alexander.avif" - /> - </div> - <div class="design-container"> - <img - alt="Dutch 1 euro coin (Beatrix)" - src="/designs/nl-100-beatrix.avif" - /> - <img - alt="Dutch 1 euro coin (Willem-Alexander)" - src="/designs/nl-100-willem-alexander.avif" - /> - </div> +<main class="container"> + {{ $nlargs := (map "DutchStart" `<span lang="nl"><em>` "DutchEnd" "em,span") }} + <figure> + <div class="design-container"> + <img + alt="Dutch €0.50 coin (Queen Beatrix)" + src="/designs/nl-050-1.avif" + /> + <img + alt="Dutch €1 coin (Queen Beatrix)" + src="/designs/nl-100-1.avif" + /> + </div> + <figcaption> + {{ .Get "Dutch coins (1999–2013)" }} + </figcaption> + </figure> + <figure> + <div class="design-container"> + <img + alt="Dutch €0.50 coin (King Willem-Alexander)" + src="/designs/nl-050-2.avif" + /> + <img + alt="Dutch €1 coin (King Willem-Alexander)" + src="/designs/nl-100-2.avif" + /> + </div> + <figcaption> + {{ .Get "Dutch coins (since 2014)" }} + </figcaption> + </figure> <p> - {{ .T ` - From the years 1999–2013 all Dutch euro coins featured the portrait - of Queen Beatrix of the Netherlands. After her abdication from the - throne in 2013 the designs of all denominations were changed to - feature the portrait of the new King Willem-Alexander. After her - abdication the direction in which the monarchs portrait faced was - flipped; a tradition dating back to the earliest coins of the - Kingdom of the Netherlands. - ` }} + {{ .Get "From the years 1999–2013 all Dutch euro coins featured the portrait of Queen Beatrix of the Netherlands. After her abdication from the throne in 2013 the designs of all denominations were changed to feature the portrait of the new King Willem-Alexander. After her abdication the direction in which the monarchs portrait faced was flipped; a tradition shared by the coins of many monarchies around the world." }} </p> <p> <!-- TODO: Get a picture of the edge-inscription --> - {{ .T ` - Coins featuring both monarchs contain text reading ‘%sBEATRIX - KONINGIN DER NEDERLANDEN%s’ (‘BEATRIX QUEEN OF THE - NETHERLANDS’) and ‘%sWillem-Alexander Koning der - Nederlanden%s’ (‘Willem-Alexander King of the Netherlands’) - respectively. The €2 coins also feature an edge-inscription - reading ‘%sGOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆%s’ - (‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’). - ` - $dutchStart $dutchEnd - $dutchStart $dutchEnd - $dutchStart $dutchEnd | safe }} + {{ .Get "Coins featuring both monarchs contain text reading ‘{DutchStart:r}BEATRIX KONINGIN DER NEDERLANDEN{DutchEnd:E}’ (English: ‘BEATRIX QUEEN OF THE NETHERLANDS’) and ‘{DutchStart:r}Willem-Alexander Koning der Nederlanden{DutchEnd:E}’ (English: ‘Willem-Alexander King of the Netherlands’) respectively. The €2 coins also feature an edge-inscription reading ‘{DutchStart:r}GOD ⋆ ZIJ ⋆ MET ⋆ ONS ⋆{DutchEnd:E}’ (English: ‘GOD ⋆ IS ⋆ WITH ⋆ US ⋆’)." + $nlargs }} </p> <p> - {{ .T ` - The €1 and €2 coins featuring King Willem-Alexander were minted - with a much lower %srelief%s than most euro coins of the same - denomination. As a result it is not uncommon for these coins to - appear worn after little use in circulation.` - `<a href="/jargon#relief">` `</a>` | safe - }} + {{ .Get "The €1 and €2 coins featuring King Willem-Alexander were minted with a much lower {Link:l}relief{-:E} than most euro coins of the same denomination. As a result it is not uncommon for these coins to appear worn after little use in circulation." + (map "Link" "/jargon#relief") }} </p> </main> {{ end }} diff --git a/src/templates/coins-designs.html.tmpl b/src/templates/coins-designs.html.tmpl index 05ff440..33b0841 100644 --- a/src/templates/coins-designs.html.tmpl +++ b/src/templates/coins-designs.html.tmpl @@ -1,31 +1,47 @@ +{{ define "header" }} +{{ template "header-navbar" . }} + +<style> + .country-grid { + --button-min-width: 20ch; + + a { + display: flex; + padding-block: 1ch; + + > :first-child { + text-align: left; + font-weight: bold; + width: calc(var(--pico-form-element-spacing-horizontal) + 2ch); + } + } + } +</style> +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Euro Coin Designs" }}</h1> + <h1>{{ .Get "Euro Coin Designs" }}</h1> </header> -<main> +<main class="container"> <p> - {{ .T ` - 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 - %svarieties%s page.` - `<a href="/coins/varieties">` `</a>` | safe - }} + {{ .Get "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." + (map "Link" "/coins/varieties") }} </p> <hr /> - <div class="country-grid"> - {{ $p := .Printer }} + <div class="button-grid country-grid"> {{ range .Countries }} <a class="outline" - data-code={{ toUpper .Code }} + data-code="{{ toUpper .Code }}" role="button" - href=/coins/designs/{{ .Code }} + href="/coins/designs/{{ .Code }}" > - {{ $p.T .Name }} + <span>{{ .Code | toUpper }}</span> + <span>{{ .Name }}</span> </a> {{ end }} </div> </main> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/src/templates/coins-mintages.html.tmpl b/src/templates/coins-mintages.html.tmpl index 772db33..5b0a7fd 100644 --- a/src/templates/coins-mintages.html.tmpl +++ b/src/templates/coins-mintages.html.tmpl @@ -1,164 +1,300 @@ +{{ define "header" }} +{{ template "header-navbar" . }} + +<style> + .mintage-table { + white-space: nowrap; + + tr :is(th, td):first-child { + position: sticky; + left: 0; + } + + .striped :is(th, td) { + background-color: var(--pico-table-row-stripped-background-color); + } + } + + label[for="country-dd"] { display: none; } + label[for="year-dd"] { display: none; } + + form { + &:has(#country:checked) { + label[for="country-dd"] { display: unset; } + } + &:has(#year:checked) { + label[for="year-dd"] { display: unset; } + } + } +</style> +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Euro Coin Mintages" }}</h1> + <h1>{{ .Get "Euro Coin Mintages" }}</h1> </header> -<main> +<main class="container"> <p> - {{ .T ` - Here you’ll be able to view all the known mintages for all - coins. You’ll also be able to filter on country, denomination, - etc. If you have any mintage data that’s missing from our site, - feel free to contact us. - ` }} + {{ .Get "Here you’ll be able to view all the known mintages for all coins. You’ll also be able to filter on country, denomination, etc. If you have any mintage data that’s missing from our site, feel free to contact us." }} </p> - <hr /> + <hr> {{ if eq .Code "nl" }} - <h2>{{ .T "Additional Notes" }}</h2> - <ul> - <li> - {{ .T ` - Most coins from the years 2003–2016 are listed as NIFC coins - while other popular sources such as Numista claim they were - minted for circulation. For more information on why others are - wrong, %sclick here%s.` - `<a href="#TODO">` `</a>` | safe - }} - </li> - <li> - {{ .T ` - In 2003 Numista calculated a total of %d coins issued for coin - sets per denomination. Our own calculations found only - %d. Numista also forgot to include the many hundred thousand - coins from the coin roll sets that were produced.` - 217503 177003 - }} - </li> - </ul> + <h2>{{ .Get "Additional Notes" }}</h2> + <ul> + <li> + {{ .Get "Most coins from the years 2003–2016 are listed as NIFC coins while other popular sources such as Numista claim they were minted for circulation. For more information on why others are wrong, {Link:l}click here{-:E}." + (map "Link" "#TODO") }} + </li> + </ul> {{ end }} - <section> - <form> - <div class="grid"> - <label for="country-dd"> - {{ .T "Country" }} - <select id="country-dd" name="code"> - {{ $code := .Code }} - {{ range .Countries }} - <option - value={{ .Code }} - {{ if eq .Code $code }} - selected - {{ end }} - > - {{ .Name }} - </option> - {{ end }} - </select> - </label> - <fieldset> - {{ template "coin-type-radio" - (tuple .Type "circ" (.T "Circulation Coins")) }} - {{ template "coin-type-radio" - (tuple .Type "nifc" (.T "NIFC / BU Sets")) }} - {{ template "coin-type-radio" - (tuple .Type "proof" (.T "Proof Coins")) }} - </fieldset> - </div> - <button type="submit">{{ .T "Filter" }}</button> - </form> - <figure> - <figcaption>{{ .T "Standard Issue Coins" }}</figcaption> - <table class="mintage-table" role="grid"> - <thead> - <th>{{ .T "Year" }}</th> - {{ with $p := .Printer }} - {{ range denoms }} - <th>{{ $p.M . }}</th> - {{ end }} + <form> + <div class="grid"> + <fieldset> + <legend>{{ .GetC "Filter Method" "Header/Label" }}</legend> + {{ template "mintages/filter-radio" + (tuple .FilterBy "country" (.GetC "Country" "Header/Label")) }} + {{ template "mintages/filter-radio" + (tuple .FilterBy "year" (.GetC "Year" "Header/Label")) }} + </fieldset> + + <label for="country-dd"> + {{ .GetC "Country" "Header/Label" }} + <select id="country-dd" name="country"> + {{ $code := .Code }} + {{ range .Countries }} + <option + value="{{ .Code }}" + {{ if eq .Code $code }} + selected + {{ end }} + > + {{ .Name }} + </option> {{ end }} + </select> + </label> + + <label for="year-dd"> + {{ .GetC "Year" "Header/Label" }} + <select id="year-dd" name="year"> + {{ $year := .Year }} + {{ range years }} + <option + value="{{ . }}" + {{ if eq . $year }} + selected + {{ end }} + > + {{ . }} + </option> + {{ end }} + </select> + </label> + + <fieldset> + {{ template "mintages/coin-type-radio" + (tuple .Type "circ" (.GetC "Circulation Coins" "Header/Label")) }} + {{ template "mintages/coin-type-radio" + (tuple .Type "nifc" (.GetC "NIFC and BU Coins" "Header/Label")) }} + {{ template "mintages/coin-type-radio" + (tuple .Type "proof" (.GetC "Proof Coins" "Header/Label")) }} + </fieldset> + </div> + <button type="submit">{{ .GetC "Filter" "Header/Label" }}</button> + </form> + + {{ if and (eq .FilterBy "country") + (gt (len .CountryMintages.Standard) 0) }} + <figure> + <figcaption>{{ .Get "Standard Issue Coins" }}</figcaption> + <div class="overflow-auto"> + <table class="mintage-table striped" role="grid"> + <thead> + <th>{{ .GetC "Year" "Header/Label" }}</th> + <th data-numeric>{{ .Printer.Ftom 0.01 }}</th> + <th data-numeric>{{ .Printer.Ftom 0.02 }}</th> + <th data-numeric>{{ .Printer.Ftom 0.05 }}</th> + <th data-numeric>{{ .Printer.Ftom 0.10 }}</th> + <th data-numeric>{{ .Printer.Ftom 0.20 }}</th> + <th data-numeric>{{ .Printer.Ftom 0.50 }}</th> + <th data-numeric>{{ .Printer.Ftom 1.00 }}</th> + <th data-numeric>{{ .Printer.Ftom 2.00 }}</th> </thead> <tbody> {{ $p := .Printer }} - {{ $type := .Type }} - {{ range .Mintages.Standard }} + {{ range .CountryMintages.Standard }} <tr> - <th scope="col"> + <th scope="row"> {{- .Year -}} - {{- if ne .Mintmark "" -}} - <sub><small>{{ .Mintmark }}</small></sub> + {{- if .Mintmark.Valid -}} + <sub><small>{{ .Mintmark.V }}</small></sub> {{- end -}} </th> {{ range .Mintages }} - {{ if eq . -1 }} - <td>{{ $p.T "Unknown" }}</td> - {{ else if eq . -2 }} - <td class="error">{{ $p.T "Error" }}</td> - {{ else if eq . 0 }} - <td>—</td> - {{ else }} - <td>{{ $p.N . }}</td> - {{ end }} - </td> + {{ template "mintages/mintage-cell" (tuple . $p) }} {{ end }} </tr> {{ end }} </tbody> </table> + </div> + </figure> + + {{ else if and (eq .FilterBy "year") + (gt (len .YearMintages.Standard) 0) }} + + <figure> + <figcaption>{{ .Get "Standard Issue Coins" }}</figcaption> + <div class="overflow-auto"> + <table class="mintage-table striped" role="grid"> + <thead> + <th>{{ .GetC "Country" "Header/Label" }}</th> + <th data-numeric>{{ .Printer.Ftom 0.01 }}</th> + <th data-numeric>{{ .Printer.Ftom 0.02 }}</th> + <th data-numeric>{{ .Printer.Ftom 0.05 }}</th> + <th data-numeric>{{ .Printer.Ftom 0.10 }}</th> + <th data-numeric>{{ .Printer.Ftom 0.20 }}</th> + <th data-numeric>{{ .Printer.Ftom 0.50 }}</th> + <th data-numeric>{{ .Printer.Ftom 1.00 }}</th> + <th data-numeric>{{ .Printer.Ftom 2.00 }}</th> + </thead> + <tbody> + {{ $p := .Printer }} + {{ range .YearMintages.Standard }} + <tr> + <th scope="row"> + {{- .Country -}} + {{- if .Mintmark.Valid -}} + <sub><small>{{ .Mintmark.V }}</small></sub> + {{- end -}} + </th> + {{ range .Mintages }} + {{ template "mintages/mintage-cell" (tuple . $p) }} + {{ end }} + </tr> + {{ end }} + </tbody> + </table> + </div> + </figure> + {{ end }} + + {{ if eq .FilterBy "country" }} + {{ if ne (len .CountryMintages.Commemorative) 0 }} + <figure> + <figcaption>{{ .Get "Commemorative Coins" }}</figcaption> + <table class="mintage-table" role="grid"> + <thead> + <th>{{ .GetC "Year" "Header/Label" }}</th> + <th>{{ .GetC "Commemorated Topic" "Header/Label" }}</th> + <th data-numeric>{{ .GetC "Mintage" "Header/Label" }}</th> + </thead> + <tbody> + {{ $p := .Printer }} + {{ range $i, $ := .CountryMintages.Commemorative }} + {{ $y := .Year }} + {{ $mm := .Mintmark }} + {{ $ccs := .CCs }} + {{ range $j, $cc := .CCs }} + <tr {{ if evenp $i }}class="striped"{{ end }}> + {{ if eq $j 0 }} + <th scope="row" rowspan="{{ len $ccs }}"> + {{- $y -}} + {{- if $mm.Valid -}} + <sub><small>{{ $mm.V }}</small></sub> + {{- end -}} + </th> + {{ end }} + <td>{{ $p.GetC .Name "CC Name" }}</td> + {{ template "mintages/mintage-cell" (tuple .Mintage $p) }} + </tr> + {{ end }} + {{ end }} + </tbody> + </table> </figure> - {{ if ne (len .Mintages.Commemorative) 0 }} - <figure> - <figcaption>{{ .T "Commemorative Coins" }}</figcaption> - <table class="mintage-table-cc" role="grid"> - <thead> - <th>{{ .T "Year" }}</th> - <th>{{ .T "Commemorated Issue" }}</th> - <th>{{ .T "Mintage" }}</th> - </thead> - <tbody> - {{ $p := .Printer }} - {{ $type := .Type }} - {{ range .Mintages.Commemorative }} - <tr> - <th scope="col"> - {{- .Year -}} - {{- if ne .Mintmark "" -}} - <sub><small>{{ .Mintmark }}</small></sub> - {{- end -}} - </th> - <!-- TODO: Translate commemorative names --> - <td>{{ .Name }}</td> - {{ with .Mintage }} - {{ if eq . -1 }} - <td>{{ $p.T "Unknown" }}</td> - {{ else if eq . -2 }} - <td class="error">{{ $p.T "Error" }}</td> - {{ else if eq . 0 }} - <td>—</td> - {{ else }} - <td>{{ $p.N . }}</td> - {{ end }} - {{ end }} - </tr> + {{ end }} + + {{ else if eq .FilterBy "year" }} + + {{ if ne (len .YearMintages.Commemorative) 0 }} + <figure> + <figcaption>{{ .Get "Commemorative Coins" }}</figcaption> + <table class="mintage-table" role="grid"> + <thead> + <th>{{ .GetC "Country" "Header/Label" }}</th> + <th>{{ .GetC "Commemorated Topic" "Header/Label" }}</th> + <th data-numeric>{{ .GetC "Mintage" "Header/Label" }}</th> + </thead> + <tbody> + {{ $p := .Printer }} + {{ range $i, $ := .YearMintages.Commemorative }} + {{ $c := .Country }} + {{ $mm := .Mintmark }} + {{ $ccs := .CCs }} + {{ range $j, $cc := .CCs }} + <tr {{ if evenp $i }}class="striped"{{ end }}> + {{ if eq $j 0 }} + <th scope="row" rowspan="{{ len $ccs }}"> + {{- $c -}} + {{- if $mm.Valid -}} + <sub><small>{{ $mm.V }}</small></sub> + {{- end -}} + </th> {{ end }} - </tbody> - </table> - </figure> + <td>{{ $p.GetC .Name "CC Name" }}</td> + {{ template "mintages/mintage-cell" (tuple .Mintage $p) }} + </tr> + {{ end }} + {{ end }} + </tbody> + </table> + </figure> {{ end }} - </section> + {{ end }} </main> {{ end }} -{{ define "coin-type-radio" }} -<label for=compact-{{ index . 1 }}> +{{ define "mintages/coin-type-radio" }} +<label for="{{ index . 1 }}"> <input - id=compact-{{ index . 1 }} + id="{{ index . 1 }}" name="type" type="radio" - value={{ index . 1 }} + value="{{ index . 1 }}" {{ if eq (index . 0) (index . 1) }} - checked + checked {{ end }} /> {{ index . 2 }} </label> -{{ end }}
\ No newline at end of file +{{ end }} + +{{ define "mintages/filter-radio" }} +{{ $v := index . 1 }} +<label for="{{ $v }}"> + <input + name="filter-by" + type="radio" + value="{{ $v }}" + id="{{ $v }}" + {{ if eq (index . 0) $v }} + checked + {{ end }} + > + {{ index . 2 }} +</label> +{{ end }} + +{{ define "mintages/mintage-cell" }} +{{ $v := index . 0 }} +{{ $p := index . 1 }} +{{ if not $v.Valid }} + <td data-numeric>{{ $p.GetC "Unknown" "Header/Label" }}</td> +{{ else if eq $v.V 0 }} + <td data-numeric>—</td> +{{ else }} + <td data-numeric>{{ $p.Itoa $v.V }}</td> +{{ end }} +{{ end }} diff --git a/src/templates/coins.html.tmpl b/src/templates/coins.html.tmpl index 481771c..ee36ed8 100644 --- a/src/templates/coins.html.tmpl +++ b/src/templates/coins.html.tmpl @@ -1,49 +1,52 @@ +{{ define "header" }} +{{ template "header-navbar" . }} + +<style> + #sections { + --button-min-width: 40ch; + + article { + min-height: 100%; + } + } +</style> +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Euro Coins" }}</h1> + <h1>{{ .Get "Euro Coins" }}</h1> </header> -<main> +<main class="container"> <p> - {{ .T ` - On this section of the site you can find everything there is to - know about the coins of the Eurozone. - ` }} + {{ .Get "On this section of the site you can find everything there is to know about the coins of the Eurozone." }} </p> <hr /> - <section> - <div class="grid"> - <a class="no-deco" href="/coins/designs"> - <article> - <header> - <h3>{{ .T "Designs" }}</h3> - </header> - <main> - {{ .T "View the 600+ different Euro-coin designs!" }} - </main> - </article> - </a> - <a class="no-deco" href="/coins/mintages"> - <article> - <header> - <h3>{{ .T "Mintages" }}</h3> - </header> - <main> - {{ .T "View the mintage figures of all the Euro coins!" }} - </main> - </article> - </a> - <a class="no-deco" href="/coins/varieties"> - <article> - <header> - <h3>{{ .T "Varieties" }}</h3> - </header> - <main> - {{ .T "View all the known Euro varieties!" }} - </main> - </article> - </a> - </div> - </section> + <div id="sections" class="button-grid"> + <a class="no-deco" href="/coins/designs"> + <article> + <header> + <h3>{{ .Get "Designs" }}</h3> + </header> + {{ .Get "View the 600+ different Euro-coin designs" }} + </article> + </a> + <a class="no-deco" href="/coins/mintages"> + <article> + <header> + <h3>{{ .Get "Mintages" }}</h3> + </header> + {{ .Get "View the mintage figures of all the Euro coins" }} + </article> + </a> + <a class="no-deco" href="/coins/varieties"> + <article> + <header> + <h3>{{ .Get "Varieties" }}</h3> + </header> + {{ .Get "View all the known Euro varieties" }} + </article> + </a> + </div> </main> {{ end }}
\ No newline at end of file diff --git a/src/templates/collecting-crh.html.tmpl b/src/templates/collecting-crh.html.tmpl index bbca883..b047a49 100644 --- a/src/templates/collecting-crh.html.tmpl +++ b/src/templates/collecting-crh.html.tmpl @@ -1,591 +1,542 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Coin Roll Hunting" }}</h1> + <h1>{{ .Get "Coin Roll Hunting" }}</h1> </header> -<main> - <h2>{{ .T "What is Coin Roll Hunting?" }}</h2> +<main class="container"> + <h2>{{ .Get "What is ‘Coin Roll Hunting’?" }}</h2> <p> - {{ .T ` - Coin roll hunting is a popular method of coin collecting in which - you withdrawal cash from your bank in the form of coins which you - then search through to find new additions to your collection. Once - you’ve searched through all your coins, you will typically deposit - your left over coins at the bank and withdrawal new coins. - ` }} + {{ .Get "Coin roll hunting is a popular method of coin collecting in which you withdraw cash from your bank in the form of coins and then search through those coins to find new additions to your collection. Once you’ve searched through all your coins, you will typically deposit your left over coins at the bank and withdraw new coins." }} </p> <p> - {{ .T ` - This type of coin collecting is often called ‘Coin Roll Hunting’ - due to the fact that coins are often withdrawn in paper-wrapped - rolls. You may however find that your coins come in plastic bags - instead (common in countries like Ireland). - ` }} + {{ .Get "This type of coin collecting is often called ‘coin roll hunting’ (abbreviated to ‘CRH’) due to the fact that banks will often provide you with coins in the form of paper-wrapped rolls. You may however find that your coins come in plastic bags instead (common in countries like Ireland)." }} </p> <p> - {{ .T ` - Depending on your bank and branch, the process of obtaining coins - may differ. Some banks require you speak to a teller, others have - coin machines. Some banks may also require that you are a customer - or even to have a business account. If you aren’t sure about if - you can get coins we suggest you contact your bank, although - further down this page we also have information about the - withdrawal of coins in various countries and major banks. - ` }} + {{ .Get "Depending on your bank and branch, the process of obtaining coins may differ. Some banks require you speak to a teller while others have coin machines. Some banks may also require that you are a customer or even that you have a business account. If you aren’t sure about if you can get coins we suggest you contact your bank, although further down this page we also have additional information about the withdrawal of coins in various countries and major banks." }} </p> - <h2>{{ .T "Getting Started" }}</h2> + <h2>{{ .Get "Getting Started" }}</h2> <p> - {{ .T ` - To get started with coin roll hunting you should first contact your - bank or check their website to find details regarding coin - withdrawal. You will then typically need to go to the bank to pick - up your coins. Depending on your bank you may be able to - withdrawal coins from a machine, although often you can pick up - your coins from the banks tellers. You will also often need to pay - a small fee for each roll, although some banks don’t charge fees. - ` }} + {{ .Get "To get started with coin roll hunting you should first contact your bank or check their website to find details regarding coin withdrawal. You will then typically need to go to the bank to pick up your coins. Depending on your bank you may be able to withdraw coins from a machine. Most banks will charge you a small fee per roll and/or transaction." }} </p> <p> - {{ .T ` - It is also important to find details regarding the deposit of - coins. Depositing coins often also requires the payment of a fee - — one which is typically more expensive than the withdrawal fees. - If depositing your coins is too expensive you can always exchange - your left over coins at shops for banknotes. It is often cheaper - (or even free) to deposit banknotes. - ` }} + {{ .Get "It is also important to find details regarding the deposit of coins. Depositing coins often also requires the payment of a fee – one which is typically more expensive than the withdrawal fees. If depositing your coins is too expensive you can always exchange your left over coins at shops for banknotes. It is often cheaper (or even free) to deposit banknotes." }} </p> <p> - {{ .T ` - In some countries such as Austria it is even common to be able to - withdrawal new coins from your account by exchanging the left over - coins you already have. - ` }} + {{ .Get "In some countries such as Austria it is even common to be able to withdraw new coins from your account using other coins." }} </p> - <h2>{{ .T "Country-Specific Details" }}</h2> + <h2>{{ .Get "Country-Specific Details" }}</h2> <p> - {{ .T ` - Below you can find all sorts of country-specific information we - have regarding obtaining coin rolls. We lack a lot of information - for many of the countries, so if you have any additional - information such as your banks fees, the availability of coin roll - machines, etc. feel free to contact us! You can find our contact - information %shere%s.` - `<a href="/about" target="_blank">` `</a>` | safe - }} + {{ .Get "Below you can find country-specific details we have regarding obtaining coin rolls. We lack a lot of information for many of the countries, so if you have any additional information such as your banks fees, the availability of coin roll machines, etc. feel free to contact us! You can find our contact information {Link:l}here{-:E}." + (map "Link" "/about") }} </p> <p> - {{ .T ` - Be aware of the face that the information below is prone to being - outdated, and as such may not reflect the current reality. - ` }} + {{ .Get "Be aware of the fact that the information below may be outdated or inaccurate. Many of the details are self-reported." }} </p> - {{ $p := .Printer }} - {{ range .Countries }} - <details id={{ .Code }}> - <summary>{{ $p.T .Name }}</summary> - {{ if eq .Code "ad" }} - <p> - {{ $p.T ` - Coin rolls can be obtained from Andbank, Crèdit Andorrà, and - MoraBanc. All three of these banks require that you are a - customer to get rolls. There have however been reports of - individuals managing to get rolls without any fees and without - being a customer by simply asking kindly at the bank. - ` }} - </p> - {{ else if eq .Code "at" }} - <p> - {{ $p.T ` - The Austrian National Bank does not distribute circulated rolls - but sells rolls of commemorative coins at face value on release - as well as uncirculated rolls for all denominations. - ` }} - </p> - - <h3>Bank Austria</h3> - <p> - {{ $p.T ` - There is a fee of %s per roll. Rolls can be purchased with - cash at machines. These machines are available to everyone, - but not in all branches. Look for the ‘Münzrollengeber’ filter - option %shere%s.` - ($p.M 0.20) - `<a - href="https://filialen.bankaustria.at/de/" - target="_blank" - >` - `</a>` | safe - }} - </p> - - <h3>Erste Bank</h3> - <p> - {{ $p.T ` - There is a fee of %s per roll. You must be a customer to use - machines to get rolls. Rolls have no fees when purchased at - counters, but counters redirect you to machines if they work; - counters accept cash. You must present an Erste Bank card to - buy rolls from machines, but you can pay with cash.` - ($p.M 0.10) - }} - </p> - - <p> - {{ $p.T ` - Depositing coins is free for up to %s a day, at which point you - pay 1%% for any additional deposited coins. You must also be a - customer. Depositing coins is free for all Erste Bank - customers at Dornbirner Sparkasse with no limit.` - ($p.M 100) - }} - </p> - - <h3>Raiffeisenbank</h3> - <p> - {{ $p.T ` - There is a fee of %s per roll if you aren’t a customer, and %s - otherwise. Coin deposits are free if you’re a customer.` - ($p.M 1.00) ($p.M 0.30) - }} - </p> - - <h3>Volksbank</h3> - <p> - {{ $p.T ` - Reportedly fee-less with no need of being a customer, but this - is unconfirmed. - ` }} - </p> - {{ else if eq .Code "be" }} - <h3>Argenta</h3> - <p> - {{ $p.T "There is a %s fee with no limit on the number of rolls." - ($p.M 1.50) - }} - </p> - - <h3>{{ $p.T "Belgian Central Bank" }}</h3> - <p> - {{ $p.T ` - You can visit the Belgian Central Bank in Brussels as an EU - citizen. You can order coin rolls for no fee up to %s in - value. They seem to distribute uncirculated coins (no - commemoratives).` - ($p.M 2000) - }} - </p> - - <h3>KBC</h3> - <p> - {{ $p.T ` - Free for customers but getting coin rolls is still difficult - sometimes. Non-customers cannot get rolls. - ` }} - </p> - - <h3>Belfius</h3> - <p> - {{ $p.T ` - Free for customers when you order through their online - platform. - ` }} - </p> - {{ else if eq .Code "cy" }} - <h3>{{ $p.T "Bank of Cyprus" }}</h3> - <p> - {{ $p.T ` - At the Bank of Cyprus it is possible to buy bags of coins - without being a customer, and without paying any additional - fees. Depending on the branch you visit you may have coin roll - machine available. Do note that the bags provided by the Bank - of Cyprus are around twice as large as usual with %s bags - containing 50 coins and the other denomination bags containing - 100 coins.` - ($p.M 2.00) - }} - </p> - {{ else if eq .Code "de" }} - <p> - {{ $p.T ` - Coin roll availability may vary across banks and branches, as - well as the price. You must be a customer to purchase coin - rolls unless specified otherwise. - ` }} - </p> - - <h3>{{ $p.T "German Federal Bank (Deutsche Bundesbank)" }}</h3> - <p> - {{ $p.T ` - You can obtain regular- and commemorative coins for face value - including 5-, 10-, and 20 euro coins. You do not need to be a - customer although depending on your branch you may need to make - an appointment. The purchase of coins can only be done with - cash. - ` }} - </p> - - <h3>Deutsche Post</h3> - <p> - {{ $p.T ` - Hand-rolled coin rolls can be obtained with no additional fees. - ` }} - </p> - - <h3>Sparkasse</h3> - <p> - {{ $p.T ` - Coin rolls can be obtained for a fee of %s–%s per roll. The - amount varies per branch.` - ($p.M 0.50) ($p.M 1.50) - }} - </p> - - <h3>Volksbank</h3> - <p> - {{ $p.T ` - Coin rolls can be obtained for a fee of %s per roll.` - ($p.M 0.25) - }} - </p> - {{ else if eq .Code "ee" }} - <p> - {{ $p.T ` - Obtaining coin rolls in Estonia is typically quite difficult, - and often expensive. You also often need to make an - appointment in advance. - ` }} - </p> - - <h3>{{ $p.T "Central Bank of Estonia Museum" }}</h3> - <p> - {{ $p.T ` - You can purchase commemorative coins (even those released years - ago) at face value. It is also an interesting museum to visit - in general. - ` }} - </p> - {{ else if eq .Code "es" }} - <h3>Banco Santander</h3> - <p>{{ $p.T "Coin rolls are free but you must be a customer." }}</p> - - <h3>{{ $p.T "Bank of Spain" }}</h3> - <p> - {{ $p.T ` - You can purchase individual coins and commemorative coin rolls - (even those of other countries). You can watch %shere%s to see - how to do it.` - `<a - href="https://youtu.be/QRFuD6olH80?t=135" - target="_blank" - >` - `</a>` | safe - }} - </p> - - <h3>BBVA</h3> - <dl> - <dt>Alicante</dt> - <dd> - {{ $p.T ` - Coin rolls have a fee of %s for 5 rolls. This seems to - vary by region.` - ($p.M 2.00) - }} - </dd> - <dt>Madrid</dt> - <dd>{{ $p.T "Coin rolls have no fees." }}</dd> - </dl> - - <h3>{{ $p.T "La Caixa" }}</h3> - <p> - {{ $p.T ` - Coin rolls have no fees and can be purchased with cash. You do - not need to be a customer, although this needs to be - re-verified. - ` }} - </p> - {{ else if eq .Code "fi" }} - <p> - {{ $p.T ` - Finland has no coin roll machines, but you can find vending - machines or coin exchange machines (albeit they are rare). - ` }} - </p> - - <h3>Aktia</h3> - <p>{{ $p.T "Coin rolls can be obtained with no fees." }}</p> - - <h3>{{ $p.T "Bank of Finland" }}</h3> - <p> - {{ $p.T ` - It is probably not possible to obtain coin rolls, but this is - not confirmed. - ` }} - </p> - {{ else if eq .Code "fr" }} - <p> - {{ $p.T ` - Coin roll machines are uncommon, only some banks have them and - you need to be a customer. You may also need to order them in - advance. - ` }} - </p> - - <h3>Caisse d’Épargne</h3> - <p> - {{ $p.T ` - Coin rolls can be obtained with no fee. You must be a - customer. - ` }} - </p> - - <h3>CIC {{ $p.T "and" }} Crédit Mutuel</h3> - <p> - {{ $p.T ` - Free coin rolls if you are a customer or %s per roll if you are - not a customer. There are coin roll machines.` - ($p.M 1.00) - }} - </p> - - <h3>Crédit Agricole</h3> - <p> - {{ $p.T ` - Coin rolls can be obtained with no fee. You must be a - customer. - ` }} - </p> - - <h3>Le Crédit Lyonnais (LCL)</h3> - <p> - {{ $p.T ` - There are coin roll machines but it is not yet known if you - need to be a customer or if there are fees. - ` }} - </p> - {{ else if eq .Code "gr" }} - <h3>{{ $p.T "Bank of Greece (Τράπεζα της Ελλάδος)" }}</h3> - <p> - {{ $p.T ` - Fee-less coin rolls for everyone (you will need to show ID). - The latest commemorative coins are also sold for face value. - ` }} - </p> - - <h3>Piraeus Bank</h3> - <p> - {{ $p.T ` - Fee-less coin bags for everyone (no ID necessary). Smaller - denominations are often not given out, and the coin bags you - recieve are very large (there are reports of %s bags containing - 250 coins).` - ($p.M 1.00) - }} - </p> - {{ else if eq .Code "ie" }} - <p> - {{ $p.T ` - In general, coin rolls are available at banks with a fee of %s - per roll; rolls could potentially have no fee if you only need - a few.` - ($p.M 1.00) - }} - </p> - {{ else if eq .Code "it" }} - <h3>Banca Cambiano</h3> - <p> - {{ $p.T ` - There are coin roll machines but it is unknown if you need to - be a customer or if there are additional fees. - ` }} - </p> - - <h3>{{ $p.T "Bank of Italy" }}</h3> - <p> - {{ $p.T "Coin rolls are available to everyone." }} - </p> - {{ else if eq .Code "lt" }} - <h3>ExchangeLT</h3> - <p>{{ $p.T "Works, but with very high fees (5%% of cost)." }}</p> - - <h3>Top Exchange</h3> - <p> - {{ $p.T "Fee of %s per roll of 2 euro coins." ($p.M 2.00) }} - </p> - - <h3>Lietuvos Bankas</h3> - <p> - {{ $p.T ` - As far as we are aware, Lietuvos Bankas only distributes coin - rolls to businesses. - ` }} - </p> - - <p> - {{ $p.T ` - It may be worth checking out payout machines to exchange - banknotes into coins. - ` }} - </p> - {{ else if eq .Code "lu" }} - <h3> - {{ $p.T "Luxembourgish Central Bank (Banque Centrale du Luxembourg)" }} - </h3> - <p> - {{ $p.T ` - We currently have no information regarding regular coins, - however their webshop sells commemorative coins (for a high - premium, but better than most resellers). Commemorative coins - are also available for purchase in-person. - ` }} - </p> - - <h3>Dexia-Bank</h3> - <p> - {{ $p.T ` - You should be able to get coin rolls with no additional fees. - ` }} - </p> - {{ else if eq .Code "lv" }} - <p> - {{ $p.T ` - In general coin rolls are sold with a fee of %s per roll, but - we’re lacking a lot of information.` - ($p.M 0.60) - }} - </p> - {{ else if eq .Code "mt" }} - <h3>{{ $p.T "Bank of Valletta and HSBC Bank Malta" }}</h3> - <p> - {{ $p.T ` - You can get rolls for a fee of %s per roll. You must order - coin rolls through their online platform, and you must be a - customer.` - ($p.M 0.30) - }} - </p> - {{ else if eq .Code "nl" }} - <p> - {{ $p.T ` - Banks in the Netherlands do not carry cash, and as such it’s - not possible to obtain rolls from bank tellers. Obtaining - coins from the Dutch Central Bank (De Nederlandsche Bank) is - also not possible. If you want to obtain coin rolls you need - to use a Geldmaat coin roll machine which can be found in - specific branches of GAMMA and Karwei. Geldmaat offers a map - on their website where you can search for branches with these - machines; you can find that map %shere%s.` - `<a - href="https://www.locatiewijzer.geldmaat.nl/nl/" - target="_blank" - >` - `</a>` | safe - }} - </p> - - <p> - {{ $p.T ` - In order to be able to use a Geldmaat coin machine, you must be - a customer of either ABN AMRO, ING, or Rabobank. You also - cannot pay by cash, only card payments are allowed. All three - banks charge a withdrawal fee for getting coin rolls, which are - detailed in the list below. - ` }} - </p> - - <dl> - <dt>ABN AMRO</dt> - <dd>{{ $p.T "%s per roll." ($p.M 0.30) }}</dd> - - <dt>ING</dt> - <dd> - {{ $p.T "Base fee of %s + %s per roll." - ($p.M 7.00) ($p.M 0.35) - }} - </dd> - - <dt>Rabobank</dt> - <dd> - {{ $p.T "Base fee of %s + %s per roll." - ($p.M 7.00) ($p.M 0.50) - }} - </dd> - </dl> - - <p> - {{ $p.T ` - One- and two-cent coins have been removed from circulation and - cannot be obtained. - ` }} - </p> - {{ else if eq .Code "pt" }} - <h3>Banco Comercial Português</h3> - <p> - {{ $p.T ` - Coin bags are sold with no additional fees to bank customers. - ` }} - </p> - - <h3>{{ $p.T "Bank of Portugal (Banco de Portugal)" }}</h3> - <p> - {{ $p.T ` - Coin bags are sold with no additional fees to everyone. - ` }} - </p> - {{ else if eq .Code "si" }} - <p> - {{ $p.T "In general there is a %s fee for coin rolls." ($p.M 1.20) }} - </p> - - <h3>{{ $p.T "Bank of Slovenia (Banka Slovenije)" }}</h3> - <p> - {{ $p.T ` - You can purchase commemorative coins for face value, and coin - rolls are sold with no fees to everyone. - ` }} - </p> - {{ else if eq .Code "sk" }} - <h3>{{ $p.T "National Bank of Slovakia (Národná banka Slovenska)" }}</h3> - <p> - {{ $p.T ` - You may be able to get uncirculated rolls, but this is not yet - confirmed. - ` }} - </p> - - <h3>Tatra Banka</h3> - <p> - {{ $p.T ` - You can get an unlimited number of rolls for a %s fee. You - must be a customer of the bank.` - ($p.M 5.00) - }} - </p> - {{ else if eq .Code "va" }} - <p> - {{ $p.T ` - Ask the Pope nicely and he’ll probably give you some Vatican - coins for free. - ` }} - </p> - {{ else }} - <p> - {{ $p.T ` - We currently have no information regarding coin roll hunting in - %s.` - ($p.T .Name) - }} - </p> + <article> + {{ $p := .Printer }} + {{ $countries := .Countries }} + {{ range $i, $c := $countries }} + <details id="{{ $c.Code }}" name="country"> + <summary>{{ $c.Name }}</summary> + {{ if eq $c.Code "ad" }} + <p> + {{ $p.Get "Coin rolls can be obtained from Andbank, Creand and MoraBanc. All three of these banks require that you are a customer to get rolls, however there have been reports of individuals managing to get rolls without any fees and without being a customer by simply asking kindly at the bank." }} + </p> + {{ else if eq $c.Code "at" }} + {{/* TRANSLATORS: The OeNB prefers ‘Oe’ over ‘Ö’ */}} + {{ withTranslations "h3" + ($p.GetC "Austrian National Bank" "Company Name") + (tuple "de" "Oesterreichische Nationalbank") }} + <p> + {{ $p.Get "The Austrian National Bank does not distribute circulated rolls but sells rolls of commemorative coins at face value on release as well as uncirculated rolls for all denominations." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Bank Austria" "Company Name") + (tuple "de" "Bank Austria") }} + <p> + {{ $link := ifElse (eq $p.Language "de") + "https://filialen.bankaustria.at/de" + "https://filialen.bankaustria.at/en" }} + {{/* TRANSLATORS: On the German page the filter is called ‘Münzrollengeber’. For other languages we link to the English site, so mention the English filter name surrounded by ‘{EnglishStart:r}’ and ‘{EnglishEnd:E}’, and also translate it in parenthesis to your language. For example the Swedish page might say: ‘”{EnglishStart:r}coin roll dispenser{EnglishEnd:E}” (svenska: ”myntrullsautomat”)’ */}} + {{ $p.Get "There is a fee of €0.20 per roll which can be purchased with cash at machines. These machines are available to everyone but not in all branches. Look for the ‘coin roll dispenser’ filter option {Link:L}here{-:E}." + (map "Link" $link "EnglishStart" + `<span lang="en"><em>` "EnglishEnd" "em,span") | safe }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Erste Bank" "Company Name") + (tuple "de" "Erste Bank") }} + <p> + {{ $p.Get "There is a fee of €0.10 per roll. You must be a customer to use machines to get rolls. Rolls have no fees when purchased at counters, but you will probably be redirected to the machines if they work. You must present an Erste Bank card to buy rolls from machines, however payment in cash is still accepted." }} + </p> + + <p> + {{ $p.Get "Depositing coins is free up to €100 a day, at which point you pay 1% for any additionally deposited coins. You must also be a customer. Depositing coins is free for all Erste Bank customers at Dornbirner Sparkasse with no limit." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Raiffeisen Bank" "Company Name") + (tuple "de" "Raiffeisen Bank") }} + <p> + {{ $p.Get "There is a fee of €1 per roll if you aren’t a customer and €0.30 otherwise. Coin deposits are free for customers." }} + </p> + + {{ else if eq $c.Code "be" }} + + {{ withTranslations "h3" + ($p.GetC "National Bank of Belgium" "Company Name") + (tuple "nl" "Nationale Bank van België") + (tuple "fr" "Banque nationale de Belgique") + (tuple "de" "Belgische Nationalbank") }} + <p> + {{ $p.Get "You can visit the National Bank of Belgium in Brussels as an EU citizen. You can order coin rolls for no fee up to €2000 in value. They seem to distribute only uncirculated coins and no commemoratives." }} + </p> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "Argenta" "Company Name") + (tuple "" "Argenta") }} + <p> + {{ $p.Get "There is a €1.50 fee per transaction with no limit on the number of rolls you may take." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "KBC Bank" "Company Name") + (tuple "" "KBC Bank") }} + <p> + {{ $p.Get "Rolls can be obtained with no fee by customers only" }} + </p> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "Belfius" "Company Name") + (tuple "" "Belfius") }} + <p> + {{ $p.Get "Rolls can be obtained with no fee when you order through their online platform." }} + </p> + + {{ else if eq $c.Code "cy" }} + + {{ withTranslations "h3" + ($p.GetC "Bank of Cyprus" "Company Name") + (tuple "el" "Τράπεζα Κύπρου") + (tuple "tr" "Kıbrıs Bankası") }} + <p> + {{ $p.Get "At the Bank of Cyprus it is possible to buy bags of coins without being a customer, and without paying any additional fees. Depending on the branch you visit there may be a coin roll machine available. Do note that the bags provided by the Bank of Cyprus are much larger than what is typically found elsewhere in the Eurozone with €2.00 bags containing 50 coins and the other denomination bags containing 100 coins." }} + </p> + + {{ else if eq $c.Code "de" }} + + <p> + {{ $p.Get "Coin roll availability and their related fees may vary across banks and branches. Unless specified otherwise, you must be a customer to purchase coin rolls." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "German Federal Bank" "Company Name") + (tuple "de" "Deutsche Bundesbank") }} + <p> + {{ $p.Get "You can obtain regular and commemorative coins for face value including 5-, 10- and 20 euro coins. You do not need to be a customer although depending on your branch you may need to make an appointment. The purchase of coins can only be done with cash." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "German Post" "Company Name") + (tuple "de" "Deutsche Post") }} + <p> + {{ $p.Get "Hand-rolled coin rolls can be obtained with no additional fees." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Sparkasse" "Company Name") + (tuple "de" "Sparkasse") }} + <p> + {{ $p.Get "Coin rolls can be obtained for a fee of €0.50–€1.50 per roll. The amount varies per branch." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Volksbank" "Company Name") + (tuple "de" "Volksbank") }} + <p> + {{ $p.Get "Coin rolls can be obtained for a fee of €0.25 per roll." }} + </p> + + {{ else if eq $c.Code "ee" }} + + <p> + {{ $p.Get "Obtaining coin rolls in Estonia is typically quite difficult and often expensive. You also generally need to make an appointment in advance." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Bank of Estonia Museum" "Company Name") + (tuple "et" "Eesti Panga muuseum") }} + <p> + {{ $p.Get "You can purchase commemorative coins – including those released years ago – for face value." }} + </p> + + {{ else if eq $c.Code "es" }} + + {{ withTranslations "h3" + ($p.GetC "Bank of Spain" "Company Name") + (tuple "es" "Banco de España") }} + <p> + {{ $p.Get "You can purchase individual coins and commemorative coin rolls (even those of other countries). You can watch a video {Link:L}here{-:E} to see how to do it." + (map "Link" "https://youtu.be/QRFuD6olH80?t=135") | safe }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Royal Mint of Spain" "Company Name") + (tuple "es" "Fábrica Nacional de Moneda y Timbre") }} + <p>TODO</p> + + {{ withTranslations "h3" + ($p.GetC "Santander Bank" "Company Name") + (tuple "es" "Banco Santander") }} + <p>{{ $p.Get "Coin rolls are free but you must be a customer." }}</p> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "BBVA" "Company Name") + (tuple "es" "BBVA") }} + <dl> + {{/* TRANSLATORS: City in Spain */}} + <dt>{{ $p.Get "Alicante" }}</dt> + <dd> + {{ $p.Get "Coin rolls have a fee of €2 for 5 rolls. This seems to vary by location." }} + </dd> + <dt>{{ $p.Get "Madrid" }}</dt> + <dd>{{ $p.Get "Coin rolls have no fees." }}</dd> + </dl> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "La Caixa" "Company Name") + (tuple "es" "La Caixa") }} + <p> + {{ $p.Get "Coin rolls have no fees and can be purchased with cash. You allegedly do not need to be a customer, but this needs to be verified." }} + </p> + + {{ else if eq $c.Code "fi" }} + + <p> + {{ $p.Get "Finland has no coin roll machines, but you can find vending machines or coin exchange machines that accept cash (although they can be rather rare)." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Bank of Finland" "Company Name") + (tuple "fi" "Suomen Pankki") + (tuple "sv" "Finlands Bank") }} + <p> + {{ $p.Get "It is probably not possible to obtain coin rolls, but this is not confirmed." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Mint of Finland" "Company Name") + (tuple "fi" "Suomen Rahapaja") + (tuple "sv" "Myntverket i Finland") }} + <p>{{ $p.Get "The Mint of Finland ceased all operations in late 2024 but still sells coins on their website." }}</p> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "Aktia Bank" "Company Name") + (tuple "fi" "Aktia Pankki") + (tuple "sv" "Aktia Bank") }} + <p>{{ $p.Get "Coin rolls used to be obtainable without fees, however you can no longer obtain rolls." }}</p> + + {{ else if eq $c.Code "fr" }} + + <p> + {{ $p.Get "Coin roll machines are uncommon, only some banks have them and you typically need to be a customer. You may also need to order coin rolls in advance." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Bank of France" "Company Name") + (tuple "fr" "Banque du France") }} + <p>TODO</p> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "Caisse d’Épargne" "Company Name") + (tuple "fr" "Caisse d’Épargne") }} + <p>{{ $p.Get "Coin rolls can be obtained with no fee. You must be a customer." }}</p> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "CIC" "Company Name") + (tuple "fr" "CIC") }} + <p> + {{ $p.Get "Free coin rolls if you are a customer or €1 per roll if you are not a customer. There are coin roll machines." }} + </p> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "Crédit Mutuel" "Company Name") + (tuple "fr" "Crédit Mutuel") }} + <p> + {{ $p.Get "Free coin rolls if you are a customer or €1 per roll if you are not a customer. There are coin roll machines." }} + </p> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "Crédit Agricole" "Company Name") + (tuple "fr" "Crédit Agricole") }} + <p>{{ $p.Get "Coin rolls can be obtained with no fee. You must be a customer." }}</p> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "LCL" "Company Name") + (tuple "fr" "LCL") }} + <p> + {{ $p.Get "There are coin roll machines but it is not yet known if you need to be a customer or if there are fees." }} + </p> + + {{ else if eq $c.Code "gr" }} + + {{ withTranslations "h3" + ($p.GetC "Bank of Greece" "Company Name") + (tuple "gr" "Τράπεζα της Ελλάδος") }} + <p> + {{ $p.Get "{EmphStart:r}NOTE{EmphEnd:E}: The Bank of Greece (Greece’s central bank) is NOT the same as the National Bank of Greece (a commercial bank)." + (map "EmphStart" `<strong>` "EmphEnd" "strong") | safe }} + </p> + <p> + {{ $p.Get "Coin rolls can be obtained with no fee, but you may need to present your ID. The latest commemorative coins are also sold for face value." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Piraeus Bank" "Company Name") + (tuple "gr" "Τράπεζα Πειραιώς") }} + <p> + {{ $p.Get "Coin bags are available without fees for everyone. Smaller denominations are often not given out, and the coin bags you recieve are very large (there are reports of €1 bags containing 250 coins)." }} + </p> + + {{ else if eq $c.Code "hr" }} + + <p> + {{ $p.Get "We currently have no information regarding coin roll hunting in Croatia." }} + </p> + + {{ else if eq $c.Code "ie" }} + + <p> + {{ $p.Get "In general, coin rolls are available at banks with a fee of €1 per roll; rolls could potentially have no fee if you only need a few." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Central Bank of Ireland" "Company Name") + (tuple "ga" "Banc Ceannais na hÉireann") + (tuple "en" "Central Bank of Ireland") }} + <p>TODO</p> + + {{ else if eq $c.Code "it" }} + + {{ withTranslations "h3" + ($p.GetC "Bank of Italy" "Company Name") + (tuple "it" "Banca d’Italia") }} + <p> + {{ $p.Get "Coin rolls are available to everyone." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Banca di Cambiano" "Company Name") + (tuple "it" "Banca di Cambiano") }} + <p> + {{ $p.Get "There are coin roll machines but it is unknown if you need to be a customer or if there are additional fees." }} + </p> + + {{ else if eq $c.Code "lt" }} + + {{ withTranslations "h3" + ($p.GetC "Bank of Lithuania" "Company Name") + (tuple "en" "Lietuvos bankas") }} + <p> + {{ $p.Get "Allegedly, coin rolls are only available for businesses, but this needs additional confirmation." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "ExchangeLT" "Company Name") + (tuple "en" "ExchangeLT") }} + <p> + {{ $p.Get "Coin rolls are available with a fee of 5%." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Top Exchange" "Company Name") + (tuple "en" "Top Exchange") }} + <p> + {{ $p.Get "Fee of €2 per roll of 2 euro coins." }} + </p> + + {{ else if eq $c.Code "lu" }} + + {{ withTranslations "h3" + ($p.GetC "Central Bank of Luxembourg" "Company Name") + (tuple "lb" "Zentralbank vu Lëtzebuerg") + (tuple "fr" "Banque centrale du Luxembourg") + (tuple "de" "Luxemburger Zentralbank") }} + <p> + {{ $p.Get "We currently have no information regarding regular coins, however their webshop sells commemorative coins. Commemorative coins are also available for purchase in-person." }} + </p> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "Dexia" "Company Name") + (tuple "fr" "Dexia") }} + <p> + {{ $p.Get "You should be able to get coin rolls with no additional fees." }} + </p> + + {{ else if eq $c.Code "lv" }} + + <p> + {{ $p.Get "In general coin rolls are sold with for fee of €0.60 per roll, but we’re lacking a lot of information." }} + </p> + + {{ else if eq $c.Code "mc" }} + + <p> + {{ $p.Get "We currently have no information regarding coin roll hunting in Monaco." }} + </p> + + {{ else if eq $c.Code "mt" }} + + {{ withTranslations "h3" + ($p.GetC "Central Bank of Malta" "Company Name") + (tuple "mt" "Bank Ċentrali ta’ Malta") }} + <p>TODO</p> + + {{ withTranslations "h3" + ($p.GetC "Bank of Valletta" "Company Name") + (tuple "en" "Bank of Valletta") }} + <p> + {{ $p.Get "You can get rolls for a fee of €0.30 per roll. You must order coin rolls through their online platform, and you must be a customer." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "HSBC Bank Malta" "Company Name") + (tuple "en" "HSBC Bank Malta") }} + <p> + {{ $p.Get "You can get rolls for a fee of €0.30 per roll. You must order coin rolls through their online platform, and you must be a customer." }} + </p> + + {{ else if eq $c.Code "nl" }} + + + <p> + {{ $link := ifElse (eq $p.Language "nl") + "https://www.locatiewijzer.geldmaat.nl/nl" + "https://www.locatiewijzer.geldmaat.nl/en" }} + {{ $p.Get "Banks in the Netherlands do not carry cash, and as such it’s not possible to obtain rolls from bank tellers. If you want to obtain coin rolls you need to use a Geldmaat coin roll machine which can be found in specific branches of GAMMA and Karwei. Geldmaat offers a map on their website where you can search for branches with these machines; you can find that map {Link:L}here{-:E}. Coin rolls are only available to customers of the banks listed below." + (map "Link" $link) | safe }} + </p> + + <p> + {{ $p.Get "1- and 2 cent coins have been removed from circulation and cannot be obtained." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "The Dutch Central Bank" "Company Name") + (tuple "nl" "De Nederlandsche Bank") }} + <p> + {{ $p.Get "Obtaining coins from the Dutch Central Bank is not possible." }} + </p> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "ABN AMRO" "Company Name") + (tuple "nl" "ABN AMRO") }} + <p> + {{ $p.Get "Coin rolls are available for a fee of €0.30 per roll. You must withdraw between 10–20 rolls." }} + </p> + + {{/* TRANSLATORS: Name of a bank */}} + {{ withTranslations "h3" + ($p.GetC "ING" "Company Name") + (tuple "nl" "ING") }} + <p> + {{ $p.Get "Coin rolls are available for a fee of €7 + €0.35 per roll." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Rabobank" "Company Name") + (tuple "nl" "Rabobank") }} + <p> + {{ $p.Get "Coin rolls are available for a fee of €7 + €0.50 per roll." }} + </p> + + {{ else if eq $c.Code "pt" }} + + {{ withTranslations "h3" + ($p.GetC "Bank of Portugal" "Company Name") + (tuple "pt" "Banco de Portugal") }} + <p> + {{ $p.Get "Coin bags are sold with no additional fees to everyone." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Banco Comercial Português" "Company Name") + (tuple "pt" "Banco Comercial Português") }} + <p> + {{ $p.Get "Coin bags are sold with no additional fees to bank customers." }} + </p> + + {{ else if eq $c.Code "si" }} + + <p> + {{ $p.Get "In general there is a €1.20 fee for coin rolls." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Bank of Slovenia" "Company Name") + (tuple "sl" "Banka Slovenije") }} + <p> + {{ $p.Get "You can purchase commemorative coins for face value, and coin rolls are sold with no fees to everyone." }} + </p> + + {{ else if eq $c.Code "sk" }} + + {{ withTranslations "h3" + ($p.GetC "National Bank of Slovakia" "Company Name") + (tuple "sk" "Národná banka Slovenska") }} + <p> + {{ $p.Get "You may be able to get uncirculated rolls, but this is not yet confirmed." }} + </p> + + {{ withTranslations "h3" + ($p.GetC "Tatra banka" "Company Name") + (tuple "sk" "Tatra banka") }} + <p> + {{ $p.Get "You can get an unlimited number of rolls for a €5 fee. You must be a customer of the bank." }} + </p> + + {{ else if eq $c.Code "sm" }} + + <p> + {{ $p.Get "We currently have no information regarding coin roll hunting in San Marino." }} + </p> + + {{ else if eq $c.Code "va" }} + + <p> + {{ $p.Get "Ask the Pope nicely and he’ll probably give you some Vatican coins for free." }} + </p> + + {{ end }} + </details> + {{ if ne (plus1 $i) (len $countries) }} + <hr> + {{ end }} {{ end }} - </details> - {{ end }} + </article> </main> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/src/templates/collecting-storage.html.tmpl b/src/templates/collecting-storage.html.tmpl index 8d29667..64c29db 100644 --- a/src/templates/collecting-storage.html.tmpl +++ b/src/templates/collecting-storage.html.tmpl @@ -1,156 +1,98 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Coin Storage" }}</h1> + <h1>{{ .Get "Coin Storage" }}</h1> </header> -<main> +<main class="container"> <p> - {{ .T ` - There are many different methods of storing your collecting, - each with their own benefits and drawbacks. This page will - describe the most common methods collectors use to store - their coins, as well as the pros and cons of each method. - ` }} + {{ .Get "There are many different methods of storing your collecting, each with their own benefits and drawbacks. This page will describe the most common methods collectors use to store their coins, as well as the pros and cons of each method." }} </p> - <h2>{{ .T "Coin Albums" }}</h2> + <h2>{{ .Get "Coin Albums" }}</h2> <p> - {{ .T ` - Coin albums are one of the most popular ways of storing - coins. In a coin album you will have multiple coin sheets. - These sheets are plastic pages with slots that you can put - your coin in to keep them protected. When searching for - sheets for your album it is very important to ensure that - they do not contain any PVC, which will damage your coins. - Some albums will come with sheets already included. - ` }} + {{ .Get "Coin albums are one of the most popular ways of storing coins. In a coin album you have multiple coin sheets. These sheets are plastic pages with slots that you can put your coins in to keep them protected. When searching for sheets for your album it is very important to ensure that they do not contain any PVC which will damage your coins. Some albums will come with sheets already included." }} </p> <p> - {{ .T ` - Albums can be an affordable way to store your coins, but - higher-end albums can be a bit expensive. Also remember - to always ensure that your albums do not contain any PVC! - ` }} + {{ .Get "Albums can be an affordable way to store your coins, but higher-end albums can be a bit expensive. Also remember to always ensure that your albums do not contain any PVC." }} </p> - <h2>{{ .T "Coin Boxes" }}</h2> + <h2>{{ .Get "Coin Boxes" }}</h2> <p> - {{ .T ` - Coin boxes are to many people the most aesthetic way to store - your coins. A coin box is comprised of various layers which - can be stacked ontop of each other. Each layer has various - holes where you can insert your coins. Typically you are - meant to store your coins in a layer encased in a coin - capsule. - ` }} + {{ .Get "Coin boxes are to many people the most aesthetic way to store your coins. A coin box is comprised of various layers which can be stacked on top of each other. Each layer has a grid of slots where you can insert your coins. Typically you are meant to store your coins in a layer encased in a coin capsule." }} </p> <p> - {{ .T ` - Boxes are quite space-inefficient and are one of the most - expensive ways to store your coins, but at the same time they - offer a great visual appeal. - ` }} + {{ .Get "Boxes are quite space-inefficient and are one of the most expensive ways to store your coins, but at the same time they offer a great visual appeal." }} </p> - <h2>{{ .T "Coin Capsules" }}</h2> + <h2>{{ .Get "Coin Capsules" }}</h2> <p> - {{ .T ` - Coin capsules are plastic capsules you can put your coin in. - They offer good protection to your coins, while still - allowing you to view all parts of your coin easily, including - the edge engravings and -inscriptions. Capsules are also far - more durable than flips, and can be opened and closed - repeatedly allowing for them to be reused. This isn’t really - possible with flips. - ` }} + {{ .Get "Coin capsules are plastic capsules you can put your coin in. They offer good protection to your coins, while still allowing you to view all parts of your coin easily, including the edge engravings and inscriptions. Capsules are also far more durable than flips, and can be opened and closed repeatedly allowing for reuse, something not typically possible with coin flips." }} </p> <p> - {{ .T ` - Capsules can be a bit pricey, but are reusable and are very - durable. They also come in different sizes, so make sure you - get the right size for your coins. - ` }} + {{ .Get "Capsules can be a bit pricey, but are reusable and are very durable. They also come in different sizes, so make sure you get the right size for your coins." }} </p> - <h2>{{ .T "Coin Flips" }}</h2> + <h2>{{ .Get "Coin Flips" }}</h2> <p> - {{ .T ` - Coin flips, also known as ‘2x2’ flips by some Americans are - small cardboard flips with a plastic covered hole in the - middle for viewing. Most coin flips are stapled, meaning you - put your coin in the flip and staple it shut. These kinds of - flips are very cheap, and you can buy stacks of a few hundred - for only a few euros. If you don’t like the staples though, - you can also buy adhesive-flips that glue themselves shut. - These flips are more expensive, but also look better than - their stapled equivalents. - ` }} + {{ .Get "Coin flips, also known as ‘2×2’ flips by some Americans are small cardboard flips with a plastic covered hole in the middle for viewing. Most coin flips are stapled, meaning you put your coin in the flip and staple it shut. These kinds of flips are very cheap, and you can buy stacks of a few hundred for only a few euros. If you don’t like the staples though, you can also buy adhesive-flips that glue themselves shut. These flips are more expensive, but also look better than their stapled equivalents." }} </p> <p> - {{ .T ` - Coin slips are also pretty space efficient, and can be easily - stacked in boxes for compact storage. Many collectors also - like to write notes about their coins on the flips. There - also exist special sheets for coin albums that allow you to - put in flipped coins, but this is more expensive and less - space-efficient than simply using flips or an album without - flips. - ` }} + {{ .Get "Coin slips are also pretty space efficient, and can be easily stacked in boxes for compact storage. Many collectors also like to write notes about their coins on the flips. There also exist special sheets for coin albums that allow you to put in flipped coins, but this is more expensive and less space-efficient than simply using flips or an album without flips." }} </p> - <h2>{{ .T "Coin Rolls" }}</h2> + <h2>{{ .Get "Coin Rolls" }}</h2> <p> - {{ .T ` - This is probably the most inexpensive way to store your - coins. If you take good care of the paper when opening your - coin rolls, you can simply reuse them for storage. Just roll - your coins back up and put some rubber bands on the ends. - You can also get reusable plastic rolls that can be opened - and closed. You will need different rolls based on the - denomination you want to store, but they are very - space-efficient. - ` }} + {{ .Get "This is probably the most inexpensive way to store your coins. If you take good care of the paper when opening coin rolls, you can simply reuse them for storage. Just roll your coins back up and put some rubber bands on the ends. You can also get reusable plastic rolls that can be opened and closed. You will need different rolls based on the denomination you want to store, but they are very space-efficient." }} </p> - <h2>{{ .T "Examples" }}</h2> + <h2>{{ .Get "Examples" }}</h2> <p> - {{ .T ` - In case you’re looking for some inspiration on how to store - your collections, here are some examples. - ` }} + {{ .Get "In case you’re looking for some inspiration on how to store your collections, here are some examples:" }} </p> - <!-- TODO: Can we use an AVIF here? --> - {{ template "example-image" - (tuple (.T "Flips in a case") - "/storage/flips-in-case.jpg") }} - {{ template "example-image" - (tuple (.T "Capsules in a case") - "/storage/random-in-box.avif") }} - <!-- {{ template "example-image" - (tuple (.T "Flips and capsules in a box") - "/storage/coins-in-album.avif") }} --> - {{ template "example-image" - (tuple (.T "Coins in an album") - "/storage/coins-in-album-labeled.avif") }} - {{ template "example-image" - (tuple (.T "Coins in an album with labels") - "/storage/coins-in-album-labeled.avif") }} - {{ template "example-image" - (tuple (.T "Coins in a reusable roll") - "/storage/coins-in-roll.avif") }} - {{ template "example-image" - (tuple (.T "Flips in an album") - "/storage/flips-in-album.avif" )}} + <article> + <!-- TODO: Can we use an AVIF here? --> + {{ template "example-image" + (tuple (.Get "Flips in a case") + "/storage/flips-in-case.jpg") }} + <hr> + {{ template "example-image" + (tuple (.Get "Capsules in a case") + "/storage/random-in-box.avif") }} + <hr> + <!-- {{ template "example-image" + (tuple (.Get "Flips and capsules in a box") + "/storage/coins-in-album.avif") }} + <hr> --> + {{ template "example-image" + (tuple (.Get "Coins in an album") + "/storage/coins-in-album-labeled.avif") }} + <hr> + {{ template "example-image" + (tuple (.Get "Coins in an album with labels") + "/storage/coins-in-album-labeled.avif") }} + <hr> + {{ template "example-image" + (tuple (.Get "Coins in a reusable roll") + "/storage/coins-in-roll.avif") }} + <hr> + {{ template "example-image" + (tuple (.Get "Flips in an album") + "/storage/flips-in-album.avif" )}} + </article> </main> {{ end }} {{ define "example-image" }} -<details> +<details name="example-images"> <summary>{{ index . 0 }}</summary> <div class="design-container"> <img @@ -160,4 +102,4 @@ > </div> </details> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/src/templates/collecting-vending.html.tmpl b/src/templates/collecting-vending.html.tmpl index 2bfea22..6490d8f 100644 --- a/src/templates/collecting-vending.html.tmpl +++ b/src/templates/collecting-vending.html.tmpl @@ -1,163 +1,81 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Euro Coin Collecting" }}</h1> + <h1>{{ .Get "Euro Coin Collecting" }}</h1> </header> -<main> - <h2>{{ .T "What is Vending Machine Hunting?" }}</h2> +<main class="container"> + <h2>{{ .Get "What is Vending Machine Hunting?" }}</h2> <p> - {{ .T ` - ‘Vending machine hunting’ is a strategy of collecting coins - whereby you continuously insert coins into a vending machine - and cancel the transaction by pressing the return button. - When the vending machine returns your coins to you, you will - often get different coins from the ones you put in, and you - can repeat this process until you’ve searched through every - coin in the machine. - ` }} + {{ .Get "‘Vending machine hunting’ is a strategy of collecting coins whereby you continuously insert coins into a vending machine and cancel the transaction by pressing the return button. When the vending machine returns your coins to you, you will often get different coins from the ones you put in, and you can repeat this process until you’ve searched through every coin in the machine." }} </p> - <h2>{{ .T "The Test Coins" }}</h2> + <h2>{{ .Get "The Test Coins" }}</h2> <p> - {{ .T ` - First, you want to make sure the vending machine you come - across actually gives back change — sometimes they don’t! - Throw in a 10 cent coin and press the return button. If it - doesn’t give the coin back, you can move on to the next - machine; there’s a high chance it won’t return higher - denominations either. Next throw in a random 2 euro coin and - press the return button. You should do this because vending - machines may not return 2 euro coins, but rather 1 euro- or - 50 cent coins instead. It’s better to find out immediately - as opposed to later once you’ve already put in all of your 2 - euro coins. - ` }} + {{ .Get "First, you want to make sure the vending machine you come across actually gives back change – sometimes they don’t! Throw in a 10c coin and press the return button. If it doesn’t give the coin back, you can move on to the next machine; there’s a high chance it won’t return higher denominations either. Next throw in a random €2 coin and press the return button. You should do this because vending machines may not return €2 coins, but rather €1 or 50c coins instead. It’s better to find out immediately as opposed to later once you’ve already put in all of your €2 coins." }} </p> - <h2>{{ .T "The Stopper" }}</h2> + <h2>{{ .Get "The Stopper" }}</h2> <p> - {{ .T ` - We want to be able to know when we’ve gone through all the - coins in the vending machine. To do this, take out a coin - and mark it with something (drawing on it with a Sharpie - works well), then put it into the machine. Next time you get - the same coin back, you know you’ve gone through everything. - ` }} + {{ .Get "We want to be able to know when we’ve gone through all the coins in the vending machine. To do this, take out a coin and mark it with something (drawing on it with a Sharpie works well), then put it into the machine. Next time you get the same coin back, you know you’ve gone through everything." }} </p> - <h2>{{ .T "Rejected Stoppers and Coins" }}</h2> + <h2>{{ .Get "Rejected Stoppers and Coins" }}</h2> <p> - {{ .T ` - Sometimes you may throw a stopper in, but you hear a ‘clunk’ - sound, as if the coin was dropped into a box (normally adding - a coin should be silent after you throw it in). This means - the coin was not added to the stack properly, and so it will - not be returned. Pay attention to this noise, because you - won’t be getting the stopper back! Throw in another marked - coin instead until the machine accepts the coin. - ` }} + {{ .Get "Sometimes you may throw a stopper in, but you hear a ‘clunk’ sound, as if the coin was dropped into a box (normally adding a coin should be silent after you throw it in). This means the coin was not added to the stack properly, and so it will not be returned. Pay attention to this noise, because you won’t be getting the stopper back. Throw in another marked coin instead until the machine accepts the coin." }} </p> - <h2>{{ .T "(Non-)Merging Machines" }}</h2> + <h2>{{ .Get "(Non-)Merging Machines" }}</h2> <p> - {{ .T ` - We generally identify between two main types of vending - machines. - ` }} + {{ .Get "We generally identify between two main types of vending machines." }} </p> <dl> - <dt>{{ .T "Merging" }}</dt> + <dt>{{ .Get "Merging" }}</dt> <dd> - {{ .T ` - The vending machine merges change together. For example - if you throw in five 50 cent coins, the machine returns - either two 1 euro coins and one 50 cent coin or one 2 - euro and one 50 cent coin. This usually means you can - hunt 2 euro coins very quickly but other denominations - only once at a time. A good tip is to throw in an odd - number of euros and 80 cents if you want to search - through all denominations. - ` }} + {{ .Get "The vending machine merges change together. For example if you throw in five 50c coins, the machine returns either two €1 coins and one 50c coin or one €2 and one 50c coin. This usually means you can hunt €2 coins very quickly but other denominations only once at a time. A good tip is to throw in an odd number of euros and €0.80 if you want to search through all denominations." }} </dd> - <dt>{{ .T "Non-Merging" }}</dt> + <dt>{{ .Get "Non-Merging" }}</dt> <dd> - {{ .T ` - The vending machine does not merge change together. This - means if you throw in five 50 cent coins it will return - five 50 cent coins. This makes it very easy to hunt a - large amount of a specific denomination. - ` }} + {{ .Get "The vending machine does not merge change together. This means if you throw in five 50c coins it will return five 50c coins. This makes it very easy to hunt a large amount of a specific denomination." }} </dd> </dl> - <h2>{{ .T "Limits" }}</h2> + <h2>{{ .Get "Limits" }}</h2> <p> - {{ .T ` - There are some limits to vending machine hunts which you need - to be aware of. - ` }} + {{ .Get "There are some limits to vending machine hunts which you need to be aware of." }} </p> <dl> - <dt>{{ .T "Maximum Input Limit" }}</dt> + <dt>{{ .Get "Maximum Input Limit" }}</dt> <dd> - {{ .T ` - Some machines have a maximum amount you can throw in, and - will reject anything higher. For example machines with a - max limit of five euros will reject any additional coins - if you throw in five euros. You can try to go above the - limit if you throw in, say, %s and then another one- or - two euro coin; the machine will probably accept it. - ` (.Printer.M 4.80) }} + {{ .Get "Some machines have a maximum amount you can throw in, and will reject anything higher. For example machines with a maximum limit of €5 will reject any additional coins if you throw in €5. You can try to go above the limit if you throw in €4.80 and then another €1 or €2 coin; the machine might accept it." }} </dd> - <dt>{{ .T "Maximum Change Limit" }}</dt> + <dt>{{ .Get "Maximum Change Limit" }}</dt> <dd> <p> - {{ .T ` - Some machines will either give back large amounts of - change in bills or will not give back large amounts - of change at all (usually cigarette machines). Read - the labels on all machines carefully since these - limits are usually written there. - ` }} + {{ .Get "Some machines will either give back large amounts of change in bills or will not give back large amounts of change at all (usually cigarette machines). Read the labels on all machines carefully since these limits are usually written there." }} </p> <p> - {{ .T ` - Even if no limits are listed, it’s still advised that - you exercise caution: it is not uncommon for a - vending machine to steal your money. In the case - that a vending machine does steal your money, look - for a label on the machine that contains a support - number. - ` }} + {{ .Get "Even if no limits are listed, it’s still advised that you exercise caution: it is not uncommon for a vending machine to steal your money. In the case that a vending machine does steal your money, look for a label on the machine that contains a support number." }} </p> <p> - {{ .T ` - For information on Austrian cigarette machines, see - the ‘%sCigarette Machines%s’ section. - ` `<a href="#ciggy">` `</a>` | safe }} + {{ .Get "For information on Austrian cigarette machines, see the ‘{LinkStart:r}Cigarette Machines{LinkEnd:E}’ section." + (map "LinkStart" `<a href="#ciggy">` + "LinkEnd" "a") }} </p> </dd> </dl> - <h2 id="ciggy">{{ .T "Cigarette Machines" }}</h2> + <h2 id="ciggy">{{ .Get "Cigarette Machines" }}</h2> <p> - {{ .T ` - In some countries where cigarette machines are legal, you can - hunt through them as well. Unless you’re in Malta, you must - verify your age on them by either sliding an ID card through - a sensor or holding a debit card on an RFID scanner; you must - do this for every cycle. Sometimes you must also select - something to purchase, throw in less money than the cost, and - then cancel the purchase. Note that most cigarette machines - in Austria have a %s max change limit. - ` (.Printer.M 4.90) }} + {{ .Get "In some countries where cigarette machines are legal, you can hunt through them as well. Unless you’re in Malta, you must verify your age on them by either sliding an ID card through a sensor or holding a debit card on an RFID scanner; you must do this for every cycle. Sometimes you must also select something to purchase, throw in less money than the cost, and then cancel the purchase. Note that most cigarette machines in Austria have a €4.90 max change limit." }} </p> + + <!-- TODO: Link to a demonstration video? --> <p> - {{ .T ` - For RFID scanner machines it helps to wear a glove and slide - a debit card into the back of it so you can easily use both - hands and don’t have to fumble with a card and coins. - ` }} + {{ .Get "For RFID scanner machines it helps to wear a glove and slide a debit card into the back of it so you can easily use both hands and don’t have to fumble with a card and coins." }} </p> </main> -{{ end }}
\ No newline at end of file +{{ end }} diff --git a/src/templates/collecting.html.tmpl b/src/templates/collecting.html.tmpl index aacb442..d8ecf18 100644 --- a/src/templates/collecting.html.tmpl +++ b/src/templates/collecting.html.tmpl @@ -1,76 +1,61 @@ +{{ define "header" }} +{{ template "header-navbar" . }} + +<style> + #sections { + --button-min-width: 40ch; + + article { + min-height: 100%; + } + } +</style> +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Euro Coin Collecting" }}</h1> + <h1>{{ .Get "Euro Coin Collecting" }}</h1> </header> -<main> +<main class="container"> <p> - {{ .T ` - On this section of the site you can find everything there is - to know about collecting Euro coins. If this is a hobby that - interests you, join the Discord server linked at the top of - the page! - ` }} + {{ .Get "On this section of the site you can find everything there is to know about collecting Euro coins. If this is a hobby that interests you, join the Discord server linked at the top of the page!" }} </p> <hr> - <section> - <div class="grid"> - <a class="no-deco" href="/collecting/crh"> - <article> - <header> - <h3>{{ .T "Coin Roll Hunting" }}</h3> - </header> - <main> - {{ .T ` - Learn about collecting coins from coin rolls! - ` }} - </main> - </article> - </a> - <a class="no-deco" href="/collecting/storage"> - <article> - <header> - <h3>{{ .T "Coin Storage" }}</h3> - </header> - <main> - {{ .T ` - Learn about the different methods to storing - your collection! - `}} - </main> - </article> - </a> - <!-- TODO: Implement the shop hunting page --> - <a class="no-deco" href="#"> - <article> - <header> - <h3>{{ .T "Shop Hunting" }}</h3> - </header> - <main> - {{ .T ` - Learn about how to collect coins from - shop-keepers and other people who deal in - cash! - ` }} - </main> - </article> - </a> - </div> - <div class="grid"> - <a class="no-deco" href="/collecting/vending"> - <article> - <header> - <h3>{{ .T "Vending Machine Hunting" }}</h3> - </header> - <main> - {{ .T ` - Learn about collecting coins from vending - machines! - ` }} - </main> - </article> - </a> - </div> - </section> + <div id="sections" class="button-grid"> + <a class="no-deco" href="/collecting/crh"> + <article> + <header> + <h3>{{ .Get "Coin Roll Hunting" }}</h3> + </header> + {{ .Get "Learn about collecting coins from coin rolls" }} + </article> + </a> + <a class="no-deco" href="/collecting/storage"> + <article> + <header> + <h3>{{ .Get "Coin Storage" }}</h3> + </header> + {{ .Get "Learn about the different methods to storing your collection" }} + </article> + </a> + <!-- TODO: Implement the shop hunting page --> + <a class="no-deco" href="#"> + <article> + <header> + <h3>{{ .Get "Shop Hunting" }}</h3> + </header> + {{ .Get "Learn about how to collect coins from shops" }} + </article> + </a> + <a class="no-deco" href="/collecting/vending"> + <article> + <header> + <h3>{{ .Get "Vending Machine Hunting" }}</h3> + </header> + {{ .Get "Learn about collecting coins from vending machines" }} + </article> + </a> + </div> </main> {{ end }}
\ No newline at end of file diff --git a/src/templates/index.html.tmpl b/src/templates/index.html.tmpl index fafd0ee..d560c64 100644 --- a/src/templates/index.html.tmpl +++ b/src/templates/index.html.tmpl @@ -1,24 +1,25 @@ +{{ define "header" }} +{{ template "header-navbar" . }} +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} <hgroup> - <h1>{{ .T "The Euro Cash Compendium" }}</h1> + <h1>{{ .Get "The Euro Cash Wiki" }}</h1> <p> - {{ .T "United in" }} - <del>{{ .T "diversity" }}</del> - <ins>{{ .T "cash" }}</ins> + <!-- TODO: Just make this one translation --> + {{/* TRANSLATORS: Beginning of sentence, as in ‘United in …’ */}} + {{ .Get "United in" }} + <del>{{ .Get "diversity" }}</del> + <ins>{{ .Get "cash" }}</ins> </p> </hgroup> </header> -<main> +<main class="container"> + <!-- TODO(2026): s/26/27/; Welcome Bulgaria! --> <p> - {{ .T ` - Welcome to the Euro Cash Compendium. 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. - ` }} + {{ .Get "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." }} </p> </main> -{{ end }} +{{ end }}
\ No newline at end of file diff --git a/src/templates/jargon.html.tmpl b/src/templates/jargon.html.tmpl index 0dd1947..593a169 100644 --- a/src/templates/jargon.html.tmpl +++ b/src/templates/jargon.html.tmpl @@ -1,114 +1,72 @@ +{{ define "header" }} +{{ template "header-navbar" . }} + +<style> + dt > a:target { + background-color: var(--pico-mark-background-color); + } +</style> +{{ end }} + {{ define "content" }} -<header> + +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Euro Cash Jargon" }}</h1> + <h1>{{ .Get "Euro Cash Jargon" }}</h1> </header> -<main> +<main class="container"> <p> - {{ .T ` - Both on this website and in other euro-cash-related forums there - are many terms you will come across that you may not immediately - understand. This page will hopefully get you up to speed with the - most important and frequently-used terminology. - ` }} + {{ .Get "Both on this website and in other related forums you will come across many terms that you may not be familiar with. This page will hopefully get you up to speed with the most important and frequently-used terminology." }} </p> <p> - {{ .T ` - All terms defined below can be used as clickable links which - highlight the selected term. It is recommended to use these links - when sharing this page with others, so that the relevant terms are - highlighted. - ` }} + {{ .Get "All terms defined below can be used as clickable links which highlight the selected term. It is recommended to use these links when sharing this page with others, so that the relevant terms are highlighted." }} </p> <hr /> - <!-- TODO: Sort these jargon entries in alphabetical order according to - the users locale --> - <h2>{{ .T "General Terms" }}</h2> + <!-- TODO: Sort these jargon entries in alphabetical order according + to the users locale --> + <h2>{{ .Get "General Terms" }}</h2> <dl> - {{ template "jargon/dt" (tuple "au" (.T "AU — Almost Uncirculated")) }} + {{ template "jargon/dt" (tuple "au" (.Get "AU — Almost Uncirculated")) }} <dd> - {{ .T ` - AU coins are coins that are in extremely good condition as a - result of limited use in circulation. Unlike the term ‘UNC’, this - term is a description of the coins quality, not its usage. AU - coins often appear to retain most of their original luster as - well as possessing little-to-no scratches or other forms of - post-mint damage (PMD). - ` }} + {{ .Get "AU coins are coins that are in extremely good condition as a result of limited use in circulation. Unlike the term ‘UNC’, this term is a description of the coins quality, not its usage. AU coins often appear to retain most of their original luster as well as possessing little to no scratches or other forms of post-mint damage (PMD)." }} </dd> - {{ template "jargon/dt" (tuple "bu" (.T "BU — Brilliantly Uncirculated")) }} + + {{ template "jargon/dt" (tuple "bu" (.Get "BU — Brilliantly Uncirculated")) }} <dd> - {{ .T ` - BU is a general term to refer to coins from coincards and - -sets. These are different from UNC coins in that they are - typically handled with more care during the minting process and - are struck with higher-quality dies than the coins minted for - coin rolls resulting in a higher-quality end product. You may - also see these coins referred to by the French term ‘fleur de - coin’. - ` }} + {{ .Get "BU is a general term to refer to coins from coincards and sets. These are different from UNC coins in that they are typically handled with more care during the minting process and are struck with higher-quality dies than coins minted for general circulation, resulting in a higher-quality coin." }} </dd> - {{ template "jargon/dt" (tuple "nifc" (.T "NIFC — Not Intended For Circulation")) }} + + {{ template "jargon/dt" (tuple "nifc" (.Get "NIFC — Not Intended For Circulation")) }} <dd> <p> - {{ .T ` - NIFC coins are coins minted without the intention of being put - into general circulation. These coins are typically minted with - the purpose of being put into coincards or coin-sets to be sold - to collectors. Occasionally they are also handed out to - collectors for face value at banks. - ` }} + {{ .Get "NIFC coins are coins minted without the intention of being put into general circulation. These coins are typically minted with the purpose of being put into coincards or sets to be sold to collectors. Occasionally they are also handed out to collectors for face value at banks." }} </p> <p> - {{ .T ` - While uncommon, NIFC coins are occasionally found in - circulation. This can happen for a variety of reasons such as - someone depositing their coin collection (known as a - ‘collection dump’), or a collector’s child spending their rare - coins on an ice cream. Some coin mints have also been known to - put NIFC coins that have gone unsold for multiple years into - circulation. - ` }} + {{ .Get "While uncommon, NIFC coins are occasionally found in circulation. This can happen for a variety of reasons such as someone depositing their coin collection (known as a ‘collection dump’) or a collector’s child spending their rare coins on an ice cream. Some coin mints have also been known to put NIFCs that have gone unsold for multiple years into circulation." }} </p> </dd> - {{ template "jargon/dt" (tuple "pmd" (.T "PMD — Post-Mint Damage")) }} + + {{ template "jargon/dt" (tuple "pmd" (.Get "PMD — Post-Mint Damage")) }} <dd> - {{ .T ` - Post-mint damage is any damage that a coin has sustained outside - of the minting process, such as through being dropped on the - ground, hit against a table, etc. - ` }} + {{ .Get "Post-mint damage is any damage that a coin has sustained outside of the minting process, such as through being dropped on the ground, hit against a table, etc." }} </dd> - {{ template "jargon/dt" (tuple "relief" (.T "Relief")) }} + + {{ template "jargon/dt" (tuple "relief" (.Get "Relief")) }} <dd> - {{ ` - Relief is a term that is used to describe how 3-dimensional a - coin is. Coins with a higher relief have designs that make - greater use of the 3rd dimension while coins with lower relief - have designs that appear more flat. - ` }} + {{ "Relief is a term that is used to describe how 3-dimensional a coin is. Coins with a higher relief have designs that make greater use of the 3rd dimension while coins with lower relief have designs that appear more flat." }} </dd> - {{ template "jargon/dt" (tuple "unc" (.T "UNC — Uncirculated")) }} + + {{ template "jargon/dt" (tuple "unc" (.Get "UNC — Uncirculated")) }} <dd> - {{ .T ` - Uncirculated coins are coins that have never been used in a - monetary exchange. The term ‘UNC’ is often mistakenly used to - refer to coins in very good condition, but this is incorrect. A - coin in poor condition that has never been circulated is still - considered an ‘UNC’ coin. - ` }} + {{ .Get "Uncirculated coins are coins that have never been used in a monetary exchange. The term ‘UNC’ is often mistakenly used to refer to coins in very good condition, but this is incorrect. A coin in poor condition that has never been circulated is still considered an ‘UNC’ coin." }} </dd> </dl> - <h2>{{ .T "Collector-Specific Terms" }}</h2> + + <h2>{{ .Get "Collector-Specific Terms" }}</h2> <dl> - {{ template "jargon/dt" (tuple "crh" (.T "CRH — Coin Roll Hunting")) }} + {{ template "jargon/dt" (tuple "crh" (.Get "CRH — Coin Roll Hunting")) }} <dd> - {{ .T ` - Coin roll hunting is a general term for the activity of searching - through coin rolls and -bags to find coins for a collection. Coin - rolls and bags are often obtained at banks or coin roll - machines. - ` }} + {{ .Get "Coin roll hunting is a general term for the activity of collecting coins by searching through coin rolls and bags. Coin rolls and bags are often obtained at banks or coin roll machines." }} </dd> </dl> </main> @@ -116,8 +74,8 @@ {{ define "jargon/dt" }} <dt> - <a id={{ index . 0 }} href=#{{ index . 0 }}> + <a id="{{ index . 0 }}" href="#{{ index . 0 }}"> {{ index . 1 }} </a> </dt> -{{ end }} +{{ end }}
\ No newline at end of file diff --git a/src/templates/language.html.tmpl b/src/templates/language.html.tmpl index ee66bf8..c3bfa94 100644 --- a/src/templates/language.html.tmpl +++ b/src/templates/language.html.tmpl @@ -1,48 +1,124 @@ +{{ define "header" }} +{{ template "header-navbar" . }} + +<style> + .lang-fade-in-out { + transition: opacity 1s; + + &.hide { + opacity: 0; + } + } + + .lang-grid { + --button-min-width: 22ch; + + button { + display: flex; + align-items: center; + padding-block: 1ch; + text-align: left; + + > :first-child { + font-size: 2em; + font-weight: 600; /* Between normal and bold */ + min-width: calc(var(--pico-form-element-spacing-horizontal) + 2ch); + } + } + } +</style> + +<script> + (() => { + let i = -1; + let nodes; + const Δt = 5000; /* Total time a text is shown */ + const Δf = 1000; /* Fade duration */ + const texts = [ + {{ $save := . }} + {{ $ps := .Printers }} + {{ range locales }} + {{ if (and .Enabledp (ne .Bcp $save.Printer.Bcp)) }} + [ + "{{ .Bcp }}", + {{ $p := (index $ps .Bcp) }} + "{{ $p.Get `Select Your Language` }}", + "{{ $p.Get `Eurozone Languages` }}", + "{{ $p.Get `Other Languages` }}", + ], + {{ end }} + {{ end }} + ]; + + const change = () => { + nodes.forEach(n => n.classList.add("hide")); + setTimeout(() => { + i = (i + 1) % texts.length; + nodes.forEach((n, j) => { + const [lang, ...strs] = texts[i]; + n.lang = lang; + n.textContent = strs[j]; + n.classList.remove("hide"); + }); + }, Δf); + }; + + document.addEventListener("DOMContentLoaded", _ => { + nodes = $$('.lang-fade-in-out'); + change(); + setInterval(change, Δt); + }); + })(); +</script> +{{ end }} + {{ define "content" }} -<header> +<header class="container"> {{ template "navbar" . }} - <h1>{{ .T "Select Your Language" }}</h1> + <h1> + {{ .Get "Select Your Language" }} + <br><span class="lang-fade-in-out translation"> </span> + </h1> </header> -<main> - <p> - {{ .T "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>{{ .T "Eurozone Languages" }}</h2> - {{ template "langgrid" true }} - <h2>{{ .T "Other Languages" }}</h2> - {{ template "langgrid" false }} +<main class="container"> + <h2> + {{ .Get "Eurozone Languages" }} + <br><span class="lang-fade-in-out translation"> </span> + </h2> + {{ template "langgrid" (tuple .Printer true) }} + <h2> + {{ .Get "Other Languages" }} + <br><span class="lang-fade-in-out translation"> </span> + </h2> + {{ 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"> + <div class="button-grid lang-grid"> {{ range locales }} - {{ if eq $ez .Eurozone }} + {{ if eq $ez .Eurozonep }} <button type="submit" name="locale" - value={{ .Bcp }} - {{ if not .Enabled }} + value="{{ .Bcp }}" + {{ if not .Enabledp }} 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 }} {{ end }} </div> </form> -{{ end }} +{{ end }}
\ No newline at end of file diff --git a/src/wikipedia/api.go b/src/wikipedia/api.go new file mode 100644 index 0000000..fb06518 --- /dev/null +++ b/src/wikipedia/api.go @@ -0,0 +1,17 @@ +package wikipedia + +type APIResponse struct { + Continue *struct { + Continue string `json:"continue"` + LlContinue string `json:"llcontinue"` + } `json:"continue"` + Query struct { + Pages []struct { + Title string `json:"title"` + LangLinks *[]struct { + Lang string `json:"lang"` + Title string `json:"title"` + } `json:"langlinks"` + } `json:"pages"` + } `json:"query"` +} diff --git a/src/wikipedia/links.gen.go b/src/wikipedia/links.gen.go new file mode 100644 index 0000000..5db6b3e --- /dev/null +++ b/src/wikipedia/links.gen.go @@ -0,0 +1,17 @@ +// Code generated by extwiki. DO NOT EDIT. + +package wikipedia + +var extractedTitles = [...]string{ + "Coat of arms of Andorra", + "Coat of arms of Finland", + "Coat of arms of Germany", + "Dubravka (drama)", + "Eurovision Song Contest", + "Glagolitic script", + "Idol of Pomos", + "Kyrenia (ship)", + "Nikola Tesla", + "Royal cypher", + "Whooper swan", +} diff --git a/src/wikipedia/wikipedia.go b/src/wikipedia/wikipedia.go new file mode 100644 index 0000000..bb14b82 --- /dev/null +++ b/src/wikipedia/wikipedia.go @@ -0,0 +1,111 @@ +package wikipedia + +import ( + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" + "strconv" + "strings" + "time" +) + +var ( + defaultLocale string + titlemap = make(map[string]map[string]string) +) + +func Init(locale string) error { + defaultLocale = locale + base := fmt.Sprintf("https://%s.wikipedia.org/w/api.php", defaultLocale) + u, err := url.Parse(base) + if err != nil { + return err + } + + var resp APIResponse + titles := strings.Join(extractedTitles[:], "|") + + q := u.Query() + q.Set("action", "query") + q.Set("format", "json") + q.Set("prop", "langlinks") + q.Set("titles", titles) + q.Set("formatversion", "2") + q.Set("lllimit", "max") + + for { + if resp.Continue != nil { + q.Set("continue", resp.Continue.Continue) + q.Set("llcontinue", resp.Continue.LlContinue) + } + u.RawQuery = q.Encode() + + /* TODO: Use a context and NewRequestWithContext()? */ + req, err := http.NewRequest("GET", u.String(), nil) + if err != nil { + return err + } + req.Header.Set("User-Agent", "euro-cash.eu/1.0.0 (admin@euro-cash.eu)") + + respjson, err := http.DefaultClient.Do(req) + if err != nil { + return err + } + if respjson.StatusCode >= 400 && + respjson.StatusCode != http.StatusTooManyRequests { + msg := respjson.Status + bytes, err := io.ReadAll(respjson.Body) + if err == nil { + msg = string(bytes) + } + return fmt.Errorf("Failed to GET %s: %s", u, msg) + } + defer respjson.Body.Close() + + secs, err := strconv.Atoi(respjson.Header.Get("Retry-After")) + if err != nil { + time.Sleep(time.Duration(secs) * time.Second) + } + + body, err := io.ReadAll(respjson.Body) + if err != nil { + return err + } + + resp = APIResponse{} + if err = json.Unmarshal(body, &resp); err != nil { + return err + } + + for _, page := range resp.Query.Pages { + if page.LangLinks == nil { + continue + } + + t := url.PathEscape(page.Title) + if _, ok := titlemap[t]; !ok { + titlemap[t] = make(map[string]string) + } + + for _, ll := range *page.LangLinks { + titlemap[t][ll.Lang] = url.PathEscape(ll.Title) + } + } + + if resp.Continue == nil { + return nil + } + } +} + +func Url(title, locale string) string { + base := "https://%s.wikipedia.org/wiki/%s" + title = url.PathEscape(title) + t, ok := titlemap[title][locale] + if !ok { + t, locale = title, defaultLocale + } + return fmt.Sprintf(base, locale, t) +} diff --git a/static/designs/ad-001-1.avif b/static/designs/ad-001-1.avif Binary files differnew file mode 100644 index 0000000..5726a39 --- /dev/null +++ b/static/designs/ad-001-1.avif diff --git a/static/designs/ad-001.avif b/static/designs/ad-001.avif Binary files differdeleted file mode 100644 index 354d644..0000000 --- a/static/designs/ad-001.avif +++ /dev/null diff --git a/static/designs/ad-002-1.avif b/static/designs/ad-002-1.avif Binary files differnew file mode 100644 index 0000000..7eb018f --- /dev/null +++ b/static/designs/ad-002-1.avif diff --git a/static/designs/ad-005-1.avif b/static/designs/ad-005-1.avif Binary files differnew file mode 100644 index 0000000..06391dd --- /dev/null +++ b/static/designs/ad-005-1.avif diff --git a/static/designs/ad-010-1.avif b/static/designs/ad-010-1.avif Binary files differnew file mode 100644 index 0000000..5d7f0cd --- /dev/null +++ b/static/designs/ad-010-1.avif diff --git a/static/designs/ad-020-1.avif b/static/designs/ad-020-1.avif Binary files differnew file mode 100644 index 0000000..4f69576 --- /dev/null +++ b/static/designs/ad-020-1.avif diff --git a/static/designs/ad-050-1.avif b/static/designs/ad-050-1.avif Binary files differnew file mode 100644 index 0000000..668c601 --- /dev/null +++ b/static/designs/ad-050-1.avif diff --git a/static/designs/ad-050.avif b/static/designs/ad-050.avif Binary files differdeleted file mode 100644 index 097b27c..0000000 --- a/static/designs/ad-050.avif +++ /dev/null diff --git a/static/designs/ad-100-1.avif b/static/designs/ad-100-1.avif Binary files differnew file mode 100644 index 0000000..f89bc8e --- /dev/null +++ b/static/designs/ad-100-1.avif diff --git a/static/designs/ad-100.avif b/static/designs/ad-100.avif Binary files differdeleted file mode 100644 index e545aa4..0000000 --- a/static/designs/ad-100.avif +++ /dev/null diff --git a/static/designs/ad-200-1.avif b/static/designs/ad-200-1.avif Binary files differnew file mode 100644 index 0000000..2b2a0fd --- /dev/null +++ b/static/designs/ad-200-1.avif diff --git a/static/designs/ad-200.avif b/static/designs/ad-200.avif Binary files differdeleted file mode 100644 index 8a5eed3..0000000 --- a/static/designs/ad-200.avif +++ /dev/null diff --git a/static/designs/ad-rejected.jpg b/static/designs/ad-rejected.jpg Binary files differnew file mode 100644 index 0000000..c528b04 --- /dev/null +++ b/static/designs/ad-rejected.jpg diff --git a/static/designs/at-001-1.avif b/static/designs/at-001-1.avif Binary files differnew file mode 100644 index 0000000..ab9d7ef --- /dev/null +++ b/static/designs/at-001-1.avif diff --git a/static/designs/at-001.avif b/static/designs/at-001.avif Binary files differdeleted file mode 100644 index b54db65..0000000 --- a/static/designs/at-001.avif +++ /dev/null diff --git a/static/designs/at-002-1.avif b/static/designs/at-002-1.avif Binary files differnew file mode 100644 index 0000000..73e9118 --- /dev/null +++ b/static/designs/at-002-1.avif diff --git a/static/designs/at-002.avif b/static/designs/at-002.avif Binary files differdeleted file mode 100644 index a9707b3..0000000 --- a/static/designs/at-002.avif +++ /dev/null diff --git a/static/designs/at-005-1.avif b/static/designs/at-005-1.avif Binary files differnew file mode 100644 index 0000000..c6446f3 --- /dev/null +++ b/static/designs/at-005-1.avif diff --git a/static/designs/at-005.avif b/static/designs/at-005.avif Binary files differdeleted file mode 100644 index 49ed85f..0000000 --- a/static/designs/at-005.avif +++ /dev/null diff --git a/static/designs/at-010-1.avif b/static/designs/at-010-1.avif Binary files differnew file mode 100644 index 0000000..5743dc9 --- /dev/null +++ b/static/designs/at-010-1.avif diff --git a/static/designs/at-010.avif b/static/designs/at-010.avif Binary files differdeleted file mode 100644 index 3dba83c..0000000 --- a/static/designs/at-010.avif +++ /dev/null diff --git a/static/designs/at-020-1.avif b/static/designs/at-020-1.avif Binary files differnew file mode 100644 index 0000000..7b2c634 --- /dev/null +++ b/static/designs/at-020-1.avif diff --git a/static/designs/at-020.avif b/static/designs/at-020.avif Binary files differdeleted file mode 100644 index acd51cc..0000000 --- a/static/designs/at-020.avif +++ /dev/null diff --git a/static/designs/at-050-1.avif b/static/designs/at-050-1.avif Binary files differnew file mode 100644 index 0000000..c5e5bbb --- /dev/null +++ b/static/designs/at-050-1.avif diff --git a/static/designs/at-050.avif b/static/designs/at-050.avif Binary files differdeleted file mode 100644 index 8b1862a..0000000 --- a/static/designs/at-050.avif +++ /dev/null diff --git a/static/designs/at-100-1.avif b/static/designs/at-100-1.avif Binary files differnew file mode 100644 index 0000000..58655ad --- /dev/null +++ b/static/designs/at-100-1.avif diff --git a/static/designs/at-100.avif b/static/designs/at-100.avif Binary files differdeleted file mode 100644 index eb2df12..0000000 --- a/static/designs/at-100.avif +++ /dev/null diff --git a/static/designs/at-200-1.avif b/static/designs/at-200-1.avif Binary files differnew file mode 100644 index 0000000..d3e7d1d --- /dev/null +++ b/static/designs/at-200-1.avif diff --git a/static/designs/at-200.avif b/static/designs/at-200.avif Binary files differdeleted file mode 100644 index e3907b1..0000000 --- a/static/designs/at-200.avif +++ /dev/null diff --git a/static/designs/be-001-1.avif b/static/designs/be-001-1.avif Binary files differnew file mode 100644 index 0000000..3a91a7a --- /dev/null +++ b/static/designs/be-001-1.avif diff --git a/static/designs/be-001-2.avif b/static/designs/be-001-2.avif Binary files differnew file mode 100644 index 0000000..171a566 --- /dev/null +++ b/static/designs/be-001-2.avif diff --git a/static/designs/be-001-3.avif b/static/designs/be-001-3.avif Binary files differnew file mode 100644 index 0000000..d692ff1 --- /dev/null +++ b/static/designs/be-001-3.avif diff --git a/static/designs/be-002-1.avif b/static/designs/be-002-1.avif Binary files differnew file mode 100644 index 0000000..3a91a7a --- /dev/null +++ b/static/designs/be-002-1.avif diff --git a/static/designs/be-002-2.avif b/static/designs/be-002-2.avif Binary files differnew file mode 100644 index 0000000..740c9ad --- /dev/null +++ b/static/designs/be-002-2.avif diff --git a/static/designs/be-002-3.avif b/static/designs/be-002-3.avif Binary files differnew file mode 100644 index 0000000..f3413bd --- /dev/null +++ b/static/designs/be-002-3.avif diff --git a/static/designs/be-005-1.avif b/static/designs/be-005-1.avif Binary files differnew file mode 100644 index 0000000..cae4a38 --- /dev/null +++ b/static/designs/be-005-1.avif diff --git a/static/designs/be-005-2.avif b/static/designs/be-005-2.avif Binary files differnew file mode 100644 index 0000000..131e395 --- /dev/null +++ b/static/designs/be-005-2.avif diff --git a/static/designs/be-005-3.avif b/static/designs/be-005-3.avif Binary files differnew file mode 100644 index 0000000..ce5e82f --- /dev/null +++ b/static/designs/be-005-3.avif diff --git a/static/designs/be-010-1.avif b/static/designs/be-010-1.avif Binary files differnew file mode 100644 index 0000000..330b20e --- /dev/null +++ b/static/designs/be-010-1.avif diff --git a/static/designs/be-010-2.avif b/static/designs/be-010-2.avif Binary files differnew file mode 100644 index 0000000..73843f3 --- /dev/null +++ b/static/designs/be-010-2.avif diff --git a/static/designs/be-010-3.avif b/static/designs/be-010-3.avif Binary files differnew file mode 100644 index 0000000..7abc012 --- /dev/null +++ b/static/designs/be-010-3.avif diff --git a/static/designs/be-020-1.avif b/static/designs/be-020-1.avif Binary files differnew file mode 100644 index 0000000..9d48ba7 --- /dev/null +++ b/static/designs/be-020-1.avif diff --git a/static/designs/be-020-2.avif b/static/designs/be-020-2.avif Binary files differnew file mode 100644 index 0000000..d1e556f --- /dev/null +++ b/static/designs/be-020-2.avif diff --git a/static/designs/be-020-3.avif b/static/designs/be-020-3.avif Binary files differnew file mode 100644 index 0000000..c493c64 --- /dev/null +++ b/static/designs/be-020-3.avif diff --git a/static/designs/be-050-1.avif b/static/designs/be-050-1.avif Binary files differnew file mode 100644 index 0000000..b0e63c5 --- /dev/null +++ b/static/designs/be-050-1.avif diff --git a/static/designs/be-050-2.avif b/static/designs/be-050-2.avif Binary files differnew file mode 100644 index 0000000..0902744 --- /dev/null +++ b/static/designs/be-050-2.avif diff --git a/static/designs/be-050-3.avif b/static/designs/be-050-3.avif Binary files differnew file mode 100644 index 0000000..440143d --- /dev/null +++ b/static/designs/be-050-3.avif diff --git a/static/designs/be-100-1.avif b/static/designs/be-100-1.avif Binary files differnew file mode 100644 index 0000000..f48cc79 --- /dev/null +++ b/static/designs/be-100-1.avif diff --git a/static/designs/be-100-2.avif b/static/designs/be-100-2.avif Binary files differnew file mode 100644 index 0000000..e6246a5 --- /dev/null +++ b/static/designs/be-100-2.avif diff --git a/static/designs/be-100-3.avif b/static/designs/be-100-3.avif Binary files differnew file mode 100644 index 0000000..991fd48 --- /dev/null +++ b/static/designs/be-100-3.avif diff --git a/static/designs/be-100-albert-1.avif b/static/designs/be-100-albert-1.avif Binary files differdeleted file mode 100644 index 250d914..0000000 --- a/static/designs/be-100-albert-1.avif +++ /dev/null diff --git a/static/designs/be-100-albert-2.avif b/static/designs/be-100-albert-2.avif Binary files differdeleted file mode 100644 index e328652..0000000 --- a/static/designs/be-100-albert-2.avif +++ /dev/null diff --git a/static/designs/be-100-philippe.avif b/static/designs/be-100-philippe.avif Binary files differdeleted file mode 100644 index 2e8486f..0000000 --- a/static/designs/be-100-philippe.avif +++ /dev/null diff --git a/static/designs/be-200-1.avif b/static/designs/be-200-1.avif Binary files differnew file mode 100644 index 0000000..47cdc47 --- /dev/null +++ b/static/designs/be-200-1.avif diff --git a/static/designs/be-200-2.avif b/static/designs/be-200-2.avif Binary files differnew file mode 100644 index 0000000..ec6d93f --- /dev/null +++ b/static/designs/be-200-2.avif diff --git a/static/designs/be-200-3.avif b/static/designs/be-200-3.avif Binary files differnew file mode 100644 index 0000000..8ce04b5 --- /dev/null +++ b/static/designs/be-200-3.avif diff --git a/static/designs/be-portraits/2008.avif b/static/designs/be-portraits/2008.avif Binary files differnew file mode 100644 index 0000000..03a924d --- /dev/null +++ b/static/designs/be-portraits/2008.avif diff --git a/static/designs/cy-001-1.avif b/static/designs/cy-001-1.avif Binary files differnew file mode 100644 index 0000000..912af91 --- /dev/null +++ b/static/designs/cy-001-1.avif diff --git a/static/designs/cy-002-1.avif b/static/designs/cy-002-1.avif Binary files differnew file mode 100644 index 0000000..f78a6e3 --- /dev/null +++ b/static/designs/cy-002-1.avif diff --git a/static/designs/cy-005-1.avif b/static/designs/cy-005-1.avif Binary files differnew file mode 100644 index 0000000..8ccca4d --- /dev/null +++ b/static/designs/cy-005-1.avif diff --git a/static/designs/cy-010-1.avif b/static/designs/cy-010-1.avif Binary files differnew file mode 100644 index 0000000..6aec448 --- /dev/null +++ b/static/designs/cy-010-1.avif diff --git a/static/designs/cy-020-1.avif b/static/designs/cy-020-1.avif Binary files differnew file mode 100644 index 0000000..aa62c26 --- /dev/null +++ b/static/designs/cy-020-1.avif diff --git a/static/designs/cy-050-1.avif b/static/designs/cy-050-1.avif Binary files differnew file mode 100644 index 0000000..bdc4192 --- /dev/null +++ b/static/designs/cy-050-1.avif diff --git a/static/designs/cy-100-1.avif b/static/designs/cy-100-1.avif Binary files differnew file mode 100644 index 0000000..d810e97 --- /dev/null +++ b/static/designs/cy-100-1.avif diff --git a/static/designs/cy-200-1.avif b/static/designs/cy-200-1.avif Binary files differnew file mode 100644 index 0000000..8993dd8 --- /dev/null +++ b/static/designs/cy-200-1.avif diff --git a/static/designs/de-001-1.avif b/static/designs/de-001-1.avif Binary files differnew file mode 100644 index 0000000..1d4362a --- /dev/null +++ b/static/designs/de-001-1.avif diff --git a/static/designs/de-002-1.avif b/static/designs/de-002-1.avif Binary files differnew file mode 100644 index 0000000..0874d39 --- /dev/null +++ b/static/designs/de-002-1.avif diff --git a/static/designs/de-005-1.avif b/static/designs/de-005-1.avif Binary files differnew file mode 100644 index 0000000..6caa980 --- /dev/null +++ b/static/designs/de-005-1.avif diff --git a/static/designs/de-010-1.avif b/static/designs/de-010-1.avif Binary files differnew file mode 100644 index 0000000..bc521e8 --- /dev/null +++ b/static/designs/de-010-1.avif diff --git a/static/designs/de-020-1.avif b/static/designs/de-020-1.avif Binary files differnew file mode 100644 index 0000000..f2cda19 --- /dev/null +++ b/static/designs/de-020-1.avif diff --git a/static/designs/de-050-1.avif b/static/designs/de-050-1.avif Binary files differnew file mode 100644 index 0000000..67cc4f8 --- /dev/null +++ b/static/designs/de-050-1.avif diff --git a/static/designs/de-100-1.avif b/static/designs/de-100-1.avif Binary files differnew file mode 100644 index 0000000..494372b --- /dev/null +++ b/static/designs/de-100-1.avif diff --git a/static/designs/de-200-1.avif b/static/designs/de-200-1.avif Binary files differnew file mode 100644 index 0000000..3849a42 --- /dev/null +++ b/static/designs/de-200-1.avif diff --git a/static/designs/ee-001-1.avif b/static/designs/ee-001-1.avif Binary files differnew file mode 100644 index 0000000..6392bd4 --- /dev/null +++ b/static/designs/ee-001-1.avif diff --git a/static/designs/ee-002-1.avif b/static/designs/ee-002-1.avif Binary files differnew file mode 100644 index 0000000..4de2997 --- /dev/null +++ b/static/designs/ee-002-1.avif diff --git a/static/designs/ee-005-1.avif b/static/designs/ee-005-1.avif Binary files differnew file mode 100644 index 0000000..9553049 --- /dev/null +++ b/static/designs/ee-005-1.avif diff --git a/static/designs/ee-010-1.avif b/static/designs/ee-010-1.avif Binary files differnew file mode 100644 index 0000000..d25072e --- /dev/null +++ b/static/designs/ee-010-1.avif diff --git a/static/designs/ee-020-1.avif b/static/designs/ee-020-1.avif Binary files differnew file mode 100644 index 0000000..fe3ba66 --- /dev/null +++ b/static/designs/ee-020-1.avif diff --git a/static/designs/ee-050-1.avif b/static/designs/ee-050-1.avif Binary files differnew file mode 100644 index 0000000..beb20d8 --- /dev/null +++ b/static/designs/ee-050-1.avif diff --git a/static/designs/ee-100-1.avif b/static/designs/ee-100-1.avif Binary files differnew file mode 100644 index 0000000..23c7528 --- /dev/null +++ b/static/designs/ee-100-1.avif diff --git a/static/designs/ee-200-1.avif b/static/designs/ee-200-1.avif Binary files differnew file mode 100644 index 0000000..42839bc --- /dev/null +++ b/static/designs/ee-200-1.avif diff --git a/static/designs/ee-contest/järjepidevus-001.avif b/static/designs/ee-contest/järjepidevus-001.avif Binary files differnew file mode 100644 index 0000000..a43d946 --- /dev/null +++ b/static/designs/ee-contest/järjepidevus-001.avif diff --git a/static/designs/ee-contest/järjepidevus-002.avif b/static/designs/ee-contest/järjepidevus-002.avif Binary files differnew file mode 100644 index 0000000..49f400e --- /dev/null +++ b/static/designs/ee-contest/järjepidevus-002.avif diff --git a/static/designs/ee-contest/järjepidevus-005.avif b/static/designs/ee-contest/järjepidevus-005.avif Binary files differnew file mode 100644 index 0000000..0f89e05 --- /dev/null +++ b/static/designs/ee-contest/järjepidevus-005.avif diff --git a/static/designs/ee-contest/järjepidevus-010.avif b/static/designs/ee-contest/järjepidevus-010.avif Binary files differnew file mode 100644 index 0000000..f4f4350 --- /dev/null +++ b/static/designs/ee-contest/järjepidevus-010.avif diff --git a/static/designs/ee-contest/järjepidevus-020.avif b/static/designs/ee-contest/järjepidevus-020.avif Binary files differnew file mode 100644 index 0000000..61bcd5d --- /dev/null +++ b/static/designs/ee-contest/järjepidevus-020.avif diff --git a/static/designs/ee-contest/järjepidevus-050.avif b/static/designs/ee-contest/järjepidevus-050.avif Binary files differnew file mode 100644 index 0000000..5ab4ab8 --- /dev/null +++ b/static/designs/ee-contest/järjepidevus-050.avif diff --git a/static/designs/ee-contest/järjepidevus-100.avif b/static/designs/ee-contest/järjepidevus-100.avif Binary files differnew file mode 100644 index 0000000..99ef49e --- /dev/null +++ b/static/designs/ee-contest/järjepidevus-100.avif diff --git a/static/designs/ee-contest/järjepidevus-200.avif b/static/designs/ee-contest/järjepidevus-200.avif Binary files differnew file mode 100644 index 0000000..b9a9e7e --- /dev/null +++ b/static/designs/ee-contest/järjepidevus-200.avif diff --git a/static/designs/ee-contest/linnutee-001.avif b/static/designs/ee-contest/linnutee-001.avif Binary files differnew file mode 100644 index 0000000..874d5d3 --- /dev/null +++ b/static/designs/ee-contest/linnutee-001.avif diff --git a/static/designs/ee-contest/linnutee-002.avif b/static/designs/ee-contest/linnutee-002.avif Binary files differnew file mode 100644 index 0000000..b06bb41 --- /dev/null +++ b/static/designs/ee-contest/linnutee-002.avif diff --git a/static/designs/ee-contest/linnutee-005.avif b/static/designs/ee-contest/linnutee-005.avif Binary files differnew file mode 100644 index 0000000..3a0da87 --- /dev/null +++ b/static/designs/ee-contest/linnutee-005.avif diff --git a/static/designs/ee-contest/linnutee-010.avif b/static/designs/ee-contest/linnutee-010.avif Binary files differnew file mode 100644 index 0000000..930b6d6 --- /dev/null +++ b/static/designs/ee-contest/linnutee-010.avif diff --git a/static/designs/ee-contest/linnutee-020.avif b/static/designs/ee-contest/linnutee-020.avif Binary files differnew file mode 100644 index 0000000..db7dc38 --- /dev/null +++ b/static/designs/ee-contest/linnutee-020.avif diff --git a/static/designs/ee-contest/linnutee-050.avif b/static/designs/ee-contest/linnutee-050.avif Binary files differnew file mode 100644 index 0000000..2bf3bdd --- /dev/null +++ b/static/designs/ee-contest/linnutee-050.avif diff --git a/static/designs/ee-contest/linnutee-100.avif b/static/designs/ee-contest/linnutee-100.avif Binary files differnew file mode 100644 index 0000000..1ea7b41 --- /dev/null +++ b/static/designs/ee-contest/linnutee-100.avif diff --git a/static/designs/ee-contest/linnutee-200.avif b/static/designs/ee-contest/linnutee-200.avif Binary files differnew file mode 100644 index 0000000..ef03d29 --- /dev/null +++ b/static/designs/ee-contest/linnutee-200.avif diff --git a/static/designs/es-001-1.avif b/static/designs/es-001-1.avif Binary files differnew file mode 100644 index 0000000..fe55101 --- /dev/null +++ b/static/designs/es-001-1.avif diff --git a/static/designs/es-001-2.avif b/static/designs/es-001-2.avif Binary files differnew file mode 100644 index 0000000..5d83a76 --- /dev/null +++ b/static/designs/es-001-2.avif diff --git a/static/designs/es-002-1.avif b/static/designs/es-002-1.avif Binary files differnew file mode 100644 index 0000000..56acd1b --- /dev/null +++ b/static/designs/es-002-1.avif diff --git a/static/designs/es-002-2.avif b/static/designs/es-002-2.avif Binary files differnew file mode 100644 index 0000000..7b3e3d6 --- /dev/null +++ b/static/designs/es-002-2.avif diff --git a/static/designs/es-005-1.avif b/static/designs/es-005-1.avif Binary files differnew file mode 100644 index 0000000..8d3ff3a --- /dev/null +++ b/static/designs/es-005-1.avif diff --git a/static/designs/es-005-2.avif b/static/designs/es-005-2.avif Binary files differnew file mode 100644 index 0000000..95073f0 --- /dev/null +++ b/static/designs/es-005-2.avif diff --git a/static/designs/es-010-1.avif b/static/designs/es-010-1.avif Binary files differnew file mode 100644 index 0000000..c532e34 --- /dev/null +++ b/static/designs/es-010-1.avif diff --git a/static/designs/es-010-2.avif b/static/designs/es-010-2.avif Binary files differnew file mode 100644 index 0000000..64cd2a2 --- /dev/null +++ b/static/designs/es-010-2.avif diff --git a/static/designs/es-020-1.avif b/static/designs/es-020-1.avif Binary files differnew file mode 100644 index 0000000..11f34b3 --- /dev/null +++ b/static/designs/es-020-1.avif diff --git a/static/designs/es-020-2.avif b/static/designs/es-020-2.avif Binary files differnew file mode 100644 index 0000000..d7663bf --- /dev/null +++ b/static/designs/es-020-2.avif diff --git a/static/designs/es-050-1.avif b/static/designs/es-050-1.avif Binary files differnew file mode 100644 index 0000000..fa15d63 --- /dev/null +++ b/static/designs/es-050-1.avif diff --git a/static/designs/es-050-2.avif b/static/designs/es-050-2.avif Binary files differnew file mode 100644 index 0000000..dd1fccc --- /dev/null +++ b/static/designs/es-050-2.avif diff --git a/static/designs/es-100-1.avif b/static/designs/es-100-1.avif Binary files differnew file mode 100644 index 0000000..e9cb7a1 --- /dev/null +++ b/static/designs/es-100-1.avif diff --git a/static/designs/es-100-2.avif b/static/designs/es-100-2.avif Binary files differnew file mode 100644 index 0000000..30b0d62 --- /dev/null +++ b/static/designs/es-100-2.avif diff --git a/static/designs/es-100-3.avif b/static/designs/es-100-3.avif Binary files differnew file mode 100644 index 0000000..0e0ac45 --- /dev/null +++ b/static/designs/es-100-3.avif diff --git a/static/designs/es-200-1.avif b/static/designs/es-200-1.avif Binary files differnew file mode 100644 index 0000000..e65e023 --- /dev/null +++ b/static/designs/es-200-1.avif diff --git a/static/designs/es-200-2.avif b/static/designs/es-200-2.avif Binary files differnew file mode 100644 index 0000000..f326095 --- /dev/null +++ b/static/designs/es-200-2.avif diff --git a/static/designs/es-200-3.avif b/static/designs/es-200-3.avif Binary files differnew file mode 100644 index 0000000..c770217 --- /dev/null +++ b/static/designs/es-200-3.avif diff --git a/static/designs/fi-001-1.avif b/static/designs/fi-001-1.avif Binary files differnew file mode 100644 index 0000000..e0f6f96 --- /dev/null +++ b/static/designs/fi-001-1.avif diff --git a/static/designs/fi-002-1.avif b/static/designs/fi-002-1.avif Binary files differnew file mode 100644 index 0000000..f63abcd --- /dev/null +++ b/static/designs/fi-002-1.avif diff --git a/static/designs/fi-005-1.avif b/static/designs/fi-005-1.avif Binary files differnew file mode 100644 index 0000000..124178e --- /dev/null +++ b/static/designs/fi-005-1.avif diff --git a/static/designs/fi-010-1.avif b/static/designs/fi-010-1.avif Binary files differnew file mode 100644 index 0000000..d1782d3 --- /dev/null +++ b/static/designs/fi-010-1.avif diff --git a/static/designs/fi-020-1.avif b/static/designs/fi-020-1.avif Binary files differnew file mode 100644 index 0000000..17e7a49 --- /dev/null +++ b/static/designs/fi-020-1.avif diff --git a/static/designs/fi-050-1.avif b/static/designs/fi-050-1.avif Binary files differnew file mode 100644 index 0000000..edfc1c4 --- /dev/null +++ b/static/designs/fi-050-1.avif diff --git a/static/designs/fi-100-1.avif b/static/designs/fi-100-1.avif Binary files differnew file mode 100644 index 0000000..5a61148 --- /dev/null +++ b/static/designs/fi-100-1.avif diff --git a/static/designs/fi-200-1.avif b/static/designs/fi-200-1.avif Binary files differnew file mode 100644 index 0000000..662f8e8 --- /dev/null +++ b/static/designs/fi-200-1.avif diff --git a/static/designs/fr-001-1.avif b/static/designs/fr-001-1.avif Binary files differnew file mode 100644 index 0000000..1720dc7 --- /dev/null +++ b/static/designs/fr-001-1.avif diff --git a/static/designs/fr-002-1.avif b/static/designs/fr-002-1.avif Binary files differnew file mode 100644 index 0000000..40e29d8 --- /dev/null +++ b/static/designs/fr-002-1.avif diff --git a/static/designs/fr-005-1.avif b/static/designs/fr-005-1.avif Binary files differnew file mode 100644 index 0000000..2fd1e12 --- /dev/null +++ b/static/designs/fr-005-1.avif diff --git a/static/designs/fr-010-1.avif b/static/designs/fr-010-1.avif Binary files differnew file mode 100644 index 0000000..53232d8 --- /dev/null +++ b/static/designs/fr-010-1.avif diff --git a/static/designs/fr-010-2.avif b/static/designs/fr-010-2.avif Binary files differnew file mode 100644 index 0000000..9347a4a --- /dev/null +++ b/static/designs/fr-010-2.avif diff --git a/static/designs/fr-020-1.avif b/static/designs/fr-020-1.avif Binary files differnew file mode 100644 index 0000000..4cd04f6 --- /dev/null +++ b/static/designs/fr-020-1.avif diff --git a/static/designs/fr-020-2.avif b/static/designs/fr-020-2.avif Binary files differnew file mode 100644 index 0000000..53f2f16 --- /dev/null +++ b/static/designs/fr-020-2.avif diff --git a/static/designs/fr-050-1.avif b/static/designs/fr-050-1.avif Binary files differnew file mode 100644 index 0000000..438c170 --- /dev/null +++ b/static/designs/fr-050-1.avif diff --git a/static/designs/fr-050-2.avif b/static/designs/fr-050-2.avif Binary files differnew file mode 100644 index 0000000..051811d --- /dev/null +++ b/static/designs/fr-050-2.avif diff --git a/static/designs/fr-100-1.avif b/static/designs/fr-100-1.avif Binary files differnew file mode 100644 index 0000000..4c33edc --- /dev/null +++ b/static/designs/fr-100-1.avif diff --git a/static/designs/fr-100-2.avif b/static/designs/fr-100-2.avif Binary files differnew file mode 100644 index 0000000..d1c0fbf --- /dev/null +++ b/static/designs/fr-100-2.avif diff --git a/static/designs/fr-200-1.avif b/static/designs/fr-200-1.avif Binary files differnew file mode 100644 index 0000000..f7fb37b --- /dev/null +++ b/static/designs/fr-200-1.avif diff --git a/static/designs/fr-200-2.avif b/static/designs/fr-200-2.avif Binary files differnew file mode 100644 index 0000000..c0bd6d4 --- /dev/null +++ b/static/designs/fr-200-2.avif diff --git a/static/designs/gr-001-1.avif b/static/designs/gr-001-1.avif Binary files differnew file mode 100644 index 0000000..e5afa0e --- /dev/null +++ b/static/designs/gr-001-1.avif diff --git a/static/designs/gr-002-1.avif b/static/designs/gr-002-1.avif Binary files differnew file mode 100644 index 0000000..c809c2d --- /dev/null +++ b/static/designs/gr-002-1.avif diff --git a/static/designs/gr-005-1.avif b/static/designs/gr-005-1.avif Binary files differnew file mode 100644 index 0000000..b0b8877 --- /dev/null +++ b/static/designs/gr-005-1.avif diff --git a/static/designs/gr-010-1.avif b/static/designs/gr-010-1.avif Binary files differnew file mode 100644 index 0000000..d096e9e --- /dev/null +++ b/static/designs/gr-010-1.avif diff --git a/static/designs/gr-020-1.avif b/static/designs/gr-020-1.avif Binary files differnew file mode 100644 index 0000000..5b2a744 --- /dev/null +++ b/static/designs/gr-020-1.avif diff --git a/static/designs/gr-050-1.avif b/static/designs/gr-050-1.avif Binary files differnew file mode 100644 index 0000000..cfb9a3a --- /dev/null +++ b/static/designs/gr-050-1.avif diff --git a/static/designs/gr-100-1.avif b/static/designs/gr-100-1.avif Binary files differnew file mode 100644 index 0000000..86a07db --- /dev/null +++ b/static/designs/gr-100-1.avif diff --git a/static/designs/gr-200-1.avif b/static/designs/gr-200-1.avif Binary files differnew file mode 100644 index 0000000..4d8696e --- /dev/null +++ b/static/designs/gr-200-1.avif diff --git a/static/designs/hr-001-1.avif b/static/designs/hr-001-1.avif Binary files differnew file mode 100644 index 0000000..b8f4bd2 --- /dev/null +++ b/static/designs/hr-001-1.avif diff --git a/static/designs/hr-001.avif b/static/designs/hr-001.avif Binary files differdeleted file mode 100644 index 95461c0..0000000 --- a/static/designs/hr-001.avif +++ /dev/null diff --git a/static/designs/hr-002-1.avif b/static/designs/hr-002-1.avif Binary files differnew file mode 100644 index 0000000..19fa745 --- /dev/null +++ b/static/designs/hr-002-1.avif diff --git a/static/designs/hr-005-1.avif b/static/designs/hr-005-1.avif Binary files differnew file mode 100644 index 0000000..f040bab --- /dev/null +++ b/static/designs/hr-005-1.avif diff --git a/static/designs/hr-010-1.avif b/static/designs/hr-010-1.avif Binary files differnew file mode 100644 index 0000000..d384fe6 --- /dev/null +++ b/static/designs/hr-010-1.avif diff --git a/static/designs/hr-020-1.avif b/static/designs/hr-020-1.avif Binary files differnew file mode 100644 index 0000000..117dd64 --- /dev/null +++ b/static/designs/hr-020-1.avif diff --git a/static/designs/hr-050-1.avif b/static/designs/hr-050-1.avif Binary files differnew file mode 100644 index 0000000..06f16ba --- /dev/null +++ b/static/designs/hr-050-1.avif diff --git a/static/designs/hr-050.avif b/static/designs/hr-050.avif Binary files differdeleted file mode 100644 index 5af4acb..0000000 --- a/static/designs/hr-050.avif +++ /dev/null diff --git a/static/designs/hr-100-1.avif b/static/designs/hr-100-1.avif Binary files differnew file mode 100644 index 0000000..72283a1 --- /dev/null +++ b/static/designs/hr-100-1.avif diff --git a/static/designs/hr-100.avif b/static/designs/hr-100.avif Binary files differdeleted file mode 100644 index 7ac2716..0000000 --- a/static/designs/hr-100.avif +++ /dev/null diff --git a/static/designs/hr-200-1.avif b/static/designs/hr-200-1.avif Binary files differnew file mode 100644 index 0000000..4e8c74e --- /dev/null +++ b/static/designs/hr-200-1.avif diff --git a/static/designs/hr-200.avif b/static/designs/hr-200.avif Binary files differdeleted file mode 100644 index 807c033..0000000 --- a/static/designs/hr-200.avif +++ /dev/null diff --git a/static/designs/ie-001-1.avif b/static/designs/ie-001-1.avif Binary files differnew file mode 100644 index 0000000..fe4866c --- /dev/null +++ b/static/designs/ie-001-1.avif diff --git a/static/designs/ie-002-1.avif b/static/designs/ie-002-1.avif Binary files differnew file mode 100644 index 0000000..1265126 --- /dev/null +++ b/static/designs/ie-002-1.avif diff --git a/static/designs/ie-005-1.avif b/static/designs/ie-005-1.avif Binary files differnew file mode 100644 index 0000000..05b7337 --- /dev/null +++ b/static/designs/ie-005-1.avif diff --git a/static/designs/ie-010-1.avif b/static/designs/ie-010-1.avif Binary files differnew file mode 100644 index 0000000..285cdcd --- /dev/null +++ b/static/designs/ie-010-1.avif diff --git a/static/designs/ie-020-1.avif b/static/designs/ie-020-1.avif Binary files differnew file mode 100644 index 0000000..9b6f49f --- /dev/null +++ b/static/designs/ie-020-1.avif diff --git a/static/designs/ie-050-1.avif b/static/designs/ie-050-1.avif Binary files differnew file mode 100644 index 0000000..d6c677c --- /dev/null +++ b/static/designs/ie-050-1.avif diff --git a/static/designs/ie-100-1.avif b/static/designs/ie-100-1.avif Binary files differnew file mode 100644 index 0000000..9a913d0 --- /dev/null +++ b/static/designs/ie-100-1.avif diff --git a/static/designs/ie-200-1.avif b/static/designs/ie-200-1.avif Binary files differnew file mode 100644 index 0000000..b9af97c --- /dev/null +++ b/static/designs/ie-200-1.avif diff --git a/static/designs/it-001-1.avif b/static/designs/it-001-1.avif Binary files differnew file mode 100644 index 0000000..bacacd0 --- /dev/null +++ b/static/designs/it-001-1.avif diff --git a/static/designs/it-002-1.avif b/static/designs/it-002-1.avif Binary files differnew file mode 100644 index 0000000..87bebc5 --- /dev/null +++ b/static/designs/it-002-1.avif diff --git a/static/designs/it-005-1.avif b/static/designs/it-005-1.avif Binary files differnew file mode 100644 index 0000000..0b1f631 --- /dev/null +++ b/static/designs/it-005-1.avif diff --git a/static/designs/it-010-1.avif b/static/designs/it-010-1.avif Binary files differnew file mode 100644 index 0000000..9bed6c1 --- /dev/null +++ b/static/designs/it-010-1.avif diff --git a/static/designs/it-020-1.avif b/static/designs/it-020-1.avif Binary files differnew file mode 100644 index 0000000..93872a3 --- /dev/null +++ b/static/designs/it-020-1.avif diff --git a/static/designs/it-050-1.avif b/static/designs/it-050-1.avif Binary files differnew file mode 100644 index 0000000..de5c970 --- /dev/null +++ b/static/designs/it-050-1.avif diff --git a/static/designs/it-100-1.avif b/static/designs/it-100-1.avif Binary files differnew file mode 100644 index 0000000..a0c21ce --- /dev/null +++ b/static/designs/it-100-1.avif diff --git a/static/designs/it-200-1.avif b/static/designs/it-200-1.avif Binary files differnew file mode 100644 index 0000000..dd3c479 --- /dev/null +++ b/static/designs/it-200-1.avif diff --git a/static/designs/lt-001-1.avif b/static/designs/lt-001-1.avif Binary files differnew file mode 100644 index 0000000..72e6b0f --- /dev/null +++ b/static/designs/lt-001-1.avif diff --git a/static/designs/lt-002-1.avif b/static/designs/lt-002-1.avif Binary files differnew file mode 100644 index 0000000..0371683 --- /dev/null +++ b/static/designs/lt-002-1.avif diff --git a/static/designs/lt-005-1.avif b/static/designs/lt-005-1.avif Binary files differnew file mode 100644 index 0000000..cc70e74 --- /dev/null +++ b/static/designs/lt-005-1.avif diff --git a/static/designs/lt-010-1.avif b/static/designs/lt-010-1.avif Binary files differnew file mode 100644 index 0000000..d04e55a --- /dev/null +++ b/static/designs/lt-010-1.avif diff --git a/static/designs/lt-020-1.avif b/static/designs/lt-020-1.avif Binary files differnew file mode 100644 index 0000000..9166e47 --- /dev/null +++ b/static/designs/lt-020-1.avif diff --git a/static/designs/lt-050-1.avif b/static/designs/lt-050-1.avif Binary files differnew file mode 100644 index 0000000..91c9378 --- /dev/null +++ b/static/designs/lt-050-1.avif diff --git a/static/designs/lt-100-1.avif b/static/designs/lt-100-1.avif Binary files differnew file mode 100644 index 0000000..d705633 --- /dev/null +++ b/static/designs/lt-100-1.avif diff --git a/static/designs/lt-200-1.avif b/static/designs/lt-200-1.avif Binary files differnew file mode 100644 index 0000000..4eaa083 --- /dev/null +++ b/static/designs/lt-200-1.avif diff --git a/static/designs/lu-001-1.avif b/static/designs/lu-001-1.avif Binary files differnew file mode 100644 index 0000000..76d626e --- /dev/null +++ b/static/designs/lu-001-1.avif diff --git a/static/designs/lu-002-1.avif b/static/designs/lu-002-1.avif Binary files differnew file mode 100644 index 0000000..b8455c5 --- /dev/null +++ b/static/designs/lu-002-1.avif diff --git a/static/designs/lu-005-1.avif b/static/designs/lu-005-1.avif Binary files differnew file mode 100644 index 0000000..3485afe --- /dev/null +++ b/static/designs/lu-005-1.avif diff --git a/static/designs/lu-010-1.avif b/static/designs/lu-010-1.avif Binary files differnew file mode 100644 index 0000000..792dc76 --- /dev/null +++ b/static/designs/lu-010-1.avif diff --git a/static/designs/lu-020-1.avif b/static/designs/lu-020-1.avif Binary files differnew file mode 100644 index 0000000..984d1a9 --- /dev/null +++ b/static/designs/lu-020-1.avif diff --git a/static/designs/lu-050-1.avif b/static/designs/lu-050-1.avif Binary files differnew file mode 100644 index 0000000..b2af784 --- /dev/null +++ b/static/designs/lu-050-1.avif diff --git a/static/designs/lu-100-1.avif b/static/designs/lu-100-1.avif Binary files differnew file mode 100644 index 0000000..c769d38 --- /dev/null +++ b/static/designs/lu-100-1.avif diff --git a/static/designs/lu-200-1.avif b/static/designs/lu-200-1.avif Binary files differnew file mode 100644 index 0000000..e6c0a19 --- /dev/null +++ b/static/designs/lu-200-1.avif diff --git a/static/designs/lv-001-1.avif b/static/designs/lv-001-1.avif Binary files differnew file mode 100644 index 0000000..3915a09 --- /dev/null +++ b/static/designs/lv-001-1.avif diff --git a/static/designs/lv-002-1.avif b/static/designs/lv-002-1.avif Binary files differnew file mode 100644 index 0000000..b167e32 --- /dev/null +++ b/static/designs/lv-002-1.avif diff --git a/static/designs/lv-005-1.avif b/static/designs/lv-005-1.avif Binary files differnew file mode 100644 index 0000000..6ef4aaf --- /dev/null +++ b/static/designs/lv-005-1.avif diff --git a/static/designs/lv-010-1.avif b/static/designs/lv-010-1.avif Binary files differnew file mode 100644 index 0000000..99f85c7 --- /dev/null +++ b/static/designs/lv-010-1.avif diff --git a/static/designs/lv-020-1.avif b/static/designs/lv-020-1.avif Binary files differnew file mode 100644 index 0000000..8895123 --- /dev/null +++ b/static/designs/lv-020-1.avif diff --git a/static/designs/lv-050-1.avif b/static/designs/lv-050-1.avif Binary files differnew file mode 100644 index 0000000..68c3b5b --- /dev/null +++ b/static/designs/lv-050-1.avif diff --git a/static/designs/lv-100-1.avif b/static/designs/lv-100-1.avif Binary files differnew file mode 100644 index 0000000..5d0c69f --- /dev/null +++ b/static/designs/lv-100-1.avif diff --git a/static/designs/lv-200-1.avif b/static/designs/lv-200-1.avif Binary files differnew file mode 100644 index 0000000..c80d03e --- /dev/null +++ b/static/designs/lv-200-1.avif diff --git a/static/designs/mt-001-1.avif b/static/designs/mt-001-1.avif Binary files differnew file mode 100644 index 0000000..cf613af --- /dev/null +++ b/static/designs/mt-001-1.avif diff --git a/static/designs/mt-002-1.avif b/static/designs/mt-002-1.avif Binary files differnew file mode 100644 index 0000000..6971912 --- /dev/null +++ b/static/designs/mt-002-1.avif diff --git a/static/designs/mt-005-1.avif b/static/designs/mt-005-1.avif Binary files differnew file mode 100644 index 0000000..1960172 --- /dev/null +++ b/static/designs/mt-005-1.avif diff --git a/static/designs/mt-010-1.avif b/static/designs/mt-010-1.avif Binary files differnew file mode 100644 index 0000000..948cc5e --- /dev/null +++ b/static/designs/mt-010-1.avif diff --git a/static/designs/mt-020-1.avif b/static/designs/mt-020-1.avif Binary files differnew file mode 100644 index 0000000..618e6b2 --- /dev/null +++ b/static/designs/mt-020-1.avif diff --git a/static/designs/mt-050-1.avif b/static/designs/mt-050-1.avif Binary files differnew file mode 100644 index 0000000..9033735 --- /dev/null +++ b/static/designs/mt-050-1.avif diff --git a/static/designs/mt-100-1.avif b/static/designs/mt-100-1.avif Binary files differnew file mode 100644 index 0000000..154de52 --- /dev/null +++ b/static/designs/mt-100-1.avif diff --git a/static/designs/mt-200-1.avif b/static/designs/mt-200-1.avif Binary files differnew file mode 100644 index 0000000..0c5d3c6 --- /dev/null +++ b/static/designs/mt-200-1.avif diff --git a/static/designs/nl-001-1.avif b/static/designs/nl-001-1.avif Binary files differnew file mode 100644 index 0000000..768018c --- /dev/null +++ b/static/designs/nl-001-1.avif diff --git a/static/designs/nl-001-2.avif b/static/designs/nl-001-2.avif Binary files differnew file mode 100644 index 0000000..58af575 --- /dev/null +++ b/static/designs/nl-001-2.avif diff --git a/static/designs/nl-002-1.avif b/static/designs/nl-002-1.avif Binary files differnew file mode 100644 index 0000000..259d011 --- /dev/null +++ b/static/designs/nl-002-1.avif diff --git a/static/designs/nl-002-2.avif b/static/designs/nl-002-2.avif Binary files differnew file mode 100644 index 0000000..58af575 --- /dev/null +++ b/static/designs/nl-002-2.avif diff --git a/static/designs/nl-005-1.avif b/static/designs/nl-005-1.avif Binary files differnew file mode 100644 index 0000000..12bb1c7 --- /dev/null +++ b/static/designs/nl-005-1.avif diff --git a/static/designs/nl-005-2.avif b/static/designs/nl-005-2.avif Binary files differnew file mode 100644 index 0000000..2a3fbd6 --- /dev/null +++ b/static/designs/nl-005-2.avif diff --git a/static/designs/nl-010-1.avif b/static/designs/nl-010-1.avif Binary files differnew file mode 100644 index 0000000..1bfb576 --- /dev/null +++ b/static/designs/nl-010-1.avif diff --git a/static/designs/nl-010-2.avif b/static/designs/nl-010-2.avif Binary files differnew file mode 100644 index 0000000..3e70086 --- /dev/null +++ b/static/designs/nl-010-2.avif diff --git a/static/designs/nl-020-1.avif b/static/designs/nl-020-1.avif Binary files differnew file mode 100644 index 0000000..757b194 --- /dev/null +++ b/static/designs/nl-020-1.avif diff --git a/static/designs/nl-020-2.avif b/static/designs/nl-020-2.avif Binary files differnew file mode 100644 index 0000000..33e775a --- /dev/null +++ b/static/designs/nl-020-2.avif diff --git a/static/designs/nl-050-1.avif b/static/designs/nl-050-1.avif Binary files differnew file mode 100644 index 0000000..a0d2d08 --- /dev/null +++ b/static/designs/nl-050-1.avif diff --git a/static/designs/nl-050-2.avif b/static/designs/nl-050-2.avif Binary files differnew file mode 100644 index 0000000..027b74b --- /dev/null +++ b/static/designs/nl-050-2.avif diff --git a/static/designs/nl-050-beatrix.avif b/static/designs/nl-050-beatrix.avif Binary files differdeleted file mode 100644 index f24669c..0000000 --- a/static/designs/nl-050-beatrix.avif +++ /dev/null diff --git a/static/designs/nl-050-willem-alexander.avif b/static/designs/nl-050-willem-alexander.avif Binary files differdeleted file mode 100644 index 16b2529..0000000 --- a/static/designs/nl-050-willem-alexander.avif +++ /dev/null diff --git a/static/designs/nl-100-1.avif b/static/designs/nl-100-1.avif Binary files differnew file mode 100644 index 0000000..ff76fb1 --- /dev/null +++ b/static/designs/nl-100-1.avif diff --git a/static/designs/nl-100-2.avif b/static/designs/nl-100-2.avif Binary files differnew file mode 100644 index 0000000..3a191af --- /dev/null +++ b/static/designs/nl-100-2.avif diff --git a/static/designs/nl-100-beatrix.avif b/static/designs/nl-100-beatrix.avif Binary files differdeleted file mode 100644 index 6362c68..0000000 --- a/static/designs/nl-100-beatrix.avif +++ /dev/null diff --git a/static/designs/nl-100-willem-alexander.avif b/static/designs/nl-100-willem-alexander.avif Binary files differdeleted file mode 100644 index 9f1947c..0000000 --- a/static/designs/nl-100-willem-alexander.avif +++ /dev/null diff --git a/static/designs/nl-200-1.avif b/static/designs/nl-200-1.avif Binary files differnew file mode 100644 index 0000000..fa5bfde --- /dev/null +++ b/static/designs/nl-200-1.avif diff --git a/static/designs/nl-200-2.avif b/static/designs/nl-200-2.avif Binary files differnew file mode 100644 index 0000000..f31b953 --- /dev/null +++ b/static/designs/nl-200-2.avif diff --git a/static/designs/pt-001-1.avif b/static/designs/pt-001-1.avif Binary files differnew file mode 100644 index 0000000..3606ede --- /dev/null +++ b/static/designs/pt-001-1.avif diff --git a/static/designs/pt-002-1.avif b/static/designs/pt-002-1.avif Binary files differnew file mode 100644 index 0000000..36682e3 --- /dev/null +++ b/static/designs/pt-002-1.avif diff --git a/static/designs/pt-005-1.avif b/static/designs/pt-005-1.avif Binary files differnew file mode 100644 index 0000000..768bce2 --- /dev/null +++ b/static/designs/pt-005-1.avif diff --git a/static/designs/pt-010-1.avif b/static/designs/pt-010-1.avif Binary files differnew file mode 100644 index 0000000..1cd1d5b --- /dev/null +++ b/static/designs/pt-010-1.avif diff --git a/static/designs/pt-020-1.avif b/static/designs/pt-020-1.avif Binary files differnew file mode 100644 index 0000000..8913955 --- /dev/null +++ b/static/designs/pt-020-1.avif diff --git a/static/designs/pt-050-1.avif b/static/designs/pt-050-1.avif Binary files differnew file mode 100644 index 0000000..f671d38 --- /dev/null +++ b/static/designs/pt-050-1.avif diff --git a/static/designs/pt-100-1.avif b/static/designs/pt-100-1.avif Binary files differnew file mode 100644 index 0000000..06802ce --- /dev/null +++ b/static/designs/pt-100-1.avif diff --git a/static/designs/pt-200-1.avif b/static/designs/pt-200-1.avif Binary files differnew file mode 100644 index 0000000..722a8a2 --- /dev/null +++ b/static/designs/pt-200-1.avif diff --git a/static/designs/sk-001-1.avif b/static/designs/sk-001-1.avif Binary files differnew file mode 100644 index 0000000..3567be3 --- /dev/null +++ b/static/designs/sk-001-1.avif diff --git a/static/designs/sk-002-1.avif b/static/designs/sk-002-1.avif Binary files differnew file mode 100644 index 0000000..537595a --- /dev/null +++ b/static/designs/sk-002-1.avif diff --git a/static/designs/sk-005-1.avif b/static/designs/sk-005-1.avif Binary files differnew file mode 100644 index 0000000..cf4f917 --- /dev/null +++ b/static/designs/sk-005-1.avif diff --git a/static/designs/sk-010-1.avif b/static/designs/sk-010-1.avif Binary files differnew file mode 100644 index 0000000..8a2fc0b --- /dev/null +++ b/static/designs/sk-010-1.avif diff --git a/static/designs/sk-020-1.avif b/static/designs/sk-020-1.avif Binary files differnew file mode 100644 index 0000000..83d0742 --- /dev/null +++ b/static/designs/sk-020-1.avif diff --git a/static/designs/sk-050-1.avif b/static/designs/sk-050-1.avif Binary files differnew file mode 100644 index 0000000..9f69a90 --- /dev/null +++ b/static/designs/sk-050-1.avif diff --git a/static/designs/sk-100-1.avif b/static/designs/sk-100-1.avif Binary files differnew file mode 100644 index 0000000..fc9318f --- /dev/null +++ b/static/designs/sk-100-1.avif diff --git a/static/designs/sk-200-1.avif b/static/designs/sk-200-1.avif Binary files differnew file mode 100644 index 0000000..9c75b7d --- /dev/null +++ b/static/designs/sk-200-1.avif diff --git a/static/designs/sm-001-1.avif b/static/designs/sm-001-1.avif Binary files differnew file mode 100644 index 0000000..d9a1284 --- /dev/null +++ b/static/designs/sm-001-1.avif diff --git a/static/designs/sm-001-2.avif b/static/designs/sm-001-2.avif Binary files differnew file mode 100644 index 0000000..7138aa3 --- /dev/null +++ b/static/designs/sm-001-2.avif diff --git a/static/designs/sm-002-1.avif b/static/designs/sm-002-1.avif Binary files differnew file mode 100644 index 0000000..4ffeee7 --- /dev/null +++ b/static/designs/sm-002-1.avif diff --git a/static/designs/sm-002-2.avif b/static/designs/sm-002-2.avif Binary files differnew file mode 100644 index 0000000..11a9c26 --- /dev/null +++ b/static/designs/sm-002-2.avif diff --git a/static/designs/sm-005-1.avif b/static/designs/sm-005-1.avif Binary files differnew file mode 100644 index 0000000..111345a --- /dev/null +++ b/static/designs/sm-005-1.avif diff --git a/static/designs/sm-005-2.avif b/static/designs/sm-005-2.avif Binary files differnew file mode 100644 index 0000000..0014304 --- /dev/null +++ b/static/designs/sm-005-2.avif diff --git a/static/designs/sm-010-1.avif b/static/designs/sm-010-1.avif Binary files differnew file mode 100644 index 0000000..510da2d --- /dev/null +++ b/static/designs/sm-010-1.avif diff --git a/static/designs/sm-010-2.avif b/static/designs/sm-010-2.avif Binary files differnew file mode 100644 index 0000000..b670313 --- /dev/null +++ b/static/designs/sm-010-2.avif diff --git a/static/designs/sm-020-1.avif b/static/designs/sm-020-1.avif Binary files differnew file mode 100644 index 0000000..69949f5 --- /dev/null +++ b/static/designs/sm-020-1.avif diff --git a/static/designs/sm-020-2.avif b/static/designs/sm-020-2.avif Binary files differnew file mode 100644 index 0000000..8e0699d --- /dev/null +++ b/static/designs/sm-020-2.avif diff --git a/static/designs/sm-050-1.avif b/static/designs/sm-050-1.avif Binary files differnew file mode 100644 index 0000000..ff45d96 --- /dev/null +++ b/static/designs/sm-050-1.avif diff --git a/static/designs/sm-050-2.avif b/static/designs/sm-050-2.avif Binary files differnew file mode 100644 index 0000000..4f7de23 --- /dev/null +++ b/static/designs/sm-050-2.avif diff --git a/static/designs/sm-100-1.avif b/static/designs/sm-100-1.avif Binary files differnew file mode 100644 index 0000000..3217451 --- /dev/null +++ b/static/designs/sm-100-1.avif diff --git a/static/designs/sm-100-2.avif b/static/designs/sm-100-2.avif Binary files differnew file mode 100644 index 0000000..001f2df --- /dev/null +++ b/static/designs/sm-100-2.avif diff --git a/static/designs/sm-200-1.avif b/static/designs/sm-200-1.avif Binary files differnew file mode 100644 index 0000000..a5f5426 --- /dev/null +++ b/static/designs/sm-200-1.avif diff --git a/static/designs/sm-200-2.avif b/static/designs/sm-200-2.avif Binary files differnew file mode 100644 index 0000000..ac99f60 --- /dev/null +++ b/static/designs/sm-200-2.avif diff --git a/static/designs/va-001-1.avif b/static/designs/va-001-1.avif Binary files differnew file mode 100644 index 0000000..3b69113 --- /dev/null +++ b/static/designs/va-001-1.avif diff --git a/static/designs/va-001-2.avif b/static/designs/va-001-2.avif Binary files differnew file mode 100644 index 0000000..96e019f --- /dev/null +++ b/static/designs/va-001-2.avif diff --git a/static/designs/va-001-3.avif b/static/designs/va-001-3.avif Binary files differnew file mode 100644 index 0000000..12867ad --- /dev/null +++ b/static/designs/va-001-3.avif diff --git a/static/designs/va-001-4.avif b/static/designs/va-001-4.avif Binary files differnew file mode 100644 index 0000000..0d0737d --- /dev/null +++ b/static/designs/va-001-4.avif diff --git a/static/designs/va-001-5.avif b/static/designs/va-001-5.avif Binary files differnew file mode 100644 index 0000000..3a76399 --- /dev/null +++ b/static/designs/va-001-5.avif diff --git a/static/designs/va-002-1.avif b/static/designs/va-002-1.avif Binary files differnew file mode 100644 index 0000000..a867aa4 --- /dev/null +++ b/static/designs/va-002-1.avif diff --git a/static/designs/va-002-2.avif b/static/designs/va-002-2.avif Binary files differnew file mode 100644 index 0000000..c2c847f --- /dev/null +++ b/static/designs/va-002-2.avif diff --git a/static/designs/va-002-3.avif b/static/designs/va-002-3.avif Binary files differnew file mode 100644 index 0000000..34c9ff9 --- /dev/null +++ b/static/designs/va-002-3.avif diff --git a/static/designs/va-002-4.avif b/static/designs/va-002-4.avif Binary files differnew file mode 100644 index 0000000..518244b --- /dev/null +++ b/static/designs/va-002-4.avif diff --git a/static/designs/va-002-5.avif b/static/designs/va-002-5.avif Binary files differnew file mode 100644 index 0000000..3a76399 --- /dev/null +++ b/static/designs/va-002-5.avif diff --git a/static/designs/va-005-1.avif b/static/designs/va-005-1.avif Binary files differnew file mode 100644 index 0000000..3a06476 --- /dev/null +++ b/static/designs/va-005-1.avif diff --git a/static/designs/va-005-2.avif b/static/designs/va-005-2.avif Binary files differnew file mode 100644 index 0000000..b50da52 --- /dev/null +++ b/static/designs/va-005-2.avif diff --git a/static/designs/va-005-3.avif b/static/designs/va-005-3.avif Binary files differnew file mode 100644 index 0000000..313455d --- /dev/null +++ b/static/designs/va-005-3.avif diff --git a/static/designs/va-005-4.avif b/static/designs/va-005-4.avif Binary files differnew file mode 100644 index 0000000..631a86b --- /dev/null +++ b/static/designs/va-005-4.avif diff --git a/static/designs/va-005-5.avif b/static/designs/va-005-5.avif Binary files differnew file mode 100644 index 0000000..3a76399 --- /dev/null +++ b/static/designs/va-005-5.avif diff --git a/static/designs/va-010-1.avif b/static/designs/va-010-1.avif Binary files differnew file mode 100644 index 0000000..76eda55 --- /dev/null +++ b/static/designs/va-010-1.avif diff --git a/static/designs/va-010-2.avif b/static/designs/va-010-2.avif Binary files differnew file mode 100644 index 0000000..0401e07 --- /dev/null +++ b/static/designs/va-010-2.avif diff --git a/static/designs/va-010-3.avif b/static/designs/va-010-3.avif Binary files differnew file mode 100644 index 0000000..b5a2716 --- /dev/null +++ b/static/designs/va-010-3.avif diff --git a/static/designs/va-010-4.avif b/static/designs/va-010-4.avif Binary files differnew file mode 100644 index 0000000..8f186d2 --- /dev/null +++ b/static/designs/va-010-4.avif diff --git a/static/designs/va-010-5.avif b/static/designs/va-010-5.avif Binary files differnew file mode 100644 index 0000000..7926534 --- /dev/null +++ b/static/designs/va-010-5.avif diff --git a/static/designs/va-020-1.avif b/static/designs/va-020-1.avif Binary files differnew file mode 100644 index 0000000..cad4b0e --- /dev/null +++ b/static/designs/va-020-1.avif diff --git a/static/designs/va-020-2.avif b/static/designs/va-020-2.avif Binary files differnew file mode 100644 index 0000000..2482832 --- /dev/null +++ b/static/designs/va-020-2.avif diff --git a/static/designs/va-020-3.avif b/static/designs/va-020-3.avif Binary files differnew file mode 100644 index 0000000..227ec82 --- /dev/null +++ b/static/designs/va-020-3.avif diff --git a/static/designs/va-020-4.avif b/static/designs/va-020-4.avif Binary files differnew file mode 100644 index 0000000..8b42fab --- /dev/null +++ b/static/designs/va-020-4.avif diff --git a/static/designs/va-020-5.avif b/static/designs/va-020-5.avif Binary files differnew file mode 100644 index 0000000..6fe70a0 --- /dev/null +++ b/static/designs/va-020-5.avif diff --git a/static/designs/va-050-1.avif b/static/designs/va-050-1.avif Binary files differnew file mode 100644 index 0000000..f49794c --- /dev/null +++ b/static/designs/va-050-1.avif diff --git a/static/designs/va-050-2.avif b/static/designs/va-050-2.avif Binary files differnew file mode 100644 index 0000000..dfda8df --- /dev/null +++ b/static/designs/va-050-2.avif diff --git a/static/designs/va-050-3.avif b/static/designs/va-050-3.avif Binary files differnew file mode 100644 index 0000000..a23ff02 --- /dev/null +++ b/static/designs/va-050-3.avif diff --git a/static/designs/va-050-4.avif b/static/designs/va-050-4.avif Binary files differnew file mode 100644 index 0000000..04201da --- /dev/null +++ b/static/designs/va-050-4.avif diff --git a/static/designs/va-050-5.avif b/static/designs/va-050-5.avif Binary files differnew file mode 100644 index 0000000..febb843 --- /dev/null +++ b/static/designs/va-050-5.avif diff --git a/static/designs/va-100-1.avif b/static/designs/va-100-1.avif Binary files differnew file mode 100644 index 0000000..fdf137d --- /dev/null +++ b/static/designs/va-100-1.avif diff --git a/static/designs/va-100-2.avif b/static/designs/va-100-2.avif Binary files differnew file mode 100644 index 0000000..1240f50 --- /dev/null +++ b/static/designs/va-100-2.avif diff --git a/static/designs/va-100-3.avif b/static/designs/va-100-3.avif Binary files differnew file mode 100644 index 0000000..61c96f3 --- /dev/null +++ b/static/designs/va-100-3.avif diff --git a/static/designs/va-100-4.avif b/static/designs/va-100-4.avif Binary files differnew file mode 100644 index 0000000..2e99ebc --- /dev/null +++ b/static/designs/va-100-4.avif diff --git a/static/designs/va-100-5.avif b/static/designs/va-100-5.avif Binary files differnew file mode 100644 index 0000000..1ca1a02 --- /dev/null +++ b/static/designs/va-100-5.avif diff --git a/static/designs/va-200-1.avif b/static/designs/va-200-1.avif Binary files differnew file mode 100644 index 0000000..f43e72e --- /dev/null +++ b/static/designs/va-200-1.avif diff --git a/static/designs/va-200-2.avif b/static/designs/va-200-2.avif Binary files differnew file mode 100644 index 0000000..4a04555 --- /dev/null +++ b/static/designs/va-200-2.avif diff --git a/static/designs/va-200-3.avif b/static/designs/va-200-3.avif Binary files differnew file mode 100644 index 0000000..1443a8e --- /dev/null +++ b/static/designs/va-200-3.avif diff --git a/static/designs/va-200-4.avif b/static/designs/va-200-4.avif Binary files differnew file mode 100644 index 0000000..1ec9430 --- /dev/null +++ b/static/designs/va-200-4.avif diff --git a/static/designs/va-200-5.avif b/static/designs/va-200-5.avif Binary files differnew file mode 100644 index 0000000..7fa0d27 --- /dev/null +++ b/static/designs/va-200-5.avif diff --git a/static/fonts/source-sans-3-italic.otf b/static/fonts/source-sans-3-italic.otf Binary files differnew file mode 100644 index 0000000..1c7053d --- /dev/null +++ b/static/fonts/source-sans-3-italic.otf diff --git a/static/fonts/source-sans-3-normal.otf b/static/fonts/source-sans-3-normal.otf Binary files differnew file mode 100644 index 0000000..8ee0150 --- /dev/null +++ b/static/fonts/source-sans-3-normal.otf diff --git a/static/fonts/source-serif-4-italic.otf b/static/fonts/source-serif-4-italic.otf Binary files differnew file mode 100644 index 0000000..7f3fc50 --- /dev/null +++ b/static/fonts/source-serif-4-italic.otf diff --git a/static/fonts/source-serif-4-normal.otf b/static/fonts/source-serif-4-normal.otf Binary files differnew file mode 100644 index 0000000..dda52e9 --- /dev/null +++ b/static/fonts/source-serif-4-normal.otf diff --git a/static/fonts/ysabeau-regular-italic.woff2 b/static/fonts/ysabeau-regular-italic.woff2 Binary files differdeleted file mode 100644 index a517fdc..0000000 --- a/static/fonts/ysabeau-regular-italic.woff2 +++ /dev/null diff --git a/static/fonts/ysabeau-regular.woff2 b/static/fonts/ysabeau-regular.woff2 Binary files differdeleted file mode 100644 index 95c7715..0000000 --- a/static/fonts/ysabeau-regular.woff2 +++ /dev/null diff --git a/static/style-2.css b/static/style-2.css new file mode 100644 index 0000000..6136298 --- /dev/null +++ b/static/style-2.css @@ -0,0 +1,2959 @@ +@charset "UTF-8"; +/*! + * Pico CSS ✨ v2.1.1 (https://picocss.com) + * Copyright 2019-2025 - Licensed under MIT + */ + +@font-face { + font-family: 'Source Sans 3'; + src: url('/fonts/source-sans-3-normal.otf') format('opentype'); + font-style: normal; +} + +@font-face { + font-family: 'Source Sans 3'; + src: url('/fonts/source-sans-3-italic.otf') format('opentype'); + font-style: italic; +} + +@font-face { + font-family: 'Source Serif 4'; + src: url('/fonts/source-serif-4-normal.otf') format('opentype'); + font-style: normal; +} + +@font-face { + font-family: 'Source Serif 4'; + src: url('/fonts/source-serif-4-italic.otf') format('opentype'); + font-style: italic; +} + +/** + * Styles + */ +:root, +:host { + --pico-font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --pico-font-family-serif: "Source Serif 4", serif; + --pico-font-family-sans-serif: "Source Sans 3", sans-serif, var(--pico-font-family-emoji); + --pico-font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--pico-font-family-emoji); + --pico-font-family: var(--pico-font-family-sans-serif); + --pico-line-height: 1.5; + --pico-font-weight: 400; + --pico-font-size: 100%; + --pico-text-underline-offset: 0.1rem; + --pico-border-radius: 0.25rem; + --pico-border-width: 0.0625rem; + --pico-outline-width: 0.125rem; + --pico-transition: 0.2s ease-in-out; + --pico-spacing: 1rem; + --pico-typography-spacing-vertical: 1rem; + --pico-block-spacing-vertical: var(--pico-spacing); + --pico-block-spacing-horizontal: var(--pico-spacing); + --pico-grid-column-gap: var(--pico-spacing); + --pico-grid-row-gap: var(--pico-spacing); + --pico-form-element-spacing-vertical: 0.75rem; + --pico-form-element-spacing-horizontal: 1rem; + --pico-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus); + --pico-group-box-shadow-focus-with-input: 0 0 0 0.0625rem var(--pico-form-element-border-color); + --pico-modal-overlay-backdrop-filter: blur(0.375rem); + --pico-nav-element-spacing-vertical: 1rem; + --pico-nav-element-spacing-horizontal: 0.5rem; + --pico-nav-link-spacing-vertical: 0.5rem; + --pico-nav-link-spacing-horizontal: 0.5rem; + --pico-nav-breadcrumb-divider: ">"; + --pico-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); + --pico-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"); + --pico-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); + --pico-icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E"); + --pico-icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E"); + --pico-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); + --pico-icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E"); + --pico-icon-loading: url("data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite; transform-origin: center center; %7D circle %7B stroke-dasharray: 75,100; stroke-dashoffset: -5; animation: dash 1.5s ease-in-out infinite; stroke-linecap: round; %7D @keyframes rotate %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D @keyframes dash %7B 0%25 %7B stroke-dasharray: 1,100; stroke-dashoffset: 0; %7D 50%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -17.5; %7D 100%25 %7B stroke-dasharray: 44.5,100; stroke-dashoffset: -62; %7D %7D %3C/style%3E%3Cg%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='rgb(136, 145, 164)' stroke-width='4' /%3E%3C/g%3E%3C/svg%3E"); +} +@media (min-width: 576px) { + :root, + :host { + --pico-font-size: 106.25%; + } +} +@media (min-width: 768px) { + :root, + :host { + --pico-font-size: 112.5%; + } +} +@media (min-width: 1024px) { + :root, + :host { + --pico-font-size: 118.75%; + } +} +@media (min-width: 1280px) { + :root, + :host { + --pico-font-size: 125%; + } +} +@media (min-width: 1536px) { + :root, + :host { + --pico-font-size: 131.25%; + } +} + +a { + --pico-text-decoration: underline; +} +a.secondary, a.contrast { + --pico-text-decoration: underline; +} + +small { + --pico-font-size: 0.875em; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + --pico-font-weight: 550; +} + +h1 { + --pico-font-size: 2rem; + --pico-line-height: 1.125; + --pico-typography-spacing-top: 3rem; +} + +h2 { + --pico-font-size: 1.75rem; + --pico-line-height: 1.15; + --pico-typography-spacing-top: 2.625rem; +} + +h3 { + --pico-font-size: 1.5rem; + --pico-line-height: 1.175; + --pico-typography-spacing-top: 2.25rem; +} + +h4 { + --pico-font-size: 1.25rem; + --pico-line-height: 1.2; + --pico-typography-spacing-top: 1.874rem; +} + +h5 { + --pico-font-size: 1.125rem; + --pico-line-height: 1.225; + --pico-typography-spacing-top: 1.6875rem; +} + +h6 { + --pico-font-size: 1rem; + --pico-line-height: 1.25; + --pico-typography-spacing-top: 1.5rem; +} + +thead th, +thead td, +tfoot th, +tfoot td { + --pico-font-weight: 600; + --pico-border-width: 0.1875rem; +} + +pre, +code, +kbd, +samp { + --pico-font-family: var(--pico-font-family-monospace); +} + +kbd { + --pico-font-weight: bolder; +} + +input:not([type=submit], +[type=button], +[type=reset], +[type=checkbox], +[type=radio], +[type=file]), +:where(select, textarea) { + --pico-outline-width: 0.0625rem; +} + +[type=search] { + --pico-border-radius: 5rem; +} + +[type=checkbox], +[type=radio] { + --pico-border-width: 0.125rem; +} + +[type=checkbox][role=switch] { + --pico-border-width: 0.1875rem; +} + +details.dropdown summary:not([role=button]) { + --pico-outline-width: 0.0625rem; +} + +nav details.dropdown summary:focus-visible { + --pico-outline-width: 0.125rem; +} + +[role=search] { + --pico-border-radius: 5rem; +} + +[role=search]:has(button.secondary:focus, +[type=submit].secondary:focus, +[type=button].secondary:focus, +[role=button].secondary:focus), +[role=group]:has(button.secondary:focus, +[type=submit].secondary:focus, +[type=button].secondary:focus, +[role=button].secondary:focus) { + --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus); +} +[role=search]:has(button.contrast:focus, +[type=submit].contrast:focus, +[type=button].contrast:focus, +[role=button].contrast:focus), +[role=group]:has(button.contrast:focus, +[type=submit].contrast:focus, +[type=button].contrast:focus, +[role=button].contrast:focus) { + --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-contrast-focus); +} +[role=search] button, +[role=search] [type=submit], +[role=search] [type=button], +[role=search] [role=button], +[role=group] button, +[role=group] [type=submit], +[role=group] [type=button], +[role=group] [role=button] { + --pico-form-element-spacing-horizontal: 2rem; +} + +details summary[role=button]:not(.outline)::after { + filter: brightness(0) invert(1); +} + +[aria-busy=true]:not(input, select, textarea):is(button, [type=submit], [type=button], [type=reset], [role=button]):not(.outline)::before { + filter: brightness(0) invert(1); +} + +/** + * Color schemes + */ +[data-theme=light], +:root:not([data-theme=dark]), +:host(:not([data-theme=dark])) { + color-scheme: light; + --pico-background-color: #fff; + --pico-color: #373c44; + --pico-text-selection-color: rgba(2, 154, 232, 0.25); + --pico-muted-color: #646b79; + --pico-muted-border-color: rgb(231, 234, 239.5); + --pico-primary: #0172ad; + --pico-primary-background: #0172ad; + --pico-primary-border: var(--pico-primary-background); + --pico-primary-underline: rgba(1, 114, 173, 0.5); + --pico-primary-hover: #015887; + --pico-primary-hover-background: #02659a; + --pico-primary-hover-border: var(--pico-primary-hover-background); + --pico-primary-hover-underline: var(--pico-primary-hover); + --pico-primary-focus: rgba(2, 154, 232, 0.5); + --pico-primary-inverse: #fff; + --pico-secondary: #5d6b89; + --pico-secondary-background: #525f7a; + --pico-secondary-border: var(--pico-secondary-background); + --pico-secondary-underline: rgba(93, 107, 137, 0.5); + --pico-secondary-hover: #48536b; + --pico-secondary-hover-background: #48536b; + --pico-secondary-hover-border: var(--pico-secondary-hover-background); + --pico-secondary-hover-underline: var(--pico-secondary-hover); + --pico-secondary-focus: rgba(93, 107, 137, 0.25); + --pico-secondary-inverse: #fff; + --pico-contrast: #181c25; + --pico-contrast-background: #181c25; + --pico-contrast-border: var(--pico-contrast-background); + --pico-contrast-underline: rgba(24, 28, 37, 0.5); + --pico-contrast-hover: #000; + --pico-contrast-hover-background: #000; + --pico-contrast-hover-border: var(--pico-contrast-hover-background); + --pico-contrast-hover-underline: var(--pico-secondary-hover); + --pico-contrast-focus: rgba(93, 107, 137, 0.25); + --pico-contrast-inverse: #fff; + --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024), 0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03), 0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036), 0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302), 0.5rem 1rem 6rem rgba(129, 145, 181, 0.06), 0 0 0 0.0625rem rgba(129, 145, 181, 0.015); + --pico-h1-color: #2d3138; + --pico-h2-color: #373c44; + --pico-h3-color: #424751; + --pico-h4-color: #4d535e; + --pico-h5-color: #5c6370; + --pico-h6-color: #646b79; + --pico-mark-background-color: rgb(252.5, 230.5, 191.5); + --pico-mark-color: #0f1114; + --pico-ins-color: rgb(28.5, 105.5, 84); + --pico-del-color: rgb(136, 56.5, 53); + --pico-blockquote-border-color: var(--pico-muted-border-color); + --pico-blockquote-footer-color: var(--pico-muted-color); + --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-table-border-color: var(--pico-muted-border-color); + --pico-table-row-stripped-background-color: #f9fafa; + --pico-code-background-color: rgb(243, 244.5, 246.75); + --pico-code-color: #646b79; + --pico-code-kbd-background-color: var(--pico-color); + --pico-code-kbd-color: var(--pico-background-color); + --pico-form-element-background-color: rgb(251, 251.5, 252.25); + --pico-form-element-selected-background-color: #dfe3eb; + --pico-form-element-border-color: #cfd5e2; + --pico-form-element-color: #23262c; + --pico-form-element-placeholder-color: var(--pico-muted-color); + --pico-form-element-active-background-color: #fff; + --pico-form-element-active-border-color: var(--pico-primary-border); + --pico-form-element-focus-color: var(--pico-primary-border); + --pico-form-element-disabled-opacity: 0.5; + --pico-form-element-invalid-border-color: rgb(183.5, 105.5, 106.5); + --pico-form-element-invalid-active-border-color: rgb(200.25, 79.25, 72.25); + --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color); + --pico-form-element-valid-border-color: rgb(76, 154.5, 137.5); + --pico-form-element-valid-active-border-color: rgb(39, 152.75, 118.75); + --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color); + --pico-switch-background-color: #bfc7d9; + --pico-switch-checked-background-color: var(--pico-primary-background); + --pico-switch-color: #fff; + --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-range-border-color: #dfe3eb; + --pico-range-active-border-color: #bfc7d9; + --pico-range-thumb-border-color: var(--pico-background-color); + --pico-range-thumb-color: var(--pico-secondary-background); + --pico-range-thumb-active-color: var(--pico-primary-background); + --pico-accordion-border-color: var(--pico-muted-border-color); + --pico-accordion-active-summary-color: var(--pico-primary-hover); + --pico-accordion-close-summary-color: var(--pico-color); + --pico-accordion-open-summary-color: var(--pico-muted-color); + --pico-card-background-color: var(--pico-background-color); + --pico-card-border-color: var(--pico-muted-border-color); + --pico-card-box-shadow: var(--pico-box-shadow); + --pico-card-sectioning-background-color: rgb(251, 251.5, 252.25); + --pico-dropdown-background-color: #fff; + --pico-dropdown-border-color: #eff1f4; + --pico-dropdown-box-shadow: var(--pico-box-shadow); + --pico-dropdown-color: var(--pico-color); + --pico-dropdown-hover-background-color: #eff1f4; + --pico-loading-spinner-opacity: 0.5; + --pico-modal-overlay-background-color: rgba(232, 234, 237, 0.75); + --pico-progress-background-color: #dfe3eb; + --pico-progress-color: var(--pico-primary-background); + --pico-tooltip-background-color: var(--pico-contrast-background); + --pico-tooltip-color: var(--pico-contrast-inverse); + --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); + --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); +} +[data-theme=light] input:is([type=submit], +[type=button], +[type=reset], +[type=checkbox], +[type=radio], +[type=file]), +:root:not([data-theme=dark]) input:is([type=submit], +[type=button], +[type=reset], +[type=checkbox], +[type=radio], +[type=file]), +:host(:not([data-theme=dark])) input:is([type=submit], +[type=button], +[type=reset], +[type=checkbox], +[type=radio], +[type=file]) { + --pico-form-element-focus-color: var(--pico-primary-focus); +} + +@media only screen and (prefers-color-scheme: dark) { + :root:not([data-theme]), + :host(:not([data-theme])) { + color-scheme: dark; + --pico-background-color: rgb(19, 22.5, 30.5); + --pico-color: #c2c7d0; + --pico-text-selection-color: rgba(1, 170, 255, 0.1875); + --pico-muted-color: #7b8495; + --pico-muted-border-color: #202632; + --pico-primary: #01aaff; + --pico-primary-background: #0172ad; + --pico-primary-border: var(--pico-primary-background); + --pico-primary-underline: rgba(1, 170, 255, 0.5); + --pico-primary-hover: #79c0ff; + --pico-primary-hover-background: #017fc0; + --pico-primary-hover-border: var(--pico-primary-hover-background); + --pico-primary-hover-underline: var(--pico-primary-hover); + --pico-primary-focus: rgba(1, 170, 255, 0.375); + --pico-primary-inverse: #fff; + --pico-secondary: #969eaf; + --pico-secondary-background: #525f7a; + --pico-secondary-border: var(--pico-secondary-background); + --pico-secondary-underline: rgba(150, 158, 175, 0.5); + --pico-secondary-hover: #b3b9c5; + --pico-secondary-hover-background: #5d6b89; + --pico-secondary-hover-border: var(--pico-secondary-hover-background); + --pico-secondary-hover-underline: var(--pico-secondary-hover); + --pico-secondary-focus: rgba(144, 158, 190, 0.25); + --pico-secondary-inverse: #fff; + --pico-contrast: #dfe3eb; + --pico-contrast-background: #eff1f4; + --pico-contrast-border: var(--pico-contrast-background); + --pico-contrast-underline: rgba(223, 227, 235, 0.5); + --pico-contrast-hover: #fff; + --pico-contrast-hover-background: #fff; + --pico-contrast-hover-border: var(--pico-contrast-hover-background); + --pico-contrast-hover-underline: var(--pico-contrast-hover); + --pico-contrast-focus: rgba(207, 213, 226, 0.25); + --pico-contrast-inverse: #000; + --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015); + --pico-h1-color: #f0f1f3; + --pico-h2-color: #e0e3e7; + --pico-h3-color: #c2c7d0; + --pico-h4-color: #b3b9c5; + --pico-h5-color: #a4acba; + --pico-h6-color: #8891a4; + --pico-mark-background-color: #014063; + --pico-mark-color: #fff; + --pico-ins-color: #62af9a; + --pico-del-color: rgb(205.5, 126, 123); + --pico-blockquote-border-color: var(--pico-muted-border-color); + --pico-blockquote-footer-color: var(--pico-muted-color); + --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-table-border-color: var(--pico-muted-border-color); + --pico-table-row-stripped-background-color: #161b22; + --pico-code-background-color: rgb(26, 30.5, 40.25); + --pico-code-color: #8891a4; + --pico-code-kbd-background-color: var(--pico-color); + --pico-code-kbd-color: var(--pico-background-color); + --pico-form-element-background-color: rgb(28, 33, 43.5); + --pico-form-element-selected-background-color: #2a3140; + --pico-form-element-border-color: #2a3140; + --pico-form-element-color: #e0e3e7; + --pico-form-element-placeholder-color: #8891a4; + --pico-form-element-active-background-color: rgb(26, 30.5, 40.25); + --pico-form-element-active-border-color: var(--pico-primary-border); + --pico-form-element-focus-color: var(--pico-primary-border); + --pico-form-element-disabled-opacity: 0.5; + --pico-form-element-invalid-border-color: rgb(149.5, 74, 80); + --pico-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59); + --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color); + --pico-form-element-valid-border-color: #2a7b6f; + --pico-form-element-valid-active-border-color: rgb(22, 137, 105.5); + --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color); + --pico-switch-background-color: #333c4e; + --pico-switch-checked-background-color: var(--pico-primary-background); + --pico-switch-color: #fff; + --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-range-border-color: #202632; + --pico-range-active-border-color: #2a3140; + --pico-range-thumb-border-color: var(--pico-background-color); + --pico-range-thumb-color: var(--pico-secondary-background); + --pico-range-thumb-active-color: var(--pico-primary-background); + --pico-accordion-border-color: var(--pico-muted-border-color); + --pico-accordion-active-summary-color: var(--pico-primary-hover); + --pico-accordion-close-summary-color: var(--pico-color); + --pico-accordion-open-summary-color: var(--pico-muted-color); + --pico-card-background-color: #181c25; + --pico-card-border-color: var(--pico-card-background-color); + --pico-card-box-shadow: var(--pico-box-shadow); + --pico-card-sectioning-background-color: rgb(26, 30.5, 40.25); + --pico-dropdown-background-color: #181c25; + --pico-dropdown-border-color: #202632; + --pico-dropdown-box-shadow: var(--pico-box-shadow); + --pico-dropdown-color: var(--pico-color); + --pico-dropdown-hover-background-color: #202632; + --pico-loading-spinner-opacity: 0.5; + --pico-modal-overlay-background-color: rgba(7.5, 8.5, 10, 0.75); + --pico-progress-background-color: #202632; + --pico-progress-color: var(--pico-primary-background); + --pico-tooltip-background-color: var(--pico-contrast-background); + --pico-tooltip-color: var(--pico-contrast-inverse); + --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); + --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); + } + :root:not([data-theme]) input:is([type=submit], + [type=button], + [type=reset], + [type=checkbox], + [type=radio], + [type=file]), + :host(:not([data-theme])) input:is([type=submit], + [type=button], + [type=reset], + [type=checkbox], + [type=radio], + [type=file]) { + --pico-form-element-focus-color: var(--pico-primary-focus); + } + :root:not([data-theme]) details summary[role=button].contrast:not(.outline)::after, + :host(:not([data-theme])) details summary[role=button].contrast:not(.outline)::after { + filter: brightness(0); + } + :root:not([data-theme]) [aria-busy=true]:not(input, select, textarea).contrast:is(button, + [type=submit], + [type=button], + [type=reset], + [role=button]):not(.outline)::before, + :host(:not([data-theme])) [aria-busy=true]:not(input, select, textarea).contrast:is(button, + [type=submit], + [type=button], + [type=reset], + [role=button]):not(.outline)::before { + filter: brightness(0); + } +} +[data-theme=dark] { + color-scheme: dark; + --pico-background-color: rgb(19, 22.5, 30.5); + --pico-color: #c2c7d0; + --pico-text-selection-color: rgba(1, 170, 255, 0.1875); + --pico-muted-color: #7b8495; + --pico-muted-border-color: #202632; + --pico-primary: #01aaff; + --pico-primary-background: #0172ad; + --pico-primary-border: var(--pico-primary-background); + --pico-primary-underline: rgba(1, 170, 255, 0.5); + --pico-primary-hover: #79c0ff; + --pico-primary-hover-background: #017fc0; + --pico-primary-hover-border: var(--pico-primary-hover-background); + --pico-primary-hover-underline: var(--pico-primary-hover); + --pico-primary-focus: rgba(1, 170, 255, 0.375); + --pico-primary-inverse: #fff; + --pico-secondary: #969eaf; + --pico-secondary-background: #525f7a; + --pico-secondary-border: var(--pico-secondary-background); + --pico-secondary-underline: rgba(150, 158, 175, 0.5); + --pico-secondary-hover: #b3b9c5; + --pico-secondary-hover-background: #5d6b89; + --pico-secondary-hover-border: var(--pico-secondary-hover-background); + --pico-secondary-hover-underline: var(--pico-secondary-hover); + --pico-secondary-focus: rgba(144, 158, 190, 0.25); + --pico-secondary-inverse: #fff; + --pico-contrast: #dfe3eb; + --pico-contrast-background: #eff1f4; + --pico-contrast-border: var(--pico-contrast-background); + --pico-contrast-underline: rgba(223, 227, 235, 0.5); + --pico-contrast-hover: #fff; + --pico-contrast-hover-background: #fff; + --pico-contrast-hover-border: var(--pico-contrast-hover-background); + --pico-contrast-hover-underline: var(--pico-contrast-hover); + --pico-contrast-focus: rgba(207, 213, 226, 0.25); + --pico-contrast-inverse: #000; + --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015); + --pico-h1-color: #f0f1f3; + --pico-h2-color: #e0e3e7; + --pico-h3-color: #c2c7d0; + --pico-h4-color: #b3b9c5; + --pico-h5-color: #a4acba; + --pico-h6-color: #8891a4; + --pico-mark-background-color: #014063; + --pico-mark-color: #fff; + --pico-ins-color: #62af9a; + --pico-del-color: rgb(205.5, 126, 123); + --pico-blockquote-border-color: var(--pico-muted-border-color); + --pico-blockquote-footer-color: var(--pico-muted-color); + --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-table-border-color: var(--pico-muted-border-color); + --pico-table-row-stripped-background-color: #161b22; + --pico-code-background-color: rgb(26, 30.5, 40.25); + --pico-code-color: #8891a4; + --pico-code-kbd-background-color: var(--pico-color); + --pico-code-kbd-color: var(--pico-background-color); + --pico-form-element-background-color: rgb(28, 33, 43.5); + --pico-form-element-selected-background-color: #2a3140; + --pico-form-element-border-color: #2a3140; + --pico-form-element-color: #e0e3e7; + --pico-form-element-placeholder-color: #8891a4; + --pico-form-element-active-background-color: rgb(26, 30.5, 40.25); + --pico-form-element-active-border-color: var(--pico-primary-border); + --pico-form-element-focus-color: var(--pico-primary-border); + --pico-form-element-disabled-opacity: 0.5; + --pico-form-element-invalid-border-color: rgb(149.5, 74, 80); + --pico-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59); + --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color); + --pico-form-element-valid-border-color: #2a7b6f; + --pico-form-element-valid-active-border-color: rgb(22, 137, 105.5); + --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color); + --pico-switch-background-color: #333c4e; + --pico-switch-checked-background-color: var(--pico-primary-background); + --pico-switch-color: #fff; + --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0); + --pico-range-border-color: #202632; + --pico-range-active-border-color: #2a3140; + --pico-range-thumb-border-color: var(--pico-background-color); + --pico-range-thumb-color: var(--pico-secondary-background); + --pico-range-thumb-active-color: var(--pico-primary-background); + --pico-accordion-border-color: var(--pico-muted-border-color); + --pico-accordion-active-summary-color: var(--pico-primary-hover); + --pico-accordion-close-summary-color: var(--pico-color); + --pico-accordion-open-summary-color: var(--pico-muted-color); + --pico-card-background-color: #181c25; + --pico-card-border-color: var(--pico-card-background-color); + --pico-card-box-shadow: var(--pico-box-shadow); + --pico-card-sectioning-background-color: rgb(26, 30.5, 40.25); + --pico-dropdown-background-color: #181c25; + --pico-dropdown-border-color: #202632; + --pico-dropdown-box-shadow: var(--pico-box-shadow); + --pico-dropdown-color: var(--pico-color); + --pico-dropdown-hover-background-color: #202632; + --pico-loading-spinner-opacity: 0.5; + --pico-modal-overlay-background-color: rgba(7.5, 8.5, 10, 0.75); + --pico-progress-background-color: #202632; + --pico-progress-color: var(--pico-primary-background); + --pico-tooltip-background-color: var(--pico-contrast-background); + --pico-tooltip-color: var(--pico-contrast-inverse); + --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); + --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); +} +[data-theme=dark] input:is([type=submit], +[type=button], +[type=reset], +[type=checkbox], +[type=radio], +[type=file]) { + --pico-form-element-focus-color: var(--pico-primary-focus); +} +[data-theme=dark] details summary[role=button].contrast:not(.outline)::after { + filter: brightness(0); +} +[data-theme=dark] [aria-busy=true]:not(input, select, textarea).contrast:is(button, +[type=submit], +[type=button], +[type=reset], +[role=button]):not(.outline)::before { + filter: brightness(0); +} + +progress, +[type=checkbox], +[type=radio], +[type=range] { + accent-color: var(--pico-primary); +} + +/** + * Document + * Content-box & Responsive typography + */ +*, +*::before, +*::after { + box-sizing: border-box; + background-repeat: no-repeat; +} + +::before, +::after { + text-decoration: inherit; + vertical-align: inherit; +} + +:where(:root), +:where(:host) { + -webkit-tap-highlight-color: transparent; + -webkit-text-size-adjust: 100%; + -moz-text-size-adjust: 100%; + text-size-adjust: 100%; + background-color: var(--pico-background-color); + color: var(--pico-color); + font-weight: var(--pico-font-weight); + font-size: var(--pico-font-size); + line-height: var(--pico-line-height); + font-family: var(--pico-font-family); + text-underline-offset: var(--pico-text-underline-offset); + text-rendering: optimizeLegibility; + overflow-wrap: break-word; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; +} + +/** + * Landmarks + */ +body { + width: 100%; + margin: 0; +} + +main { + display: block; +} + +body > header, +body > main, +body > footer { + padding-block: var(--pico-block-spacing-vertical); +} + +/** + * Section + */ +section { + margin-bottom: var(--pico-block-spacing-vertical); +} + +/** + * Container + */ +.container, +.container-fluid { + width: 100%; + margin-right: auto; + margin-left: auto; + padding-right: var(--pico-spacing); + padding-left: var(--pico-spacing); +} + +@media (min-width: 576px) { + .container { + max-width: 510px; + padding-right: 0; + padding-left: 0; + } +} +@media (min-width: 768px) { + .container { + max-width: 700px; + } +} +@media (min-width: 1024px) { + .container { + max-width: 950px; + } +} +@media (min-width: 1280px) { + .container { + max-width: 1200px; + } +} +@media (min-width: 1536px) { + .container { + max-width: 1450px; + } +} + +/** + * Grid + * Minimal grid system with auto-layout columns + */ +.grid { + grid-column-gap: var(--pico-grid-column-gap); + grid-row-gap: var(--pico-grid-row-gap); + display: grid; + grid-template-columns: 1fr; +} +@media (min-width: 768px) { + .grid { + grid-template-columns: repeat(auto-fit, minmax(0%, 1fr)); + } +} +.grid > * { + min-width: 0; +} + +/** + * Overflow auto + */ +.overflow-auto { + overflow: auto; +} + +/** + * Typography + */ +b, +strong { + font-weight: bolder; +} + +sub, +sup { + position: relative; + font-size: 0.75em; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +address, +blockquote, +dl, +ol, +p, +pre, +table, +ul { + margin-top: 0; + margin-bottom: var(--pico-typography-spacing-vertical); + color: var(--pico-color); + font-style: normal; + font-weight: var(--pico-font-weight); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: var(--pico-typography-spacing-vertical); + color: var(--pico-color); + font-weight: var(--pico-font-weight); + font-size: var(--pico-font-size); + line-height: var(--pico-line-height); + font-family: var(--pico-font-family-serif); +} + +h1 { + --pico-color: var(--pico-h1-color); +} + +h2 { + --pico-color: var(--pico-h2-color); +} + +h3 { + --pico-color: var(--pico-h3-color); +} + +h4 { + --pico-color: var(--pico-h4-color); +} + +h5 { + --pico-color: var(--pico-h5-color); +} + +h6 { + --pico-color: var(--pico-h6-color); +} + +:where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul) ~ :is(h1, h2, h3, h4, h5, h6) { + margin-top: var(--pico-typography-spacing-top); +} + +p { + margin-bottom: var(--pico-typography-spacing-vertical); +} + +hgroup { + margin-bottom: var(--pico-typography-spacing-vertical); +} +hgroup > * { + margin-top: 0; + margin-bottom: 0; +} +hgroup > *:not(:first-child):last-child { + --pico-color: var(--pico-muted-color); + --pico-font-weight: unset; + font-size: 1rem; +} + +:where(ol, ul) li { + margin-bottom: calc(var(--pico-typography-spacing-vertical) * 0.25); +} + +:where(dl, ol, ul) :where(dl, ol, ul) { + margin: 0; + margin-top: calc(var(--pico-typography-spacing-vertical) * 0.25); +} + +ul li { + list-style: square; +} + +mark { + padding: 0.125rem 0.25rem; + background-color: var(--pico-mark-background-color); + color: var(--pico-mark-color); + vertical-align: baseline; +} + +blockquote { + display: block; + margin: var(--pico-typography-spacing-vertical) 0; + padding: var(--pico-spacing); + border-right: none; + border-left: 0.25rem solid var(--pico-blockquote-border-color); + border-inline-start: 0.25rem solid var(--pico-blockquote-border-color); + border-inline-end: none; +} +blockquote footer { + margin-top: calc(var(--pico-typography-spacing-vertical) * 0.5); + color: var(--pico-blockquote-footer-color); +} + +abbr[title] { + border-bottom: 1px dotted; + text-decoration: none; + cursor: help; +} + +ins { + color: var(--pico-ins-color); + text-decoration: none; +} + +del { + color: var(--pico-del-color); +} + +::-moz-selection { + background-color: var(--pico-text-selection-color); +} + +::selection { + background-color: var(--pico-text-selection-color); +} + +/** + * Link + */ +:where(a:not([role=button])), +[role=link] { + --pico-color: var(--pico-primary); + --pico-background-color: transparent; + --pico-underline: var(--pico-primary-underline); + outline: none; + background-color: var(--pico-background-color); + color: var(--pico-color); + -webkit-text-decoration: var(--pico-text-decoration); + text-decoration: var(--pico-text-decoration); + text-decoration-color: var(--pico-underline); + text-underline-offset: 0.125em; + transition: background-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition); + transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition); + transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition); +} +:where(a:not([role=button])):is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[role=link]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-color: var(--pico-primary-hover); + --pico-underline: var(--pico-primary-hover-underline); + --pico-text-decoration: underline; +} +:where(a:not([role=button])):focus-visible, +[role=link]:focus-visible { + box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus); +} +:where(a:not([role=button])).secondary, +[role=link].secondary { + --pico-color: var(--pico-secondary); + --pico-underline: var(--pico-secondary-underline); +} +:where(a:not([role=button])).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[role=link].secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-color: var(--pico-secondary-hover); + --pico-underline: var(--pico-secondary-hover-underline); +} +:where(a:not([role=button])).contrast, +[role=link].contrast { + --pico-color: var(--pico-contrast); + --pico-underline: var(--pico-contrast-underline); +} +:where(a:not([role=button])).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[role=link].contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-color: var(--pico-contrast-hover); + --pico-underline: var(--pico-contrast-hover-underline); +} + +a[role=button] { + display: inline-block; +} + +/** + * Button + */ +button { + margin: 0; + overflow: visible; + font-family: inherit; + text-transform: none; +} + +button, +[type=submit], +[type=reset], +[type=button] { + -webkit-appearance: button; +} + +button, +[type=submit], +[type=reset], +[type=button], +[type=file]::file-selector-button, +[role=button] { + --pico-background-color: var(--pico-primary-background); + --pico-border-color: var(--pico-primary-border); + --pico-color: var(--pico-primary-inverse); + --pico-box-shadow: var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0)); + padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal); + border: var(--pico-border-width) solid var(--pico-border-color); + border-radius: var(--pico-border-radius); + outline: none; + background-color: var(--pico-background-color); + box-shadow: var(--pico-box-shadow); + color: var(--pico-color); + font-weight: var(--pico-font-weight); + font-size: 1rem; + line-height: var(--pico-line-height); + text-align: center; + text-decoration: none; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition); +} +button:is([aria-current]:not([aria-current=false])), button:is(:hover, :active, :focus), +[type=submit]:is([aria-current]:not([aria-current=false])), +[type=submit]:is(:hover, :active, :focus), +[type=reset]:is([aria-current]:not([aria-current=false])), +[type=reset]:is(:hover, :active, :focus), +[type=button]:is([aria-current]:not([aria-current=false])), +[type=button]:is(:hover, :active, :focus), +[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])), +[type=file]::file-selector-button:is(:hover, :active, :focus), +[role=button]:is([aria-current]:not([aria-current=false])), +[role=button]:is(:hover, :active, :focus) { + --pico-background-color: var(--pico-primary-hover-background); + --pico-border-color: var(--pico-primary-hover-border); + --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)); + --pico-color: var(--pico-primary-inverse); +} +button:focus, button:is([aria-current]:not([aria-current=false])):focus, +[type=submit]:focus, +[type=submit]:is([aria-current]:not([aria-current=false])):focus, +[type=reset]:focus, +[type=reset]:is([aria-current]:not([aria-current=false])):focus, +[type=button]:focus, +[type=button]:is([aria-current]:not([aria-current=false])):focus, +[type=file]::file-selector-button:focus, +[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus, +[role=button]:focus, +[role=button]:is([aria-current]:not([aria-current=false])):focus { + --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-primary-focus); +} + +[type=submit], +[type=reset], +[type=button] { + margin-bottom: var(--pico-spacing); +} + +:is(button, [type=submit], [type=button], [role=button]).secondary, +[type=reset], +[type=file]::file-selector-button { + --pico-background-color: var(--pico-secondary-background); + --pico-border-color: var(--pico-secondary-border); + --pico-color: var(--pico-secondary-inverse); + cursor: pointer; +} +:is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[type=reset]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-background-color: var(--pico-secondary-hover-background); + --pico-border-color: var(--pico-secondary-hover-border); + --pico-color: var(--pico-secondary-inverse); +} +:is(button, [type=submit], [type=button], [role=button]).secondary:focus, :is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false])):focus, +[type=reset]:focus, +[type=reset]:is([aria-current]:not([aria-current=false])):focus, +[type=file]::file-selector-button:focus, +[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus { + --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus); +} + +:is(button, [type=submit], [type=button], [role=button]).contrast { + --pico-background-color: var(--pico-contrast-background); + --pico-border-color: var(--pico-contrast-border); + --pico-color: var(--pico-contrast-inverse); +} +:is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-background-color: var(--pico-contrast-hover-background); + --pico-border-color: var(--pico-contrast-hover-border); + --pico-color: var(--pico-contrast-inverse); +} +:is(button, [type=submit], [type=button], [role=button]).contrast:focus, :is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false])):focus { + --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-contrast-focus); +} + +:is(button, [type=submit], [type=button], [role=button]).outline, +[type=reset].outline { + --pico-background-color: transparent; + --pico-color: var(--pico-primary); + --pico-border-color: var(--pico-primary); +} +:is(button, [type=submit], [type=button], [role=button]).outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-background-color: transparent; + --pico-color: var(--pico-primary-hover); + --pico-border-color: var(--pico-primary-hover); +} + +:is(button, [type=submit], [type=button], [role=button]).outline.secondary, +[type=reset].outline { + --pico-color: var(--pico-secondary); + --pico-border-color: var(--pico-secondary); +} +:is(button, [type=submit], [type=button], [role=button]).outline.secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), +[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-color: var(--pico-secondary-hover); + --pico-border-color: var(--pico-secondary-hover); +} + +:is(button, [type=submit], [type=button], [role=button]).outline.contrast { + --pico-color: var(--pico-contrast); + --pico-border-color: var(--pico-contrast); +} +:is(button, [type=submit], [type=button], [role=button]).outline.contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + --pico-color: var(--pico-contrast-hover); + --pico-border-color: var(--pico-contrast-hover); +} + +:where(button, [type=submit], [type=reset], [type=button], [role=button])[disabled], +:where(fieldset[disabled]) :is(button, [type=submit], [type=button], [type=reset], [role=button]) { + opacity: 0.5; + pointer-events: none; +} + +/** + * Table + */ +:where(table) { + width: 100%; + border-collapse: collapse; + border-spacing: 0; + text-indent: 0; +} + +th, +td { + padding: calc(var(--pico-spacing) / 2) var(--pico-spacing); + border-bottom: var(--pico-border-width) solid var(--pico-table-border-color); + background-color: var(--pico-background-color); + color: var(--pico-color); + font-weight: var(--pico-font-weight); + text-align: left; + text-align: start; +} + +tfoot th, +tfoot td { + border-top: var(--pico-border-width) solid var(--pico-table-border-color); + border-bottom: 0; +} + +table.striped tbody tr:nth-child(odd) th, +table.striped tbody tr:nth-child(odd) td { + background-color: var(--pico-table-row-stripped-background-color); +} + +/** + * Embedded content + */ +:where(audio, canvas, iframe, img, svg, video) { + vertical-align: middle; +} + +audio, +video { + display: inline-block; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +:where(iframe) { + border-style: none; +} + +img { + max-width: 100%; + height: auto; + border-style: none; +} + +:where(svg:not([fill])) { + fill: currentColor; +} + +svg:not(:root), +svg:not(:host) { + overflow: hidden; +} + +/** + * Code + */ +pre, +code, +kbd, +samp { + font-size: 0.875em; + font-family: var(--pico-font-family); +} + +pre code, +pre samp { + font-size: inherit; + font-family: inherit; +} + +pre { + -ms-overflow-style: scrollbar; + overflow: auto; +} + +pre, +code, +kbd, +samp { + border-radius: var(--pico-border-radius); + background: var(--pico-code-background-color); + color: var(--pico-code-color); + font-weight: var(--pico-font-weight); + line-height: initial; +} + +code, +kbd, +samp { + display: inline-block; + padding: 0.375rem; +} + +pre { + display: block; + margin-bottom: var(--pico-spacing); + overflow-x: auto; +} +pre > code, +pre > samp { + display: block; + padding: var(--pico-spacing); + background: none; + line-height: var(--pico-line-height); +} + +kbd { + background-color: var(--pico-code-kbd-background-color); + color: var(--pico-code-kbd-color); + vertical-align: baseline; +} + +/** + * Figure + */ +figure { + display: block; + margin: 0; + padding: 0; +} +figure figcaption { + padding: calc(var(--pico-spacing) * 0.5) 0; + color: var(--pico-muted-color); +} + +/** + * Misc + */ +hr { + height: 0; + margin: var(--pico-typography-spacing-vertical) 0; + border: 0; + border-top: 1px solid var(--pico-muted-border-color); + color: inherit; +} + +[hidden], +template { + display: none !important; +} + +canvas { + display: inline-block; +} + +/** + * Basics form elements + */ +input, +optgroup, +select, +textarea { + margin: 0; + font-size: 1rem; + line-height: var(--pico-line-height); + font-family: inherit; + letter-spacing: inherit; +} + +input { + overflow: visible; +} + +select { + text-transform: none; +} + +legend { + max-width: 100%; + padding: 0; + color: inherit; + white-space: normal; +} + +textarea { + overflow: auto; +} + +[type=checkbox], +[type=radio] { + padding: 0; +} + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +[type=search] { + -webkit-appearance: textfield; + outline-offset: -2px; +} + +[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +::-webkit-file-upload-button { + -webkit-appearance: button; + font: inherit; +} + +::-moz-focus-inner { + padding: 0; + border-style: none; +} + +:-moz-focusring { + outline: none; +} + +:-moz-ui-invalid { + box-shadow: none; +} + +::-ms-expand { + display: none; +} + +[type=file], +[type=range] { + padding: 0; + border-width: 0; +} + +input:not([type=checkbox], [type=radio], [type=range]) { + height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2); +} + +fieldset { + width: 100%; + margin: 0; + margin-bottom: var(--pico-spacing); + padding: 0; + border: 0; +} + +label, +fieldset legend { + display: block; + margin-bottom: calc(var(--pico-spacing) * 0.375); + color: var(--pico-color); + font-weight: var(--pico-form-label-font-weight, var(--pico-font-weight)); +} + +fieldset legend { + margin-bottom: calc(var(--pico-spacing) * 0.5); +} + +input:not([type=checkbox], [type=radio]), +button[type=submit], +select, +textarea { + width: 100%; +} + +input:not([type=checkbox], [type=radio], [type=range], [type=file]), +select, +textarea { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal); +} + +input, +select, +textarea { + --pico-background-color: var(--pico-form-element-background-color); + --pico-border-color: var(--pico-form-element-border-color); + --pico-color: var(--pico-form-element-color); + --pico-box-shadow: none; + border: var(--pico-border-width) solid var(--pico-border-color); + border-radius: var(--pico-border-radius); + outline: none; + background-color: var(--pico-background-color); + box-shadow: var(--pico-box-shadow); + color: var(--pico-color); + font-weight: var(--pico-font-weight); + transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition); +} + +input:not([type=submit], +[type=button], +[type=reset], +[type=checkbox], +[type=radio], +[readonly]):is(:active, :focus), +:where(select, textarea):not([readonly]):is(:active, :focus) { + --pico-background-color: var(--pico-form-element-active-background-color); +} + +input:not([type=submit], [type=button], [type=reset], [role=switch], [readonly]):is(:active, :focus), +:where(select, textarea):not([readonly]):is(:active, :focus) { + --pico-border-color: var(--pico-form-element-active-border-color); +} + +input:not([type=submit], +[type=button], +[type=reset], +[type=range], +[type=file], +[readonly]):focus, +:where(select, textarea):not([readonly]):focus { + --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color); +} + +input:not([type=submit], [type=button], [type=reset])[disabled], +select[disabled], +textarea[disabled], +label[aria-disabled=true], +:where(fieldset[disabled]) :is(input:not([type=submit], [type=button], [type=reset]), select, textarea) { + opacity: var(--pico-form-element-disabled-opacity); + pointer-events: none; +} + +label[aria-disabled=true] input[disabled] { + opacity: 1; +} + +:where(input, select, textarea):not([type=checkbox], +[type=radio], +[type=date], +[type=datetime-local], +[type=month], +[type=time], +[type=week], +[type=range])[aria-invalid] { + padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important; + padding-left: var(--pico-form-element-spacing-horizontal); + padding-inline-start: var(--pico-form-element-spacing-horizontal) !important; + padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important; + background-position: center right 0.75rem; + background-size: 1rem auto; + background-repeat: no-repeat; +} +:where(input, select, textarea):not([type=checkbox], +[type=radio], +[type=date], +[type=datetime-local], +[type=month], +[type=time], +[type=week], +[type=range])[aria-invalid=false]:not(select) { + background-image: var(--pico-icon-valid); +} +:where(input, select, textarea):not([type=checkbox], +[type=radio], +[type=date], +[type=datetime-local], +[type=month], +[type=time], +[type=week], +[type=range])[aria-invalid=true]:not(select) { + background-image: var(--pico-icon-invalid); +} +:where(input, select, textarea)[aria-invalid=false] { + --pico-border-color: var(--pico-form-element-valid-border-color); +} +:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus) { + --pico-border-color: var(--pico-form-element-valid-active-border-color) !important; +} +:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus):not([type=checkbox], [type=radio]) { + --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-valid-focus-color) !important; +} +:where(input, select, textarea)[aria-invalid=true] { + --pico-border-color: var(--pico-form-element-invalid-border-color); +} +:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus) { + --pico-border-color: var(--pico-form-element-invalid-active-border-color) !important; +} +:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus):not([type=checkbox], [type=radio]) { + --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-invalid-focus-color) !important; +} + +[dir=rtl] :where(input, select, textarea):not([type=checkbox], [type=radio]):is([aria-invalid], [aria-invalid=true], [aria-invalid=false]) { + background-position: center left 0.75rem; +} + +input::placeholder, +input::-webkit-input-placeholder, +textarea::placeholder, +textarea::-webkit-input-placeholder, +select:invalid { + color: var(--pico-form-element-placeholder-color); + opacity: 1; +} + +input:not([type=checkbox], [type=radio]), +select, +textarea { + margin-bottom: var(--pico-spacing); +} + +select::-ms-expand { + border: 0; + background-color: transparent; +} +select:not([multiple], [size]) { + padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem); + padding-left: var(--pico-form-element-spacing-horizontal); + padding-inline-start: var(--pico-form-element-spacing-horizontal); + padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem); + background-image: var(--pico-icon-chevron); + background-position: center right 0.75rem; + background-size: 1rem auto; + background-repeat: no-repeat; +} +select[multiple] option:checked { + background: var(--pico-form-element-selected-background-color); + color: var(--pico-form-element-color); +} + +[dir=rtl] select:not([multiple], [size]) { + background-position: center left 0.75rem; +} + +textarea { + display: block; + resize: vertical; +} +textarea[aria-invalid] { + --pico-icon-height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2); + background-position: top right 0.75rem !important; + background-size: 1rem var(--pico-icon-height) !important; +} + +:where(input, select, textarea, fieldset, .grid) + small { + display: block; + width: 100%; + margin-top: calc(var(--pico-spacing) * -0.75); + margin-bottom: var(--pico-spacing); + color: var(--pico-muted-color); +} +:where(input, select, textarea, fieldset, .grid)[aria-invalid=false] + small { + color: var(--pico-ins-color); +} +:where(input, select, textarea, fieldset, .grid)[aria-invalid=true] + small { + color: var(--pico-del-color); +} + +label > :where(input, select, textarea) { + margin-top: calc(var(--pico-spacing) * 0.25); +} + +/** + * Checkboxes, Radios and Switches + */ +label:has([type=checkbox], [type=radio]) { + width: -moz-fit-content; + width: fit-content; + cursor: pointer; +} + +[type=checkbox], +[type=radio] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + width: 1.25em; + height: 1.25em; + margin-top: -0.125em; + margin-inline-end: 0.5em; + border-width: var(--pico-border-width); + vertical-align: middle; + cursor: pointer; +} +[type=checkbox]::-ms-check, +[type=radio]::-ms-check { + display: none; +} +[type=checkbox]:checked, [type=checkbox]:checked:active, [type=checkbox]:checked:focus, +[type=radio]:checked, +[type=radio]:checked:active, +[type=radio]:checked:focus { + --pico-background-color: var(--pico-primary-background); + --pico-border-color: var(--pico-primary-border); + background-image: var(--pico-icon-checkbox); + background-position: center; + background-size: 0.75em auto; + background-repeat: no-repeat; +} +[type=checkbox] ~ label, +[type=radio] ~ label { + display: inline-block; + margin-bottom: 0; + cursor: pointer; +} +[type=checkbox] ~ label:not(:last-of-type), +[type=radio] ~ label:not(:last-of-type) { + margin-inline-end: 1em; +} + +[type=checkbox]:indeterminate { + --pico-background-color: var(--pico-primary-background); + --pico-border-color: var(--pico-primary-border); + background-image: var(--pico-icon-minus); + background-position: center; + background-size: 0.75em auto; + background-repeat: no-repeat; +} + +[type=radio] { + border-radius: 50%; +} +[type=radio]:checked, [type=radio]:checked:active, [type=radio]:checked:focus { + --pico-background-color: var(--pico-primary-inverse); + border-width: 0.35em; + background-image: none; +} + +[type=checkbox][role=switch] { + --pico-background-color: var(--pico-switch-background-color); + --pico-color: var(--pico-switch-color); + width: 2.25em; + height: 1.25em; + border: var(--pico-border-width) solid var(--pico-border-color); + border-radius: 1.25em; + background-color: var(--pico-background-color); + line-height: 1.25em; +} +[type=checkbox][role=switch]:not([aria-invalid]) { + --pico-border-color: var(--pico-switch-background-color); +} +[type=checkbox][role=switch]:before { + display: block; + aspect-ratio: 1; + height: 100%; + border-radius: 50%; + background-color: var(--pico-color); + box-shadow: var(--pico-switch-thumb-box-shadow); + content: ""; + transition: margin 0.1s ease-in-out; +} +[type=checkbox][role=switch]:focus { + --pico-background-color: var(--pico-switch-background-color); + --pico-border-color: var(--pico-switch-background-color); +} +[type=checkbox][role=switch]:checked { + --pico-background-color: var(--pico-switch-checked-background-color); + --pico-border-color: var(--pico-switch-checked-background-color); + background-image: none; +} +[type=checkbox][role=switch]:checked::before { + margin-inline-start: calc(2.25em - 1.25em); +} +[type=checkbox][role=switch][disabled] { + --pico-background-color: var(--pico-border-color); +} + +[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus, +[type=checkbox][role=switch][aria-invalid=false]:checked, +[type=checkbox][role=switch][aria-invalid=false]:checked:active, +[type=checkbox][role=switch][aria-invalid=false]:checked:focus { + --pico-background-color: var(--pico-form-element-valid-border-color); +} +[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true], +[type=checkbox][role=switch]:checked[aria-invalid=true], +[type=checkbox][role=switch]:checked:active[aria-invalid=true], +[type=checkbox][role=switch]:checked:focus[aria-invalid=true] { + --pico-background-color: var(--pico-form-element-invalid-border-color); +} + +[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus, +[type=radio][aria-invalid=false]:checked, +[type=radio][aria-invalid=false]:checked:active, +[type=radio][aria-invalid=false]:checked:focus, +[type=checkbox][role=switch][aria-invalid=false]:checked, +[type=checkbox][role=switch][aria-invalid=false]:checked:active, +[type=checkbox][role=switch][aria-invalid=false]:checked:focus { + --pico-border-color: var(--pico-form-element-valid-border-color); +} +[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true], +[type=radio]:checked[aria-invalid=true], +[type=radio]:checked:active[aria-invalid=true], +[type=radio]:checked:focus[aria-invalid=true], +[type=checkbox][role=switch]:checked[aria-invalid=true], +[type=checkbox][role=switch]:checked:active[aria-invalid=true], +[type=checkbox][role=switch]:checked:focus[aria-invalid=true] { + --pico-border-color: var(--pico-form-element-invalid-border-color); +} + +/** + * Input type color + */ +[type=color]::-webkit-color-swatch-wrapper { + padding: 0; +} +[type=color]::-moz-focus-inner { + padding: 0; +} +[type=color]::-webkit-color-swatch { + border: 0; + border-radius: calc(var(--pico-border-radius) * 0.5); +} +[type=color]::-moz-color-swatch { + border: 0; + border-radius: calc(var(--pico-border-radius) * 0.5); +} + +/** + * Input type datetime + */ +input:not([type=checkbox], [type=radio], [type=range], [type=file]):is([type=date], [type=datetime-local], [type=month], [type=time], [type=week]) { + --pico-icon-position: 0.75rem; + --pico-icon-width: 1rem; + padding-right: calc(var(--pico-icon-width) + var(--pico-icon-position)); + background-image: var(--pico-icon-date); + background-position: center right var(--pico-icon-position); + background-size: var(--pico-icon-width) auto; + background-repeat: no-repeat; +} +input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=time] { + background-image: var(--pico-icon-time); +} + +[type=date]::-webkit-calendar-picker-indicator, +[type=datetime-local]::-webkit-calendar-picker-indicator, +[type=month]::-webkit-calendar-picker-indicator, +[type=time]::-webkit-calendar-picker-indicator, +[type=week]::-webkit-calendar-picker-indicator { + width: var(--pico-icon-width); + margin-right: calc(var(--pico-icon-width) * -1); + margin-left: var(--pico-icon-position); + opacity: 0; +} + +@-moz-document url-prefix() { + [type=date], + [type=datetime-local], + [type=month], + [type=time], + [type=week] { + padding-right: var(--pico-form-element-spacing-horizontal) !important; + background-image: none !important; + } +} +[dir=rtl] :is([type=date], [type=datetime-local], [type=month], [type=time], [type=week]) { + text-align: right; +} + +/** + * Input type file + */ +[type=file] { + --pico-color: var(--pico-muted-color); + margin-left: calc(var(--pico-outline-width) * -1); + padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) 0; + padding-left: var(--pico-outline-width); + border: 0; + border-radius: 0; + background: none; +} +[type=file]::file-selector-button { + margin-right: calc(var(--pico-spacing) / 2); + padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal); +} +[type=file]:is(:hover, :active, :focus)::file-selector-button { + --pico-background-color: var(--pico-secondary-hover-background); + --pico-border-color: var(--pico-secondary-hover-border); +} +[type=file]:focus::file-selector-button { + --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus); +} + +/** + * Input type range + */ +[type=range] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + width: 100%; + height: 1.25rem; + background: none; +} +[type=range]::-webkit-slider-runnable-track { + width: 100%; + height: 0.375rem; + border-radius: var(--pico-border-radius); + background-color: var(--pico-range-border-color); + -webkit-transition: background-color var(--pico-transition), box-shadow var(--pico-transition); + transition: background-color var(--pico-transition), box-shadow var(--pico-transition); +} +[type=range]::-moz-range-track { + width: 100%; + height: 0.375rem; + border-radius: var(--pico-border-radius); + background-color: var(--pico-range-border-color); + -moz-transition: background-color var(--pico-transition), box-shadow var(--pico-transition); + transition: background-color var(--pico-transition), box-shadow var(--pico-transition); +} +[type=range]::-ms-track { + width: 100%; + height: 0.375rem; + border-radius: var(--pico-border-radius); + background-color: var(--pico-range-border-color); + -ms-transition: background-color var(--pico-transition), box-shadow var(--pico-transition); + transition: background-color var(--pico-transition), box-shadow var(--pico-transition); +} +[type=range]::-webkit-slider-thumb { + -webkit-appearance: none; + width: 1.25rem; + height: 1.25rem; + margin-top: -0.4375rem; + border: 2px solid var(--pico-range-thumb-border-color); + border-radius: 50%; + background-color: var(--pico-range-thumb-color); + cursor: pointer; + -webkit-transition: background-color var(--pico-transition), transform var(--pico-transition); + transition: background-color var(--pico-transition), transform var(--pico-transition); +} +[type=range]::-moz-range-thumb { + -webkit-appearance: none; + width: 1.25rem; + height: 1.25rem; + margin-top: -0.4375rem; + border: 2px solid var(--pico-range-thumb-border-color); + border-radius: 50%; + background-color: var(--pico-range-thumb-color); + cursor: pointer; + -moz-transition: background-color var(--pico-transition), transform var(--pico-transition); + transition: background-color var(--pico-transition), transform var(--pico-transition); +} +[type=range]::-ms-thumb { + -webkit-appearance: none; + width: 1.25rem; + height: 1.25rem; + margin-top: -0.4375rem; + border: 2px solid var(--pico-range-thumb-border-color); + border-radius: 50%; + background-color: var(--pico-range-thumb-color); + cursor: pointer; + -ms-transition: background-color var(--pico-transition), transform var(--pico-transition); + transition: background-color var(--pico-transition), transform var(--pico-transition); +} +[type=range]:active, [type=range]:focus-within { + --pico-range-border-color: var(--pico-range-active-border-color); + --pico-range-thumb-color: var(--pico-range-thumb-active-color); +} +[type=range]:active::-webkit-slider-thumb { + transform: scale(1.25); +} +[type=range]:active::-moz-range-thumb { + transform: scale(1.25); +} +[type=range]:active::-ms-thumb { + transform: scale(1.25); +} + +/** + * Input type search + */ +input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] { + padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem); + background-image: var(--pico-icon-search); + background-position: center left calc(var(--pico-form-element-spacing-horizontal) + 0.125rem); + background-size: 1rem auto; + background-repeat: no-repeat; +} +input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] { + padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem) !important; + background-position: center left 1.125rem, center right 0.75rem; +} +input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=false] { + background-image: var(--pico-icon-search), var(--pico-icon-valid); +} +input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=true] { + background-image: var(--pico-icon-search), var(--pico-icon-invalid); +} + +[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] { + background-position: center right 1.125rem; +} +[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] { + background-position: center right 1.125rem, center left 0.75rem; +} + +/** + * Accordion (<details>) + */ +details { + display: block; + margin-bottom: var(--pico-spacing); +} +details summary { + line-height: 1rem; + list-style-type: none; + cursor: pointer; + transition: color var(--pico-transition); +} +details summary:not([role]) { + color: var(--pico-accordion-close-summary-color); +} +details summary::-webkit-details-marker { + display: none; +} +details summary::marker { + display: none; +} +details summary::-moz-list-bullet { + list-style-type: none; +} +details summary::after { + display: block; + width: 1rem; + height: 1rem; + margin-inline-start: calc(var(--pico-spacing, 1rem) * 0.5); + float: right; + transform: rotate(-90deg); + background-image: var(--pico-icon-chevron); + background-position: right center; + background-size: 1rem auto; + background-repeat: no-repeat; + content: ""; + transition: transform var(--pico-transition); +} +details summary:focus { + outline: none; +} +details summary:focus:not([role]) { + color: var(--pico-accordion-active-summary-color); +} +details summary:focus-visible:not([role]) { + outline: var(--pico-outline-width) solid var(--pico-primary-focus); + outline-offset: calc(var(--pico-spacing, 1rem) * 0.5); + color: var(--pico-primary); +} +details summary[role=button] { + width: 100%; + text-align: left; +} +details summary[role=button]::after { + height: calc(1rem * var(--pico-line-height, 1.5)); +} +details[open] > summary { + margin-bottom: var(--pico-spacing); +} +details[open] > summary:not([role]):not(:focus) { + color: var(--pico-accordion-open-summary-color); +} +details[open] > summary::after { + transform: rotate(0); +} + +[dir=rtl] details summary { + text-align: right; +} +[dir=rtl] details summary::after { + float: left; + background-position: left center; +} + +/** + * Card (<article>) + */ +article { + margin-bottom: var(--pico-block-spacing-vertical); + padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal); + border-radius: var(--pico-border-radius); + background: var(--pico-card-background-color); + box-shadow: var(--pico-card-box-shadow); +} +article > header, +article > footer { + margin-right: calc(var(--pico-block-spacing-horizontal) * -1); + margin-left: calc(var(--pico-block-spacing-horizontal) * -1); + padding: calc(var(--pico-block-spacing-vertical) * 0.66) var(--pico-block-spacing-horizontal); + background-color: var(--pico-card-sectioning-background-color); +} +article > header { + margin-top: calc(var(--pico-block-spacing-vertical) * -1); + margin-bottom: var(--pico-block-spacing-vertical); + border-bottom: var(--pico-border-width) solid var(--pico-card-border-color); + border-top-right-radius: var(--pico-border-radius); + border-top-left-radius: var(--pico-border-radius); + + > h3 { + margin-top: var(--pico-typography-spacing-vertical); + } +} +article > footer { + margin-top: var(--pico-block-spacing-vertical); + margin-bottom: calc(var(--pico-block-spacing-vertical) * -1); + border-top: var(--pico-border-width) solid var(--pico-card-border-color); + border-bottom-right-radius: var(--pico-border-radius); + border-bottom-left-radius: var(--pico-border-radius); +} + +/** + * Dropdown (details.dropdown) + */ +details.dropdown { + position: relative; + border-bottom: none; +} +details.dropdown > summary::after, +details.dropdown > button::after, +details.dropdown > a::after { + display: block; + width: 1rem; + height: calc(1rem * var(--pico-line-height, 1.5)); + margin-inline-start: 0.25rem; + float: right; + transform: rotate(0deg) translateX(0.2rem); + background-image: var(--pico-icon-chevron); + background-position: right center; + background-size: 1rem auto; + background-repeat: no-repeat; + content: ""; +} + +nav details.dropdown { + margin-bottom: 0; +} + +details.dropdown > summary:not([role]) { + height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2); + padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal); + border: var(--pico-border-width) solid var(--pico-form-element-border-color); + border-radius: var(--pico-border-radius); + background-color: var(--pico-form-element-background-color); + color: var(--pico-form-element-placeholder-color); + line-height: inherit; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition); +} +details.dropdown > summary:not([role]):active, details.dropdown > summary:not([role]):focus { + border-color: var(--pico-form-element-active-border-color); + background-color: var(--pico-form-element-active-background-color); +} +details.dropdown > summary:not([role]):focus { + box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color); +} +details.dropdown > summary:not([role]):focus-visible { + outline: none; +} +details.dropdown > summary:not([role])[aria-invalid=false] { + --pico-form-element-border-color: var(--pico-form-element-valid-border-color); + --pico-form-element-active-border-color: var(--pico-form-element-valid-focus-color); + --pico-form-element-focus-color: var(--pico-form-element-valid-focus-color); +} +details.dropdown > summary:not([role])[aria-invalid=true] { + --pico-form-element-border-color: var(--pico-form-element-invalid-border-color); + --pico-form-element-active-border-color: var(--pico-form-element-invalid-focus-color); + --pico-form-element-focus-color: var(--pico-form-element-invalid-focus-color); +} + +nav details.dropdown { + display: inline; + margin: calc(var(--pico-nav-element-spacing-vertical) * -1) 0; +} +nav details.dropdown > summary::after { + transform: rotate(0deg) translateX(0rem); +} +nav details.dropdown > summary:not([role]) { + height: calc(1rem * var(--pico-line-height) + var(--pico-nav-link-spacing-vertical) * 2); + padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal); +} +nav details.dropdown > summary:not([role]):focus-visible { + box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus); +} + +details.dropdown > summary + ul { + display: flex; + z-index: 99; + position: absolute; + left: 0; + flex-direction: column; + width: 100%; + min-width: -moz-fit-content; + min-width: fit-content; + margin: 0; + margin-top: var(--pico-outline-width); + padding: 0; + border: var(--pico-border-width) solid var(--pico-dropdown-border-color); + border-radius: var(--pico-border-radius); + background-color: var(--pico-dropdown-background-color); + box-shadow: var(--pico-dropdown-box-shadow); + color: var(--pico-dropdown-color); + white-space: nowrap; + opacity: 0; + transition: opacity var(--pico-transition), transform 0s ease-in-out 1s; +} +details.dropdown > summary + ul[dir=rtl] { + right: 0; + left: auto; +} +details.dropdown > summary + ul li { + width: 100%; + margin-bottom: 0; + padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal); + list-style: none; +} +details.dropdown > summary + ul li:first-of-type { + margin-top: calc(var(--pico-form-element-spacing-vertical) * 0.5); +} +details.dropdown > summary + ul li:last-of-type { + margin-bottom: calc(var(--pico-form-element-spacing-vertical) * 0.5); +} +details.dropdown > summary + ul li a { + display: block; + margin: calc(var(--pico-form-element-spacing-vertical) * -0.5) calc(var(--pico-form-element-spacing-horizontal) * -1); + padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal); + overflow: hidden; + border-radius: 0; + color: var(--pico-dropdown-color); + text-decoration: none; + text-overflow: ellipsis; +} +details.dropdown > summary + ul li a:hover, details.dropdown > summary + ul li a:focus, details.dropdown > summary + ul li a:active, details.dropdown > summary + ul li a:focus-visible, details.dropdown > summary + ul li a[aria-current]:not([aria-current=false]) { + background-color: var(--pico-dropdown-hover-background-color); +} +details.dropdown > summary + ul li label { + width: 100%; +} +details.dropdown > summary + ul li:has(label):hover { + background-color: var(--pico-dropdown-hover-background-color); +} + +details.dropdown[open] > summary { + margin-bottom: 0; +} + +details.dropdown[open] > summary + ul { + transform: scaleY(1); + opacity: 1; + transition: opacity var(--pico-transition), transform 0s ease-in-out 0s; +} + +details.dropdown[open] > summary::before { + display: block; + z-index: 1; + position: fixed; + width: 100vw; + height: 100vh; + inset: 0; + background: none; + content: ""; + cursor: default; +} + +label > details.dropdown { + margin-top: calc(var(--pico-spacing) * 0.25); +} + +/** + * Group ([role="group"], [role="search"]) + */ +[role=search], +[role=group] { + display: inline-flex; + position: relative; + width: 100%; + margin-bottom: var(--pico-spacing); + border-radius: var(--pico-border-radius); + box-shadow: var(--pico-group-box-shadow, 0 0 0 rgba(0, 0, 0, 0)); + vertical-align: middle; + transition: box-shadow var(--pico-transition); +} +[role=search] > *, +[role=search] input:not([type=checkbox], [type=radio]), +[role=search] select, +[role=group] > *, +[role=group] input:not([type=checkbox], [type=radio]), +[role=group] select { + position: relative; + flex: 1 1 auto; + margin-bottom: 0; +} +[role=search] > *:not(:first-child), +[role=search] input:not([type=checkbox], [type=radio]):not(:first-child), +[role=search] select:not(:first-child), +[role=group] > *:not(:first-child), +[role=group] input:not([type=checkbox], [type=radio]):not(:first-child), +[role=group] select:not(:first-child) { + margin-left: 0; + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +[role=search] > *:not(:last-child), +[role=search] input:not([type=checkbox], [type=radio]):not(:last-child), +[role=search] select:not(:last-child), +[role=group] > *:not(:last-child), +[role=group] input:not([type=checkbox], [type=radio]):not(:last-child), +[role=group] select:not(:last-child) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +[role=search] > *:focus, +[role=search] input:not([type=checkbox], [type=radio]):focus, +[role=search] select:focus, +[role=group] > *:focus, +[role=group] input:not([type=checkbox], [type=radio]):focus, +[role=group] select:focus { + z-index: 2; +} +[role=search] button:not(:first-child), +[role=search] [type=submit]:not(:first-child), +[role=search] [type=reset]:not(:first-child), +[role=search] [type=button]:not(:first-child), +[role=search] [role=button]:not(:first-child), +[role=search] input:not([type=checkbox], [type=radio]):not(:first-child), +[role=search] select:not(:first-child), +[role=group] button:not(:first-child), +[role=group] [type=submit]:not(:first-child), +[role=group] [type=reset]:not(:first-child), +[role=group] [type=button]:not(:first-child), +[role=group] [role=button]:not(:first-child), +[role=group] input:not([type=checkbox], [type=radio]):not(:first-child), +[role=group] select:not(:first-child) { + margin-left: calc(var(--pico-border-width) * -1); +} +[role=search] button, +[role=search] [type=submit], +[role=search] [type=reset], +[role=search] [type=button], +[role=search] [role=button], +[role=group] button, +[role=group] [type=submit], +[role=group] [type=reset], +[role=group] [type=button], +[role=group] [role=button] { + width: auto; +} +@supports selector(:has(*)) { + [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus), + [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) { + --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-button); + } + [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]), + [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select, + [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]), + [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select { + border-color: transparent; + } + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus), + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) { + --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-input); + } + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) button, + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit], + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button], + [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button], + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) button, + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit], + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button], + [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button] { + --pico-button-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-border); + --pico-button-hover-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-hover-border); + } + [role=search] button:focus, + [role=search] [type=submit]:focus, + [role=search] [type=reset]:focus, + [role=search] [type=button]:focus, + [role=search] [role=button]:focus, + [role=group] button:focus, + [role=group] [type=submit]:focus, + [role=group] [type=reset]:focus, + [role=group] [type=button]:focus, + [role=group] [role=button]:focus { + box-shadow: none; + } +} + +[role=search] > *:first-child { + border-top-left-radius: 5rem; + border-bottom-left-radius: 5rem; +} +[role=search] > *:last-child { + border-top-right-radius: 5rem; + border-bottom-right-radius: 5rem; +} + +/** + * Loading ([aria-busy=true]) + */ +[aria-busy=true]:not(input, select, textarea, html, form) { + white-space: nowrap; +} +[aria-busy=true]:not(input, select, textarea, html, form)::before { + display: inline-block; + width: 1em; + height: 1em; + background-image: var(--pico-icon-loading); + background-size: 1em auto; + background-repeat: no-repeat; + content: ""; + vertical-align: -0.125em; +} +[aria-busy=true]:not(input, select, textarea, html, form):not(:empty)::before { + margin-inline-end: calc(var(--pico-spacing) * 0.5); +} +[aria-busy=true]:not(input, select, textarea, html, form):empty { + text-align: center; +} + +button[aria-busy=true], +[type=submit][aria-busy=true], +[type=button][aria-busy=true], +[type=reset][aria-busy=true], +[role=button][aria-busy=true], +a[aria-busy=true] { + pointer-events: none; +} + +/** + * Modal (<dialog>) + */ +:root, +:host { + --pico-scrollbar-width: 0px; +} + +dialog { + display: flex; + z-index: 999; + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + align-items: center; + justify-content: center; + width: inherit; + min-width: 100%; + height: inherit; + min-height: 100%; + padding: 0; + border: 0; + -webkit-backdrop-filter: var(--pico-modal-overlay-backdrop-filter); + backdrop-filter: var(--pico-modal-overlay-backdrop-filter); + background-color: var(--pico-modal-overlay-background-color); + color: var(--pico-color); +} +dialog > article { + width: 100%; + max-height: calc(100vh - var(--pico-spacing) * 2); + margin: var(--pico-spacing); + overflow: auto; +} +@media (min-width: 576px) { + dialog > article { + max-width: 510px; + } +} +@media (min-width: 768px) { + dialog > article { + max-width: 700px; + } +} +dialog > article > header > * { + margin-bottom: 0; +} +dialog > article > header .close, dialog > article > header :is(a, button)[rel=prev] { + margin: 0; + margin-left: var(--pico-spacing); + padding: 0; + float: right; +} +dialog > article > footer { + text-align: right; +} +dialog > article > footer button, +dialog > article > footer [role=button] { + margin-bottom: 0; +} +dialog > article > footer button:not(:first-of-type), +dialog > article > footer [role=button]:not(:first-of-type) { + margin-left: calc(var(--pico-spacing) * 0.5); +} +dialog > article .close, dialog > article :is(a, button)[rel=prev] { + display: block; + width: 1rem; + height: 1rem; + margin-top: calc(var(--pico-spacing) * -1); + margin-bottom: var(--pico-spacing); + margin-left: auto; + border: none; + background-image: var(--pico-icon-close); + background-position: center; + background-size: auto 1rem; + background-repeat: no-repeat; + background-color: transparent; + opacity: 0.5; + transition: opacity var(--pico-transition); +} +dialog > article .close:is([aria-current]:not([aria-current=false]), :hover, :active, :focus), dialog > article :is(a, button)[rel=prev]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) { + opacity: 1; +} +dialog:not([open]), dialog[open=false] { + display: none; +} + +.modal-is-open { + padding-right: var(--pico-scrollbar-width, 0px); + overflow: hidden; + pointer-events: none; + touch-action: none; +} +.modal-is-open dialog { + pointer-events: auto; + touch-action: auto; +} + +:where(.modal-is-opening, .modal-is-closing) dialog, +:where(.modal-is-opening, .modal-is-closing) dialog > article { + animation-duration: 0.2s; + animation-timing-function: ease-in-out; + animation-fill-mode: both; +} +:where(.modal-is-opening, .modal-is-closing) dialog { + animation-duration: 0.8s; + animation-name: modal-overlay; +} +:where(.modal-is-opening, .modal-is-closing) dialog > article { + animation-delay: 0.2s; + animation-name: modal; +} + +.modal-is-closing dialog, +.modal-is-closing dialog > article { + animation-delay: 0s; + animation-direction: reverse; +} + +@keyframes modal-overlay { + from { + -webkit-backdrop-filter: none; + backdrop-filter: none; + background-color: transparent; + } +} +@keyframes modal { + from { + transform: translateY(-100%); + opacity: 0; + } +} +/** + * Nav + */ +:where(nav li)::before { + float: left; + content: ""; +} + +nav, +nav ul { + display: flex; +} + +nav { + justify-content: space-between; + overflow: visible; +} +nav ol, +nav ul { + align-items: center; + margin-bottom: 0; + padding: 0; + list-style: none; +} +nav ol:first-of-type, +nav ul:first-of-type { + margin-left: calc(var(--pico-nav-element-spacing-horizontal) * -1); +} +nav ol:last-of-type, +nav ul:last-of-type { + margin-right: calc(var(--pico-nav-element-spacing-horizontal) * -1); +} +nav li { + display: inline-block; + margin: 0; + padding: var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal); +} +nav li :where(a, [role=link]) { + display: inline-block; + margin: calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1); + padding: var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal); + border-radius: var(--pico-border-radius); +} +nav li :where(a, [role=link]):not(:hover) { + text-decoration: none; +} +nav li button, +nav li [role=button], +nav li [type=button], +nav li input:not([type=checkbox], [type=radio], [type=range], [type=file]), +nav li select { + height: auto; + margin-right: inherit; + margin-bottom: 0; + margin-left: inherit; + padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal); +} +nav[aria-label=breadcrumb] { + align-items: center; + justify-content: start; +} +nav[aria-label=breadcrumb] ul li:not(:first-child) { + margin-inline-start: var(--pico-nav-link-spacing-horizontal); +} +nav[aria-label=breadcrumb] ul li a { + margin: calc(var(--pico-nav-link-spacing-vertical) * -1) 0; + margin-inline-start: calc(var(--pico-nav-link-spacing-horizontal) * -1); +} +nav[aria-label=breadcrumb] ul li:not(:last-child)::after { + display: inline-block; + position: absolute; + width: calc(var(--pico-nav-link-spacing-horizontal) * 4); + margin: 0 calc(var(--pico-nav-link-spacing-horizontal) * -1); + content: var(--pico-nav-breadcrumb-divider); + color: var(--pico-muted-color); + text-align: center; + text-decoration: none; + white-space: nowrap; +} +nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]) { + background-color: transparent; + color: inherit; + text-decoration: none; + pointer-events: none; +} + +aside nav, +aside ol, +aside ul, +aside li { + display: block; +} +aside li { + padding: calc(var(--pico-nav-element-spacing-vertical) * 0.5) var(--pico-nav-element-spacing-horizontal); +} +aside li a { + display: block; +} +aside li [role=button] { + margin: inherit; +} + +[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after { + content: "\\"; +} + +/** + * Progress + */ +progress { + display: inline-block; + vertical-align: baseline; +} + +progress { + -webkit-appearance: none; + -moz-appearance: none; + display: inline-block; + appearance: none; + width: 100%; + height: 0.5rem; + margin-bottom: calc(var(--pico-spacing) * 0.5); + overflow: hidden; + border: 0; + border-radius: var(--pico-border-radius); + background-color: var(--pico-progress-background-color); + color: var(--pico-progress-color); +} +progress::-webkit-progress-bar { + border-radius: var(--pico-border-radius); + background: none; +} +progress[value]::-webkit-progress-value { + background-color: var(--pico-progress-color); + -webkit-transition: inline-size var(--pico-transition); + transition: inline-size var(--pico-transition); +} +progress::-moz-progress-bar { + background-color: var(--pico-progress-color); +} +@media (prefers-reduced-motion: no-preference) { + progress:indeterminate { + background: var(--pico-progress-background-color) linear-gradient(to right, var(--pico-progress-color) 30%, var(--pico-progress-background-color) 30%) top left/150% 150% no-repeat; + animation: progress-indeterminate 1s linear infinite; + } + progress:indeterminate[value]::-webkit-progress-value { + background-color: transparent; + } + progress:indeterminate::-moz-progress-bar { + background-color: transparent; + } +} + +@media (prefers-reduced-motion: no-preference) { + [dir=rtl] progress:indeterminate { + animation-direction: reverse; + } +} + +@keyframes progress-indeterminate { + 0% { + background-position: 200% 0; + } + 100% { + background-position: -200% 0; + } +} +/** + * Tooltip ([data-tooltip]) + */ +[data-tooltip] { + position: relative; +} +[data-tooltip]:not(a, button, input, [role=button]) { + border-bottom: 1px dotted; + text-decoration: none; + cursor: help; +} +[data-tooltip][data-placement=top]::before, [data-tooltip][data-placement=top]::after, [data-tooltip]::before, [data-tooltip]::after { + display: block; + z-index: 99; + position: absolute; + bottom: 100%; + left: 50%; + padding: 0.25rem 0.5rem; + overflow: hidden; + transform: translate(-50%, -0.25rem); + border-radius: var(--pico-border-radius); + background: var(--pico-tooltip-background-color); + content: attr(data-tooltip); + color: var(--pico-tooltip-color); + font-style: normal; + font-weight: var(--pico-font-weight); + font-size: 0.875rem; + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; + opacity: 0; + pointer-events: none; +} +[data-tooltip][data-placement=top]::after, [data-tooltip]::after { + padding: 0; + transform: translate(-50%, 0rem); + border-top: 0.3rem solid; + border-right: 0.3rem solid transparent; + border-left: 0.3rem solid transparent; + border-radius: 0; + background-color: transparent; + content: ""; + color: var(--pico-tooltip-background-color); +} +[data-tooltip][data-placement=bottom]::before, [data-tooltip][data-placement=bottom]::after { + top: 100%; + bottom: auto; + transform: translate(-50%, 0.25rem); +} +[data-tooltip][data-placement=bottom]:after { + transform: translate(-50%, -0.3rem); + border: 0.3rem solid transparent; + border-bottom: 0.3rem solid; +} +[data-tooltip][data-placement=left]::before, [data-tooltip][data-placement=left]::after { + top: 50%; + right: 100%; + bottom: auto; + left: auto; + transform: translate(-0.25rem, -50%); +} +[data-tooltip][data-placement=left]:after { + transform: translate(0.3rem, -50%); + border: 0.3rem solid transparent; + border-left: 0.3rem solid; +} +[data-tooltip][data-placement=right]::before, [data-tooltip][data-placement=right]::after { + top: 50%; + right: auto; + bottom: auto; + left: 100%; + transform: translate(0.25rem, -50%); +} +[data-tooltip][data-placement=right]:after { + transform: translate(-0.3rem, -50%); + border: 0.3rem solid transparent; + border-right: 0.3rem solid; +} +[data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after { + opacity: 1; +} +@media (hover: hover) and (pointer: fine) { + [data-tooltip]:focus::before, [data-tooltip]:focus::after, [data-tooltip]:hover::before, [data-tooltip]:hover::after { + --pico-tooltip-slide-to: translate(-50%, -0.25rem); + transform: translate(-50%, 0.75rem); + animation-duration: 0.2s; + animation-fill-mode: forwards; + animation-name: tooltip-slide; + opacity: 0; + } + [data-tooltip]:focus::after, [data-tooltip]:hover::after { + --pico-tooltip-caret-slide-to: translate(-50%, 0rem); + transform: translate(-50%, -0.25rem); + animation-name: tooltip-caret-slide; + } + [data-tooltip][data-placement=bottom]:focus::before, [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover::before, [data-tooltip][data-placement=bottom]:hover::after { + --pico-tooltip-slide-to: translate(-50%, 0.25rem); + transform: translate(-50%, -0.75rem); + animation-name: tooltip-slide; + } + [data-tooltip][data-placement=bottom]:focus::after, [data-tooltip][data-placement=bottom]:hover::after { + --pico-tooltip-caret-slide-to: translate(-50%, -0.3rem); + transform: translate(-50%, -0.5rem); + animation-name: tooltip-caret-slide; + } + [data-tooltip][data-placement=left]:focus::before, [data-tooltip][data-placement=left]:focus::after, [data-tooltip][data-placement=left]:hover::before, [data-tooltip][data-placement=left]:hover::after { + --pico-tooltip-slide-to: translate(-0.25rem, -50%); + transform: translate(0.75rem, -50%); + animation-name: tooltip-slide; + } + [data-tooltip][data-placement=left]:focus::after, [data-tooltip][data-placement=left]:hover::after { + --pico-tooltip-caret-slide-to: translate(0.3rem, -50%); + transform: translate(0.05rem, -50%); + animation-name: tooltip-caret-slide; + } + [data-tooltip][data-placement=right]:focus::before, [data-tooltip][data-placement=right]:focus::after, [data-tooltip][data-placement=right]:hover::before, [data-tooltip][data-placement=right]:hover::after { + --pico-tooltip-slide-to: translate(0.25rem, -50%); + transform: translate(-0.75rem, -50%); + animation-name: tooltip-slide; + } + [data-tooltip][data-placement=right]:focus::after, [data-tooltip][data-placement=right]:hover::after { + --pico-tooltip-caret-slide-to: translate(-0.3rem, -50%); + transform: translate(-0.05rem, -50%); + animation-name: tooltip-caret-slide; + } +} +@keyframes tooltip-slide { + to { + transform: var(--pico-tooltip-slide-to); + opacity: 1; + } +} +@keyframes tooltip-caret-slide { + 50% { + opacity: 0; + } + to { + transform: var(--pico-tooltip-caret-slide-to); + opacity: 1; + } +} + +/** + * Accessibility & User interaction + */ +[aria-controls] { + cursor: pointer; +} + +[aria-disabled=true], +[disabled] { + cursor: not-allowed; +} + +[aria-hidden=false][hidden] { + display: initial; +} + +[aria-hidden=false][hidden]:not(:focus) { + clip: rect(0, 0, 0, 0); + position: absolute; +} + +a, +area, +button, +input, +label, +select, +summary, +textarea, +[tabindex] { + -ms-touch-action: manipulation; +} + +[dir=rtl] { + direction: rtl; +} + +/** + * Reduce Motion Features + */ +@media (prefers-reduced-motion: reduce) { + *:not([aria-busy=true]), + :not([aria-busy=true])::before, + :not([aria-busy=true])::after { + background-attachment: initial !important; + animation-duration: 1ms !important; + animation-delay: -1ms !important; + animation-iteration-count: 1 !important; + scroll-behavior: auto !important; + transition-delay: 0s !important; + transition-duration: 0s !important; + } +} + +/* CUSTOM FEATURES */ + +:root { + --euro-cash-design-width: 30%; +} + +/* TODO: Just use a hamburger menu on mobile! */ +@media (max-width: 1024px) { + nav { + overflow: scroll; + } +} + +/* Intended for use in constructions such as: + * <h3> + * Austrian National Bank<br> + * <span lang="de" class="translation"> + * Oesterreichische Nationalbank + * </span> + * </h3> + */ + +:has(> .translation) { + line-height: 1.1; +} + +.translation { + opacity: 0.5; +} + +.button-grid { + display: grid; + grid-template-columns: repeat( + auto-fit, + minmax(min(var(--button-min-width), 100%), 1fr) + ); + column-gap: var(--pico-grid-column-gap); + row-gap: var(--pico-grid-row-gap); + + > * { + margin: 0; + } +} + +.no-deco { + text-decoration: none; +} + +[data-numeric] { + text-align: right; +} + +a:not(:hover) { + text-decoration: none; +} + +dl dd:has(+ dt) { + margin-bottom: var(--pico-block-spacing-vertical); +} + +a[href^="mailto:"] { + display: inline-block; +} + +article > details { + margin-bottom: 0; +} + +article article { + background: var(--pico-background-color); +} + +.design-container { + display: flex; + justify-content: space-around; + align-items: center; + + > * { + width: var(--euro-cash-design-width); + } + + + :is(.design-container, p) { + margin-top: var(--pico-block-spacing-vertical); + } +} + +figure { + margin-bottom: var(--pico-typography-spacing-vertical); +} + +figcaption { + text-align: center; +} diff --git a/static/style.css b/static/style.css index 023317c..141f3e0 100644 --- a/static/style.css +++ b/static/style.css @@ -27,22 +27,31 @@ */ @font-face { - font-family: 'Ysabeau'; - src: url('/fonts/ysabeau-regular.woff2') format('woff2'); - font-weight: normal; + font-family: 'Source Sans 3'; + src: url('/fonts/source-sans-3-normal.otf') format('opentype'); font-style: normal; } @font-face { - font-family: 'Ysabeau'; - src: url('/fonts/ysabeau-regular-italic.woff2') format('woff2'); - font-weight: normal; + font-family: 'Source Sans 3'; + src: url('/fonts/source-sans-3-italic.otf') format('opentype'); + font-style: italic; +} + +@font-face { + font-family: 'Source Serif 4'; + src: url('/fonts/source-serif-4-normal.otf') format('opentype'); + font-style: normal; +} + +@font-face { + font-family: 'Source Serif 4'; + src: url('/fonts/source-serif-4-italic.otf') format('opentype'); font-style: italic; } :root { - --font-family: "Ysabeau", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", - "Segoe UI Symbol", "Noto Color Emoji"; + --font-family: 'Source Sans 3', sans-serif; --line-height: 1.5; --font-weight: 400; --font-size: 16px; @@ -78,12 +87,12 @@ } @media (min-width: 992px) { :root { - --font-size: 19px; + --font-size: 20px; } } @media (min-width: 1200px) { :root { - --font-size: 20px; + --font-size: 22px; } } @@ -140,7 +149,8 @@ h3, h4, h5, h6 { - --font-weight: 700; + --font-weight: 500; + --font-family: 'Source Serif 4', serif; } h1 { @@ -188,8 +198,7 @@ tfoot td { --font-size: 0.875em; } -[data-theme=light], -:root:not([data-theme=dark]) { +[data-theme=light] { --background-color: #fff; --color: hsl(205, 20%, 32%); --h1-color: hsl(205, 30%, 15%); @@ -294,113 +303,6 @@ tfoot td { color-scheme: light; } -@media only screen and (prefers-color-scheme: dark) { - :root:not([data-theme]) { - --background-color: #11191f; - --color: hsl(205, 16%, 77%); - --h1-color: hsl(205, 20%, 94%); - --h2-color: #e1e6eb; - --h3-color: hsl(205, 18%, 86%); - --h4-color: #c8d1d8; - --h5-color: hsl(205, 16%, 77%); - --h6-color: #afbbc4; - --muted-color: hsl(205, 10%, 50%); - --muted-border-color: #1f2d38; - --primary: hsl(195, 85%, 41%); - --primary-hover: hsl(195, 80%, 50%); - --primary-focus: rgba(16, 149, 193, 0.25); - --primary-inverse: #fff; - --secondary: hsl(205, 15%, 41%); - --secondary-hover: hsl(205, 10%, 50%); - --secondary-focus: rgba(115, 130, 140, 0.25); - --secondary-inverse: #fff; - --contrast: hsl(205, 20%, 94%); - --contrast-hover: #fff; - --contrast-focus: rgba(115, 130, 140, 0.25); - --contrast-inverse: #000; - --mark-background-color: #d1c284; - --mark-color: #11191f; - --ins-color: #388e3c; - --del-color: #c62828; - --blockquote-border-color: var(--muted-border-color); - --blockquote-footer-color: var(--muted-color); - --button-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - --button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0); - --form-element-background-color: #11191f; - --form-element-border-color: #374956; - --form-element-color: var(--color); - --form-element-placeholder-color: var(--muted-color); - --form-element-active-background-color: var(--form-element-background-color); - --form-element-active-border-color: var(--primary); - --form-element-focus-color: var(--primary-focus); - --form-element-disabled-background-color: hsl(205, 25%, 23%); - --form-element-disabled-border-color: hsl(205, 20%, 32%); - --form-element-disabled-opacity: 0.5; - --form-element-invalid-border-color: #b71c1c; - --form-element-invalid-active-border-color: #c62828; - --form-element-invalid-focus-color: rgba(198, 40, 40, 0.25); - --form-element-valid-border-color: #2e7d32; - --form-element-valid-active-border-color: #388e3c; - --form-element-valid-focus-color: rgba(56, 142, 60, 0.25); - --switch-background-color: #374956; - --switch-color: var(--primary-inverse); - --switch-checked-background-color: var(--primary); - --range-border-color: #24333e; - --range-active-border-color: hsl(205, 25%, 23%); - --range-thumb-border-color: var(--background-color); - --range-thumb-color: var(--secondary); - --range-thumb-hover-color: var(--secondary-hover); - --range-thumb-active-color: var(--primary); - --table-border-color: var(--muted-border-color); - --table-row-stripped-background-color: rgba(115, 130, 140, 0.05); - --code-background-color: #18232c; - --code-color: var(--muted-color); - --code-kbd-background-color: var(--contrast); - --code-kbd-color: var(--contrast-inverse); - --code-tag-color: hsl(330, 30%, 50%); - --code-property-color: hsl(185, 30%, 50%); - --code-value-color: hsl(40, 10%, 50%); - --code-comment-color: #4d606d; - --accordion-border-color: var(--muted-border-color); - --accordion-active-summary-color: var(--primary); - --accordion-close-summary-color: var(--color); - --accordion-open-summary-color: var(--muted-color); - --card-background-color: #141e26; - --card-border-color: var(--card-background-color); - --card-box-shadow: - 0.0145rem 0.029rem 0.174rem rgba(0, 0, 0, 0.01698), - 0.0335rem 0.067rem 0.402rem rgba(0, 0, 0, 0.024), - 0.0625rem 0.125rem 0.75rem rgba(0, 0, 0, 0.03), - 0.1125rem 0.225rem 1.35rem rgba(0, 0, 0, 0.036), - 0.2085rem 0.417rem 2.502rem rgba(0, 0, 0, 0.04302), - 0.5rem 1rem 6rem rgba(0, 0, 0, 0.06), - 0 0 0 0.0625rem rgba(0, 0, 0, 0.015); - --card-sectionning-background-color: #18232c; - --dropdown-background-color: hsl(205, 30%, 15%); - --dropdown-border-color: #24333e; - --dropdown-box-shadow: var(--card-box-shadow); - --dropdown-color: var(--color); - --dropdown-hover-background-color: rgba(36, 51, 62, 0.75); - --modal-overlay-background-color: rgba(36, 51, 62, 0.8); - --progress-background-color: #24333e; - --progress-color: var(--primary); - --loading-spinner-opacity: 0.5; - --tooltip-background-color: var(--contrast); - --tooltip-color: var(--contrast-inverse); - --icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); - --icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); - --icon-chevron-button: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); - --icon-chevron-button-inverse: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 0, 0)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); - --icon-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E"); - --icon-date: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E"); - --icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(183, 28, 28)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E"); - --icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E"); - --icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E"); - --icon-time: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E"); - --icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(46, 125, 50)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E"); - color-scheme: dark; - } -} [data-theme=dark] { --background-color: #11191f; --color: hsl(205, 16%, 77%); @@ -560,6 +462,7 @@ main, header { body { width: 100%; margin: 0; + hyphens: auto; } body > header, body > main, @@ -618,10 +521,12 @@ section { figure { display: block; margin: 0; + margin-bottom: var(--typography-spacing-vertical); padding: 0; overflow-x: auto; } figure figcaption { + text-align: center; padding: calc(var(--spacing) * 0.5) 0; color: var(--muted-color); } @@ -653,7 +558,6 @@ sup { address, blockquote, dl, -figure, form, ol, p, @@ -2245,81 +2149,16 @@ textarea, min-width: 0; } -.country-grid, .series-grid { - row-gap: var(--grid-spacing-vertical); -} - -.country-grid:first-of-type, .series-grid:first-of-type { - margin-top: var(--block-spacing-vertical); -} - -.country-grid, .series-grid, .lang-grid { +.button-grid { display: grid; grid-template-columns: repeat( auto-fit, - minmax(min(220px, 100%), 1fr) + minmax(min(var(--button-min-width), 100%), 1fr) ); column-gap: var(--grid-spacing-horizontal); } -.country-grid a, .lang-grid button { - text-align: left; -} - -.country-grid a::before, .lang-grid span::before { - display: inline-block; - content: attr(data-code); - font-weight: bold; - width: 4ch; -} - -#nav-icon-lang a { - display: flex; - align-items: center; - gap: .5ch; -} - -#nav-icon-lang svg { - stroke: var(--color); - height: 1rem; -} - -#nav-icon-theme button { - background-color: unset; - margin: 0; - display: flex; - justify-content: center; - align-items: center; - height: 1.5rem; -} - -#nav-icon-theme svg { - --size: 1.2rem; - stroke: var(--primary); - stroke-width: .1; - height: var(--size); - width: var(--size); -} - -[data-theme="light"] #nav-icon-theme svg { - fill: var(--primary); -} - -#article-list td:first-child { - text-align: right; - width: 14ch; -} - -#article-list td { - white-space: nowrap; -} - -.mintage-table .mintage-table-cc { - white-space: nowrap; -} - -.mintage-table tr :is(th, td):not(:first-child), -.mintage-table-cc tr :is(th, td):last-child { +:is(td, th)[data-numeric] { text-align: right; } @@ -2333,23 +2172,18 @@ a[role=button].outline:is(:hover, :active, :focus) { --color: var(--primary-hover); } -.bnote-design-container { - gap: 5%; -} - -.bnote-design-container > img { - width: 100%; -} - -.design-container, -.bnote-design-container { +.design-container { display: flex; justify-content: space-around; align-items: center; -} -.design-container + :is(.design-container, p) { - margin-top: var(--block-spacing-vertical); + > * { + width: 30%; + } + + + :is(.design-container, p) { + margin-top: var(--block-spacing-vertical); + } } img.big { @@ -2360,24 +2194,25 @@ div.grid:not(:first-of-type) { margin-top: var(--grid-spacing-vertical); } -dl.unix-style { - display: grid; - grid-template-columns: max-content auto; - row-gap: var(--spacing); +dl dt:not(:first-child) { + margin-top: var(--block-spacing-vertical); } -dl.unix-style dt { - grid-column-start: 1; +.error { + color: var(--del-color); } -dl.unix-style dd { - grid-column-start: 2; -} +/* Intended for use in constructions such as: + * <h3> + * Austrian National Bank<br> + * <span lang="de">Oesterreichische Nationalbank</span> + * </h3> + */ -dl dt:not(:first-child) { - margin-top: var(--block-spacing-vertical); +:has(> .translation) { + line-height: 1.1; } -.error { - color: var(--del-color); +.translation { + opacity: 0.5; }
\ No newline at end of file |