changeset 179:7c4a789e51ba

add views
author Dennis Concepcion Martin <dennisconcepcionmartin@gmail.com>
date Tue, 26 Oct 2021 18:18:36 +0200
parents 1077bc0ffdbf
children 41f284db0c3d
files Simoleon.xcodeproj/project.pbxproj Simoleon/AboutView.swift Simoleon/ContentView.swift Simoleon/ConversionView.swift Simoleon/FavoritesView.swift Simoleon/Helpers/CurrencySelector.swift Simoleon/Helpers/CurrencySelectorButton.swift Simoleon/Helpers/Sidebar.swift Simoleon/Models/CurrencyModel.swift Simoleon/Resources/currencies.json
diffstat 10 files changed, 1460 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/Simoleon.xcodeproj/project.pbxproj	Tue Oct 26 18:18:25 2021 +0200
+++ b/Simoleon.xcodeproj/project.pbxproj	Tue Oct 26 18:18:36 2021 +0200
@@ -7,6 +7,14 @@
 	objects = {
 
 /* Begin PBXBuildFile section */
+		953B98B9272859CD00477D86 /* Sidebar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 953B98B8272859CD00477D86 /* Sidebar.swift */; };
+		953B98BB272859DE00477D86 /* ConversionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 953B98BA272859DE00477D86 /* ConversionView.swift */; };
+		953B98BD272859F000477D86 /* FavoritesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 953B98BC272859F000477D86 /* FavoritesView.swift */; };
+		953B98BF272859FB00477D86 /* AboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 953B98BE272859FB00477D86 /* AboutView.swift */; };
+		953B98C227285D2600477D86 /* currencies.json in Resources */ = {isa = PBXBuildFile; fileRef = 953B98C127285D2600477D86 /* currencies.json */; };
+		953B98C427285E1600477D86 /* CurrencySelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 953B98C327285E1600477D86 /* CurrencySelector.swift */; };
+		953B98C827285FA900477D86 /* CurrencySelectorButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 953B98C727285FA900477D86 /* CurrencySelectorButton.swift */; };
+		953B98CB27285FF400477D86 /* CurrencyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 953B98CA27285FF400477D86 /* CurrencyModel.swift */; };
 		95DC5D502728176700B1EFA0 /* SimoleonApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95DC5D4F2728176700B1EFA0 /* SimoleonApp.swift */; };
 		95DC5D522728176700B1EFA0 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95DC5D512728176700B1EFA0 /* ContentView.swift */; };
 		95DC5D542728176800B1EFA0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 95DC5D532728176800B1EFA0 /* Assets.xcassets */; };
@@ -37,6 +45,14 @@
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
+		953B98B8272859CD00477D86 /* Sidebar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sidebar.swift; sourceTree = "<group>"; };
+		953B98BA272859DE00477D86 /* ConversionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConversionView.swift; sourceTree = "<group>"; };
+		953B98BC272859F000477D86 /* FavoritesView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FavoritesView.swift; sourceTree = "<group>"; };
+		953B98BE272859FB00477D86 /* AboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AboutView.swift; sourceTree = "<group>"; };
+		953B98C127285D2600477D86 /* currencies.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = currencies.json; sourceTree = "<group>"; };
+		953B98C327285E1600477D86 /* CurrencySelector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencySelector.swift; sourceTree = "<group>"; };
+		953B98C727285FA900477D86 /* CurrencySelectorButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencySelectorButton.swift; sourceTree = "<group>"; };
+		953B98CA27285FF400477D86 /* CurrencyModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CurrencyModel.swift; sourceTree = "<group>"; };
 		95DC5D4C2728176700B1EFA0 /* Simoleon.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Simoleon.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		95DC5D4F2728176700B1EFA0 /* SimoleonApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SimoleonApp.swift; sourceTree = "<group>"; };
 		95DC5D512728176700B1EFA0 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
@@ -81,6 +97,32 @@
 /* End PBXFrameworksBuildPhase section */
 
 /* Begin PBXGroup section */
