diff --git a/components/bill/invoice/invoice.templ b/components/bill/invoice/invoice.templ index 81c26b2..f9e1174 100644 --- a/components/bill/invoice/invoice.templ +++ b/components/bill/invoice/invoice.templ @@ -14,6 +14,7 @@ import ( "github.com/invopop/gobl.html/internal" "github.com/invopop/gobl.html/components/regimes/pl" "github.com/invopop/gobl.html/components/regimes/pt" + "github.com/invopop/gobl.html/components/regimes/gr" ) // Invoice renders a complete GOBL bill.Invoice object. @@ -46,6 +47,7 @@ templ Invoice(env *gobl.Envelope, inv *bill.Invoice) { @mx.CFDI(env, inv) @pl.KSeFQR(env) @pt.ATQR(env) + @gr.IAPR(env) } diff --git a/components/bill/invoice/invoice_templ.go b/components/bill/invoice/invoice_templ.go index 18ccb48..aeaa073 100644 --- a/components/bill/invoice/invoice_templ.go +++ b/components/bill/invoice/invoice_templ.go @@ -16,6 +16,7 @@ import ( "github.com/invopop/gobl" "github.com/invopop/gobl.html/components/regimes/co" "github.com/invopop/gobl.html/components/regimes/es" + "github.com/invopop/gobl.html/components/regimes/gr" "github.com/invopop/gobl.html/components/regimes/mx" "github.com/invopop/gobl.html/components/regimes/pl" "github.com/invopop/gobl.html/components/regimes/pt" @@ -122,6 +123,10 @@ func Invoice(env *gobl.Envelope, inv *bill.Invoice) templ.Component { if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } + templ_7745c5c3_Err = gr.IAPR(env).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err @@ -158,7 +163,7 @@ func title(inv *bill.Invoice) templ.Component { var templ_7745c5c3_Var3 string templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(img.URL) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/bill/invoice/invoice.templ`, Line: 57, Col: 22} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/bill/invoice/invoice.templ`, Line: 59, Col: 22} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) if templ_7745c5c3_Err != nil { @@ -171,7 +176,7 @@ func title(inv *bill.Invoice) templ.Component { var templ_7745c5c3_Var4 string templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(img.Label) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/bill/invoice/invoice.templ`, Line: 57, Col: 40} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/bill/invoice/invoice.templ`, Line: 59, Col: 40} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) if templ_7745c5c3_Err != nil { @@ -184,7 +189,7 @@ func title(inv *bill.Invoice) templ.Component { var templ_7745c5c3_Var5 string templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(logoHeight(img)) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/bill/invoice/invoice.templ`, Line: 57, Col: 67} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/bill/invoice/invoice.templ`, Line: 59, Col: 67} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) if templ_7745c5c3_Err != nil { @@ -202,7 +207,7 @@ func title(inv *bill.Invoice) templ.Component { var templ_7745c5c3_Var6 string templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(supplierAlias(inv)) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/bill/invoice/invoice.templ`, Line: 60, Col: 25} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/bill/invoice/invoice.templ`, Line: 62, Col: 25} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) if templ_7745c5c3_Err != nil { @@ -228,7 +233,7 @@ func title(inv *bill.Invoice) templ.Component { var templ_7745c5c3_Var7 string templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(code(inv.Series, inv.Code)) if templ_7745c5c3_Err != nil { - return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/bill/invoice/invoice.templ`, Line: 68, Col: 31} + return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/bill/invoice/invoice.templ`, Line: 70, Col: 31} } _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) if templ_7745c5c3_Err != nil { diff --git a/components/regimes/gr/gr.go b/components/regimes/gr/gr.go new file mode 100644 index 0000000..a9c0727 --- /dev/null +++ b/components/regimes/gr/gr.go @@ -0,0 +1,3 @@ +// Package gr provides additional templates and helper methods +// for the Greek tax regime. +package gr diff --git a/components/regimes/gr/iapr.templ b/components/regimes/gr/iapr.templ new file mode 100644 index 0000000..29e3a49 --- /dev/null +++ b/components/regimes/gr/iapr.templ @@ -0,0 +1,70 @@ +package gr + +import ( + "github.com/invopop/gobl" + "github.com/invopop/gobl/regimes/gr" + "github.com/invopop/gobl.html/components/images" +) + +templ IAPR(env *gobl.Envelope) { + if hasStamps(env) { + +
+ if st := env.Head.GetStamp(gr.StampIAPRQR); st != nil { +
+ + @images.QR(st.Value) + +
+ } +
+ if st := env.Head.GetStamp(gr.StampIAPRHash); st != nil { +
+ Σήμανση: + { st.Value } +
+ } + if st := env.Head.GetStamp(gr.StampIAPRUID); st != nil { +
+ UNIQUE ID: + { st.Value } +
+ } + if st := env.Head.GetStamp(gr.StampIAPRMark); st != nil { +
+ ΜΑΡΚ: + { st.Value } +
+ } + if st := env.Head.GetStamp(gr.StampIAPRProvider); st != nil { +
+ Υ.ΠΑ.Η.Ε.Σ: + { st.Value } +
+ } +
+
+ } +} + +func hasStamps(env *gobl.Envelope) bool { + return env.Head.GetStamp(gr.StampIAPRQR) != nil +} diff --git a/components/regimes/gr/iapr_templ.go b/components/regimes/gr/iapr_templ.go new file mode 100644 index 0000000..3710645 --- /dev/null +++ b/components/regimes/gr/iapr_templ.go @@ -0,0 +1,154 @@ +// Code generated by templ - DO NOT EDIT. + +// templ: version: v0.2.707 +package gr + +//lint:file-ignore SA4006 This context is only used if a nested component is present. + +import "github.com/a-h/templ" +import "context" +import "io" +import "bytes" + +import ( + "github.com/invopop/gobl" + "github.com/invopop/gobl.html/components/images" + "github.com/invopop/gobl/regimes/gr" +) + +func IAPR(env *gobl.Envelope) templ.Component { + return templ.ComponentFunc(func(ctx context.Context, templ_7745c5c3_W io.Writer) (templ_7745c5c3_Err error) { + templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templ_7745c5c3_W.(*bytes.Buffer) + if !templ_7745c5c3_IsBuffer { + templ_7745c5c3_Buffer = templ.GetBuffer() + defer templ.ReleaseBuffer(templ_7745c5c3_Buffer) + } + ctx = templ.InitializeContext(ctx) + templ_7745c5c3_Var1 := templ.GetChildren(ctx) + if templ_7745c5c3_Var1 == nil { + templ_7745c5c3_Var1 = templ.NopComponent + } + ctx = templ.ClearChildren(ctx) + if hasStamps(env) { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if st := env.Head.GetStamp(gr.StampIAPRQR); st != nil { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + templ_7745c5c3_Err = images.QR(st.Value).Render(ctx, templ_7745c5c3_Buffer) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + if st := env.Head.GetStamp(gr.StampIAPRHash); st != nil { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
Σήμανση: ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var3 string + templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(st.Value) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/regimes/gr/iapr.templ`, Line: 42, Col: 36} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + if st := env.Head.GetStamp(gr.StampIAPRUID); st != nil { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
UNIQUE ID: ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var4 string + templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(st.Value) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/regimes/gr/iapr.templ`, Line: 48, Col: 36} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + if st := env.Head.GetStamp(gr.StampIAPRMark); st != nil { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
ΜΑΡΚ: ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var5 string + templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(st.Value) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/regimes/gr/iapr.templ`, Line: 54, Col: 36} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + if st := env.Head.GetStamp(gr.StampIAPRProvider); st != nil { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
Υ.ΠΑ.Η.Ε.Σ: ") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + var templ_7745c5c3_Var6 string + templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(st.Value) + if templ_7745c5c3_Err != nil { + return templ.Error{Err: templ_7745c5c3_Err, FileName: `components/regimes/gr/iapr.templ`, Line: 60, Col: 22} + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6)) + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
") + if templ_7745c5c3_Err != nil { + return templ_7745c5c3_Err + } + } + if !templ_7745c5c3_IsBuffer { + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteTo(templ_7745c5c3_W) + } + return templ_7745c5c3_Err + }) +} + +func hasStamps(env *gobl.Envelope) bool { + return env.Head.GetStamp(gr.StampIAPRQR) != nil +} diff --git a/components/regimes/mx/signatures.templ b/components/regimes/mx/signatures.templ index 3a7a89d..7e0eb4a 100644 --- a/components/regimes/mx/signatures.templ +++ b/components/regimes/mx/signatures.templ @@ -86,7 +86,7 @@ templ signatures(h *head.Header) { }
- Este documento es una represetnación impresa de un CFDI. + Este documento es una representación impresa de un CFDI.
diff --git a/components/regimes/mx/signatures_templ.go b/components/regimes/mx/signatures_templ.go index 26963e3..b4a970a 100644 --- a/components/regimes/mx/signatures_templ.go +++ b/components/regimes/mx/signatures_templ.go @@ -202,7 +202,7 @@ func signatures(h *head.Header) templ.Component { return templ_7745c5c3_Err } } - _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
Este documento es una represetnación impresa de un CFDI.
") + _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("
Este documento es una representación impresa de un CFDI.
") if templ_7745c5c3_Err != nil { return templ_7745c5c3_Err } diff --git a/examples/gr-invoice.json b/examples/gr-invoice.json new file mode 100644 index 0000000..3e2cf72 --- /dev/null +++ b/examples/gr-invoice.json @@ -0,0 +1,124 @@ +{ + "$schema": "https://gobl.org/draft-0/envelope", + "head": { + "uuid": "0190a168-3bb2-71de-989e-1afa884e838c", + "dig": { + "alg": "sha256", + "val": "1ddeefa5fa9f4b909179c751c6269d5f36b1628b1d1ec7df27a3ab4f283fd420" + }, + "stamps": [ + { + "prv": "iapr-qr", + "val": "https://test.vs.gr/iv/invoice/10cc0a7d90a1c9470190a634ec19073e" + }, + { + "prv": "iapr-hash", + "val": "792F62ADE1B5E4CCBC8FFA787258CC68E90B817B" + }, + { + "prv": "iapr-mark", + "val": "400001929816893" + }, + { + "prv": "iapr-provider", + "val": "ΙΛΥΔΑ ΠΛΗΡΟΦΟΡΙΚΗ Α.Ε. — https://test.vs.gr" + }, + { + "prv": "iapr-uid", + "val": "EB1CF2137764B0D534885F361365C39A32C0205A" + } + ] + }, + "doc": { + "$schema": "https://gobl.org/draft-0/bill/invoice", + "uuid": "0190a15e-c559-7000-837c-822e43253969", + "type": "standard", + "series": "GRT", + "code": "082", + "issue_date": "2024-07-12", + "currency": "EUR", + "supplier": { + "name": "Ελληνικά Τρόφιμα Α.Ε.", + "tax_id": { + "country": "GR", + "code": "177472438" + }, + "addresses": [ + { + "locality": "Θεσσαλονίκη", + "code": "54625" + } + ] + }, + "customer": { + "name": "Αιγαίο Λιανική Α.Ε.", + "tax_id": { + "country": "GR", + "code": "841442160" + }, + "addresses": [ + { + "locality": "Θεσσαλονίκη", + "code": "54625" + } + ] + }, + "lines": [ + { + "i": 1, + "quantity": "1", + "item": { + "name": "Υπηρεσίες Ανάπτυξης", + "price": "90.00" + }, + "sum": "90.00", + "taxes": [ + { + "cat": "VAT", + "rate": "standard", + "percent": "24%", + "ext": { + "gr-iapr-vat-cat": "1" + } + } + ], + "total": "90.00" + } + ], + "payment": { + "instructions": { + "key": "card" + } + }, + "totals": { + "sum": "90.00", + "total": "90.00", + "taxes": { + "categories": [ + { + "code": "VAT", + "rates": [ + { + "key": "standard", + "ext": { + "gr-iapr-vat-cat": "1" + }, + "base": "90.00", + "percent": "24%", + "amount": "21.60" + } + ], + "amount": "21.60" + } + ], + "sum": "21.60" + }, + "tax": "21.60", + "total_with_tax": "111.60", + "payable": "111.60" + } + }, + "sigs": [ + "eyJhbGciOiJFUzI1NiIsImtpZCI6IjViN2FmMTBhLTNjYWEtNDE1NS04MDRhLThhOTA3NDk5YjI4YyJ9.eyJ1dWlkIjoiMDE5MGExNjgtM2JiMi03MWRlLTk4OWUtMWFmYTg4NGU4MzhjIiwiZGlnIjp7ImFsZyI6InNoYTI1NiIsInZhbCI6IjFkZGVlZmE1ZmE5ZjRiOTA5MTc5Yzc1MWM2MjY5ZDVmMzZiMTYyOGIxZDFlYzdkZjI3YTNhYjRmMjgzZmQ0MjAifX0.NgeE6HgrrGSMr-oV2MRPj1XC8vrzsm-Y4WqDENPUyjb2ZBsmyQcWCk6r2e8Va1ZHRf1QUlknybs2gM5GETVpOA" + ] +} \ No newline at end of file diff --git a/examples/out/gr-invoice.html b/examples/out/gr-invoice.html new file mode 100644 index 0000000..79737f4 --- /dev/null +++ b/examples/out/gr-invoice.html @@ -0,0 +1,326 @@ + + + + GOBL HTML Generator + + + + + + + + + + +
+ +
+
+
+
+
+
+ Ελληνικά Τρόφιμα Α.Ε. +
+
+

+ Invoice +

+

+ GRT-082 +

+
+
+

+ Summary +

+
    +
  • + + Issue Date + + + 2024-07-12 + +
  • +
  • + + Currency + + + Euro (EUR) + +
  • +
+
+
+
+
+

+ Supplier +

+
+
+ Ελληνικά Τρόφιμα Α.Ε. +
+
+ + Θεσσαλονίκη, 54625 + +
+
+ Tax Code: (GR) 177472438 +
+
+
+
+

+ Customer +

+
+
+ Αιγαίο Λιανική Α.Ε. +
+
+ + Θεσσαλονίκη, 54625 + +
+
+ Tax Code: (GR) 841442160 +
+
+
+
+
+
+

+ Lines +

+ + + + + + + + + + + + + + + + + + + + + +
+ # + + Description + + Qty. + + Price + + VAT + + Total +
+ 1 + + + Υπηρεσίες Ανάπτυξης + + + 1 + + €90,00 + + 24% + + €90,00 +
+
+
+
+

+ Totals +

+ + + + + + + + + + + + + + + +
+ Sum + + €90,00 +
+ Tax + + €21,60 +
+ Total to pay + + €111,60 +
+
+
+

+ Taxes +

+ + + + + + + + + + + + + + + + + +
+ Tax + + Base + + Rate + + Amount +
+ VAT + + €90,00 + + 24% + + €21,60 +
+
+
+
+

+ Payment +

+
    +
  • + + Method of payment + + + Bank card + +
  • +
+
+
+ +
+
+ + + +
+
+
+ + Σήμανση: + + + 792F62ADE1B5E4CCBC8FFA787258CC68E90B817B + +
+
+ + UNIQUE ID: + + + EB1CF2137764B0D534885F361365C39A32C0205A + +
+
+ + ΜΑΡΚ: + + + 400001929816893 + +
+
+ + Υ.ΠΑ.Η.Ε.Σ: + + + ΙΛΥΔΑ ΠΛΗΡΟΦΟΡΙΚΗ Α.Ε. — https://test.vs.gr + +
+
+
+
+
+ +
+ + \ No newline at end of file diff --git a/examples/out/invoice-mx.html b/examples/out/invoice-mx.html index 4b278c6..cf9142b 100644 --- a/examples/out/invoice-mx.html +++ b/examples/out/invoice-mx.html @@ -481,7 +481,7 @@

- Este documento es una represetnación impresa de un CFDI. + Este documento es una representación impresa de un CFDI.
diff --git a/examples/out/mx-food-voucher.html b/examples/out/mx-food-voucher.html index d31ac44..613cd1b 100644 --- a/examples/out/mx-food-voucher.html +++ b/examples/out/mx-food-voucher.html @@ -511,7 +511,7 @@

- Este documento es una represetnación impresa de un CFDI. + Este documento es una representación impresa de un CFDI.
diff --git a/examples/out/mx-fuel-balance.html b/examples/out/mx-fuel-balance.html index a1a498d..7bc4bb3 100644 --- a/examples/out/mx-fuel-balance.html +++ b/examples/out/mx-fuel-balance.html @@ -549,7 +549,7 @@

- Este documento es una represetnación impresa de un CFDI. + Este documento es una representación impresa de un CFDI.
diff --git a/locales/gr/app.yml b/locales/el/app.yml similarity index 97% rename from locales/gr/app.yml rename to locales/el/app.yml index a624872..c529269 100644 --- a/locales/gr/app.yml +++ b/locales/el/app.yml @@ -1,4 +1,4 @@ -gr: +el: page: "Σελίδα %{page} από %{count}" billing: @@ -80,6 +80,7 @@ gr: iban: "IBAN: %{iban}" account_number: "Αριθμός λογαριασμού: %{num}" bic: "BIC: %{bic}" + online: "Διαδικτυακά" methods: card: "Κάρτα τραπέζης" credit_transfer: "Τραπεζική μεταφορά" @@ -115,6 +116,8 @@ gr: entry: "Καταχώρηση %{id}" regimes: + pl: + ksef-id: "ID: %{id}" co: cufe: "CUFE: %{cufe}" cude: "CUDE: %{cude}" @@ -129,6 +132,8 @@ gr: one: "Email: %{addr}" other: "Emails: %{addr}" email_label: "%{addr} (%{label})" + website: "Web: %{url}" + website_label: "%{label}: %{url}" identity: "%{label}: %{code}" identity_code: "Κωδικός Ταυτότητας" po_box: "Τ.Θ. %{po_box}" diff --git a/locales/gr/countries.yml b/locales/el/countries.yml similarity index 99% rename from locales/gr/countries.yml rename to locales/el/countries.yml index 0a1f020..140117c 100644 --- a/locales/gr/countries.yml +++ b/locales/el/countries.yml @@ -1,4 +1,4 @@ -gr: +el: country_names: AF: "Αφγανιστάν" AX: "Νήσοι Ώλαντ" diff --git a/locales/el/currencies.yml b/locales/el/currencies.yml new file mode 100644 index 0000000..037ad51 --- /dev/null +++ b/locales/el/currencies.yml @@ -0,0 +1,168 @@ +el: + currencies: + AED: Ντιρχάμ Ηνωμένων Αραβικών Εμιράτων + AFN: Αφγάνι + ALL: Λεκ + AMD: Δράμι Αρμενίας + ANG: Ολλανδικό Αντιλιανό Φλορίνι + AOA: Κουάνζα + ARS: Πέσο Αργεντινής + AUD: Δολάριο Αυστραλίας + AWG: Φλορίνι Αρούμπας + AZN: Μανάτ Αζερμπαϊτζάν + BAM: Μετατρέψιμο Μάρκο + BBD: Δολάριο Μπαρμπάντος + BDT: Τάκα + BGN: Λέβα Βουλγαρίας + BHD: Δηνάριο Μπαχρέιν + BIF: Φράγκο Μπουρούντι + BMD: Δολάριο Βερμούδων + BND: Δολάριο Μπρουνέι + BOB: Μπολιβιάνο + BOV: MVDOL + BRL: Ρεάλ Βραζιλίας + BSD: Δολάριο Μπαχάμες + BTN: Νγκούλτρουμ + BWP: Πούλα + BYN: Ρούβλι Λευκορωσίας + BZD: Δολάριο Μπελίζ + CAD: Δολάριο Καναδά + CDF: Φράγκο Κονγκό + CHE: Ευρώ WIR + CHF: Φράγκο Ελβετίας + CHW: Φράγκο WIR + CLF: Μονάδα Ανάπτυξης + CLP: Πέσο Χιλής + CNY: Γιουάν Κίνας + COP: Πέσο Κολομβίας + COU: Μονάδα Πραγματικής Αξίας + CRC: Κολόν Κόστα Ρίκα + CUC: Μετατρέψιμο Πέσο Κούβας + CUP: Πέσο Κούβας + CVE: Εσκούδο Πράσινου Ακρωτηρίου + CZK: Κορόνα Τσεχίας + DJF: Φράγκο Τζιμπουτί + DKK: Κορόνα Δανίας + DOP: Πέσο Δομινικανής Δημοκρατίας + DZD: Δηνάριο Αλγερίας + EGP: Λίρα Αιγύπτου + ERN: Νάκφα + ETB: Μπιρ Αιθιοπίας + EUR: Ευρώ + FJD: Δολάριο Φίτζι + FKP: Λίρα Νήσων Φώκλαντ + GBP: Λίρα Στερλίνα + GEL: Λάρι + GHS: Σέντι Γκάνας + GIP: Λίρα Γιβραλτάρ + GMD: Δάλασι + GNF: Φράγκο Γουινέας + GTQ: Κετσάλ + GYD: Δολάριο Γουιάνας + HKD: Δολάριο Χονγκ Κονγκ + HNL: Λεμπίρα + HRK: Κούνα Κροατίας + HTG: Γκουρντ + HUF: Φιορίνι Ουγγαρίας + IDR: Ρουπία Ινδονησίας + ILS: Νέο Σέκελ Ισραήλ + INR: Ρουπία Ινδίας + IQD: Δηνάριο Ιράκ + IRR: Ριάλ Ιράν + ISK: Κορόνα Ισλανδίας + JMD: Δολάριο Τζαμάικας + JOD: Δηνάριο Ιορδανίας + JPY: Γιεν + KES: Σελίνι Κένυας + KGS: Σομ + KHR: Ριέλ Καμπότζης + KMF: Φράγκο Κομόρες + KPW: Γουόν Βόρειας Κορέας + KRW: Γουόν Νότιας Κορέας + KWD: Δηνάριο Κουβέιτ + KYD: Δολάριο Νήσων Κάιμαν + KZT: Τένγκε + LAK: Κιπ + LBP: Λίρα Λιβάνου + LKR: Ρουπία Σρι Λάνκα + LRD: Δολάριο Λιβερίας + LSL: Λότι + LYD: Δηνάριο Λιβύης + MAD: Ντιρχάμ Μαρόκου + MDL: Λέου Μολδαβίας + MGA: Αριάρι Μαδαγασκάρης + MKD: Δηνάριο Βόρειας Μακεδονίας + MMK: Κιάτ + MNT: Τουγκρίκ + MOP: Πατάκα + MRU: Ουγκίγια + MUR: Ρουπία Μαυρίκιου + MVR: Ρουφίγια + MWK: Κουάτσα + MXN: Πέσο Μεξικού + MXV: Μονάδα Επένδυσης (UDI) Μεξικού + MYR: Ρινγκίτ Μαλαισίας + MZN: Μετικάλ Μοζαμβίκης + NAD: Δολάριο Ναμίμπιας + NGN: Νάιρα + NIO: Κόρδοβα + NOK: Κορόνα Νορβηγίας + NPR: Ρουπία Νεπάλ + NZD: Δολάριο Νέας Ζηλανδίας + OMR: Ριάλ Ομάν + PAB: Μπαλμπόα + PEN: Σολ + PGK: Κίνα + PHP: Πέσο Φιλιππίνων + PKR: Ρουπία Πακιστάν + PLN: Ζλότι + PYG: Γκουαρανί + QAR: Ριάλ Κατάρ + RON: Λέου Ρουμανίας + RSD: Δηνάριο Σερβίας + RUB: Ρούβλι Ρωσίας + RWF: Φράγκο Ρουάντας + SAR: Ριάλ Σαουδικής Αραβίας + SBD: Δολάριο Νήσων Σολομώντα + SCR: Ρουπία Σεϋχελλών + SDG: Λίρα Σουδάν + SEK: Κορόνα Σουηδίας + SGD: Δολάριο Σιγκαπούρης + SHP: Λίρα Αγίας Ελένης + SLL: Λεόνε + SOS: Σελίνι Σομαλίας + SRD: Δολάριο Σουρινάμ + SSP: Λίρα Νότιου Σουδάν + STN: Ντόμπρα + SVC: Κολόν Ελ Σαλβαδόρ + SYP: Λίρα Συρίας + SZL: Λιλανγκένι + THB: Μπατ + TJS: Σομόνι Τατζικιστάν + TMT: Μανάτ Τουρκμενιστάν + TND: Δηνάριο Τυνησίας + TOP: Παανγκά + TRY: Λίρα Τουρκίας + TTD: Δολάριο Τρινιντάντ και Τομπάγκο + TWD: Νέο Δολάριο Ταϊβάν + TZS: Σελίνι Τανζανίας + UAH: Γρίβνα + UGX: Σελίνι Ουγκάντας + USD: Δολάριο Ηνωμένων Πολιτειών + USN: Δολάριο Ηνωμένων Πολιτειών (Επόμενη ημέρα) + UYI: Πέσο Ουρουγουάης (Δείκτης μονάδων) + UYU: Πέσο Ουρουγουάης + UYW: Μονάδα Προνοίας + UZS: Σομ Ουζμπεκιστάν + VES: Μπολίβαρ Βενεζουέλας + VND: Ντονγκ Βιετνάμ + VUV: Βατού + WST: Τάλα + XAF: Φράγκο CFA Κεντρικής Αφρικής + XCD: Δολάριο Ανατολικής Καραϊβικής + XOF: Φράγκο CFA Δυτικής Αφρικής + XPF: Φράγκο CFP + YER: Ριάλ Υεμένης + ZAR: Ραντ + ZMW: Κουάτσα Ζάμπιας + ZWL: Δολάριο Ζιμπάμπουε diff --git a/locales/locales.go b/locales/locales.go index dd12760..7029675 100644 --- a/locales/locales.go +++ b/locales/locales.go @@ -3,7 +3,7 @@ package locales import "embed" -//go:embed de en es fr gr it pl pt +//go:embed de en es fr el it pl pt // Content is the embedded content for the locales. var Content embed.FS