+		953B98B7272859B000477D86 /* Helpers */ = {
+			isa = PBXGroup;
+			children = (
+				953B98B8272859CD00477D86 /* Sidebar.swift */,
+				953B98C327285E1600477D86 /* CurrencySelector.swift */,
+				953B98C727285FA900477D86 /* CurrencySelectorButton.swift */,
+			);
+			path = Helpers;
+			sourceTree = "<group>";
+		};
+		953B98C027285D0B00477D86 /* Resources */ = {
+			isa = PBXGroup;
+			children = (
+				953B98C127285D2600477D86 /* currencies.json */,
+			);
+			path = Resources;
+			sourceTree = "<group>";
+		};
+		953B98C927285FE900477D86 /* Models */ = {
+			isa = PBXGroup;
+			children = (
+				953B98CA27285FF400477D86 /* CurrencyModel.swift */,
+			);
+			path = Models;
+			sourceTree = "<group>";
+		};
 		95DC5D432728176700B1EFA0 = {
 			isa = PBXGroup;
 			children = (
@@ -110,9 +152,15 @@
 				95DC5D532728176800B1EFA0 /* Assets.xcassets */,
 				95DC5D7E272817DE00B1EFA0 /* Config.xcconfig */,
 				95DC5D5A2728176800B1EFA0 /* Simoleon.xcdatamodeld */,
+				95DC5D582728176800B1EFA0 /* Persistence.swift */,
 				95DC5D4F2728176700B1EFA0 /* SimoleonApp.swift */,
 				95DC5D512728176700B1EFA0 /* ContentView.swift */,
-				95DC5D582728176800B1EFA0 /* Persistence.swift */,
+				953B98BC272859F000477D86 /* FavoritesView.swift */,
+				953B98BA272859DE00477D86 /* ConversionView.swift */,
+				953B98BE272859FB00477D86 /* AboutView.swift */,
+				953B98B7272859B000477D86 /* Helpers */,
+				953B98C027285D0B00477D86 /* Resources */,
+				953B98C927285FE900477D86 /* Models */,
 				95DC5D552728176800B1EFA0 /* Preview Content */,
 			);
 			path = Simoleon;
@@ -257,6 +305,7 @@
 			files = (
 				95DC5D572728176800B1EFA0 /* Preview Assets.xcassets in Resources */,
 				95DC5D542728176800B1EFA0 /* Assets.xcassets in Resources */,
+				953B98C227285D2600477D86 /* currencies.json in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -281,8 +330,15 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				953B98BF272859FB00477D86 /* AboutView.swift in Sources */,
+				953B98C427285E1600477D86 /* CurrencySelector.swift in Sources */,
+				953B98BB272859DE00477D86 /* ConversionView.swift in Sources */,
+				953B98B9272859CD00477D86 /* Sidebar.swift in Sources */,
 				95DC5D592728176800B1EFA0 /* Persistence.swift in Sources */,
 				95DC5D522728176700B1EFA0 /* ContentView.swift in Sources */,
+				953B98CB27285FF400477D86 /* CurrencyModel.swift in Sources */,
+				953B98BD272859F000477D86 /* FavoritesView.swift in Sources */,
+				953B98C827285FA900477D86 /* CurrencySelectorButton.swift in Sources */,
 				95DC5D502728176700B1EFA0 /* SimoleonApp.swift in Sources */,
 				95DC5D5C2728176800B1EFA0 /* Simoleon.xcdatamodeld in Sources */,
 			);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/AboutView.swift	Tue Oct 26 18:18:36 2021 +0200
@@ -0,0 +1,20 @@
+//
+//  AboutView.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 26/10/21.
+//
+
+import SwiftUI
+
+struct AboutView: View {
+    var body: some View {
+        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
+    }
+}
+
+struct AboutView_Previews: PreviewProvider {
+    static var previews: some View {
+        AboutView()
+    }
+}
--- a/Simoleon/ContentView.swift	Tue Oct 26 18:18:25 2021 +0200
+++ b/Simoleon/ContentView.swift	Tue Oct 26 18:18:36 2021 +0200
@@ -8,8 +8,43 @@
 import SwiftUI
 
 struct ContentView: View {
+    @State private var tab: Tab = .convert
+        
+    private enum Tab {
+        case convert, favorites, settings
+    }
+    
+    @ViewBuilder var adjustedView: some View {
+        if UIDevice.current.userInterfaceIdiom == .pad {
+            NavigationView {
+                Sidebar()
+                ConversionView()
+            }
+        } else {
+            TabView(selection: $tab) {
+                ConversionView()
+                    .tabItem {
+                        Label("Convert", systemImage: "arrow.counterclockwise.circle")
+                    }
+                    .tag(Tab.convert)
+                
+                FavoritesView()
+                    .tabItem {
+                        Label("Favorites", systemImage: "star")
+                    }
+                    .tag(Tab.favorites)
+
+                AboutView()
+                    .tabItem {
+                        Label("About", systemImage: "info.circle")
+                    }
+                    .tag(Tab.settings)
+            }
+        }
+    }
+    
     var body: some View {
-        Text("Hello world")
+        adjustedView
     }
 }
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/ConversionView.swift	Tue Oct 26 18:18:36 2021 +0200
@@ -0,0 +1,20 @@
+//
+//  ConversionView.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 26/10/21.
+//
+
+import SwiftUI
+
+struct ConversionView: View {
+    var body: some View {
+        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
+    }
+}
+
+struct ConversionView_Previews: PreviewProvider {
+    static var previews: some View {
+        ConversionView()
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/FavoritesView.swift	Tue Oct 26 18:18:36 2021 +0200
@@ -0,0 +1,20 @@
+//
+//  FavoritesView.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 26/10/21.
+//
+
+import SwiftUI
+
+struct FavoritesView: View {
+    var body: some View {
+        Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
+    }
+}
+
+struct FavoritesView_Previews: PreviewProvider {
+    static var previews: some View {
+        FavoritesView()
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Helpers/CurrencySelector.swift	Tue Oct 26 18:18:36 2021 +0200
@@ -0,0 +1,29 @@
+//
+//  CurrencySelector.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 26/10/21.
+//
+
+import SwiftUI
+
+struct CurrencySelector: View {
+    @State private var showCurrencyList = false
+    @State private var selectedBaseCurrency = CurrencyModel(name: "US Dollar", code: "USD")
+    @State private var selectedQuoteCurrency = CurrencyModel(name: "Euro", code: "EUR")
+    
+    var body: some View {
+        HStack {
+            Button(action: { showCurrencyList = true }) {
+                CurrencySelectorButton(selectedCurrency: selectedBaseCurrency)
+                CurrencySelectorButton(selectedCurrency: selectedQuoteCurrency)
+            }
+        }
+    }
+}
+
+struct CurrencySelector_Previews: PreviewProvider {
+    static var previews: some View {
+        CurrencySelector()
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Helpers/CurrencySelectorButton.swift	Tue Oct 26 18:18:36 2021 +0200
@@ -0,0 +1,39 @@
+//
+//  CurrencySelectorButton.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 26/10/21.
+//
+
+import SwiftUI
+
+struct CurrencySelectorButton: View {
+    var selectedCurrency: CurrencyModel
+    
+    var body: some View {
+        RoundedRectangle(cornerRadius: 15)
+            .foregroundColor(Color(.secondarySystemBackground))
+            .frame(height: 60)
+            .overlay(
+                HStack {
+                    Image(selectedCurrency.code)
+                        .resizable()
+                        .aspectRatio(contentMode: .fill)
+                        .frame(width: 35, height: 35)
+                        .clipShape(Circle())
+                    
+                    Text(selectedCurrency.code)
+                        .foregroundColor(.primary)
+                        .font(.headline)
+                }
+            )
+    }
+}
+
+struct CurrencySelectorButton_Previews: PreviewProvider {
+    static var previews: some View {
+        CurrencySelectorButton(
+            selectedCurrency: CurrencyModel(name: "US Dollar", code: "USD")
+        )
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Helpers/Sidebar.swift	Tue Oct 26 18:18:36 2021 +0200
@@ -0,0 +1,34 @@
+//
+//  Sidebar.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 26/10/21.
+//
+
+import SwiftUI
+
+struct Sidebar: View {
+    var body: some View {
+        List {
+            NavigationLink(destination: ConversionView()) {
+                Label("Convert", systemImage: "arrow.counterclockwise.circle")
+            }
+            
+            NavigationLink(destination: FavoritesView()) {
+                Label("Favorites", systemImage: "star")
+            }
+            
+            NavigationLink(destination: AboutView()) {
+                Label("About", systemImage: "info.circle")
+            }
+        }
+        .listStyle(SidebarListStyle())
+        .navigationTitle("Categories")
+    }
+}
+
+struct Sidebar_Previews: PreviewProvider {
+    static var previews: some View {
+        Sidebar()
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Models/CurrencyModel.swift	Tue Oct 26 18:18:36 2021 +0200
@@ -0,0 +1,13 @@
+//
+//  CurrencyModel.swift
+//  Simoleon
+//
+//  Created by Dennis Concepción Martín on 26/10/21.
+//
+
+import Foundation
+
+struct CurrencyModel: Codable {
+    var name: String
+    var code: String
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Simoleon/Resources/currencies.json	Tue Oct 26 18:18:36 2021 +0200
@@ -0,0 +1,1192 @@
+{
+    "USD":
+    {
+        "symbol": "$",
+        "name": "US Dollar",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "USD",
+        "name_plural": "US dollars"
+    },
+    "CAD":
+    {
+        "symbol": "CA$",
+        "name": "Canadian Dollar",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "CAD",
+        "name_plural": "Canadian dollars"
+    },
+    "EUR":
+    {
+        "symbol": "€",
+        "name": "Euro",
+        "symbol_native": "€",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "EUR",
+        "name_plural": "euros"
+    },
+    "AED":
+    {
+        "symbol": "AED",
+        "name": "United Arab Emirates Dirham",
+        "symbol_native": "د.إ.‏",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "AED",
+        "name_plural": "UAE dirhams"
+    },
+    "AFN":
+    {
+        "symbol": "Af",
+        "name": "Afghan Afghani",
+        "symbol_native": "؋",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "AFN",
+        "name_plural": "Afghan Afghanis"
+    },
+    "ALL":
+    {
+        "symbol": "ALL",
+        "name": "Albanian Lek",
+        "symbol_native": "Lek",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "ALL",
+        "name_plural": "Albanian lekë"
+    },
+    "AMD":
+    {
+        "symbol": "AMD",
+        "name": "Armenian Dram",
+        "symbol_native": "դր.",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "AMD",
+        "name_plural": "Armenian drams"
+    },
+    "ARS":
+    {
+        "symbol": "AR$",
+        "name": "Argentine Peso",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "ARS",
+        "name_plural": "Argentine pesos"
+    },
+    "AUD":
+    {
+        "symbol": "AU$",
+        "name": "Australian Dollar",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "AUD",
+        "name_plural": "Australian dollars"
+    },
+    "AZN":
+    {
+        "symbol": "man.",
+        "name": "Azerbaijani Manat",
+        "symbol_native": "ман.",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "AZN",
+        "name_plural": "Azerbaijani manats"
+    },
+    "BAM":
+    {
+        "symbol": "KM",
+        "name": "Bosnia-Herzegovina Convertible Mark",
+        "symbol_native": "KM",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "BAM",
+        "name_plural": "Bosnia-Herzegovina convertible marks"
+    },
+    "BDT":
+    {
+        "symbol": "Tk",
+        "name": "Bangladeshi Taka",
+        "symbol_native": "৳",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "BDT",
+        "name_plural": "Bangladeshi takas"
+    },
+    "BGN":
+    {
+        "symbol": "BGN",
+        "name": "Bulgarian Lev",
+        "symbol_native": "лв.",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "BGN",
+        "name_plural": "Bulgarian leva"
+    },
+    "BHD":
+    {
+        "symbol": "BD",
+        "name": "Bahraini Dinar",
+        "symbol_native": "د.ب.‏",
+        "decimal_digits": 3,
+        "rounding": 0,
+        "code": "BHD",
+        "name_plural": "Bahraini dinars"
+    },
+    "BIF":
+    {
+        "symbol": "FBu",
+        "name": "Burundian Franc",
+        "symbol_native": "FBu",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "BIF",
+        "name_plural": "Burundian francs"
+    },
+    "BND":
+    {
+        "symbol": "BN$",
+        "name": "Brunei Dollar",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "BND",
+        "name_plural": "Brunei dollars"
+    },
+    "BOB":
+    {
+        "symbol": "Bs",
+        "name": "Bolivian Boliviano",
+        "symbol_native": "Bs",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "BOB",
+        "name_plural": "Bolivian bolivianos"
+    },
+    "BRL":
+    {
+        "symbol": "R$",
+        "name": "Brazilian Real",
+        "symbol_native": "R$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "BRL",
+        "name_plural": "Brazilian reals"
+    },
+    "BWP":
+    {
+        "symbol": "BWP",
+        "name": "Botswanan Pula",
+        "symbol_native": "P",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "BWP",
+        "name_plural": "Botswanan pulas"
+    },
+    "BYN":
+    {
+        "symbol": "Br",
+        "name": "Belarusian Ruble",
+        "symbol_native": "руб.",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "BYN",
+        "name_plural": "Belarusian rubles"
+    },
+    "BZD":
+    {
+        "symbol": "BZ$",
+        "name": "Belize Dollar",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "BZD",
+        "name_plural": "Belize dollars"
+    },
+    "CDF":
+    {
+        "symbol": "CDF",
+        "name": "Congolese Franc",
+        "symbol_native": "FrCD",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "CDF",
+        "name_plural": "Congolese francs"
+    },
+    "CHF":
+    {
+        "symbol": "CHF",
+        "name": "Swiss Franc",
+        "symbol_native": "CHF",
+        "decimal_digits": 2,
+        "rounding": 0.05,
+        "code": "CHF",
+        "name_plural": "Swiss francs"
+    },
+    "CLP":
+    {
+        "symbol": "CL$",
+        "name": "Chilean Peso",
+        "symbol_native": "$",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "CLP",
+        "name_plural": "Chilean pesos"
+    },
+    "CNY":
+    {
+        "symbol": "CN¥",
+        "name": "Chinese Yuan",
+        "symbol_native": "CN¥",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "CNY",
+        "name_plural": "Chinese yuan"
+    },
+    "COP":
+    {
+        "symbol": "CO$",
+        "name": "Colombian Peso",
+        "symbol_native": "$",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "COP",
+        "name_plural": "Colombian pesos"
+    },
+    "CRC":
+    {
+        "symbol": "₡",
+        "name": "Costa Rican Colón",
+        "symbol_native": "₡",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "CRC",
+        "name_plural": "Costa Rican colóns"
+    },
+    "CVE":
+    {
+        "symbol": "CV$",
+        "name": "Cape Verdean Escudo",
+        "symbol_native": "CV$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "CVE",
+        "name_plural": "Cape Verdean escudos"
+    },
+    "CZK":
+    {
+        "symbol": "Kč",
+        "name": "Czech Republic Koruna",
+        "symbol_native": "Kč",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "CZK",
+        "name_plural": "Czech Republic korunas"
+    },
+    "DJF":
+    {
+        "symbol": "Fdj",
+        "name": "Djiboutian Franc",
+        "symbol_native": "Fdj",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "DJF",
+        "name_plural": "Djiboutian francs"
+    },
+    "DKK":
+    {
+        "symbol": "Dkr",
+        "name": "Danish Krone",
+        "symbol_native": "kr",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "DKK",
+        "name_plural": "Danish kroner"
+    },
+    "DOP":
+    {
+        "symbol": "RD$",
+        "name": "Dominican Peso",
+        "symbol_native": "RD$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "DOP",
+        "name_plural": "Dominican pesos"
+    },
+    "DZD":
+    {
+        "symbol": "DA",
+        "name": "Algerian Dinar",
+        "symbol_native": "د.ج.‏",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "DZD",
+        "name_plural": "Algerian dinars"
+    },
+    "EEK":
+    {
+        "symbol": "Ekr",
+        "name": "Estonian Kroon",
+        "symbol_native": "kr",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "EEK",
+        "name_plural": "Estonian kroons"
+    },
+    "EGP":
+    {
+        "symbol": "EGP",
+        "name": "Egyptian Pound",
+        "symbol_native": "ج.م.‏",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "EGP",
+        "name_plural": "Egyptian pounds"
+    },
+    "ERN":
+    {
+        "symbol": "Nfk",
+        "name": "Eritrean Nakfa",
+        "symbol_native": "Nfk",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "ERN",
+        "name_plural": "Eritrean nakfas"
+    },
+    "ETB":
+    {
+        "symbol": "Br",
+        "name": "Ethiopian Birr",
+        "symbol_native": "Br",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "ETB",
+        "name_plural": "Ethiopian birrs"
+    },
+    "GBP":
+    {
+        "symbol": "£",
+        "name": "British Pound Sterling",
+        "symbol_native": "£",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "GBP",
+        "name_plural": "British pounds sterling"
+    },
+    "GEL":
+    {
+        "symbol": "GEL",
+        "name": "Georgian Lari",
+        "symbol_native": "GEL",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "GEL",
+        "name_plural": "Georgian laris"
+    },
+    "GHS":
+    {
+        "symbol": "GH₵",
+        "name": "Ghanaian Cedi",
+        "symbol_native": "GH₵",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "GHS",
+        "name_plural": "Ghanaian cedis"
+    },
+    "GNF":
+    {
+        "symbol": "FG",
+        "name": "Guinean Franc",
+        "symbol_native": "FG",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "GNF",
+        "name_plural": "Guinean francs"
+    },
+    "GTQ":
+    {
+        "symbol": "GTQ",
+        "name": "Guatemalan Quetzal",
+        "symbol_native": "Q",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "GTQ",
+        "name_plural": "Guatemalan quetzals"
+    },
+    "HKD":
+    {
+        "symbol": "HK$",
+        "name": "Hong Kong Dollar",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "HKD",
+        "name_plural": "Hong Kong dollars"
+    },
+    "HNL":
+    {
+        "symbol": "HNL",
+        "name": "Honduran Lempira",
+        "symbol_native": "L",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "HNL",
+        "name_plural": "Honduran lempiras"
+    },
+    "HRK":
+    {
+        "symbol": "kn",
+        "name": "Croatian Kuna",
+        "symbol_native": "kn",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "HRK",
+        "name_plural": "Croatian kunas"
+    },
+    "HUF":
+    {
+        "symbol": "Ft",
+        "name": "Hungarian Forint",
+        "symbol_native": "Ft",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "HUF",
+        "name_plural": "Hungarian forints"
+    },
+    "IDR":
+    {
+        "symbol": "Rp",
+        "name": "Indonesian Rupiah",
+        "symbol_native": "Rp",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "IDR",
+        "name_plural": "Indonesian rupiahs"
+    },
+    "ILS":
+    {
+        "symbol": "₪",
+        "name": "Israeli New Sheqel",
+        "symbol_native": "₪",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "ILS",
+        "name_plural": "Israeli new sheqels"
+    },
+    "INR":
+    {
+        "symbol": "Rs",
+        "name": "Indian Rupee",
+        "symbol_native": "টকা",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "INR",
+        "name_plural": "Indian rupees"
+    },
+    "IQD":
+    {
+        "symbol": "IQD",
+        "name": "Iraqi Dinar",
+        "symbol_native": "د.ع.‏",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "IQD",
+        "name_plural": "Iraqi dinars"
+    },
+    "IRR":
+    {
+        "symbol": "IRR",
+        "name": "Iranian Rial",
+        "symbol_native": "﷼",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "IRR",
+        "name_plural": "Iranian rials"
+    },
+    "ISK":
+    {
+        "symbol": "Ikr",
+        "name": "Icelandic Króna",
+        "symbol_native": "kr",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "ISK",
+        "name_plural": "Icelandic krónur"
+    },
+    "JMD":
+    {
+        "symbol": "J$",
+        "name": "Jamaican Dollar",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "JMD",
+        "name_plural": "Jamaican dollars"
+    },
+    "JOD":
+    {
+        "symbol": "JD",
+        "name": "Jordanian Dinar",
+        "symbol_native": "د.أ.‏",
+        "decimal_digits": 3,
+        "rounding": 0,
+        "code": "JOD",
+        "name_plural": "Jordanian dinars"
+    },
+    "JPY":
+    {
+        "symbol": "¥",
+        "name": "Japanese Yen",
+        "symbol_native": "¥",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "JPY",
+        "name_plural": "Japanese yen"
+    },
+    "KES":
+    {
+        "symbol": "Ksh",
+        "name": "Kenyan Shilling",
+        "symbol_native": "Ksh",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "KES",
+        "name_plural": "Kenyan shillings"
+    },
+    "KHR":
+    {
+        "symbol": "KHR",
+        "name": "Cambodian Riel",
+        "symbol_native": "៛",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "KHR",
+        "name_plural": "Cambodian riels"
+    },
+    "KMF":
+    {
+        "symbol": "CF",
+        "name": "Comorian Franc",
+        "symbol_native": "FC",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "KMF",
+        "name_plural": "Comorian francs"
+    },
+    "KRW":
+    {
+        "symbol": "₩",
+        "name": "South Korean Won",
+        "symbol_native": "₩",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "KRW",
+        "name_plural": "South Korean won"
+    },
+    "KWD":
+    {
+        "symbol": "KD",
+        "name": "Kuwaiti Dinar",
+        "symbol_native": "د.ك.‏",
+        "decimal_digits": 3,
+        "rounding": 0,
+        "code": "KWD",
+        "name_plural": "Kuwaiti dinars"
+    },
+    "KZT":
+    {
+        "symbol": "KZT",
+        "name": "Kazakhstani Tenge",
+        "symbol_native": "тңг.",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "KZT",
+        "name_plural": "Kazakhstani tenges"
+    },
+    "LBP":
+    {
+        "symbol": "L.L.",
+        "name": "Lebanese Pound",
+        "symbol_native": "ل.ل.‏",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "LBP",
+        "name_plural": "Lebanese pounds"
+    },
+    "LKR":
+    {
+        "symbol": "SLRs",
+        "name": "Sri Lankan Rupee",
+        "symbol_native": "SL Re",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "LKR",
+        "name_plural": "Sri Lankan rupees"
+    },
+    "LTL":
+    {
+        "symbol": "Lt",
+        "name": "Lithuanian Litas",
+        "symbol_native": "Lt",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "LTL",
+        "name_plural": "Lithuanian litai"
+    },
+    "LVL":
+    {
+        "symbol": "Ls",
+        "name": "Latvian Lats",
+        "symbol_native": "Ls",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "LVL",
+        "name_plural": "Latvian lati"
+    },
+    "LYD":
+    {
+        "symbol": "LD",
+        "name": "Libyan Dinar",
+        "symbol_native": "د.ل.‏",
+        "decimal_digits": 3,
+        "rounding": 0,
+        "code": "LYD",
+        "name_plural": "Libyan dinars"
+    },
+    "MAD":
+    {
+        "symbol": "MAD",
+        "name": "Moroccan Dirham",
+        "symbol_native": "د.م.‏",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "MAD",
+        "name_plural": "Moroccan dirhams"
+    },
+    "MDL":
+    {
+        "symbol": "MDL",
+        "name": "Moldovan Leu",
+        "symbol_native": "MDL",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "MDL",
+        "name_plural": "Moldovan lei"
+    },
+    "MGA":
+    {
+        "symbol": "MGA",
+        "name": "Malagasy Ariary",
+        "symbol_native": "MGA",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "MGA",
+        "name_plural": "Malagasy Ariaries"
+    },
+    "MKD":
+    {
+        "symbol": "MKD",
+        "name": "Macedonian Denar",
+        "symbol_native": "MKD",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "MKD",
+        "name_plural": "Macedonian denari"
+    },
+    "MMK":
+    {
+        "symbol": "MMK",
+        "name": "Myanma Kyat",
+        "symbol_native": "K",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "MMK",
+        "name_plural": "Myanma kyats"
+    },
+    "MOP":
+    {
+        "symbol": "MOP$",
+        "name": "Macanese Pataca",
+        "symbol_native": "MOP$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "MOP",
+        "name_plural": "Macanese patacas"
+    },
+    "MUR":
+    {
+        "symbol": "MURs",
+        "name": "Mauritian Rupee",
+        "symbol_native": "MURs",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "MUR",
+        "name_plural": "Mauritian rupees"
+    },
+    "MXN":
+    {
+        "symbol": "MX$",
+        "name": "Mexican Peso",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "MXN",
+        "name_plural": "Mexican pesos"
+    },
+    "MYR":
+    {
+        "symbol": "RM",
+        "name": "Malaysian Ringgit",
+        "symbol_native": "RM",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "MYR",
+        "name_plural": "Malaysian ringgits"
+    },
+    "MZN":
+    {
+        "symbol": "MTn",
+        "name": "Mozambican Metical",
+        "symbol_native": "MTn",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "MZN",
+        "name_plural": "Mozambican meticals"
+    },
+    "NAD":
+    {
+        "symbol": "N$",
+        "name": "Namibian Dollar",
+        "symbol_native": "N$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "NAD",
+        "name_plural": "Namibian dollars"
+    },
+    "NGN":
+    {
+        "symbol": "₦",
+        "name": "Nigerian Naira",
+        "symbol_native": "₦",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "NGN",
+        "name_plural": "Nigerian nairas"
+    },
+    "NIO":
+    {
+        "symbol": "C$",
+        "name": "Nicaraguan Córdoba",
+        "symbol_native": "C$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "NIO",
+        "name_plural": "Nicaraguan córdobas"
+    },
+    "NOK":
+    {
+        "symbol": "Nkr",
+        "name": "Norwegian Krone",
+        "symbol_native": "kr",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "NOK",
+        "name_plural": "Norwegian kroner"
+    },
+    "NPR":
+    {
+        "symbol": "NPRs",
+        "name": "Nepalese Rupee",
+        "symbol_native": "नेरू",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "NPR",
+        "name_plural": "Nepalese rupees"
+    },
+    "NZD":
+    {
+        "symbol": "NZ$",
+        "name": "New Zealand Dollar",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "NZD",
+        "name_plural": "New Zealand dollars"
+    },
+    "OMR":
+    {
+        "symbol": "OMR",
+        "name": "Omani Rial",
+        "symbol_native": "ر.ع.‏",
+        "decimal_digits": 3,
+        "rounding": 0,
+        "code": "OMR",
+        "name_plural": "Omani rials"
+    },
+    "PAB":
+    {
+        "symbol": "B/.",
+        "name": "Panamanian Balboa",
+        "symbol_native": "B/.",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "PAB",
+        "name_plural": "Panamanian balboas"
+    },
+    "PEN":
+    {
+        "symbol": "S/.",
+        "name": "Peruvian Nuevo Sol",
+        "symbol_native": "S/.",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "PEN",
+        "name_plural": "Peruvian nuevos soles"
+    },
+    "PHP":
+    {
+        "symbol": "₱",
+        "name": "Philippine Peso",
+        "symbol_native": "₱",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "PHP",
+        "name_plural": "Philippine pesos"
+    },
+    "PKR":
+    {
+        "symbol": "PKRs",
+        "name": "Pakistani Rupee",
+        "symbol_native": "₨",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "PKR",
+        "name_plural": "Pakistani rupees"
+    },
+    "PLN":
+    {
+        "symbol": "zł",
+        "name": "Polish Zloty",
+        "symbol_native": "zł",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "PLN",
+        "name_plural": "Polish zlotys"
+    },
+    "PYG":
+    {
+        "symbol": "₲",
+        "name": "Paraguayan Guarani",
+        "symbol_native": "₲",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "PYG",
+        "name_plural": "Paraguayan guaranis"
+    },
+    "QAR":
+    {
+        "symbol": "QR",
+        "name": "Qatari Rial",
+        "symbol_native": "ر.ق.‏",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "QAR",
+        "name_plural": "Qatari rials"
+    },
+    "RON":
+    {
+        "symbol": "RON",
+        "name": "Romanian Leu",
+        "symbol_native": "RON",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "RON",
+        "name_plural": "Romanian lei"
+    },
+    "RSD":
+    {
+        "symbol": "din.",
+        "name": "Serbian Dinar",
+        "symbol_native": "дин.",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "RSD",
+        "name_plural": "Serbian dinars"
+    },
+    "RUB":
+    {
+        "symbol": "RUB",
+        "name": "Russian Ruble",
+        "symbol_native": "₽.",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "RUB",
+        "name_plural": "Russian rubles"
+    },
+    "RWF":
+    {
+        "symbol": "RWF",
+        "name": "Rwandan Franc",
+        "symbol_native": "FR",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "RWF",
+        "name_plural": "Rwandan francs"
+    },
+    "SAR":
+    {
+        "symbol": "SR",
+        "name": "Saudi Riyal",
+        "symbol_native": "ر.س.‏",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "SAR",
+        "name_plural": "Saudi riyals"
+    },
+    "SDG":
+    {
+        "symbol": "SDG",
+        "name": "Sudanese Pound",
+        "symbol_native": "SDG",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "SDG",
+        "name_plural": "Sudanese pounds"
+    },
+    "SEK":
+    {
+        "symbol": "Skr",
+        "name": "Swedish Krona",
+        "symbol_native": "kr",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "SEK",
+        "name_plural": "Swedish kronor"
+    },
+    "SGD":
+    {
+        "symbol": "S$",
+        "name": "Singapore Dollar",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "SGD",
+        "name_plural": "Singapore dollars"
+    },
+    "SOS":
+    {
+        "symbol": "Ssh",
+        "name": "Somali Shilling",
+        "symbol_native": "Ssh",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "SOS",
+        "name_plural": "Somali shillings"
+    },
+    "SYP":
+    {
+        "symbol": "SY£",
+        "name": "Syrian Pound",
+        "symbol_native": "ل.س.‏",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "SYP",
+        "name_plural": "Syrian pounds"
+    },
+    "THB":
+    {
+        "symbol": "฿",
+        "name": "Thai Baht",
+        "symbol_native": "฿",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "THB",
+        "name_plural": "Thai baht"
+    },
+    "TND":
+    {
+        "symbol": "DT",
+        "name": "Tunisian Dinar",
+        "symbol_native": "د.ت.‏",
+        "decimal_digits": 3,
+        "rounding": 0,
+        "code": "TND",
+        "name_plural": "Tunisian dinars"
+    },
+    "TOP":
+    {
+        "symbol": "T$",
+        "name": "Tongan Paʻanga",
+        "symbol_native": "T$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "TOP",
+        "name_plural": "Tongan paʻanga"
+    },
+    "TRY":
+    {
+        "symbol": "TL",
+        "name": "Turkish Lira",
+        "symbol_native": "TL",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "TRY",
+        "name_plural": "Turkish Lira"
+    },
+    "TTD":
+    {
+        "symbol": "TT$",
+        "name": "Trinidad and Tobago Dollar",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "TTD",
+        "name_plural": "Trinidad and Tobago dollars"
+    },
+    "TWD":
+    {
+        "symbol": "NT$",
+        "name": "New Taiwan Dollar",
+        "symbol_native": "NT$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "TWD",
+        "name_plural": "New Taiwan dollars"
+    },
+    "TZS":
+    {
+        "symbol": "TSh",
+        "name": "Tanzanian Shilling",
+        "symbol_native": "TSh",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "TZS",
+        "name_plural": "Tanzanian shillings"
+    },
+    "UAH":
+    {
+        "symbol": "₴",
+        "name": "Ukrainian Hryvnia",
+        "symbol_native": "₴",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "UAH",
+        "name_plural": "Ukrainian hryvnias"
+    },
+    "UGX":
+    {
+        "symbol": "USh",
+        "name": "Ugandan Shilling",
+        "symbol_native": "USh",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "UGX",
+        "name_plural": "Ugandan shillings"
+    },
+    "UYU":
+    {
+        "symbol": "$U",
+        "name": "Uruguayan Peso",
+        "symbol_native": "$",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "UYU",
+        "name_plural": "Uruguayan pesos"
+    },
+    "UZS":
+    {
+        "symbol": "UZS",
+        "name": "Uzbekistan Som",
+        "symbol_native": "UZS",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "UZS",
+        "name_plural": "Uzbekistan som"
+    },
+    "VEF":
+    {
+        "symbol": "Bs.F.",
+        "name": "Venezuelan Bolívar",
+        "symbol_native": "Bs.F.",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "VEF",
+        "name_plural": "Venezuelan bolívars"
+    },
+    "VND":
+    {
+        "symbol": "₫",
+        "name": "Vietnamese Dong",
+        "symbol_native": "₫",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "VND",
+        "name_plural": "Vietnamese dong"
+    },
+    "XAF":
+    {
+        "symbol": "FCFA",
+        "name": "CFA Franc BEAC",
+        "symbol_native": "FCFA",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "XAF",
+        "name_plural": "CFA francs BEAC"
+    },
+    "XOF":
+    {
+        "symbol": "CFA",
+        "name": "CFA Franc BCEAO",
+        "symbol_native": "CFA",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "XOF",
+        "name_plural": "CFA francs BCEAO"
+    },
+    "YER":
+    {
+        "symbol": "YR",
+        "name": "Yemeni Rial",
+        "symbol_native": "ر.ي.‏",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "YER",
+        "name_plural": "Yemeni rials"
+    },
+    "ZAR":
+    {
+        "symbol": "R",
+        "name": "South African Rand",
+        "symbol_native": "R",
+        "decimal_digits": 2,
+        "rounding": 0,
+        "code": "ZAR",
+        "name_plural": "South African rand"
+    },
+    "ZMK":
+    {
+        "symbol": "ZK",
+        "name": "Zambian Kwacha",
+        "symbol_native": "ZK",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "ZMK",
+        "name_plural": "Zambian kwachas"
+    },
+    "ZWL":
+    {
+        "symbol": "ZWL$",
+        "name": "Zimbabwean Dollar",
+        "symbol_native": "ZWL$",
+        "decimal_digits": 0,
+        "rounding": 0,
+        "code": "ZWL",
+        "name_plural": "Zimbabwean Dollar"
+    }
+}