diff --git a/app/(defaults)/crawl/page copy 2.tsx b/app/(defaults)/crawl/page copy 2.tsx new file mode 100644 index 0000000..8ca4d43 --- /dev/null +++ b/app/(defaults)/crawl/page copy 2.tsx @@ -0,0 +1,406 @@ +'use client'; + +import { useMemo, useRef, useState, useEffect } from "react"; + +// Path: app/(defaults)/crawl/page.tsx (App Router) +// TailwindCSS assumed. + +type Row = Record; + +function csvEscape(v: unknown) { + if (v === undefined || v === null) return ""; + const s = String(v); + return /[",\n]/.test(s) ? `"${s.replace(/"/g, '""')}"` : s; +} +function toCSV(rows: Row[], headers: string[]) { + const lines = [headers.join(",")]; + for (const r of rows) lines.push(headers.map(h => csvEscape(r[h])).join(",")); + return lines.join("\n"); +} +function download(filename: string, mime: string, text: string) { + const blob = new Blob([text], { type: mime }); + const url = URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + a.download = filename; + a.click(); + URL.revokeObjectURL(url); +} +function getUnionKeys(rows: Row[]): string[] { + const set = new Set(); + for (const r of rows) Object.keys(r || {}).forEach(k => set.add(k)); + // Prefer a useful order if present: + const preferred = [ + "url","status","status_text","time_ms","bytes","content_type","http_version", + "title","title_length","title_pixel_width", + "meta_description","meta_description_length","meta_description_pixel_width", + "h1_1","h1_1_length","h1_1_pixel_width","h1_2","h1_2_length","h1_2_pixel_width", + "h2_1","h2_2", + "canonical","robots_meta","x_robots_tag","noindex","nofollow", + "lang","word_count","flesch_reading_ease","flesch_kincaid_grade", + "gunning_fog","coleman_liau","ari","smog", + "schema_types","inlinks","outlinks","render_mode", + "last_modified","set_cookie","crawl_timestamp", + "duplicate_title_exact","nearest_title_similarity","nearest_title_url", + "duplicate_description_exact","nearest_description_similarity","nearest_description_url" + ]; + const others = [...set].filter(k => !preferred.includes(k)).sort(); + return [...preferred.filter(k => set.has(k)), ...others]; +} +function coerce(value: any): string { + if (Array.isArray(value)) return value.join(" | "); + if (typeof value === "object" && value !== null) return JSON.stringify(value); + return String(value ?? ""); +} +function truncate(s: string, n: number) { + return s.length > n ? s.slice(0, n - 1) + "…" : s; +} +function renderCell(value: any) { + if (value == null) return ; + if (typeof value === "string") { + if (/^https?:\/\//i.test(value)) { + return {value}; + } + return {truncate(value, 220)}; + } + if (typeof value === "number" || typeof value === "boolean") return {String(value)}; + if (Array.isArray(value)) return [{value.length} items]; + return ( +
+ object +
{JSON.stringify(value, null, 2)}
+
+ ); +} +function summaryChips(report: any): { label: string; value: string | number }[] { + const chips: { label: string; value: string | number }[] = []; + const arr = Array.isArray(report) ? report : Array.isArray(report?.results) ? report.results : null; + if (arr) chips.push({ label: "Pages crawled", value: arr.length }); + const totals = report?.totals || report?.summary || {}; + for (const [k, v] of Object.entries(totals)) { + if (typeof v === "number") chips.push({ label: k, value: v }); + } + return chips.slice(0, 8); +} + +export default function CrawlPage() { + const [siteUrl, setSiteUrl] = useState(""); + const [maxUrls, setMaxUrls] = useState(""); + const [autoMaxLoading, setAutoMaxLoading] = useState(false); + const [crawlLoading, setCrawlLoading] = useState(false); + const [error, setError] = useState(null); + const [report, setReport] = useState(null); + + const [query, setQuery] = useState(""); // ✅ NEW: quick search + const [visible, setVisible] = useState>({}); // ✅ NEW: column toggles + const [sortBy, setSortBy] = useState("url"); // ✅ NEW: sorting + const [sortDir, setSortDir] = useState<"asc"|"desc">("asc"); + + const apiBase = "https://app.crawlerx.co/crawl"; + + const isValidUrl = useMemo(() => { + try { + if (!siteUrl) return false; + const normalized = siteUrl.match(/^https?:\/\//i) ? siteUrl : `https://${siteUrl}`; + const u = new URL(normalized); + return !!u.hostname; + } catch { + return false; + } + }, [siteUrl]); + + const normalizedUrl = useMemo(() => { + if (!siteUrl) return ""; + return siteUrl.match(/^https?:\/\//i) ? siteUrl : `https://${siteUrl}`; + }, [siteUrl]); + + async function autoDetectMaxFromSitemap() { + setError(null); + setAutoMaxLoading(true); + try { + if (!isValidUrl) throw new Error("Enter a valid website URL first."); + const res = await fetch(`/api/sitemap?u=${encodeURIComponent(normalizedUrl)}`); + if (!res.ok) throw new Error(`Sitemap probe failed (${res.status})`); + const json = await res.json(); + if (typeof json.count !== "number" || json.count < 1) throw new Error("Sitemap found but contains no URLs."); + setMaxUrls(json.count); + } catch (e: any) { + setError(e?.message || "Failed to detect Max from sitemap."); + } finally { + setAutoMaxLoading(false); + } + } + + async function handleCrawl() { + setError(null); + setCrawlLoading(true); + setReport(null); + try { + if (!isValidUrl) throw new Error("Please enter a valid website URL (with or without https://)."); + const max = typeof maxUrls === "number" && maxUrls > 0 ? maxUrls : 50; + const apiUrl = `${apiBase}?url=${encodeURIComponent(normalizedUrl)}&max=${max}`; + const res = await fetch(apiUrl); + if (!res.ok) throw new Error(`Crawler API error: ${res.status} ${res.statusText}`); + const data = await res.json(); + setReport(data); + } catch (e: any) { + setError(e?.message || "Failed to crawl the site."); + } finally { + setCrawlLoading(false); + } + } + + function downloadJson() { + if (!report) return; + const blob = new Blob([JSON.stringify(report, null, 2)], { type: "application/json" }); + const url = URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + const host = (() => { try { return new URL(normalizedUrl).hostname; } catch { return "report"; }})(); + a.download = `crawlerx-report-${host}.json`; + document.body.appendChild(a); + a.click(); + a.remove(); + URL.revokeObjectURL(url); + } + + // ✅ Build table rows from report (supports either array or { results: [] }) + const rawRows: Row[] = useMemo(() => { + if (!report) return []; + if (Array.isArray(report)) return report as Row[]; + if (Array.isArray(report?.results)) return report.results as Row[]; + return []; + }, [report]); + + // ✅ Determine columns = union of keys across rows + const columns = useMemo(() => getUnionKeys(rawRows), [rawRows]); + + // ✅ Initialize column visibility when columns change (default all visible) + useEffect(() => { + if (!columns.length) return; + setVisible(prev => { + const next: Record = { ...prev }; + let changed = false; + for (const c of columns) if (next[c] === undefined) { next[c] = true; changed = true; } + return changed ? next : prev; + }); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [columns.join("|")]); + + // ✅ Search (filters visible columns) + const filtered = useMemo(() => { + if (!query.trim()) return rawRows; + const q = query.toLowerCase(); + return rawRows.filter(r => { + for (const h of columns) { + if (!visible[h]) continue; + const v = coerce(r[h]).toLowerCase(); + if (v.includes(q)) return true; + } + return false; + }); + }, [rawRows, query, columns, visible]); + + // ✅ Sorting + const sorted = useMemo(() => { + const copy = [...filtered]; + copy.sort((a, b) => { + const va = a[sortBy], vb = b[sortBy]; + if (va == null && vb == null) return 0; + if (va == null) return sortDir === "asc" ? -1 : 1; + if (vb == null) return sortDir === "asc" ? 1 : -1; + const sa = typeof va === "number" ? va : String(va); + const sb = typeof vb === "number" ? vb : String(vb); + if (sa < sb) return sortDir === "asc" ? -1 : 1; + if (sa > sb) return sortDir === "asc" ? 1 : -1; + return 0; + }); + return copy; + }, [filtered, sortBy, sortDir]); + + function onHeaderClick(h: string) { + if (sortBy === h) setSortDir(d => (d === "asc" ? "desc" : "asc")); + else { setSortBy(h); setSortDir("asc"); } + } + + function exportCSV() { + if (!sorted.length) return; + const activeHeaders = columns.filter(h => visible[h]); + const csv = toCSV(sorted, activeHeaders); + const host = (() => { try { return new URL(normalizedUrl).hostname; } catch { return "report"; }})(); + download(`crawlerx-report-${host}.csv`, "text/csv;charset=utf-8", csv); + } + function exportJSON() { + if (!sorted.length) return; + const host = (() => { try { return new URL(normalizedUrl).hostname; } catch { return "report"; }})(); + download(`crawlerx-report-${host}.json`, "application/json", JSON.stringify(sorted, null, 2)); + } + + return ( +
+
+
+

CrawlerX — Crawl & Report

+

+ Enter a website, auto-detect the sitemap size for Max, then run a crawl via the CrawlerX API and download the JSON report. +

+
+ +
+
+ + setSiteUrl(e.target.value)} + placeholder="https://example.com" + className="w-full rounded-xl border border-gray-300 px-3 py-2 focus:outline-none focus:ring-4 focus:ring-blue-100 focus:border-blue-500" + /> +
+ +
+ + setMaxUrls(e.target.value ? Number(e.target.value) : "")} + placeholder="e.g. 50" + className="w-40 rounded-xl border border-gray-300 px-3 py-2 focus:outline-none focus:ring-4 focus:ring-blue-100 focus:border-blue-500" + /> +
+ +
+ +
+
+ + {error && ( +
{error}
+ )} + + {report && ( +
+
+

Crawler Report

+
+ setQuery(e.target.value)} + placeholder="Search (filters visible columns)" + className="border rounded-xl px-3 py-2 text-sm" + /> + + + +
+
+ +
+ {summaryChips(report).map((c) => ( + + {c.value} + {c.label} + + ))} +
+ + {/* Column toggles */} +
+
Columns
+
+ {columns.map((h) => ( + + ))} +
+
+ + {/* Table */} + {sorted.length > 0 ? ( +
+ + + + {columns.filter(c => visible[c]).map((c) => ( + + ))} + + + + {sorted.map((r: any, idx: number) => ( + + {columns.filter(c => visible[c]).map((c) => ( + + ))} + + ))} + +
onHeaderClick(c)} + title="Click to sort" + > +
+ {c} + {sortBy === c && {sortDir === "asc" ? "▲" : "▼"}} +
+
+ {renderCell(r[c])} +
+
+ ) : ( +
+                {JSON.stringify(report, null, 2)}
+              
+ )} +
+ )} + +

+ Tip: If sitemap auto-detection fails due to server restrictions, enter Max manually or use the /api/sitemap proxy. +

+
+
+ ); +} diff --git a/app/(defaults)/crawl/page copy.tsx b/app/(defaults)/crawl/page copy.tsx new file mode 100644 index 0000000..f0808de --- /dev/null +++ b/app/(defaults)/crawl/page copy.tsx @@ -0,0 +1,257 @@ +'use client'; + +import { useMemo, useState } from "react"; + +// Path: app/(defaults)/crawl/page.tsx (App Router) +// If using Pages Router, place at pages/crawl.tsx +// TailwindCSS assumed. + +export default function CrawlPage() { + const [siteUrl, setSiteUrl] = useState(""); + const [maxUrls, setMaxUrls] = useState(""); + const [autoMaxLoading, setAutoMaxLoading] = useState(false); + const [crawlLoading, setCrawlLoading] = useState(false); + const [error, setError] = useState(null); + const [report, setReport] = useState(null); + + const apiBase = "https://app.crawlerx.co/crawl"; + + const isValidUrl = useMemo(() => { + try { + if (!siteUrl) return false; + const normalized = siteUrl.match(/^https?:\/\//i) ? siteUrl : `https://${siteUrl}`; + const u = new URL(normalized); + return !!u.hostname; + } catch { + return false; + } + }, [siteUrl]); + + const normalizedUrl = useMemo(() => { + if (!siteUrl) return ""; + return siteUrl.match(/^https?:\/\//i) ? siteUrl : `https://${siteUrl}`; + }, [siteUrl]); + + async function autoDetectMaxFromSitemap() { + setError(null); + setAutoMaxLoading(true); + try { + if (!isValidUrl) throw new Error("Enter a valid website URL first."); + // Server-side proxy avoids CORS + const res = await fetch(`/api/sitemap?u=${encodeURIComponent(normalizedUrl)}`); + if (!res.ok) throw new Error(`Sitemap probe failed (${res.status})`); + const json = await res.json(); + if (typeof json.count !== "number" || json.count < 1) throw new Error("Sitemap found but contains no URLs."); + setMaxUrls(json.count); + } catch (e: any) { + setError(e?.message || "Failed to detect Max from sitemap."); + } finally { + setAutoMaxLoading(false); + } + } + + async function handleCrawl() { + setError(null); + setCrawlLoading(true); + setReport(null); + + try { + if (!isValidUrl) throw new Error("Please enter a valid website URL (with or without https://)."); + const max = typeof maxUrls === "number" && maxUrls > 0 ? maxUrls : 50; + const apiUrl = `${apiBase}?url=${encodeURIComponent(normalizedUrl)}&max=${max}`; + const res = await fetch(apiUrl); + if (!res.ok) throw new Error(`Crawler API error: ${res.status} ${res.statusText}`); + const data = await res.json(); + setReport(data); + } catch (e: any) { + setError(e?.message || "Failed to crawl the site."); + } finally { + setCrawlLoading(false); + } + } + + function downloadJson() { + if (!report) return; + const blob = new Blob([JSON.stringify(report, null, 2)], { type: "application/json" }); + const url = URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; + const host = (() => { + try { return new URL(normalizedUrl).hostname; } catch { return "report"; } + })(); + a.download = `crawlerx-report-${host}.json`; + document.body.appendChild(a); + a.click(); + a.remove(); + URL.revokeObjectURL(url); + } + + const { rows, columns } = useMemo(() => { + if (!report) return { rows: [] as any[], columns: [] as string[] }; + const data = Array.isArray(report) ? report : Array.isArray(report?.results) ? report.results : null; + if (!data || !Array.isArray(data) || data.length === 0) return { rows: [], columns: [] }; + + const preferred = ["url", "status", "title", "description", "h1", "issues", "links", "loadTime" ]; + const colset = new Set(); + data.slice(0, 25).forEach((r: any) => Object.keys(r || {}).forEach((k) => colset.add(k))); + const cols = preferred.filter((k) => colset.has(k)).concat(Array.from(colset).filter((k) => !preferred.includes(k)).slice(0, 6)); + return { rows: data, columns: cols }; + }, [report]); + + return ( +
+
+
+

CrawlerX — Crawl & Report

+

Enter a website, auto-detect the sitemap size for Max, then run a crawl via the CrawlerX API and download the JSON report.

+
+ +
+
+ + setSiteUrl(e.target.value)} + placeholder="https://example.com" + className="w-full rounded-xl border border-gray-300 px-3 py-2 focus:outline-none focus:ring-4 focus:ring-blue-100 focus:border-blue-500" + /> +
+ +
+ + setMaxUrls(e.target.value ? Number(e.target.value) : "")} + placeholder="e.g. 50" + className="w-40 rounded-xl border border-gray-300 px-3 py-2 focus:outline-none focus:ring-4 focus:ring-blue-100 focus:border-blue-500" + /> +
+ +
+ +
+
+ + {error && ( +
{error}
+ )} + + {report && ( +
+
+

Crawler Report

+
+ +
+
+ +
+ {summaryChips(report).map((c) => ( + + {c.value} + {c.label} + + ))} +
+ + {rows.length > 0 ? ( +
+ + + + {columns.map((c) => ( + + ))} + + + + {rows.map((r: any, idx: number) => ( + + {columns.map((c) => ( + + ))} + + ))} + +
{c}
+ {renderCell(r[c])} +
+
+ ) : ( +
+                {JSON.stringify(report, null, 2)}
+              
+ )} +
+ )} + +

+ Tip: If sitemap auto‑detection fails due to server restrictions, enter Max manually or use the /api/sitemap proxy. +

+
+
+ ); +} + +function renderCell(value: any) { + if (value == null) return ; + if (typeof value === "string") { + if (/^https?:\/\//i.test(value)) { + return ( + + {value} + + ); + } + return {truncate(value, 220)}; + } + if (typeof value === "number" || typeof value === "boolean") return {String(value)}; + if (Array.isArray(value)) return [{value.length} items]; + return ( +
+ object +
{JSON.stringify(value, null, 2)}
+
+ ); +} + +function truncate(s: string, n: number) { + return s.length > n ? s.slice(0, n - 1) + "…" : s; +} + +function summaryChips(report: any): { label: string; value: string | number }[] { + const chips: { label: string; value: string | number }[] = []; + const arr = Array.isArray(report) ? report : Array.isArray(report?.results) ? report.results : null; + if (arr) chips.push({ label: "Pages crawled", value: arr.length }); + const totals = report?.totals || report?.summary || {}; + for (const [k, v] of Object.entries(totals)) { + if (typeof v === "number") chips.push({ label: k, value: v }); + } + return chips.slice(0, 8); +} diff --git a/app/(defaults)/crawl/page.tsx b/app/(defaults)/crawl/page.tsx index f0808de..87f5406 100644 --- a/app/(defaults)/crawl/page.tsx +++ b/app/(defaults)/crawl/page.tsx @@ -1,21 +1,35 @@ +// app/(defaults)/crawl/page.tsx 'use client'; -import { useMemo, useState } from "react"; +import React, { useEffect, useMemo, useState } from 'react'; -// Path: app/(defaults)/crawl/page.tsx (App Router) -// If using Pages Router, place at pages/crawl.tsx -// TailwindCSS assumed. +/** + * Screaming-Frog style UI (tabs + summary + big table + details panel) + * - Left sidebar: views (Internal, External, Response Codes, Page Titles, Meta Description, H1, H2, Links, Issues, Performance, Render) + * - Top toolbar: search, export (JSON/CSV), column visibility quick toggles + * - Main table: sticky header, virtualish rendering by slice, clickable row selects into Details panel + * - Details panel (bottom): key/value for the selected URL + * + * Assumptions: + * - API GET https://app.crawlerx.co/crawl?url=...&max=... returns { ok, results: Row[], ... } + * - Row shape is the one produced by crawler.js in this project + */ export default function CrawlPage() { - const [siteUrl, setSiteUrl] = useState(""); - const [maxUrls, setMaxUrls] = useState(""); + const [siteUrl, setSiteUrl] = useState(''); + const [maxUrls, setMaxUrls] = useState(''); const [autoMaxLoading, setAutoMaxLoading] = useState(false); const [crawlLoading, setCrawlLoading] = useState(false); const [error, setError] = useState(null); const [report, setReport] = useState(null); + const [query, setQuery] = useState(''); + const [view, setView] = useState('Internal'); + const [visibleCols, setVisibleCols] = useState([]); + const [selectedIndex, setSelectedIndex] = useState(null); - const apiBase = "https://app.crawlerx.co/crawl"; + const apiBase = 'https://app.crawlerx.co/crawl'; + /* ---------------- URL helpers ---------------- */ const isValidUrl = useMemo(() => { try { if (!siteUrl) return false; @@ -28,23 +42,27 @@ export default function CrawlPage() { }, [siteUrl]); const normalizedUrl = useMemo(() => { - if (!siteUrl) return ""; + if (!siteUrl) return ''; return siteUrl.match(/^https?:\/\//i) ? siteUrl : `https://${siteUrl}`; }, [siteUrl]); + const startHost = useMemo(() => { + try { return normalizedUrl ? new URL(normalizedUrl).hostname : ''; } catch { return ''; } + }, [normalizedUrl]); + + /* ---------------- actions ---------------- */ async function autoDetectMaxFromSitemap() { setError(null); setAutoMaxLoading(true); try { - if (!isValidUrl) throw new Error("Enter a valid website URL first."); - // Server-side proxy avoids CORS + if (!isValidUrl) throw new Error('Enter a valid website URL first.'); const res = await fetch(`/api/sitemap?u=${encodeURIComponent(normalizedUrl)}`); if (!res.ok) throw new Error(`Sitemap probe failed (${res.status})`); const json = await res.json(); - if (typeof json.count !== "number" || json.count < 1) throw new Error("Sitemap found but contains no URLs."); + if (typeof json.count !== 'number' || json.count < 1) throw new Error('Sitemap found but contains no URLs.'); setMaxUrls(json.count); } catch (e: any) { - setError(e?.message || "Failed to detect Max from sitemap."); + setError(e?.message || 'Failed to detect Max from sitemap.'); } finally { setAutoMaxLoading(false); } @@ -54,31 +72,31 @@ export default function CrawlPage() { setError(null); setCrawlLoading(true); setReport(null); + setSelectedIndex(null); try { - if (!isValidUrl) throw new Error("Please enter a valid website URL (with or without https://)."); - const max = typeof maxUrls === "number" && maxUrls > 0 ? maxUrls : 50; + if (!isValidUrl) throw new Error('Please enter a valid website URL (with or without https://).'); + const max = typeof maxUrls === 'number' && maxUrls > 0 ? maxUrls : 50; const apiUrl = `${apiBase}?url=${encodeURIComponent(normalizedUrl)}&max=${max}`; const res = await fetch(apiUrl); if (!res.ok) throw new Error(`Crawler API error: ${res.status} ${res.statusText}`); const data = await res.json(); setReport(data); } catch (e: any) { - setError(e?.message || "Failed to crawl the site."); + setError(e?.message || 'Failed to crawl the site.'); } finally { setCrawlLoading(false); } } function downloadJson() { - if (!report) return; - const blob = new Blob([JSON.stringify(report, null, 2)], { type: "application/json" }); + const rows = dataRows(report); + if (!rows.length) return; + const blob = new Blob([JSON.stringify(rows, null, 2)], { type: 'application/json' }); const url = URL.createObjectURL(blob); - const a = document.createElement("a"); + const a = document.createElement('a'); a.href = url; - const host = (() => { - try { return new URL(normalizedUrl).hostname; } catch { return "report"; } - })(); + const host = startHost || 'report'; a.download = `crawlerx-report-${host}.json`; document.body.appendChild(a); a.click(); @@ -86,142 +104,262 @@ export default function CrawlPage() { URL.revokeObjectURL(url); } - const { rows, columns } = useMemo(() => { - if (!report) return { rows: [] as any[], columns: [] as string[] }; - const data = Array.isArray(report) ? report : Array.isArray(report?.results) ? report.results : null; - if (!data || !Array.isArray(data) || data.length === 0) return { rows: [], columns: [] }; +function exportCSV() { + const rows = filteredRows; + if (!rows.length) return; + const cols = visibleCols.length ? visibleCols : defaultCols; - const preferred = ["url", "status", "title", "description", "h1", "issues", "links", "loadTime" ]; - const colset = new Set(); - data.slice(0, 25).forEach((r: any) => Object.keys(r || {}).forEach((k) => colset.add(k))); - const cols = preferred.filter((k) => colset.has(k)).concat(Array.from(colset).filter((k) => !preferred.includes(k)).slice(0, 6)); - return { rows: data, columns: cols }; - }, [report]); + const csvEscape = (v: any) => { + if (v == null) return ''; + const s = String(v); + // NOTE: keep this regex on one line! + return /[",\n]/.test(s) ? `"${s.replace(/"/g, '""')}"` : s; + }; + const header = cols.join(','); + const lines = rows.map((r) => cols.map((c) => csvEscape(r[c])).join(',')); + const csv = [header, ...lines].join('\n'); + + const blob = new Blob([csv], { type: 'text/csv;charset=utf-8' }); + const a = document.createElement('a'); + a.href = URL.createObjectURL(blob); + a.download = 'crawl-report.csv'; + a.click(); +} + + /* ---------------- data shaping ---------------- */ + const rows = useMemo(() => dataRows(report), [report]); + + // establish columns from data sample + const allColumns = useMemo(() => { + const sample = rows.slice(0, 40); + const set = new Set(); + sample.forEach((r) => Object.keys(r).forEach((k) => set.add(k))); + return Array.from(set); + }, [rows]); + + const defaultCols = useMemo(() => PRESets['Internal'].columns, []); + + // initialize visible cols on first load + useEffect(() => { + if (!rows.length) return; + if (!visibleCols.length) setVisibleCols(PRESets[view]?.columns ?? defaultCols); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [rows.length]); + + // recompute on view change + useEffect(() => { + setVisibleCols(PRESets[view]?.columns ?? defaultCols); + }, [view]); + + const filteredRows = useMemo(() => { + let base = [...rows]; + // view-scoped filtering (Internal/External) + if (view === 'Internal' && startHost) { + base = base.filter((r) => hostOf(r.url) === startHost); + } else if (view === 'External' && startHost) { + base = base.filter((r) => r.url && hostOf(r.url) !== startHost); + } + // Response Codes tab: only include rows with status + if (view === 'Response Codes') { + base = base.filter((r) => typeof r.status === 'number'); + } + // Text tabs could keep everything; columns drive the UI + + // text search across url/title/desc/h1 + const q = query.trim().toLowerCase(); + if (q) { + base = base.filter((r) => + [r.url, r.title, r.meta_description, r.h1_1, r.h2_1] + .map((v) => String(v || '').toLowerCase()) + .some((s) => s.includes(q)) + ); + } + return base; + }, [rows, query, view, startHost]); + + const counts = useMemo(() => makeCounts(rows, startHost), [rows, startHost]); + + const selected = selectedIndex != null ? filteredRows[selectedIndex] : null; + + /* ---------------- render ---------------- */ return ( -
-
-
-

CrawlerX — Crawl & Report

-

Enter a website, auto-detect the sitemap size for Max, then run a crawl via the CrawlerX API and download the JSON report.

-
- -
-
- - setSiteUrl(e.target.value)} - placeholder="https://example.com" - className="w-full rounded-xl border border-gray-300 px-3 py-2 focus:outline-none focus:ring-4 focus:ring-blue-100 focus:border-blue-500" - /> -
- -
- - setMaxUrls(e.target.value ? Number(e.target.value) : "")} - placeholder="e.g. 50" - className="w-40 rounded-xl border border-gray-300 px-3 py-2 focus:outline-none focus:ring-4 focus:ring-blue-100 focus:border-blue-500" - /> -
- -
- +
+
+ {/* Header / Controls */} +
+

CrawlerX — Crawl & Report

+
+ + +
- {error && ( -
{error}
- )} + {/* URL + Max bar */} +
+
+ + setSiteUrl(e.target.value)} placeholder="https://example.com" className="w-full rounded-lg border border-gray-300 px-3 py-2 focus:outline-none focus:ring-4 focus:ring-blue-100 focus:border-blue-500" /> +
+
+ + setMaxUrls(e.target.value ? Number(e.target.value) : '')} placeholder="e.g. 50" className="w-36 rounded-lg border border-gray-300 px-3 py-2 focus:outline-none focus:ring-4 focus:ring-blue-100 focus:border-blue-500" /> +
+
+ + setQuery(e.target.value)} placeholder="Filter rows (url, title, h1, description)…" className="w-64 rounded-lg border border-gray-300 px-3 py-2 focus:outline-none focus:ring-4 focus:ring-blue-100 focus:border-blue-500" /> +
+
- {report && ( -
-
-

Crawler Report

-
+ {error &&
{error}
} + + {/* Main layout */} +
+ {/* Sidebar (views) */} +
-
- -
- {summaryChips(report).map((c) => ( - - {c.value} - {c.label} - ))} -
+ + - {rows.length > 0 ? ( -
- - - - {columns.map((c) => ( - + {/* Content */} +
+ {/* Summary cards */} + + + {/* Column toggles */} + + + {/* Table */} +
+
{c}
+ + + {visibleCols.map((c) => ( + + ))} + + + + {filteredRows.map((r, i) => ( + setSelectedIndex(i)} className={`cursor-pointer ${i % 2 ? 'bg-gray-50' : 'bg-white'} ${selectedIndex === i ? 'ring-1 ring-blue-500' : ''}`}> + {visibleCols.map((c) => ( + ))} - - - {rows.map((r: any, idx: number) => ( - - {columns.map((c) => ( - - ))} - - ))} - -
{c}
+ {renderCell(r[c])} +
- {renderCell(r[c])} -
-
- ) : ( -
-                {JSON.stringify(report, null, 2)}
-              
- )} -
- )} + ))} + + +
-

- Tip: If sitemap auto‑detection fails due to server restrictions, enter Max manually or use the /api/sitemap proxy. -

+ {/* Details panel */} +
+
URL Details
+
+ {selected ? :
Select a row to see full details (headers, H1/H2, robots, schema, links, timings…)
} +
+
+ +
); } +/* ---------------- components ---------------- */ +function SummaryBar({ counts, total }: { counts: ReturnType; total: number }) { + const items = [ + { label: 'Pages crawled', value: total }, + { label: '2xx', value: counts.codes['2xx'] }, + { label: '3xx', value: counts.codes['3xx'] }, + { label: '4xx', value: counts.codes['4xx'] }, + { label: '5xx', value: counts.codes['5xx'] }, + { label: 'Noindex', value: counts.noindex }, + { label: 'Nofollow', value: counts.nofollow }, + { label: 'Duplicate titles', value: counts.dupTitles }, + { label: 'Duplicate desc', value: counts.dupDesc }, + ]; + return ( +
+ {items.map((c) => ( + + {c.value ?? 0} + {c.label} + + ))} +
+ ); +} + +function ColumnPicker({ allColumns, preset, visible, setVisible }: { allColumns: string[]; preset: string[]; visible: string[]; setVisible: (v: string[]) => void; }) { + const [open, setOpen] = useState(true); + const cols = useMemo(() => Array.from(new Set([...preset, ...visible, ...allColumns])), [preset, visible, allColumns]); + const toggle = (key: string) => { + setVisible(visible.includes(key) ? visible.filter((c) => c !== key) : [...visible, key]); + }; + return ( +
+
+
Columns
+
+ + + + +
+
+ {open && ( +
+ {cols.map((c) => ( + + ))} +
+ )} +
+ ); +} + +function DetailGrid({ row }: { row: Record }) { + const entries = Object.entries(row); + return ( +
+ {entries.map(([k, v]) => ( +
+
{k}
+
{renderCell(v)}
+
+ ))} +
+ ); +} + function renderCell(value: any) { if (value == null) return ; - if (typeof value === "string") { + if (typeof value === 'string') { if (/^https?:\/\//i.test(value)) { return ( @@ -229,9 +367,9 @@ function renderCell(value: any) { ); } - return {truncate(value, 220)}; + return {value.length > 220 ? value.slice(0, 220) + '…' : value}; } - if (typeof value === "number" || typeof value === "boolean") return {String(value)}; + if (typeof value === 'number' || typeof value === 'boolean') return {String(value)}; if (Array.isArray(value)) return [{value.length} items]; return (
@@ -241,17 +379,101 @@ function renderCell(value: any) { ); } -function truncate(s: string, n: number) { - return s.length > n ? s.slice(0, n - 1) + "…" : s; +/* ---------------- helpers ---------------- */ +const VIEWS = { + Internal: 'Internal', + External: 'External', + 'Response Codes': 'Response Codes', + 'Page Titles': 'Page Titles', + 'Meta Description': 'Meta Description', + H1: 'H1', + H2: 'H2', + Links: 'Links', + Issues: 'Issues', + Performance: 'Performance', + Render: 'Render', +} as const; + +const PRESets: Record = { + Internal: { + columns: ['url', 'status', 'content_type', 'title', 'meta_description', 'h1_1', 'inlinks', 'outlinks'], + }, + External: { + columns: ['url', 'status', 'content_type', 'title', 'meta_description'], + }, + 'Response Codes': { + columns: ['url', 'status', 'status_text', 'last_modified', 'set_cookie'], + }, + 'Page Titles': { + columns: ['url', 'title', 'title_length', 'title_pixel_width', 'duplicate_title_exact', 'nearest_title_similarity', 'nearest_title_url'], + }, + 'Meta Description': { + columns: ['url', 'meta_description', 'meta_description_length', 'meta_description_pixel_width', 'duplicate_description_exact', 'nearest_description_similarity', 'nearest_description_url'], + }, + H1: { columns: ['url', 'h1_1', 'h1_1_length', 'h1_1_pixel_width', 'h1_2'] }, + H2: { columns: ['url', 'h2_1', 'h2_2'] }, + Links: { columns: ['url', 'inlinks', 'outlinks', 'nearest_title_url', 'nearest_description_url'] }, + Issues: { columns: ['url', 'noindex', 'nofollow', 'robots_meta', 'x_robots_tag', 'canonical', 'duplicate_title_exact', 'duplicate_description_exact'] }, + Performance: { columns: ['url', 'time_ms', 'bytes', 'word_count', 'flesch_reading_ease', 'flesch_kincaid_grade', 'gunning_fog'] }, + Render: { columns: ['url', 'render_mode', 'content_type', 'http_version', 'lang', 'crawl_timestamp'] }, +}; + +function dataRows(report: any): any[] { + const data = Array.isArray(report) + ? report + : Array.isArray(report?.results) + ? report.results + : null; + return Array.isArray(data) ? data : []; } -function summaryChips(report: any): { label: string; value: string | number }[] { - const chips: { label: string; value: string | number }[] = []; - const arr = Array.isArray(report) ? report : Array.isArray(report?.results) ? report.results : null; - if (arr) chips.push({ label: "Pages crawled", value: arr.length }); - const totals = report?.totals || report?.summary || {}; - for (const [k, v] of Object.entries(totals)) { - if (typeof v === "number") chips.push({ label: k, value: v }); +function hostOf(u?: string) { + try { + return u ? new URL(u).hostname : ''; + } catch { + return ''; + } +} + +function makeCounts(rows: any[], startHost: string) { + const codes: Record<'2xx' | '3xx' | '4xx' | '5xx', number> = { '2xx': 0, '3xx': 0, '4xx': 0, '5xx': 0 }; + let noindex = 0, + nofollow = 0, + dupTitles = 0, + dupDesc = 0, + internal = 0, + external = 0; + + for (const r of rows) { + const s = r.status as number | null; + if (typeof s === 'number') { + if (s >= 200 && s < 300) codes['2xx']++; + else if (s >= 300 && s < 400) codes['3xx']++; + else if (s >= 400 && s < 500) codes['4xx']++; + else if (s >= 500) codes['5xx']++; + } + if (r.noindex) noindex++; + if (r.nofollow) nofollow++; + if (r.duplicate_title_exact === 'yes') dupTitles++; + if (r.duplicate_description_exact === 'yes') dupDesc++; + const host = hostOf(r.url); + if (startHost) { + if (host === startHost) internal++; + else external++; + } + } + return { codes, noindex, nofollow, dupTitles, dupDesc, internal, external }; +} + +function badgeCount(key: keyof typeof VIEWS, counts: ReturnType) { + switch (key) { + case 'Internal': + return counts.internal ?? 0; + case 'External': + return counts.external ?? 0; + case 'Response Codes': + return Object.values(counts.codes).reduce((a, b) => a + b, 0); + default: + return ''; } - return chips.slice(0, 8); } diff --git a/app/api/sitemap/route.ts b/app/api/sitemap/route.ts index eeada4b..248a36a 100644 --- a/app/api/sitemap/route.ts +++ b/app/api/sitemap/route.ts @@ -1,83 +1,37 @@ -import { NextRequest, NextResponse } from "next/server"; +// app/api/sitemap/route.ts +import { NextResponse } from "next/server"; -// Lightweight XML counting with DOMParser in the Edge/Node runtime. -// If your project needs robust XML, switch to a library, but this is fine for sitemaps. -async function fetchText(url: string) { - const r = await fetch(url, { headers: { Accept: "application/xml, text/xml, */*" }, cache: "no-store" }); - if (!r.ok) throw new Error(`Failed ${r.status}`); - return r.text(); -} - -function countFromXml(xml: string): { isIndex: boolean; count: number; locs: string[] } { - const doc = new DOMParser().parseFromString(xml, "application/xml"); - const urlset = doc.getElementsByTagName("urlset"); - const sitemapindex = doc.getElementsByTagName("sitemapindex"); - - if (urlset && urlset.length) { - return { isIndex: false, count: doc.getElementsByTagName("url").length, locs: [] }; - } - if (sitemapindex && sitemapindex.length) { - const locs = Array.from(doc.getElementsByTagName("loc")).map((n) => n.textContent || "").filter(Boolean); - return { isIndex: true, count: 0, locs }; - } - // fallback: count - return { isIndex: false, count: doc.getElementsByTagName("loc").length, locs: [] }; -} - -export async function GET(req: NextRequest) { - const u = req.nextUrl.searchParams.get("u"); - if (!u) return NextResponse.json({ error: "Missing ?u" }, { status: 400 }); - - let target: URL; +export async function GET(req: Request) { try { - target = new URL(u); - if (!/^https?:$/.test(target.protocol)) throw new Error("bad protocol"); - } catch { - return NextResponse.json({ error: "Invalid URL" }, { status: 400 }); - } + const { searchParams } = new URL(req.url); + const u = searchParams.get("u"); + if (!u) return NextResponse.json({ error: "Missing ?u=" }, { status: 400 }); - const candidates: string[] = /\\/sitemap(.*)\\.xml$/i.test(target.pathname) - ? [target.toString()] - : [ - new URL("/sitemap.xml", target.origin).toString(), - new URL("/sitemap_index.xml", target.origin).toString(), - new URL("/sitemap-index.xml", target.origin).toString(), - ]; + const target = new URL(u.match(/^https?:\/\//i) ? u : `https://${u}`); - let used: string | null = null; - let count = 0; + // This is correct: no double-escaping + const candidates: string[] = /\/sitemap(.*)\.xml$/i.test(target.pathname) + ? [target.toString()] + : [ + new URL("/sitemap.xml", target.origin).toString(), + new URL("/sitemap_index.xml", target.origin).toString(), + ]; - for (const c of candidates) { - try { - const xml = await fetchText(c); - const { isIndex, count: directCount, locs } = countFromXml(xml); - used = c; - if (!isIndex) { - count = directCount; - } else { - // follow up to 25 child sitemaps to keep it fast/safe - const subset = locs.slice(0, 25); - let total = 0; - for (const loc of subset) { - try { - const childXml = await fetchText(loc); - const child = countFromXml(childXml); - total += child.isIndex ? child.count : child.count; - } catch { - /* skip */ - } - } - count = total; - } - break; - } catch { - // try next candidate + // fetch & parse each candidate; you can also call your backend util if exposed + const urls = new Set(); + + // very light probe: just check existence; swap to real parser if needed + for (const href of candidates) { + try { + const r = await fetch(href, { headers: { "user-agent": "CrawlerX/1.0" }, cache: "no-store" }); + if (r.ok) urls.add(href); + } catch {} } + + // If you want full expansion, call your backend endpoint instead of the above loop + + return NextResponse.json({ ok: true, origin: target.origin, count: urls.size, urls: [...urls] }); + } catch (e: any) { + return NextResponse.json({ error: e?.message || "Bad URL" }, { status: 400 }); } - - if (!used) return NextResponse.json({ error: "Sitemap not reachable" }, { status: 404 }); - - const res = NextResponse.json({ count, sitemapUsed: used }); - res.headers.set("Access-Control-Allow-Origin", "*"); // dev-friendly; tighten in prod - return res; } diff --git a/public/assets/images/error/404-dark.svg b/public/assets/images/error/404-dark.svg new file mode 100644 index 0000000..a2c8e91 --- /dev/null +++ b/public/assets/images/error/404-dark.svg @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/images/error/404-light.svg b/public/assets/images/error/404-light.svg new file mode 100644 index 0000000..d237380 --- /dev/null +++ b/public/assets/images/error/404-light.svg @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/assets/images/flags/AC.svg b/public/assets/images/flags/AC.svg new file mode 100644 index 0000000..7d184d1 --- /dev/null +++ b/public/assets/images/flags/AC.svg @@ -0,0 +1 @@ + diff --git a/public/assets/images/flags/AD.svg b/public/assets/images/flags/AD.svg new file mode 100644 index 0000000..4855f9f --- /dev/null +++ b/public/assets/images/flags/AD.svg @@ -0,0 +1,35 @@ + + + + AD + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AE.svg b/public/assets/images/flags/AE.svg new file mode 100644 index 0000000..3095fe3 --- /dev/null +++ b/public/assets/images/flags/AE.svg @@ -0,0 +1,33 @@ + + + + AE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AF.svg b/public/assets/images/flags/AF.svg new file mode 100644 index 0000000..75216b7 --- /dev/null +++ b/public/assets/images/flags/AF.svg @@ -0,0 +1,34 @@ + + + + AF + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AG.svg b/public/assets/images/flags/AG.svg new file mode 100644 index 0000000..ac56b80 --- /dev/null +++ b/public/assets/images/flags/AG.svg @@ -0,0 +1,44 @@ + + + + AG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AI.svg b/public/assets/images/flags/AI.svg new file mode 100644 index 0000000..7f53e46 --- /dev/null +++ b/public/assets/images/flags/AI.svg @@ -0,0 +1,50 @@ + + + + AI + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AL.svg b/public/assets/images/flags/AL.svg new file mode 100644 index 0000000..43ff1a3 --- /dev/null +++ b/public/assets/images/flags/AL.svg @@ -0,0 +1,27 @@ + + + + AL + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AM.svg b/public/assets/images/flags/AM.svg new file mode 100644 index 0000000..5224d30 --- /dev/null +++ b/public/assets/images/flags/AM.svg @@ -0,0 +1,32 @@ + + + + AM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AO.svg b/public/assets/images/flags/AO.svg new file mode 100644 index 0000000..86044f3 --- /dev/null +++ b/public/assets/images/flags/AO.svg @@ -0,0 +1,37 @@ + + + + AO + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AR.svg b/public/assets/images/flags/AR.svg new file mode 100644 index 0000000..4dbc96f --- /dev/null +++ b/public/assets/images/flags/AR.svg @@ -0,0 +1,26 @@ + + + + AR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AS.svg b/public/assets/images/flags/AS.svg new file mode 100644 index 0000000..afb3754 --- /dev/null +++ b/public/assets/images/flags/AS.svg @@ -0,0 +1,36 @@ + + + + AS + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AT.svg b/public/assets/images/flags/AT.svg new file mode 100644 index 0000000..627245e --- /dev/null +++ b/public/assets/images/flags/AT.svg @@ -0,0 +1,24 @@ + + + + AT + Created with sketchtool. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AU.svg b/public/assets/images/flags/AU.svg new file mode 100644 index 0000000..aad6b1e --- /dev/null +++ b/public/assets/images/flags/AU.svg @@ -0,0 +1,36 @@ + + + + AU + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AW.svg b/public/assets/images/flags/AW.svg new file mode 100644 index 0000000..892d8aa --- /dev/null +++ b/public/assets/images/flags/AW.svg @@ -0,0 +1,30 @@ + + + + AW + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AX.svg b/public/assets/images/flags/AX.svg new file mode 100644 index 0000000..577cd26 --- /dev/null +++ b/public/assets/images/flags/AX.svg @@ -0,0 +1,32 @@ + + + + AX + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/AZ.svg b/public/assets/images/flags/AZ.svg new file mode 100644 index 0000000..3f082f3 --- /dev/null +++ b/public/assets/images/flags/AZ.svg @@ -0,0 +1,33 @@ + + + + AZ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BA.svg b/public/assets/images/flags/BA.svg new file mode 100644 index 0000000..a16324e --- /dev/null +++ b/public/assets/images/flags/BA.svg @@ -0,0 +1,32 @@ + + + + BA + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BB.svg b/public/assets/images/flags/BB.svg new file mode 100644 index 0000000..5c89e13 --- /dev/null +++ b/public/assets/images/flags/BB.svg @@ -0,0 +1,38 @@ + + + + BB + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BD.svg b/public/assets/images/flags/BD.svg new file mode 100644 index 0000000..e1a3cd3 --- /dev/null +++ b/public/assets/images/flags/BD.svg @@ -0,0 +1,27 @@ + + + + BD + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BE.svg b/public/assets/images/flags/BE.svg new file mode 100644 index 0000000..ac00173 --- /dev/null +++ b/public/assets/images/flags/BE.svg @@ -0,0 +1,32 @@ + + + + BE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BF.svg b/public/assets/images/flags/BF.svg new file mode 100644 index 0000000..5b4286b --- /dev/null +++ b/public/assets/images/flags/BF.svg @@ -0,0 +1,28 @@ + + + + BF + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BG.svg b/public/assets/images/flags/BG.svg new file mode 100644 index 0000000..e8256f4 --- /dev/null +++ b/public/assets/images/flags/BG.svg @@ -0,0 +1,28 @@ + + + + BG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BH.svg b/public/assets/images/flags/BH.svg new file mode 100644 index 0000000..e1c1109 --- /dev/null +++ b/public/assets/images/flags/BH.svg @@ -0,0 +1,23 @@ + + + + BH + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BI.svg b/public/assets/images/flags/BI.svg new file mode 100644 index 0000000..2f20825 --- /dev/null +++ b/public/assets/images/flags/BI.svg @@ -0,0 +1,36 @@ + + + + BI + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BJ.svg b/public/assets/images/flags/BJ.svg new file mode 100644 index 0000000..b21c46e --- /dev/null +++ b/public/assets/images/flags/BJ.svg @@ -0,0 +1,32 @@ + + + + BJ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BL.svg b/public/assets/images/flags/BL.svg new file mode 100644 index 0000000..b99bc2c --- /dev/null +++ b/public/assets/images/flags/BL.svg @@ -0,0 +1,42 @@ + + + + BL + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BM.svg b/public/assets/images/flags/BM.svg new file mode 100644 index 0000000..798dd8b --- /dev/null +++ b/public/assets/images/flags/BM.svg @@ -0,0 +1,49 @@ + + + + BM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BN.svg b/public/assets/images/flags/BN.svg new file mode 100644 index 0000000..1fe9afc --- /dev/null +++ b/public/assets/images/flags/BN.svg @@ -0,0 +1,28 @@ + + + + BN + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BO.svg b/public/assets/images/flags/BO.svg new file mode 100644 index 0000000..7ee247b --- /dev/null +++ b/public/assets/images/flags/BO.svg @@ -0,0 +1,32 @@ + + + + BO + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BR.svg b/public/assets/images/flags/BR.svg new file mode 100644 index 0000000..17edb10 --- /dev/null +++ b/public/assets/images/flags/BR.svg @@ -0,0 +1,35 @@ + + + + BR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BS.svg b/public/assets/images/flags/BS.svg new file mode 100644 index 0000000..767423a --- /dev/null +++ b/public/assets/images/flags/BS.svg @@ -0,0 +1,33 @@ + + + + BS + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BT.svg b/public/assets/images/flags/BT.svg new file mode 100644 index 0000000..d2f749b --- /dev/null +++ b/public/assets/images/flags/BT.svg @@ -0,0 +1,27 @@ + + + + BT + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BV.svg b/public/assets/images/flags/BV.svg new file mode 100644 index 0000000..00a47ee --- /dev/null +++ b/public/assets/images/flags/BV.svg @@ -0,0 +1,28 @@ + + + + BV + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BW.svg b/public/assets/images/flags/BW.svg new file mode 100644 index 0000000..ccac652 --- /dev/null +++ b/public/assets/images/flags/BW.svg @@ -0,0 +1,29 @@ + + + + BW + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BY.svg b/public/assets/images/flags/BY.svg new file mode 100644 index 0000000..d584988 --- /dev/null +++ b/public/assets/images/flags/BY.svg @@ -0,0 +1,30 @@ + + + + BY + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/BZ.svg b/public/assets/images/flags/BZ.svg new file mode 100644 index 0000000..8758df2 --- /dev/null +++ b/public/assets/images/flags/BZ.svg @@ -0,0 +1,30 @@ + + + + BZ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CA.svg b/public/assets/images/flags/CA.svg new file mode 100644 index 0000000..786b609 --- /dev/null +++ b/public/assets/images/flags/CA.svg @@ -0,0 +1,25 @@ + + + + CA + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CC.svg b/public/assets/images/flags/CC.svg new file mode 100644 index 0000000..b96f301 --- /dev/null +++ b/public/assets/images/flags/CC.svg @@ -0,0 +1,33 @@ + + + + CC + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CD.svg b/public/assets/images/flags/CD.svg new file mode 100644 index 0000000..0d351c3 --- /dev/null +++ b/public/assets/images/flags/CD.svg @@ -0,0 +1,31 @@ + + + + CD + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CF.svg b/public/assets/images/flags/CF.svg new file mode 100644 index 0000000..68566a2 --- /dev/null +++ b/public/assets/images/flags/CF.svg @@ -0,0 +1,43 @@ + + + + CF + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CG.svg b/public/assets/images/flags/CG.svg new file mode 100644 index 0000000..bc4eb95 --- /dev/null +++ b/public/assets/images/flags/CG.svg @@ -0,0 +1,34 @@ + + + + CG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CH.svg b/public/assets/images/flags/CH.svg new file mode 100644 index 0000000..772f4fa --- /dev/null +++ b/public/assets/images/flags/CH.svg @@ -0,0 +1,23 @@ + + + + CH + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CI.svg b/public/assets/images/flags/CI.svg new file mode 100644 index 0000000..096d98a --- /dev/null +++ b/public/assets/images/flags/CI.svg @@ -0,0 +1,28 @@ + + + + CI + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CK.svg b/public/assets/images/flags/CK.svg new file mode 100644 index 0000000..c1ea373 --- /dev/null +++ b/public/assets/images/flags/CK.svg @@ -0,0 +1,31 @@ + + + + CK + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CL.svg b/public/assets/images/flags/CL.svg new file mode 100644 index 0000000..d456d95 --- /dev/null +++ b/public/assets/images/flags/CL.svg @@ -0,0 +1,29 @@ + + + + CL + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CM.svg b/public/assets/images/flags/CM.svg new file mode 100644 index 0000000..482f4a9 --- /dev/null +++ b/public/assets/images/flags/CM.svg @@ -0,0 +1,38 @@ + + + + CM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CN.svg b/public/assets/images/flags/CN.svg new file mode 100644 index 0000000..883ba15 --- /dev/null +++ b/public/assets/images/flags/CN.svg @@ -0,0 +1,32 @@ + + + + CN + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CO.svg b/public/assets/images/flags/CO.svg new file mode 100644 index 0000000..be492e3 --- /dev/null +++ b/public/assets/images/flags/CO.svg @@ -0,0 +1,32 @@ + + + + CO + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CR.svg b/public/assets/images/flags/CR.svg new file mode 100644 index 0000000..271204e --- /dev/null +++ b/public/assets/images/flags/CR.svg @@ -0,0 +1,29 @@ + + + + CR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CU.svg b/public/assets/images/flags/CU.svg new file mode 100644 index 0000000..23750cd --- /dev/null +++ b/public/assets/images/flags/CU.svg @@ -0,0 +1,32 @@ + + + + CU + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CV.svg b/public/assets/images/flags/CV.svg new file mode 100644 index 0000000..4b6152f --- /dev/null +++ b/public/assets/images/flags/CV.svg @@ -0,0 +1,30 @@ + + + + CV + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CW.svg b/public/assets/images/flags/CW.svg new file mode 100644 index 0000000..14acd27 --- /dev/null +++ b/public/assets/images/flags/CW.svg @@ -0,0 +1,29 @@ + + + + CW + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CX.svg b/public/assets/images/flags/CX.svg new file mode 100644 index 0000000..b3fe73d --- /dev/null +++ b/public/assets/images/flags/CX.svg @@ -0,0 +1,38 @@ + + + + CX + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CY.svg b/public/assets/images/flags/CY.svg new file mode 100644 index 0000000..b7860aa --- /dev/null +++ b/public/assets/images/flags/CY.svg @@ -0,0 +1,24 @@ + + + + CY + Created with sketchtool. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/CZ.svg b/public/assets/images/flags/CZ.svg new file mode 100644 index 0000000..d56c61b --- /dev/null +++ b/public/assets/images/flags/CZ.svg @@ -0,0 +1,28 @@ + + + + CZ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/DA.svg b/public/assets/images/flags/DA.svg new file mode 100644 index 0000000..27900e1 --- /dev/null +++ b/public/assets/images/flags/DA.svg @@ -0,0 +1,23 @@ + + + + DK + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/DE.svg b/public/assets/images/flags/DE.svg new file mode 100644 index 0000000..4ff1ebd --- /dev/null +++ b/public/assets/images/flags/DE.svg @@ -0,0 +1,32 @@ + + + + DE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/DJ.svg b/public/assets/images/flags/DJ.svg new file mode 100644 index 0000000..c0a019f --- /dev/null +++ b/public/assets/images/flags/DJ.svg @@ -0,0 +1,33 @@ + + + + DJ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/DK.svg b/public/assets/images/flags/DK.svg new file mode 100644 index 0000000..27900e1 --- /dev/null +++ b/public/assets/images/flags/DK.svg @@ -0,0 +1,23 @@ + + + + DK + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/DM.svg b/public/assets/images/flags/DM.svg new file mode 100644 index 0000000..d5c401e --- /dev/null +++ b/public/assets/images/flags/DM.svg @@ -0,0 +1,41 @@ + + + + DM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/DO.svg b/public/assets/images/flags/DO.svg new file mode 100644 index 0000000..9188e0b --- /dev/null +++ b/public/assets/images/flags/DO.svg @@ -0,0 +1,33 @@ + + + + DO + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/DZ.svg b/public/assets/images/flags/DZ.svg new file mode 100644 index 0000000..0920d71 --- /dev/null +++ b/public/assets/images/flags/DZ.svg @@ -0,0 +1,29 @@ + + + + DZ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/EC.svg b/public/assets/images/flags/EC.svg new file mode 100644 index 0000000..0fbd3ea --- /dev/null +++ b/public/assets/images/flags/EC.svg @@ -0,0 +1,39 @@ + + + + EC + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/EE.svg b/public/assets/images/flags/EE.svg new file mode 100644 index 0000000..6360522 --- /dev/null +++ b/public/assets/images/flags/EE.svg @@ -0,0 +1,28 @@ + + + + EE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/EG.svg b/public/assets/images/flags/EG.svg new file mode 100644 index 0000000..32d4447 --- /dev/null +++ b/public/assets/images/flags/EG.svg @@ -0,0 +1,30 @@ + + + + EG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/EH.svg b/public/assets/images/flags/EH.svg new file mode 100644 index 0000000..2bb0d7f --- /dev/null +++ b/public/assets/images/flags/EH.svg @@ -0,0 +1 @@ + diff --git a/public/assets/images/flags/EL.svg b/public/assets/images/flags/EL.svg new file mode 100644 index 0000000..a9b12c0 --- /dev/null +++ b/public/assets/images/flags/EL.svg @@ -0,0 +1,22 @@ + + + + GR + Created with sketchtool. + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/EN-IN.svg b/public/assets/images/flags/EN-IN.svg new file mode 100644 index 0000000..846ec9d --- /dev/null +++ b/public/assets/images/flags/EN-IN.svg @@ -0,0 +1,28 @@ + + + + US + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/EN-US.svg b/public/assets/images/flags/EN-US.svg new file mode 100644 index 0000000..846ec9d --- /dev/null +++ b/public/assets/images/flags/EN-US.svg @@ -0,0 +1,28 @@ + + + + US + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/EN.svg b/public/assets/images/flags/EN.svg new file mode 100644 index 0000000..846ec9d --- /dev/null +++ b/public/assets/images/flags/EN.svg @@ -0,0 +1,28 @@ + + + + US + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/ER.svg b/public/assets/images/flags/ER.svg new file mode 100644 index 0000000..bb70368 --- /dev/null +++ b/public/assets/images/flags/ER.svg @@ -0,0 +1,40 @@ + + + + ER + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/ES.svg b/public/assets/images/flags/ES.svg new file mode 100644 index 0000000..883554f --- /dev/null +++ b/public/assets/images/flags/ES.svg @@ -0,0 +1,34 @@ + + + + ES + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/ET.svg b/public/assets/images/flags/ET.svg new file mode 100644 index 0000000..c4387b9 --- /dev/null +++ b/public/assets/images/flags/ET.svg @@ -0,0 +1,42 @@ + + + + ET + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/EU.svg b/public/assets/images/flags/EU.svg new file mode 100644 index 0000000..db74ffa --- /dev/null +++ b/public/assets/images/flags/EU.svg @@ -0,0 +1,27 @@ + + + + EU + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/FI.svg b/public/assets/images/flags/FI.svg new file mode 100644 index 0000000..9d243ed --- /dev/null +++ b/public/assets/images/flags/FI.svg @@ -0,0 +1,22 @@ + + + + FI + Created with sketchtool. + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/FJ.svg b/public/assets/images/flags/FJ.svg new file mode 100644 index 0000000..e3ebc9b --- /dev/null +++ b/public/assets/images/flags/FJ.svg @@ -0,0 +1,51 @@ + + + + FJ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/FK.svg b/public/assets/images/flags/FK.svg new file mode 100644 index 0000000..01b0f2a --- /dev/null +++ b/public/assets/images/flags/FK.svg @@ -0,0 +1,58 @@ + + + + FK + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/FM.svg b/public/assets/images/flags/FM.svg new file mode 100644 index 0000000..befd157 --- /dev/null +++ b/public/assets/images/flags/FM.svg @@ -0,0 +1,23 @@ + + + + FM + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/FO.svg b/public/assets/images/flags/FO.svg new file mode 100644 index 0000000..77618c0 --- /dev/null +++ b/public/assets/images/flags/FO.svg @@ -0,0 +1,27 @@ + + + + FO + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/FR.svg b/public/assets/images/flags/FR.svg new file mode 100644 index 0000000..940de61 --- /dev/null +++ b/public/assets/images/flags/FR.svg @@ -0,0 +1,28 @@ + + + + FR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GA.svg b/public/assets/images/flags/GA.svg new file mode 100644 index 0000000..45c6808 --- /dev/null +++ b/public/assets/images/flags/GA.svg @@ -0,0 +1,32 @@ + + + + GA + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GB-ENG.svg b/public/assets/images/flags/GB-ENG.svg new file mode 100644 index 0000000..f032cb4 --- /dev/null +++ b/public/assets/images/flags/GB-ENG.svg @@ -0,0 +1,22 @@ + + + + GB-ENG + Created with sketchtool. + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GB-NIR.svg b/public/assets/images/flags/GB-NIR.svg new file mode 100644 index 0000000..5d04864 --- /dev/null +++ b/public/assets/images/flags/GB-NIR.svg @@ -0,0 +1,41 @@ + + + + GB-NIR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GB-SCT.svg b/public/assets/images/flags/GB-SCT.svg new file mode 100644 index 0000000..6aabe99 --- /dev/null +++ b/public/assets/images/flags/GB-SCT.svg @@ -0,0 +1,23 @@ + + + + GB-SCT + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GB-WLS.svg b/public/assets/images/flags/GB-WLS.svg new file mode 100644 index 0000000..607b333 --- /dev/null +++ b/public/assets/images/flags/GB-WLS.svg @@ -0,0 +1,28 @@ + + + + GB-WLS + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GB-ZET.svg b/public/assets/images/flags/GB-ZET.svg new file mode 100644 index 0000000..7080d48 --- /dev/null +++ b/public/assets/images/flags/GB-ZET.svg @@ -0,0 +1,23 @@ + + + + GB-ZET + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GB.svg b/public/assets/images/flags/GB.svg new file mode 100644 index 0000000..679d27c --- /dev/null +++ b/public/assets/images/flags/GB.svg @@ -0,0 +1,32 @@ + + + + GB + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GD.svg b/public/assets/images/flags/GD.svg new file mode 100644 index 0000000..210dc3f --- /dev/null +++ b/public/assets/images/flags/GD.svg @@ -0,0 +1,49 @@ + + + + GD + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GE.svg b/public/assets/images/flags/GE.svg new file mode 100644 index 0000000..818f3f5 --- /dev/null +++ b/public/assets/images/flags/GE.svg @@ -0,0 +1,26 @@ + + + + GE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GF.svg b/public/assets/images/flags/GF.svg new file mode 100644 index 0000000..bae1448 --- /dev/null +++ b/public/assets/images/flags/GF.svg @@ -0,0 +1,32 @@ + + + + GF + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GG.svg b/public/assets/images/flags/GG.svg new file mode 100644 index 0000000..fa42853 --- /dev/null +++ b/public/assets/images/flags/GG.svg @@ -0,0 +1,27 @@ + + + + GG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GH.svg b/public/assets/images/flags/GH.svg new file mode 100644 index 0000000..528473f --- /dev/null +++ b/public/assets/images/flags/GH.svg @@ -0,0 +1,37 @@ + + + + GH + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GI.svg b/public/assets/images/flags/GI.svg new file mode 100644 index 0000000..ecd8530 --- /dev/null +++ b/public/assets/images/flags/GI.svg @@ -0,0 +1,38 @@ + + + + GI + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GL.svg b/public/assets/images/flags/GL.svg new file mode 100644 index 0000000..33b2233 --- /dev/null +++ b/public/assets/images/flags/GL.svg @@ -0,0 +1,33 @@ + + + + GL + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GM.svg b/public/assets/images/flags/GM.svg new file mode 100644 index 0000000..b6330f5 --- /dev/null +++ b/public/assets/images/flags/GM.svg @@ -0,0 +1,33 @@ + + + + GM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GN.svg b/public/assets/images/flags/GN.svg new file mode 100644 index 0000000..2d20595 --- /dev/null +++ b/public/assets/images/flags/GN.svg @@ -0,0 +1,32 @@ + + + + GN + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GP.svg b/public/assets/images/flags/GP.svg new file mode 100644 index 0000000..3dbdcc1 --- /dev/null +++ b/public/assets/images/flags/GP.svg @@ -0,0 +1,40 @@ + + + + GP + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GQ.svg b/public/assets/images/flags/GQ.svg new file mode 100644 index 0000000..e2d5c67 --- /dev/null +++ b/public/assets/images/flags/GQ.svg @@ -0,0 +1,34 @@ + + + + GQ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GR.svg b/public/assets/images/flags/GR.svg new file mode 100644 index 0000000..a9b12c0 --- /dev/null +++ b/public/assets/images/flags/GR.svg @@ -0,0 +1,22 @@ + + + + GR + Created with sketchtool. + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GS.svg b/public/assets/images/flags/GS.svg new file mode 100644 index 0000000..0398452 --- /dev/null +++ b/public/assets/images/flags/GS.svg @@ -0,0 +1,112 @@ + + + + GS + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GT.svg b/public/assets/images/flags/GT.svg new file mode 100644 index 0000000..be45ee8 --- /dev/null +++ b/public/assets/images/flags/GT.svg @@ -0,0 +1,26 @@ + + + + GT + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GU.svg b/public/assets/images/flags/GU.svg new file mode 100644 index 0000000..6233a0b --- /dev/null +++ b/public/assets/images/flags/GU.svg @@ -0,0 +1,65 @@ + + + + GU + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GW.svg b/public/assets/images/flags/GW.svg new file mode 100644 index 0000000..b09530d --- /dev/null +++ b/public/assets/images/flags/GW.svg @@ -0,0 +1,37 @@ + + + + GW + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/GY.svg b/public/assets/images/flags/GY.svg new file mode 100644 index 0000000..e5937c2 --- /dev/null +++ b/public/assets/images/flags/GY.svg @@ -0,0 +1,42 @@ + + + + GY + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/HK.svg b/public/assets/images/flags/HK.svg new file mode 100644 index 0000000..f99b888 --- /dev/null +++ b/public/assets/images/flags/HK.svg @@ -0,0 +1,23 @@ + + + + HK + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/HM.svg b/public/assets/images/flags/HM.svg new file mode 100644 index 0000000..8ef4f34 --- /dev/null +++ b/public/assets/images/flags/HM.svg @@ -0,0 +1,36 @@ + + + + HM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/HN.svg b/public/assets/images/flags/HN.svg new file mode 100644 index 0000000..50a48cd --- /dev/null +++ b/public/assets/images/flags/HN.svg @@ -0,0 +1,33 @@ + + + + HN + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/HR.svg b/public/assets/images/flags/HR.svg new file mode 100644 index 0000000..a6cf5da --- /dev/null +++ b/public/assets/images/flags/HR.svg @@ -0,0 +1,35 @@ + + + + HR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/HT.svg b/public/assets/images/flags/HT.svg new file mode 100644 index 0000000..0cd82be --- /dev/null +++ b/public/assets/images/flags/HT.svg @@ -0,0 +1,46 @@ + + + + HT + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/HU.svg b/public/assets/images/flags/HU.svg new file mode 100644 index 0000000..795319e --- /dev/null +++ b/public/assets/images/flags/HU.svg @@ -0,0 +1,28 @@ + + + + HU + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/ID.svg b/public/assets/images/flags/ID.svg new file mode 100644 index 0000000..8101da0 --- /dev/null +++ b/public/assets/images/flags/ID.svg @@ -0,0 +1,23 @@ + + + + ID + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/IE.svg b/public/assets/images/flags/IE.svg new file mode 100644 index 0000000..60d9af8 --- /dev/null +++ b/public/assets/images/flags/IE.svg @@ -0,0 +1,28 @@ + + + + IE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/IL.svg b/public/assets/images/flags/IL.svg new file mode 100644 index 0000000..7646f91 --- /dev/null +++ b/public/assets/images/flags/IL.svg @@ -0,0 +1,26 @@ + + + + IL + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/IM.svg b/public/assets/images/flags/IM.svg new file mode 100644 index 0000000..ecc7c12 --- /dev/null +++ b/public/assets/images/flags/IM.svg @@ -0,0 +1,30 @@ + + + + IM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/IN.svg b/public/assets/images/flags/IN.svg new file mode 100644 index 0000000..3726ceb --- /dev/null +++ b/public/assets/images/flags/IN.svg @@ -0,0 +1,31 @@ + + + + IN + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/IO.svg b/public/assets/images/flags/IO.svg new file mode 100644 index 0000000..4d8b522 --- /dev/null +++ b/public/assets/images/flags/IO.svg @@ -0,0 +1,33 @@ + + + + IO + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/IQ.svg b/public/assets/images/flags/IQ.svg new file mode 100644 index 0000000..16c4cf1 --- /dev/null +++ b/public/assets/images/flags/IQ.svg @@ -0,0 +1,33 @@ + + + + IQ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/IR.svg b/public/assets/images/flags/IR.svg new file mode 100644 index 0000000..af32501 --- /dev/null +++ b/public/assets/images/flags/IR.svg @@ -0,0 +1,31 @@ + + + + IR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/IS.svg b/public/assets/images/flags/IS.svg new file mode 100644 index 0000000..385a2bf --- /dev/null +++ b/public/assets/images/flags/IS.svg @@ -0,0 +1,28 @@ + + + + IS + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/IT.svg b/public/assets/images/flags/IT.svg new file mode 100644 index 0000000..9e76f24 --- /dev/null +++ b/public/assets/images/flags/IT.svg @@ -0,0 +1,28 @@ + + + + IT + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/JA.svg b/public/assets/images/flags/JA.svg new file mode 100644 index 0000000..0a655c0 --- /dev/null +++ b/public/assets/images/flags/JA.svg @@ -0,0 +1,22 @@ + + + + JP + Created with sketchtool. + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/JE.svg b/public/assets/images/flags/JE.svg new file mode 100644 index 0000000..6663c50 --- /dev/null +++ b/public/assets/images/flags/JE.svg @@ -0,0 +1,32 @@ + + + + JE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/JM.svg b/public/assets/images/flags/JM.svg new file mode 100644 index 0000000..54779e7 --- /dev/null +++ b/public/assets/images/flags/JM.svg @@ -0,0 +1,33 @@ + + + + JM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/JO.svg b/public/assets/images/flags/JO.svg new file mode 100644 index 0000000..b0788e7 --- /dev/null +++ b/public/assets/images/flags/JO.svg @@ -0,0 +1,34 @@ + + + + JO + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/JP.svg b/public/assets/images/flags/JP.svg new file mode 100644 index 0000000..0a655c0 --- /dev/null +++ b/public/assets/images/flags/JP.svg @@ -0,0 +1,22 @@ + + + + JP + Created with sketchtool. + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/KE.svg b/public/assets/images/flags/KE.svg new file mode 100644 index 0000000..6c6a6cf --- /dev/null +++ b/public/assets/images/flags/KE.svg @@ -0,0 +1,43 @@ + + + + KE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/KG.svg b/public/assets/images/flags/KG.svg new file mode 100644 index 0000000..12e6a24 --- /dev/null +++ b/public/assets/images/flags/KG.svg @@ -0,0 +1,28 @@ + + + + KG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/KH.svg b/public/assets/images/flags/KH.svg new file mode 100644 index 0000000..9ea454b --- /dev/null +++ b/public/assets/images/flags/KH.svg @@ -0,0 +1,29 @@ + + + + KH + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/KI.svg b/public/assets/images/flags/KI.svg new file mode 100644 index 0000000..e00e235 --- /dev/null +++ b/public/assets/images/flags/KI.svg @@ -0,0 +1,35 @@ + + + + KI + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/KM.svg b/public/assets/images/flags/KM.svg new file mode 100644 index 0000000..2da152d --- /dev/null +++ b/public/assets/images/flags/KM.svg @@ -0,0 +1,39 @@ + + + + KM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/KN.svg b/public/assets/images/flags/KN.svg new file mode 100644 index 0000000..e65b7b6 --- /dev/null +++ b/public/assets/images/flags/KN.svg @@ -0,0 +1,39 @@ + + + + KN + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/KP.svg b/public/assets/images/flags/KP.svg new file mode 100644 index 0000000..649feb2 --- /dev/null +++ b/public/assets/images/flags/KP.svg @@ -0,0 +1,30 @@ + + + + KP + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/KR.svg b/public/assets/images/flags/KR.svg new file mode 100644 index 0000000..078665a --- /dev/null +++ b/public/assets/images/flags/KR.svg @@ -0,0 +1,38 @@ + + + + KR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/KW.svg b/public/assets/images/flags/KW.svg new file mode 100644 index 0000000..a73b011 --- /dev/null +++ b/public/assets/images/flags/KW.svg @@ -0,0 +1,33 @@ + + + + KW + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/KY.svg b/public/assets/images/flags/KY.svg new file mode 100644 index 0000000..2240dbc --- /dev/null +++ b/public/assets/images/flags/KY.svg @@ -0,0 +1,44 @@ + + + + KY + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/KZ.svg b/public/assets/images/flags/KZ.svg new file mode 100644 index 0000000..6076ac5 --- /dev/null +++ b/public/assets/images/flags/KZ.svg @@ -0,0 +1,29 @@ + + + + KZ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/LA.svg b/public/assets/images/flags/LA.svg new file mode 100644 index 0000000..5b740da --- /dev/null +++ b/public/assets/images/flags/LA.svg @@ -0,0 +1,29 @@ + + + + LA + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/LB.svg b/public/assets/images/flags/LB.svg new file mode 100644 index 0000000..401a235 --- /dev/null +++ b/public/assets/images/flags/LB.svg @@ -0,0 +1,29 @@ + + + + LB + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/LC.svg b/public/assets/images/flags/LC.svg new file mode 100644 index 0000000..8d809d3 --- /dev/null +++ b/public/assets/images/flags/LC.svg @@ -0,0 +1,33 @@ + + + + LC + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/LGBT.svg b/public/assets/images/flags/LGBT.svg new file mode 100644 index 0000000..a3f7519 --- /dev/null +++ b/public/assets/images/flags/LGBT.svg @@ -0,0 +1,42 @@ + + + + LGBT + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/LI.svg b/public/assets/images/flags/LI.svg new file mode 100644 index 0000000..1160975 --- /dev/null +++ b/public/assets/images/flags/LI.svg @@ -0,0 +1,27 @@ + + + + LI + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/LK.svg b/public/assets/images/flags/LK.svg new file mode 100644 index 0000000..55386d5 --- /dev/null +++ b/public/assets/images/flags/LK.svg @@ -0,0 +1,43 @@ + + + + LK + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/LR.svg b/public/assets/images/flags/LR.svg new file mode 100644 index 0000000..3d6cef1 --- /dev/null +++ b/public/assets/images/flags/LR.svg @@ -0,0 +1,36 @@ + + + + LR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/LS.svg b/public/assets/images/flags/LS.svg new file mode 100644 index 0000000..3ec5277 --- /dev/null +++ b/public/assets/images/flags/LS.svg @@ -0,0 +1,34 @@ + + + + LS + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/LT.svg b/public/assets/images/flags/LT.svg new file mode 100644 index 0000000..8e59226 --- /dev/null +++ b/public/assets/images/flags/LT.svg @@ -0,0 +1,32 @@ + + + + LT + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/LU.svg b/public/assets/images/flags/LU.svg new file mode 100644 index 0000000..860e730 --- /dev/null +++ b/public/assets/images/flags/LU.svg @@ -0,0 +1,28 @@ + + + + LU + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/LV.svg b/public/assets/images/flags/LV.svg new file mode 100644 index 0000000..5d0255e --- /dev/null +++ b/public/assets/images/flags/LV.svg @@ -0,0 +1,24 @@ + + + + LV + Created with sketchtool. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/LY.svg b/public/assets/images/flags/LY.svg new file mode 100644 index 0000000..4b9f2a0 --- /dev/null +++ b/public/assets/images/flags/LY.svg @@ -0,0 +1,33 @@ + + + + LY + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MA.svg b/public/assets/images/flags/MA.svg new file mode 100644 index 0000000..cb22ba9 --- /dev/null +++ b/public/assets/images/flags/MA.svg @@ -0,0 +1,23 @@ + + + + MA + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MC.svg b/public/assets/images/flags/MC.svg new file mode 100644 index 0000000..207590a --- /dev/null +++ b/public/assets/images/flags/MC.svg @@ -0,0 +1,23 @@ + + + + MC + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MD.svg b/public/assets/images/flags/MD.svg new file mode 100644 index 0000000..301e93e --- /dev/null +++ b/public/assets/images/flags/MD.svg @@ -0,0 +1,42 @@ + + + + MD + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/ME.svg b/public/assets/images/flags/ME.svg new file mode 100644 index 0000000..9b0838e --- /dev/null +++ b/public/assets/images/flags/ME.svg @@ -0,0 +1,29 @@ + + + + ME + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MF.svg b/public/assets/images/flags/MF.svg new file mode 100644 index 0000000..c45b62a --- /dev/null +++ b/public/assets/images/flags/MF.svg @@ -0,0 +1,28 @@ + + + + MF + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MG.svg b/public/assets/images/flags/MG.svg new file mode 100644 index 0000000..c173fdd --- /dev/null +++ b/public/assets/images/flags/MG.svg @@ -0,0 +1,28 @@ + + + + MG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MH.svg b/public/assets/images/flags/MH.svg new file mode 100644 index 0000000..e6b6609 --- /dev/null +++ b/public/assets/images/flags/MH.svg @@ -0,0 +1,29 @@ + + + + MH + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MK.svg b/public/assets/images/flags/MK.svg new file mode 100644 index 0000000..35b9229 --- /dev/null +++ b/public/assets/images/flags/MK.svg @@ -0,0 +1,29 @@ + + + + MK + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/ML.svg b/public/assets/images/flags/ML.svg new file mode 100644 index 0000000..babc6e5 --- /dev/null +++ b/public/assets/images/flags/ML.svg @@ -0,0 +1,32 @@ + + + + ML + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MM.svg b/public/assets/images/flags/MM.svg new file mode 100644 index 0000000..eb3c18a --- /dev/null +++ b/public/assets/images/flags/MM.svg @@ -0,0 +1,33 @@ + + + + MM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MN.svg b/public/assets/images/flags/MN.svg new file mode 100644 index 0000000..8af15a5 --- /dev/null +++ b/public/assets/images/flags/MN.svg @@ -0,0 +1,33 @@ + + + + MN + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MO.svg b/public/assets/images/flags/MO.svg new file mode 100644 index 0000000..be4bc87 --- /dev/null +++ b/public/assets/images/flags/MO.svg @@ -0,0 +1,26 @@ + + + + MO + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MP.svg b/public/assets/images/flags/MP.svg new file mode 100644 index 0000000..3315148 --- /dev/null +++ b/public/assets/images/flags/MP.svg @@ -0,0 +1,29 @@ + + + + MP + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MQ.svg b/public/assets/images/flags/MQ.svg new file mode 100644 index 0000000..adc8207 --- /dev/null +++ b/public/assets/images/flags/MQ.svg @@ -0,0 +1,27 @@ + + + + MQ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MR.svg b/public/assets/images/flags/MR.svg new file mode 100644 index 0000000..da5adee --- /dev/null +++ b/public/assets/images/flags/MR.svg @@ -0,0 +1,27 @@ + + + + MR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MS.svg b/public/assets/images/flags/MS.svg new file mode 100644 index 0000000..184c917 --- /dev/null +++ b/public/assets/images/flags/MS.svg @@ -0,0 +1,47 @@ + + + + MS + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MT.svg b/public/assets/images/flags/MT.svg new file mode 100644 index 0000000..5ce0b3f --- /dev/null +++ b/public/assets/images/flags/MT.svg @@ -0,0 +1,29 @@ + + + + MT + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MU.svg b/public/assets/images/flags/MU.svg new file mode 100644 index 0000000..f2c6f3f --- /dev/null +++ b/public/assets/images/flags/MU.svg @@ -0,0 +1,37 @@ + + + + MU + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MV.svg b/public/assets/images/flags/MV.svg new file mode 100644 index 0000000..f10e07d --- /dev/null +++ b/public/assets/images/flags/MV.svg @@ -0,0 +1,28 @@ + + + + MV + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MW.svg b/public/assets/images/flags/MW.svg new file mode 100644 index 0000000..5b0cc5c --- /dev/null +++ b/public/assets/images/flags/MW.svg @@ -0,0 +1,33 @@ + + + + MW + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MX.svg b/public/assets/images/flags/MX.svg new file mode 100644 index 0000000..7ed245b --- /dev/null +++ b/public/assets/images/flags/MX.svg @@ -0,0 +1,30 @@ + + + + MX + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MY.svg b/public/assets/images/flags/MY.svg new file mode 100644 index 0000000..e7ff885 --- /dev/null +++ b/public/assets/images/flags/MY.svg @@ -0,0 +1,32 @@ + + + + MY + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/MZ.svg b/public/assets/images/flags/MZ.svg new file mode 100644 index 0000000..7f553b0 --- /dev/null +++ b/public/assets/images/flags/MZ.svg @@ -0,0 +1,43 @@ + + + + MZ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/NA.svg b/public/assets/images/flags/NA.svg new file mode 100644 index 0000000..cb0ba69 --- /dev/null +++ b/public/assets/images/flags/NA.svg @@ -0,0 +1,75 @@ + + + + NA + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/NC.svg b/public/assets/images/flags/NC.svg new file mode 100644 index 0000000..bae580e --- /dev/null +++ b/public/assets/images/flags/NC.svg @@ -0,0 +1,42 @@ + + + + NC + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/NE.svg b/public/assets/images/flags/NE.svg new file mode 100644 index 0000000..12bcf8a --- /dev/null +++ b/public/assets/images/flags/NE.svg @@ -0,0 +1,33 @@ + + + + NE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/NF.svg b/public/assets/images/flags/NF.svg new file mode 100644 index 0000000..b707e52 --- /dev/null +++ b/public/assets/images/flags/NF.svg @@ -0,0 +1,29 @@ + + + + NF + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/NG.svg b/public/assets/images/flags/NG.svg new file mode 100644 index 0000000..4063ff8 --- /dev/null +++ b/public/assets/images/flags/NG.svg @@ -0,0 +1,24 @@ + + + + NG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/NI.svg b/public/assets/images/flags/NI.svg new file mode 100644 index 0000000..7adb4ba --- /dev/null +++ b/public/assets/images/flags/NI.svg @@ -0,0 +1,26 @@ + + + + NI + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/NL.svg b/public/assets/images/flags/NL.svg new file mode 100644 index 0000000..c62f42a --- /dev/null +++ b/public/assets/images/flags/NL.svg @@ -0,0 +1,28 @@ + + + + NL + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/NO.svg b/public/assets/images/flags/NO.svg new file mode 100644 index 0000000..cdc23f4 --- /dev/null +++ b/public/assets/images/flags/NO.svg @@ -0,0 +1,28 @@ + + + + NO + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/NP.svg b/public/assets/images/flags/NP.svg new file mode 100644 index 0000000..c879fa8 --- /dev/null +++ b/public/assets/images/flags/NP.svg @@ -0,0 +1,35 @@ + + + + NP + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/NR.svg b/public/assets/images/flags/NR.svg new file mode 100644 index 0000000..1a6c3a2 --- /dev/null +++ b/public/assets/images/flags/NR.svg @@ -0,0 +1,28 @@ + + + + NR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/NU.svg b/public/assets/images/flags/NU.svg new file mode 100644 index 0000000..3d9bc80 --- /dev/null +++ b/public/assets/images/flags/NU.svg @@ -0,0 +1,41 @@ + + + + NU + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/NZ.svg b/public/assets/images/flags/NZ.svg new file mode 100644 index 0000000..c1f624d --- /dev/null +++ b/public/assets/images/flags/NZ.svg @@ -0,0 +1,34 @@ + + + + NZ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/OM.svg b/public/assets/images/flags/OM.svg new file mode 100644 index 0000000..cb08ac8 --- /dev/null +++ b/public/assets/images/flags/OM.svg @@ -0,0 +1,29 @@ + + + + OM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PA.svg b/public/assets/images/flags/PA.svg new file mode 100644 index 0000000..d851668 --- /dev/null +++ b/public/assets/images/flags/PA.svg @@ -0,0 +1,30 @@ + + + + PA + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PE.svg b/public/assets/images/flags/PE.svg new file mode 100644 index 0000000..98a26cf --- /dev/null +++ b/public/assets/images/flags/PE.svg @@ -0,0 +1,24 @@ + + + + PE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PF.svg b/public/assets/images/flags/PF.svg new file mode 100644 index 0000000..b29385f --- /dev/null +++ b/public/assets/images/flags/PF.svg @@ -0,0 +1,52 @@ + + + + PF + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PG.svg b/public/assets/images/flags/PG.svg new file mode 100644 index 0000000..0630fab --- /dev/null +++ b/public/assets/images/flags/PG.svg @@ -0,0 +1,36 @@ + + + + PG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PH.svg b/public/assets/images/flags/PH.svg new file mode 100644 index 0000000..4c1087b --- /dev/null +++ b/public/assets/images/flags/PH.svg @@ -0,0 +1,33 @@ + + + + PH + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PK.svg b/public/assets/images/flags/PK.svg new file mode 100644 index 0000000..7ecb09c --- /dev/null +++ b/public/assets/images/flags/PK.svg @@ -0,0 +1,32 @@ + + + + PK + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PL.svg b/public/assets/images/flags/PL.svg new file mode 100644 index 0000000..fadbd2d --- /dev/null +++ b/public/assets/images/flags/PL.svg @@ -0,0 +1,23 @@ + + + + PL + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PM.svg b/public/assets/images/flags/PM.svg new file mode 100644 index 0000000..1f39fd0 --- /dev/null +++ b/public/assets/images/flags/PM.svg @@ -0,0 +1,66 @@ + + + + PM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PN.svg b/public/assets/images/flags/PN.svg new file mode 100644 index 0000000..f2b2cc4 --- /dev/null +++ b/public/assets/images/flags/PN.svg @@ -0,0 +1,51 @@ + + + + PN + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PR.svg b/public/assets/images/flags/PR.svg new file mode 100644 index 0000000..7d12044 --- /dev/null +++ b/public/assets/images/flags/PR.svg @@ -0,0 +1,30 @@ + + + + PR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PS.svg b/public/assets/images/flags/PS.svg new file mode 100644 index 0000000..e68583b --- /dev/null +++ b/public/assets/images/flags/PS.svg @@ -0,0 +1,33 @@ + + + + PS + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PT.svg b/public/assets/images/flags/PT.svg new file mode 100644 index 0000000..49b59be --- /dev/null +++ b/public/assets/images/flags/PT.svg @@ -0,0 +1,38 @@ + + + + PT + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PW.svg b/public/assets/images/flags/PW.svg new file mode 100644 index 0000000..4ab7f16 --- /dev/null +++ b/public/assets/images/flags/PW.svg @@ -0,0 +1,27 @@ + + + + PW + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/PY.svg b/public/assets/images/flags/PY.svg new file mode 100644 index 0000000..2ae0054 --- /dev/null +++ b/public/assets/images/flags/PY.svg @@ -0,0 +1,30 @@ + + + + PY + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/QA.svg b/public/assets/images/flags/QA.svg new file mode 100644 index 0000000..985171d --- /dev/null +++ b/public/assets/images/flags/QA.svg @@ -0,0 +1,23 @@ + + + + QA + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/RE.svg b/public/assets/images/flags/RE.svg new file mode 100644 index 0000000..7e13093 --- /dev/null +++ b/public/assets/images/flags/RE.svg @@ -0,0 +1,28 @@ + + + + RE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/RH.svg b/public/assets/images/flags/RH.svg new file mode 100644 index 0000000..1bf403a --- /dev/null +++ b/public/assets/images/flags/RH.svg @@ -0,0 +1,29 @@ + + + + TH + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/RO.svg b/public/assets/images/flags/RO.svg new file mode 100644 index 0000000..dd82b26 --- /dev/null +++ b/public/assets/images/flags/RO.svg @@ -0,0 +1,32 @@ + + + + RO + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/RS.svg b/public/assets/images/flags/RS.svg new file mode 100644 index 0000000..892dd5e --- /dev/null +++ b/public/assets/images/flags/RS.svg @@ -0,0 +1,39 @@ + + + + RS + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/RU.svg b/public/assets/images/flags/RU.svg new file mode 100644 index 0000000..a9ba65b --- /dev/null +++ b/public/assets/images/flags/RU.svg @@ -0,0 +1,28 @@ + + + + RU + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/RW.svg b/public/assets/images/flags/RW.svg new file mode 100644 index 0000000..43b2615 --- /dev/null +++ b/public/assets/images/flags/RW.svg @@ -0,0 +1,37 @@ + + + + RW + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SA.svg b/public/assets/images/flags/SA.svg new file mode 100644 index 0000000..735b986 --- /dev/null +++ b/public/assets/images/flags/SA.svg @@ -0,0 +1,26 @@ + + + + SA + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SB.svg b/public/assets/images/flags/SB.svg new file mode 100644 index 0000000..768c45c --- /dev/null +++ b/public/assets/images/flags/SB.svg @@ -0,0 +1,39 @@ + + + + SB + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SC.svg b/public/assets/images/flags/SC.svg new file mode 100644 index 0000000..62b380b --- /dev/null +++ b/public/assets/images/flags/SC.svg @@ -0,0 +1,43 @@ + + + + SC + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SD.svg b/public/assets/images/flags/SD.svg new file mode 100644 index 0000000..c68d6b1 --- /dev/null +++ b/public/assets/images/flags/SD.svg @@ -0,0 +1,33 @@ + + + + SD + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SE.svg b/public/assets/images/flags/SE.svg new file mode 100644 index 0000000..bb4f4e1 --- /dev/null +++ b/public/assets/images/flags/SE.svg @@ -0,0 +1,27 @@ + + + + SE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SG.svg b/public/assets/images/flags/SG.svg new file mode 100644 index 0000000..2701148 --- /dev/null +++ b/public/assets/images/flags/SG.svg @@ -0,0 +1,24 @@ + + + + SG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SH.svg b/public/assets/images/flags/SH.svg new file mode 100644 index 0000000..e0dde76 --- /dev/null +++ b/public/assets/images/flags/SH.svg @@ -0,0 +1,53 @@ + + + + SH + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SI.svg b/public/assets/images/flags/SI.svg new file mode 100644 index 0000000..497f870 --- /dev/null +++ b/public/assets/images/flags/SI.svg @@ -0,0 +1,28 @@ + + + + SI + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SJ.svg b/public/assets/images/flags/SJ.svg new file mode 100644 index 0000000..bef7e50 --- /dev/null +++ b/public/assets/images/flags/SJ.svg @@ -0,0 +1,28 @@ + + + + SJ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SK.svg b/public/assets/images/flags/SK.svg new file mode 100644 index 0000000..2b8ba80 --- /dev/null +++ b/public/assets/images/flags/SK.svg @@ -0,0 +1,46 @@ + + + + SK + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SL.svg b/public/assets/images/flags/SL.svg new file mode 100644 index 0000000..817419e --- /dev/null +++ b/public/assets/images/flags/SL.svg @@ -0,0 +1,28 @@ + + + + SL + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SM.svg b/public/assets/images/flags/SM.svg new file mode 100644 index 0000000..abf6217 --- /dev/null +++ b/public/assets/images/flags/SM.svg @@ -0,0 +1,25 @@ + + + + SM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SN.svg b/public/assets/images/flags/SN.svg new file mode 100644 index 0000000..0948416 --- /dev/null +++ b/public/assets/images/flags/SN.svg @@ -0,0 +1,33 @@ + + + + SN + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SO.svg b/public/assets/images/flags/SO.svg new file mode 100644 index 0000000..6372e37 --- /dev/null +++ b/public/assets/images/flags/SO.svg @@ -0,0 +1,23 @@ + + + + SO + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SR.svg b/public/assets/images/flags/SR.svg new file mode 100644 index 0000000..97963b0 --- /dev/null +++ b/public/assets/images/flags/SR.svg @@ -0,0 +1,34 @@ + + + + SR + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SS.svg b/public/assets/images/flags/SS.svg new file mode 100644 index 0000000..e8d68dd --- /dev/null +++ b/public/assets/images/flags/SS.svg @@ -0,0 +1,44 @@ + + + + SS + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/ST.svg b/public/assets/images/flags/ST.svg new file mode 100644 index 0000000..4b355d7 --- /dev/null +++ b/public/assets/images/flags/ST.svg @@ -0,0 +1,39 @@ + + + + ST + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SV.svg b/public/assets/images/flags/SV.svg new file mode 100644 index 0000000..bb4f4e1 --- /dev/null +++ b/public/assets/images/flags/SV.svg @@ -0,0 +1,27 @@ + + + + SE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SV1.svg b/public/assets/images/flags/SV1.svg new file mode 100644 index 0000000..9bfdd5c --- /dev/null +++ b/public/assets/images/flags/SV1.svg @@ -0,0 +1,30 @@ + + + + SV + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SX.svg b/public/assets/images/flags/SX.svg new file mode 100644 index 0000000..ccefe03 --- /dev/null +++ b/public/assets/images/flags/SX.svg @@ -0,0 +1,45 @@ + + + + SX + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SY.svg b/public/assets/images/flags/SY.svg new file mode 100644 index 0000000..040530b --- /dev/null +++ b/public/assets/images/flags/SY.svg @@ -0,0 +1,34 @@ + + + + SY + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/SZ.svg b/public/assets/images/flags/SZ.svg new file mode 100644 index 0000000..fc4120d --- /dev/null +++ b/public/assets/images/flags/SZ.svg @@ -0,0 +1,47 @@ + + + + SZ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TC.svg b/public/assets/images/flags/TC.svg new file mode 100644 index 0000000..c3ea149 --- /dev/null +++ b/public/assets/images/flags/TC.svg @@ -0,0 +1,40 @@ + + + + TC + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TD.svg b/public/assets/images/flags/TD.svg new file mode 100644 index 0000000..74756fa --- /dev/null +++ b/public/assets/images/flags/TD.svg @@ -0,0 +1,32 @@ + + + + TD + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TF.svg b/public/assets/images/flags/TF.svg new file mode 100644 index 0000000..d1ea691 --- /dev/null +++ b/public/assets/images/flags/TF.svg @@ -0,0 +1,35 @@ + + + + TF + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TG.svg b/public/assets/images/flags/TG.svg new file mode 100644 index 0000000..e9f6360 --- /dev/null +++ b/public/assets/images/flags/TG.svg @@ -0,0 +1,33 @@ + + + + TG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TH.svg b/public/assets/images/flags/TH.svg new file mode 100644 index 0000000..2ca5ef2 --- /dev/null +++ b/public/assets/images/flags/TH.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TJ.svg b/public/assets/images/flags/TJ.svg new file mode 100644 index 0000000..77d6728 --- /dev/null +++ b/public/assets/images/flags/TJ.svg @@ -0,0 +1,29 @@ + + + + TJ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TK.svg b/public/assets/images/flags/TK.svg new file mode 100644 index 0000000..3cde960 --- /dev/null +++ b/public/assets/images/flags/TK.svg @@ -0,0 +1,31 @@ + + + + TK + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TL.svg b/public/assets/images/flags/TL.svg new file mode 100644 index 0000000..41b8952 --- /dev/null +++ b/public/assets/images/flags/TL.svg @@ -0,0 +1,33 @@ + + + + TL + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TM.svg b/public/assets/images/flags/TM.svg new file mode 100644 index 0000000..dac62a1 --- /dev/null +++ b/public/assets/images/flags/TM.svg @@ -0,0 +1,74 @@ + + + + TM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TN.svg b/public/assets/images/flags/TN.svg new file mode 100644 index 0000000..3ff74a9 --- /dev/null +++ b/public/assets/images/flags/TN.svg @@ -0,0 +1,23 @@ + + + + TN + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TO.svg b/public/assets/images/flags/TO.svg new file mode 100644 index 0000000..e0e42ee --- /dev/null +++ b/public/assets/images/flags/TO.svg @@ -0,0 +1,28 @@ + + + + TO + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TR.svg b/public/assets/images/flags/TR.svg new file mode 100644 index 0000000..e5c0924 --- /dev/null +++ b/public/assets/images/flags/TR.svg @@ -0,0 +1,23 @@ + + + + TR + Created with sketchtool. + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TT.svg b/public/assets/images/flags/TT.svg new file mode 100644 index 0000000..69bdb9a --- /dev/null +++ b/public/assets/images/flags/TT.svg @@ -0,0 +1,28 @@ + + + + TT + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TV.svg b/public/assets/images/flags/TV.svg new file mode 100644 index 0000000..839c97f --- /dev/null +++ b/public/assets/images/flags/TV.svg @@ -0,0 +1,36 @@ + + + + TV + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TW.svg b/public/assets/images/flags/TW.svg new file mode 100644 index 0000000..488d112 --- /dev/null +++ b/public/assets/images/flags/TW.svg @@ -0,0 +1,28 @@ + + + + TW + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/TZ.svg b/public/assets/images/flags/TZ.svg new file mode 100644 index 0000000..d652e21 --- /dev/null +++ b/public/assets/images/flags/TZ.svg @@ -0,0 +1,37 @@ + + + + TZ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/UG.svg b/public/assets/images/flags/UG.svg new file mode 100644 index 0000000..7fabd77 --- /dev/null +++ b/public/assets/images/flags/UG.svg @@ -0,0 +1,37 @@ + + + + UG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/UK.svg b/public/assets/images/flags/UK.svg new file mode 100644 index 0000000..8dac836 --- /dev/null +++ b/public/assets/images/flags/UK.svg @@ -0,0 +1,27 @@ + + + + UA + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/UK1.svg b/public/assets/images/flags/UK1.svg new file mode 100644 index 0000000..679d27c --- /dev/null +++ b/public/assets/images/flags/UK1.svg @@ -0,0 +1,32 @@ + + + + GB + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/UM.svg b/public/assets/images/flags/UM.svg new file mode 100644 index 0000000..1a8fc6a --- /dev/null +++ b/public/assets/images/flags/UM.svg @@ -0,0 +1,28 @@ + + + + UM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/US-CA.svg b/public/assets/images/flags/US-CA.svg new file mode 100644 index 0000000..8860c7a --- /dev/null +++ b/public/assets/images/flags/US-CA.svg @@ -0,0 +1,33 @@ + + + + US-CA + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/US.svg b/public/assets/images/flags/US.svg new file mode 100644 index 0000000..846ec9d --- /dev/null +++ b/public/assets/images/flags/US.svg @@ -0,0 +1,28 @@ + + + + US + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/UY.svg b/public/assets/images/flags/UY.svg new file mode 100644 index 0000000..81c2815 --- /dev/null +++ b/public/assets/images/flags/UY.svg @@ -0,0 +1,29 @@ + + + + UY + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/UZ.svg b/public/assets/images/flags/UZ.svg new file mode 100644 index 0000000..f6cf214 --- /dev/null +++ b/public/assets/images/flags/UZ.svg @@ -0,0 +1,29 @@ + + + + UZ + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/VA.svg b/public/assets/images/flags/VA.svg new file mode 100644 index 0000000..14c78aa --- /dev/null +++ b/public/assets/images/flags/VA.svg @@ -0,0 +1,39 @@ + + + + VA + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/VC.svg b/public/assets/images/flags/VC.svg new file mode 100644 index 0000000..22cc1d5 --- /dev/null +++ b/public/assets/images/flags/VC.svg @@ -0,0 +1,37 @@ + + + + VC + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/VE.svg b/public/assets/images/flags/VE.svg new file mode 100644 index 0000000..1a14634 --- /dev/null +++ b/public/assets/images/flags/VE.svg @@ -0,0 +1,33 @@ + + + + VE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/VG.svg b/public/assets/images/flags/VG.svg new file mode 100644 index 0000000..c3c31ed --- /dev/null +++ b/public/assets/images/flags/VG.svg @@ -0,0 +1,42 @@ + + + + VG + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/VI.svg b/public/assets/images/flags/VI.svg new file mode 100644 index 0000000..071cf62 --- /dev/null +++ b/public/assets/images/flags/VI.svg @@ -0,0 +1,49 @@ + + + + VI + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/VN.svg b/public/assets/images/flags/VN.svg new file mode 100644 index 0000000..2bb7956 --- /dev/null +++ b/public/assets/images/flags/VN.svg @@ -0,0 +1,27 @@ + + + + VN + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/VU.svg b/public/assets/images/flags/VU.svg new file mode 100644 index 0000000..26e0298 --- /dev/null +++ b/public/assets/images/flags/VU.svg @@ -0,0 +1,38 @@ + + + + VU + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/WF.svg b/public/assets/images/flags/WF.svg new file mode 100644 index 0000000..26a5e41 --- /dev/null +++ b/public/assets/images/flags/WF.svg @@ -0,0 +1,28 @@ + + + + WF + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/WS.svg b/public/assets/images/flags/WS.svg new file mode 100644 index 0000000..756c78f --- /dev/null +++ b/public/assets/images/flags/WS.svg @@ -0,0 +1,28 @@ + + + + WS + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/XK.svg b/public/assets/images/flags/XK.svg new file mode 100644 index 0000000..a9c245f --- /dev/null +++ b/public/assets/images/flags/XK.svg @@ -0,0 +1,28 @@ + + + + XK + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/YE.svg b/public/assets/images/flags/YE.svg new file mode 100644 index 0000000..535406f --- /dev/null +++ b/public/assets/images/flags/YE.svg @@ -0,0 +1,28 @@ + + + + YE + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/YT.svg b/public/assets/images/flags/YT.svg new file mode 100644 index 0000000..be67985 --- /dev/null +++ b/public/assets/images/flags/YT.svg @@ -0,0 +1,77 @@ + + + + YT + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/ZA.svg b/public/assets/images/flags/ZA.svg new file mode 100644 index 0000000..f3ad372 --- /dev/null +++ b/public/assets/images/flags/ZA.svg @@ -0,0 +1,44 @@ + + + + ZA + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/ZH.svg b/public/assets/images/flags/ZH.svg new file mode 100644 index 0000000..883ba15 --- /dev/null +++ b/public/assets/images/flags/ZH.svg @@ -0,0 +1,32 @@ + + + + CN + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/ZM.svg b/public/assets/images/flags/ZM.svg new file mode 100644 index 0000000..3e6f42a --- /dev/null +++ b/public/assets/images/flags/ZM.svg @@ -0,0 +1,42 @@ + + + + ZM + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/flags/ZW.svg b/public/assets/images/flags/ZW.svg new file mode 100644 index 0000000..dfaf1f3 --- /dev/null +++ b/public/assets/images/flags/ZW.svg @@ -0,0 +1,43 @@ + + + + ZW + Created with sketchtool. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/logo.svg b/public/assets/images/logo.svg new file mode 100644 index 0000000..cff3e7c --- /dev/null +++ b/public/assets/images/logo.svg @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/public/assets/images/menu-heade.jpg b/public/assets/images/menu-heade.jpg new file mode 100644 index 0000000..b31c78d Binary files /dev/null and b/public/assets/images/menu-heade.jpg differ diff --git a/public/assets/images/profile-16.jpeg b/public/assets/images/profile-16.jpeg new file mode 100644 index 0000000..d95adc5 Binary files /dev/null and b/public/assets/images/profile-16.jpeg differ diff --git a/public/assets/images/profile-34.jpeg b/public/assets/images/profile-34.jpeg new file mode 100644 index 0000000..663fd33 Binary files /dev/null and b/public/assets/images/profile-34.jpeg differ diff --git a/public/assets/images/user-profile.jpeg b/public/assets/images/user-profile.jpeg new file mode 100644 index 0000000..b5bd69a Binary files /dev/null and b/public/assets/images/user-profile.jpeg differ diff --git a/public/demo-prepare.html b/public/demo-prepare.html new file mode 100644 index 0000000..69026c5 --- /dev/null +++ b/public/demo-prepare.html @@ -0,0 +1,78 @@ + + + + + + + Preparing demo... + + + + +
+
+
+ + + + + + + + +
+
+
+ + + + diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000..9ee75c5 Binary files /dev/null and b/public/favicon.png differ diff --git a/public/locales/ae.json b/public/locales/ae.json new file mode 100644 index 0000000..8055a11 --- /dev/null +++ b/public/locales/ae.json @@ -0,0 +1,128 @@ +{ + "dashboard": "لوحة القيادة", + "sales": "مبيعات", + "analytics": "تحليلات", + "apps": "تطبيقات", + "components": "عناصر", + "elements": "عناصر", + "font_icons": "أيقونات الخط", + "widgets": "الحاجيات", + "tables": "الجداول", + "datatables": "جداول البيانات", + "forms": "نماذج", + "users": "المستخدمون", + "pages": "الصفحات", + "authentication": "المصادقة", + "drag_and_drop": "السحب والإفلات", + "maps": "خرائط", + "charts": "الرسوم البيانية", + "starter_kit": "مجموعة انطلاق", + "documentation": "توثيق", + "ui_kit": "مجموعة واجهة المستخدم", + "more": "أكثر", + "finance": "تمويل", + "crypto": "تشفير", + "chat": "محادثة", + "mailbox": "صندوق بريد", + "todo_list": "عمل قائمة", + "notes": "ملحوظات", + "scrumboard": "اللوح", + "contacts": "جهات الاتصال", + "invoice": "فاتورة", + "list": "قائمة", + "preview": "معاينة", + "add": "يضيف", + "edit": "يحرر", + "calendar": "تقويم", + "tabs": "نوافذ التبويب", + "accordions": "الأكورديونات", + "modals": "الوسائط", + "cards": "البطاقات", + "carousel": "دائري", + "countdown": "العد التنازلي", + "counter": "عداد", + "sweet_alerts": "تنبيهات حلوة", + "timeline": "الجدول الزمني", + "notifications": "إشعارات", + "media_object": "كائن الوسائط", + "list_group": "قائمة المجموعة", + "pricing_tables": "جداول التسعير", + "lightbox": "صندوق مضئ", + "alerts": "تنبيهات", + "avatar": "الصورة الرمزية", + "badges": "شارات", + "breadcrumbs": "فتات الخبز", + "buttons": "أزرار", + "button_groups": "مجموعات الأزرار", + "color_library": "مكتبة الألوان", + "dropdown": "اسقاط", + "infobox": "معلومات مربع", + "jumbotron": "جمبوترون", + "loader": "محمل", + "pagination": "ترقيم الصفحات", + "popovers": "بوبوفرز", + "progress_bar": "شريط التقدم", + "search": "يبحث", + "tooltips": "تلميحات", + "treeview": "تريفيو", + "typography": "الطباعة", + "basic": "أساسي", + "order_sorting": "ترتيب الفرز", + "multi_column": "عمود متعدد", + "multiple_tables": "جداول متعددة", + "alt_pagination": "بديل. ترقيم الصفحات", + "range_search": "بحث المدى", + "export": "يصدّر", + "input_group": "مجموعة الإدخال", + "layouts": "التخطيطات", + "validation": "تصديق", + "input_mask": "قناع الإدخال", + "select2": "حدد 2", + "touchspin": "اللمس", + "checkbox_and_radio": "مربع الاختيار والراديو", + "switches": "مفاتيح", + "wizards": "المعالجات", + "file_upload": "تحميل الملف", + "quill_editor": "محرر الريشة", + "markdown_editor": "محرر تخفيض السعر", + "date_and_range_picker": " منتقي التاريخ والنطاق", + "clipboard": "الحافظة", + "user_and_pages": "المستخدم والصفحات", + "profile": "حساب تعريفي", + "account_settings": "إعدادت الحساب", + "knowledge_base": "قاعدة المعرفة", + "contact_form": "نموذج الاتصال", + "faq": "التعليمات", + "coming_soon": "قريباً", + "error": "خطأ", + "maintenence": "صيانة", + "login_boxed": "تسجيل الدخول محاصر", + "register_boxed": "تسجيل محاصر", + "unlock_boxed": "فتح محاصر", + "recover_id_boxed": "استعادة معرف محاصر", + "login_cover": "غطاء تسجيل الدخول", + "register_cover": "غطاء التسجيل", + "unlock_cover": "فتح الغطاء", + "recover_id_cover": "استعادة غطاء الهوية", + "supports": "يدعم", + "login": "تسجيل الدخول", + "lockscreen": "اقفل الشاشة", + "password_recovery": "استعادة كلمة السر", + "register": "يسجل", + "404": "أربعة مائة وأربعة", + "500": "خمسة مائة", + "503": "خمسة مائة وثلاثة", + "user_interface": "واجهة المستخدم", + "tables_and_forms": "الجداول والنماذج", + "columns_filter": "تصفية الأعمدة", + "column_chooser": "منتقي العمود", + "advanced": "متقدم", + "checkbox": "خانة اختيار", + "skin": "جلد", + "sticky_header": "رأس مثبت", + "clone_header": "رأس استنساخ", + "coming_soon_boxed": "قريبا محاصر", + "coming_soon_cover": "قريبا تغطية", + "contact_us_boxed": "اتصل بنا محاصر", + "contact_us_cover": "اتصل بنا الغلاف" +} diff --git a/public/locales/da.json b/public/locales/da.json new file mode 100644 index 0000000..4cc892f --- /dev/null +++ b/public/locales/da.json @@ -0,0 +1,128 @@ +{ + "dashboard": "Dashboard", + "sales": "Salg", + "analytics": "Analytics", + "apps": "Apps", + "components": "Komponenter", + "elements": "Elementer", + "font_icons": "Skrifttype ikoner", + "widgets": "Widgets", + "tables": "Tabeller", + "datatables": "Datatabeller", + "forms": "Former", + "users": "Brugere", + "pages": "sider", + "authentication": "Godkendelse", + "drag_and_drop": "Træk og slip", + "maps": "Kort", + "charts": "Diagrammer", + "starter_kit": "Startsæt", + "documentation": "Dokumentation", + "ui_kit": "UI Kit", + "more": "Mere", + "finance": "Finansiere", + "crypto": "Krypto", + "chat": "Snak", + "mailbox": "Postkasse", + "todo_list": "Todo liste", + "notes": "Noter", + "scrumboard": "Scrumboard", + "contacts": "Kontaktpersoner", + "invoice": "Faktura", + "list": "Liste", + "preview": "Forhåndsvisning", + "add": "Tilføje", + "edit": "Redigere", + "calendar": "Kalender", + "tabs": "Faner", + "accordions": "Harmonikaer", + "modals": "Modaler", + "cards": "Kort", + "carousel": "Karrusel", + "countdown": "Nedtælling", + "counter": "Tæller", + "sweet_alerts": "Søde advarsler", + "timeline": "Tidslinje", + "notifications": "Meddelelser", + "media_object": "Medieobjekt", + "list_group": "Listegruppe", + "pricing_tables": "Pristabeller", + "lightbox": "Lyskasse", + "alerts": "Advarsler", + "avatar": "Avatar", + "badges": "Badges", + "breadcrumbs": "Brødkrummer", + "buttons": "Knapper", + "button_groups": "Knapgrupper", + "color_library": "Farvebibliotek", + "dropdown": "Drop ned", + "infobox": "Infoboks", + "jumbotron": "Jumbotron", + "loader": "Loader", + "pagination": "Sideinddeling", + "popovers": "Popovers", + "progress_bar": "Fremskridtslinje", + "search": "Søg", + "tooltips": "Værktøjstip", + "treeview": "Trævisning", + "typography": "Typografi", + "basic": "Grundlæggende", + "order_sorting": "Ordre sortering", + "multi_column": "Multisøjle", + "multiple_tables": "Flere borde", + "alt_pagination": "Alt. Sideinddeling", + "range_search": "Rækkeviddesøgning", + "export": "Eksport", + "input_group": "Inputgruppe", + "layouts": "Layouts", + "validation": "Validering", + "input_mask": "Indgangsmaske", + "select2": "Vælg 2", + "touchspin": "Tryk på spin", + "checkbox_and_radio": "Afkrydsningsfelt og radio", + "switches": "Afbrydere", + "wizards": "Troldmænd", + "file_upload": "Fil upload", + "quill_editor": "Quill Editor", + "markdown_editor": "Markdown Editor", + "date_and_range_picker": "Dato- og områdevælger", + "clipboard": "Udklipsholder", + "user_and_pages": "Brugere og sider", + "profile": "Profil", + "account_settings": "Bruger indstillinger", + "knowledge_base": "Vidensbase", + "contact_form": "Kontaktformular", + "faq": "Faq", + "coming_soon": "Kommer snart", + "error": "Fejl", + "maintenence": "Vedligeholdelse", + "login_boxed": "Login Boxed", + "register_boxed": "Registrer Boxed", + "unlock_boxed": "Lås Boxed op", + "recover_id_boxed": "Gendan ID Boxed", + "login_cover": "Log ind cover", + "register_cover": "Register Cover", + "unlock_cover": "Lås låget op", + "recover_id_cover": "Gendan ID-dækning", + "supports": "Bakker op", + "login": "Log på", + "lockscreen": "Låse skærm", + "password_recovery": "Gendan adgangskode", + "register": "Tilmeld", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "Brugergrænseflade", + "tables_and_forms": "Tabeller og formularer", + "columns_filter": "Kolonnefilter", + "column_chooser": "Kolonnevælger", + "advanced": "Fremskreden", + "checkbox": "Afkrydsningsfelt", + "skin": "Hud", + "sticky_header": "Sticky Header", + "clone_header": "Klon header", + "coming_soon_boxed": "Kommer snart i boks", + "coming_soon_cover": "Kommer snart cover", + "contact_us_boxed": "Kontakt os Boxed", + "contact_us_cover": "Kontakt os Cover" +} diff --git a/public/locales/de.json b/public/locales/de.json new file mode 100644 index 0000000..82cab84 --- /dev/null +++ b/public/locales/de.json @@ -0,0 +1,128 @@ +{ + "dashboard": "Armaturenbrett", + "sales": "Der Umsatz", + "analytics": "Analytik", + "apps": "Apps", + "components": "Komponenten", + "elements": "Elemente", + "font_icons": "Schriftsymbole", + "widgets": "Widgets", + "tables": "Tabellen", + "datatables": "Datentabellen", + "forms": "Formen", + "users": "Benutzer", + "pages": "Seiten", + "authentication": "Authentifizierung", + "drag_and_drop": "Ziehen und ablegen", + "maps": "Karten", + "charts": "Diagramme", + "starter_kit": "Starter-Kit", + "documentation": "Dokumentation", + "ui_kit": "UI-Kit", + "more": "Mehr", + "finance": "Finanzen", + "crypto": "Krypto", + "chat": "Plaudern", + "mailbox": "Briefkasten", + "todo_list": "Aufgabenliste", + "notes": "Anmerkungen", + "scrumboard": "Scrumboard", + "contacts": "Kontakte", + "invoice": "Rechnung", + "list": "Aufführen", + "preview": "Vorschau", + "add": "Hinzufügen", + "edit": "Bearbeiten", + "calendar": "Kalender", + "tabs": "Registerkarten", + "accordions": "Akkordeons", + "modals": "Modale", + "cards": "Karten", + "carousel": "Karussell", + "countdown": "Countdown", + "counter": "Zähler", + "sweet_alerts": "Süße Warnungen", + "timeline": "Zeitleiste", + "notifications": "Benachrichtigungen", + "media_object": "Medienobjekt", + "list_group": "Gruppe auflisten", + "pricing_tables": "Preistabellen", + "lightbox": "Leuchtkasten", + "alerts": "Warnungen", + "avatar": "Benutzerbild", + "badges": "Abzeichen", + "breadcrumbs": "Semmelbrösel", + "buttons": "Tasten", + "button_groups": "Schaltflächengruppen", + "color_library": "Farbbibliothek", + "dropdown": "Dropdown-Liste", + "infobox": "Infobox", + "jumbotron": "Jumbotron", + "loader": "Lader", + "pagination": "Seitennummerierung", + "popovers": "Popovers", + "progress_bar": "Fortschrittsanzeige", + "search": "Suche", + "tooltips": "Kurzinfos", + "treeview": "Baumsicht", + "typography": "Typografie", + "basic": "Basic", + "order_sorting": "Sortierung der Bestellung", + "multi_column": "Mehrspaltig", + "multiple_tables": "Mehrere Tabellen", + "alt_pagination": "Alt. Seitennummerierung", + "range_search": "Bereichssuche", + "export": "Export", + "input_group": "Eingangsgruppe", + "layouts": "Grundrisse", + "validation": "Validierung", + "input_mask": "Eingabemaske", + "select2": "Wählen Sie 2", + "touchspin": "Tippen Sie auf Drehen", + "checkbox_and_radio": "Kontrollkästchen & Radio", + "switches": "Schalter", + "wizards": "Zauberer", + "file_upload": "Datei-Upload", + "quill_editor": "Quill-Editor", + "markdown_editor": "Markdown-Editor", + "date_and_range_picker": "Datums- und Bereichsauswahl", + "clipboard": "Zwischenablage", + "user_and_pages": "Benutzer und Seiten", + "profile": "Profil", + "account_settings": "Account Einstellungen", + "knowledge_base": "Wissensbasis", + "contact_form": "Kontakt Formular", + "faq": "FAQ", + "coming_soon": "Demnächst", + "error": "Fehler", + "maintenence": "Wartung", + "login_boxed": "Anmeldung verpackt", + "register_boxed": "Boxed registrieren", + "unlock_boxed": "Verpackt freischalten", + "recover_id_boxed": "Stellen Sie die ID wieder her", + "login_cover": "Login-Abdeckung", + "register_cover": "Abdeckung registrieren", + "unlock_cover": "Abdeckung entriegeln", + "recover_id_cover": "Stellen Sie die ID-Abdeckung wieder her", + "supports": "Unterstützt", + "login": "Anmeldung", + "lockscreen": "Sperrbildschirm", + "password_recovery": "Passwort-Wiederherstellung", + "register": "Registrieren", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "Benutzeroberfläche", + "tables_and_forms": "Tabellen und Formulare", + "columns_filter": "Spaltenfilter", + "column_chooser": "Spaltenauswahl", + "advanced": "Fortschrittlich", + "checkbox": "Kontrollkästchen", + "skin": "Haut", + "sticky_header": "Klebrige Kopfzeile", + "clone_header": "Kopfzeile klonen", + "coming_soon_boxed": "Demnächst im Karton erhältlich", + "coming_soon_cover": "Demnächst erhältliches Cover", + "contact_us_boxed": "Kontaktieren Sie uns", + "contact_us_cover": "Kontaktieren Sie uns" +} diff --git a/public/locales/el.json b/public/locales/el.json new file mode 100644 index 0000000..78655ff --- /dev/null +++ b/public/locales/el.json @@ -0,0 +1,128 @@ +{ + "dashboard": "Ταμπλό", + "sales": "Εκπτώσεις", + "analytics": "Analytics", + "apps": "Εφαρμογές", + "components": "Συστατικά", + "elements": "Στοιχεία", + "font_icons": "Εικονίδια γραμματοσειράς", + "widgets": "Widgets", + "tables": "Πίνακες", + "datatables": "Πίνακες Δεδομένων", + "forms": "Φόρμες", + "users": "Χρήστες", + "pages": "Σελίδες", + "authentication": "Αυθεντικοποίηση", + "drag_and_drop": "Σύρετε και αποθέστε", + "maps": "Χάρτες", + "charts": "Διαγράμματα", + "starter_kit": "Κιτ εκκίνησης", + "documentation": "Τεκμηρίωση", + "ui_kit": "Κιτ διεπαφής χρήστη", + "more": "Περισσότερο", + "finance": "Χρηματοδότηση", + "crypto": "Crypto", + "chat": "κουβέντα", + "mailbox": "γραμματοκιβώτιο", + "todo_list": "λίστα εργασιών", + "notes": "Σημείωση", + "scrumboard": "ταμπλό", + "contacts": "Επαφές", + "invoice": "τιμολόγιο", + "list": "λίστα", + "preview": "Προεπισκόπηση", + "add": "Προσθήκη", + "edit": "Επεξεργασία", + "calendar": "Ημερολόγιο", + "tabs": "καρτέλες", + "accordions": "ακορντεόν", + "modals": "τροπικός", + "cards": "Καρτέλλες", + "carousel": "στροβιλοδρόμιο", + "countdown": "αντίστροφη μέτρηση", + "counter": "μετρητές", + "sweet_alerts": "Γλυκές ειδοποιήσεις", + "timeline": "χρονοδιάγραμμα", + "notifications": "ειδοποιήσεις", + "media_object": "MediaObject", + "list_group": "ListGroup", + "pricing_tables": "Πίνακες τιμολόγησης", + "lightbox": "lightbox", + "alerts": "Ειδοποιήσεις", + "avatar": "άβαταρ", + "badges": "κονκάρδες", + "breadcrumbs": "τριμμένη φρυγανιά", + "buttons": "κουμπιά", + "button_groups": "Ομάδες κουμπιών", + "color_library": "ColorLibrary", + "dropdown": "αναπτυσσόμενο", + "infobox": "πλαίσιο πληροφοριών", + "jumbotron": "jumbotron", + "loader": "φορτωτές", + "pagination": "σελιδοποίηση", + "popovers": "ποπόβερ", + "progress_bar": "γραμμή προόδου", + "search": "Αναζήτηση", + "tooltips": "συμβουλές εργαλείων", + "treeview": "όψη δέντρου", + "typography": "Τυπογραφία", + "basic": "βασικός", + "order_sorting": "Ταξινόμηση παραγγελίας", + "multi_column": "Πολλαπλή στήλη", + "multiple_tables": "Πολλαπλά τραπέζια", + "alt_pagination": "Alt. σελιδοποίηση", + "range_search": "Αναζήτηση εύρους", + "export": "εξαγωγή", + "input_group": "Ομάδα εισόδου", + "layouts": "διατάξεις", + "validation": "επικύρωση", + "input_mask": "Μάσκα εισόδου", + "select2": "Επιλέξτε 2", + "touchspin": "περιστροφή αφής", + "checkbox_and_radio": "Πλαίσιο ελέγχου & Ραδιόφωνο", + "switches": "διακόπτες", + "wizards": "Μάγοι", + "file_upload": "ανέβασμα αρχείου", + "quill_editor": "Quill Editor", + "markdown_editor": "Επεξεργαστής Markdown", + "date_and_range_picker": "Επιλογέας ημερομηνίας και εύρους", + "clipboard": "σανίδα κλιπ", + "user_and_pages": "Χρήστες και Σελίδες", + "profile": "προφίλ", + "account_settings": "Ρυθμίσεις λογαριασμού", + "knowledge_base": "βάση γνώσεων", + "contact_form": "Φόρμα Επικοινωνίας", + "faq": "FAQ", + "coming_soon": "Ερχομαι συντομα", + "error": "Σφάλματα", + "maintenence": "συντήρηση", + "login_boxed": "Σύνδεση Boxed", + "register_boxed": "Εγγραφή σε κουτί", + "unlock_boxed": "Ξεκλείδωμα Boxed", + "recover_id_boxed": "Recover Id Boxed", + "login_cover": "Κάλυμμα σύνδεσης", + "register_cover": "Εγγραφή Εξώφυλλο", + "unlock_cover": "Ξεκλειδώστε το κάλυμμα", + "recover_id_cover": "Κάλυμμα αναγνώρισης ανάκτησης", + "supports": "Υποστηρίζει", + "login": "Σύνδεση", + "lockscreen": "Κλείδωμα οθόνης", + "password_recovery": "ΑΝΑΚΤΗΣΗ ΚΩΔΙΚΟΥ", + "register": "Κανω ΕΓΓΡΑΦΗ", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "Διεπαφή χρήστη", + "tables_and_forms": "Πίνακες και Έντυπα", + "columns_filter": "Φίλτρο στηλών", + "column_chooser": "Επιλογέας στήλης", + "advanced": "Προχωρημένος", + "checkbox": "Πλαίσιο ελέγχου", + "skin": "Δέρμα", + "sticky_header": "Κολλώδης κεφαλίδα", + "clone_header": "Κλώνος Κεφαλίδα", + "coming_soon_boxed": "Σύντομα σε κουτί", + "coming_soon_cover": "Προσεχώς Εξώφυλλο", + "contact_us_boxed": "Επικοινωνήστε μαζί μας Boxed", + "contact_us_cover": "Επικοινωνήστε μαζί μας Εξώφυλλο" +} diff --git a/public/locales/en.json b/public/locales/en.json new file mode 100644 index 0000000..f18e6a7 --- /dev/null +++ b/public/locales/en.json @@ -0,0 +1,128 @@ +{ + "dashboard": "Dashboard", + "sales": "Sales", + "analytics": "Analytics", + "apps": "Apps", + "components": "Components", + "elements": "Elements", + "font_icons": "Font Icons", + "widgets": "Widgets", + "tables": "Tables", + "datatables": "Data Tables", + "forms": "Forms", + "users": "Users", + "pages": "Pages", + "authentication": "Authentication", + "drag_and_drop": "Drag and Drop", + "maps": "Maps", + "charts": "Charts", + "starter_kit": "Starter Kit", + "documentation": "Documentation", + "ui_kit": "UI Kit", + "more": "More", + "finance": "Finance", + "crypto": "Crypto", + "chat": "Chat", + "mailbox": "Mailbox", + "todo_list": "Todo List", + "notes": "Notes", + "scrumboard": "Scrumboard", + "contacts": "Contacts", + "invoice": "Invoice", + "list": "List", + "preview": "Preview", + "add": "Add", + "edit": "Edit", + "calendar": "Calendar", + "tabs": "Tabs", + "accordions": "Accordions", + "modals": "Modals", + "cards": "Cards", + "carousel": "Carousel", + "countdown": "Countdown", + "counter": "Counter", + "sweet_alerts": "Sweet Alerts", + "timeline": "Timeline", + "notifications": "Notifications", + "media_object": "Media Object", + "list_group": "List Group", + "pricing_tables": "Pricing Tables", + "lightbox": "Lightbox", + "alerts": "Alerts", + "avatar": "Avatar", + "badges": "Badges", + "breadcrumbs": "Breadcrumbs", + "buttons": "Buttons", + "button_groups": "Button Groups", + "color_library": "Color Library", + "dropdown": "Dropdown", + "infobox": "Infobox", + "jumbotron": "Jumbotron", + "loader": "Loader", + "pagination": "Pagination", + "popovers": "Popovers", + "progress_bar": "Progress Bar", + "search": "Search", + "tooltips": "Tooltips", + "treeview": "Treeview", + "typography": "Typography", + "basic": "Basic", + "order_sorting": "Order Sorting", + "multi_column": "Multi Column", + "multiple_tables": "Multiple Tables", + "alt_pagination": "Alt. Pagination", + "range_search": "Range Search", + "export": "Export", + "input_group": "Input Group", + "layouts": "Layouts", + "validation": "Validation", + "input_mask": "Input Mask", + "select2": "Select2", + "touchspin": "Touchspin", + "checkbox_and_radio": "Checkbox & Radio", + "switches": "Switches", + "wizards": "Wizards", + "file_upload": "File Upload", + "quill_editor": "Quill Editor", + "markdown_editor": "Markdown Editor", + "date_and_range_picker": "Date & Range Picker", + "clipboard": "Clipboard", + "user_and_pages": "User And Pages", + "profile": "Profile", + "account_settings": "Account Settings", + "knowledge_base": "Knowledge Base", + "contact_form": "Contact Form", + "faq": "Faq", + "coming_soon": "Coming Soon", + "error": "Error", + "maintenence": "Maintenence", + "login_boxed": "Login Boxed", + "register_boxed": "Register Boxed", + "unlock_boxed": "Unlock Boxed", + "recover_id_boxed": "Recover Id Boxed", + "login_cover": "Login Cover", + "register_cover": "Register Cover", + "unlock_cover": "Unlock Cover", + "recover_id_cover": "Recover Id Cover", + "supports": "Supports", + "login": "Login", + "lockscreen": "Lockscreen", + "password_recovery": "Password Recovery", + "register": "Register", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "User Interface", + "tables_and_forms": "Tables And Forms", + "columns_filter": "Columns Filter", + "column_chooser": "Column Chooser", + "advanced": "Advanced", + "checkbox": "Checkbox", + "skin": "Skin", + "sticky_header": "Sticky Header", + "clone_header": "Clone Header", + "coming_soon_boxed": "Coming Soon Boxed", + "coming_soon_cover": "Coming Soon Cover", + "contact_us_boxed": "Contact Us Boxed", + "contact_us_cover": "Contact Us Cover" +} diff --git a/public/locales/es.json b/public/locales/es.json new file mode 100644 index 0000000..436432c --- /dev/null +++ b/public/locales/es.json @@ -0,0 +1,128 @@ +{ + "dashboard": "Tablero", + "sales": "Ventas", + "analytics": "Analítica", + "apps": "Aplicaciones", + "components": "Componentes", + "elements": "Elementos", + "font_icons": "Iconos de fuentes", + "widgets": "Widgets", + "tables": "Mesas", + "datatables": "Tablas de datos", + "forms": "Formularios", + "users": "Usuarios", + "pages": "Paginas", + "authentication": "Autenticación", + "drag_and_drop": "Arrastrar y soltar", + "maps": "Mapas", + "charts": "Gráficos", + "starter_kit": "Kit de inicio", + "documentation": "Documentación", + "ui_kit": "Kit de interfaz de usuario", + "more": "Más", + "finance": "Finanzas", + "crypto": "Cripto", + "chat": "charlar", + "mailbox": "buzón", + "todo_list": "lista de quehaceres", + "notes": "Nota", + "scrumboard": "tablero de scrum", + "contacts": "Contactos", + "invoice": "factura", + "list": "lista", + "preview": "Avance", + "add": "Agregar", + "edit": "Editar", + "calendar": "Calendario", + "tabs": "pestañas", + "accordions": "acordeón", + "modals": "modal", + "cards": "Tarjetas", + "carousel": "carrusel", + "countdown": "cuenta regresiva", + "counter": "contadores", + "sweet_alerts": "Dulces alertas", + "timeline": "línea de tiempo", + "notifications": "notificaciones", + "media_object": "MediaObject", + "list_group": "ListaGrupo", + "pricing_tables": "Tablas de Precios", + "lightbox": "caja ligera", + "alerts": "Alertas", + "avatar": "avatar", + "badges": "insignias", + "breadcrumbs": "migas de pan", + "buttons": "botones", + "button_groups": "Grupos de botones", + "color_library": "Biblioteca de colores", + "dropdown": "desplegable", + "infobox": "Caja de información", + "jumbotron": "jumbotron", + "loader": "cargadores", + "pagination": "paginación", + "popovers": "popovers", + "progress_bar": "barra de progreso", + "search": "Búsqueda", + "tooltips": "consejos sobre herramientas", + "treeview": "vista de árbol", + "typography": "Tipografía", + "basic": "básico", + "order_sorting": "clasificación de pedidos", + "multi_column": "columna múltiple", + "multiple_tables": "Múltiples mesas", + "alt_pagination": "alternativa paginación", + "range_search": "Búsqueda de rango", + "export": "exportar", + "input_group": "Grupo de entrada", + "layouts": "diseños", + "validation": "validación", + "input_mask": "Máscara de entrada", + "select2": "Seleccionar2", + "touchspin": "toque girar", + "checkbox_and_radio": "Casilla de verificación y radio", + "switches": "interruptores", + "wizards": "magos", + "file_upload": "Subir archivo", + "quill_editor": "Editor de pluma", + "markdown_editor": "editor de rebajas", + "date_and_range_picker": "Selector de fecha y rango", + "clipboard": "tablero de clip", + "user_and_pages": "Usuarios y páginas", + "profile": "perfiles", + "account_settings": "Configuraciones de la cuenta", + "knowledge_base": "base de conocimientos", + "contact_form": "Formulario de contacto", + "faq": "Preguntas más frecuentes", + "coming_soon": "Próximamente, en breve, pronto", + "error": "errores", + "maintenence": "mantenimiento", + "login_boxed": "Inicio de sesión en caja", + "register_boxed": "Registro en caja", + "unlock_boxed": "Desbloquear en caja", + "recover_id_boxed": "Recuperar ID en caja", + "login_cover": "Portada de inicio de sesión", + "register_cover": "Cubierta de registro", + "unlock_cover": "Desbloquear cubierta", + "recover_id_cover": "Recuperar carátula de identificación", + "supports": "Soporta", + "login": "Acceso", + "lockscreen": "Bloquear pantalla", + "password_recovery": "Recuperación de contraseña", + "register": "Registro", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "Interfaz de usuario", + "tables_and_forms": "tablas y formularios", + "columns_filter": "Filtro de columnas", + "column_chooser": "Selector de columnas", + "advanced": "Avanzado", + "checkbox": "Caja", + "skin": "Piel", + "sticky_header": "Encabezado fijo", + "clone_header": "Encabezado de clonación", + "coming_soon_boxed": "Próximamente en caja", + "coming_soon_cover": "Próximamente Portada", + "contact_us_boxed": "Comuníquese con nosotros", + "contact_us_cover": "Contáctenos Portada" +} diff --git a/public/locales/fr.json b/public/locales/fr.json new file mode 100644 index 0000000..8379d60 --- /dev/null +++ b/public/locales/fr.json @@ -0,0 +1,128 @@ +{ + "dashboard": "Tableau de bord", + "sales": "Ventes", + "analytics": "Analytique", + "apps": "applications", + "components": "Composants", + "elements": "Éléments", + "font_icons": "Icônes de police", + "widgets": "Widgets", + "tables": "les tables", + "datatables": "Tableaux de données", + "forms": "Formes", + "users": "Utilisateurs", + "pages": "Pages", + "authentication": "Authentification", + "drag_and_drop": "Glisser déposer", + "maps": "Plans", + "charts": "Graphiques", + "starter_kit": "Kit de démarrage", + "documentation": "Documentation", + "ui_kit": "Trousse d'interface utilisateur", + "more": "Suite", + "finance": "Finance", + "crypto": "Crypto", + "chat": "Discuter", + "mailbox": "Boites aux lettres", + "todo_list": "Liste de choses à faire", + "notes": "Remarques", + "scrumboard": "Scrumboard", + "contacts": "Contacts", + "invoice": "Facture d'achat", + "list": "Liste", + "preview": "Aperçu", + "add": "Ajouter", + "edit": "Éditer", + "calendar": "Calendrier", + "tabs": "Onglets", + "accordions": "Accordéons", + "modals": "Modaux", + "cards": "Cartes", + "carousel": "Carrousel", + "countdown": "Compte à rebours", + "counter": "Compteur", + "sweet_alerts": "Alertes sucrées", + "timeline": "Chronologie", + "notifications": "Avis", + "media_object": "Objet multimédia", + "list_group": "Groupe de liste", + "pricing_tables": "Tableaux de prix", + "lightbox": "Boite à lumière", + "alerts": "Alertes", + "avatar": "Avatar", + "badges": "Insignes", + "breadcrumbs": "Chapelure", + "buttons": "Boutons", + "button_groups": "Groupes de boutons", + "color_library": "Bibliothèque de couleurs", + "dropdown": "Menu déroulant", + "infobox": "Boîte d'info", + "jumbotron": "Jumbotron", + "loader": "Chargeur", + "pagination": "Pagination", + "popovers": "popovers", + "progress_bar": "Barre de progression", + "search": "Chercher", + "tooltips": "Info-bulles", + "treeview": "Arborescence", + "typography": "Typographie", + "basic": "De base", + "order_sorting": "Tri des commandes", + "multi_column": "Multi-colonne", + "multiple_tables": "Tableaux multiples", + "alt_pagination": "Alt. pagination", + "range_search": "Recherche de gamme", + "export": "Exporter", + "input_group": "Groupe d'entrée", + "layouts": "Dispositions", + "validation": "Validation", + "input_mask": "Masque de saisie", + "select2": "Sélectionner2", + "touchspin": "Toucher spin", + "checkbox_and_radio": "Case à cocher et radio", + "switches": "Commutateurs", + "wizards": "Assistants", + "file_upload": "Téléchargement de fichiers", + "quill_editor": "Éditeur de plumes", + "markdown_editor": "Éditeur Markdown", + "date_and_range_picker": "Sélecteur de date et de plage", + "clipboard": "Presse-papiers", + "user_and_pages": "Utilisateurs et pages", + "profile": "Profil", + "account_settings": "Paramètres du compte", + "knowledge_base": "Base de connaissances", + "contact_form": "Formulaire de contact", + "faq": "FAQ", + "coming_soon": "À venir", + "error": "Erreur", + "maintenence": "Entretien", + "login_boxed": "Connexion en boîte", + "register_boxed": "S'inscrire en boîte", + "unlock_boxed": "Déverrouiller la boîte", + "recover_id_boxed": "Récupérer l'identifiant en boîte", + "login_cover": "Couverture de connexion", + "register_cover": "Couverture de registre", + "unlock_cover": "Déverrouiller la couverture", + "recover_id_cover": "Récupérer la couverture d'identité", + "supports": "Les soutiens", + "login": "Connexion", + "lockscreen": "Écran verrouillé", + "password_recovery": "Récupération de mot de passe", + "register": "S'inscrire", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "Interface utilisateur", + "tables_and_forms": "Tableaux et formulaires", + "columns_filter": "Filtre de colonnes", + "column_chooser": "Sélecteur de colonne", + "advanced": "Avancé", + "checkbox": "Case à cocher", + "skin": "Peau", + "sticky_header": "En-tête collant", + "clone_header": "Cloner l'en-tête", + "coming_soon_boxed": "Bientôt en boîte", + "coming_soon_cover": "Prochainement Couverture", + "contact_us_boxed": "Contactez-nous", + "contact_us_cover": "Contactez-nous Couverture" +} diff --git a/public/locales/hu.json b/public/locales/hu.json new file mode 100644 index 0000000..2cfae43 --- /dev/null +++ b/public/locales/hu.json @@ -0,0 +1,128 @@ +{ + "dashboard": "Irányítópult", + "sales": "Értékesítés", + "analytics": "Analitika", + "apps": "Alkalmazások elemre", + "components": "Alkatrészek", + "elements": "Elemek", + "font_icons": "Betűikonok", + "widgets": "Widgetek", + "tables": "Táblázatok", + "datatables": "Adattáblák", + "forms": "Űrlapok", + "users": "Felhasználók", + "pages": "Oldalak", + "authentication": "Hitelesítés", + "drag_and_drop": "Drag and Drop", + "maps": "Térképek", + "charts": "Diagramok", + "starter_kit": "Kezdő csomag", + "documentation": "Dokumentáció", + "ui_kit": "UI Kit", + "more": "Több", + "finance": "Pénzügy", + "crypto": "Crypto", + "chat": "csevegés", + "mailbox": "postafiók", + "todo_list": "tennivalók", + "notes": "jegyzet", + "scrumboard": "scrumboard", + "contacts": "Kapcsolatok", + "invoice": "számla", + "list": "lista", + "preview": "Előnézet", + "add": "Hozzáadás", + "edit": "Szerkesztés", + "calendar": "Naptár", + "tabs": "lapokat", + "accordions": "harmonika", + "modals": "modális", + "cards": "Kártyák", + "carousel": "körhinta", + "countdown": "visszaszámlálás", + "counter": "számlálók", + "sweet_alerts": "Édes figyelmeztetések", + "timeline": "Idővonal", + "notifications": "értesítéseket", + "media_object": "MediaObject", + "list_group": "ListGroup", + "pricing_tables": "Ártáblázatok", + "lightbox": "világító doboz", + "alerts": "Figyelmeztetések", + "avatar": "avatar", + "badges": "jelvényeket", + "breadcrumbs": "zsemlemorzsa", + "buttons": "gombokat", + "button_groups": "Gombcsoportok", + "color_library": "ColorLibrary", + "dropdown": "ledob", + "infobox": "információs doboz", + "jumbotron": "jumbotron", + "loader": "rakodók", + "pagination": "lapszámozás", + "popovers": "popovers", + "progress_bar": "fejlődésmutató", + "search": "Keresés", + "tooltips": "szerszám tippek", + "treeview": "fanézet", + "typography": "Tipográfia", + "basic": "alapvető", + "order_sorting": "Rendelési rendezés", + "multi_column": "Több oszlop", + "multiple_tables": "Több asztal", + "alt_pagination": "Alt. lapszámozás", + "range_search": "Tartomány keresése", + "export": "export", + "input_group": "Beviteli csoport", + "layouts": "elrendezések", + "validation": "érvényesítés", + "input_mask": "Beviteli maszk", + "select2": "Select2", + "touchspin": "érintéspörgetés", + "checkbox_and_radio": "Jelölőnégyzet és rádió", + "switches": "kapcsolók", + "wizards": "Varázslók", + "file_upload": "fájlfeltöltés", + "quill_editor": "Quill szerkesztő", + "markdown_editor": "Markdown szerkesztő", + "date_and_range_picker": "Dátum- és tartományválasztó", + "clipboard": "vágólap", + "user_and_pages": "Felhasználók és oldalak", + "profile": "profilok", + "account_settings": "Fiók beállítások", + "knowledge_base": "Tudásbázis", + "contact_form": "Kapcsolatfelvételi űrlap", + "faq": "GYIK", + "coming_soon": "Hamarosan", + "error": "hibákat", + "maintenence": "karbantartás", + "login_boxed": "Bejelentkezés dobozban", + "register_boxed": "Regisztráció Dobozban", + "unlock_boxed": "Dobozos zár feloldása", + "recover_id_boxed": "Helyreállítási azonosító dobozban", + "login_cover": "Bejelentkezési borító", + "register_cover": "Regisztrációs borító", + "unlock_cover": "Nyissa ki a fedelet", + "recover_id_cover": "Id Cover helyreállítása", + "supports": "Támogatja", + "login": "Belépés", + "lockscreen": "Lezárási képernyő", + "password_recovery": "Jelszó visszaállítás", + "register": "Regisztráció", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "Felhasználói felület", + "tables_and_forms": "Táblázatok és Űrlapok", + "columns_filter": "Oszlopok szűrője", + "column_chooser": "Oszlopválasztó", + "advanced": "Fejlett", + "checkbox": "Jelölőnégyzet", + "skin": "Bőr", + "sticky_header": "Ragadós fejléc", + "clone_header": "Fejléc klónozása", + "coming_soon_boxed": "Hamarosan Boxed", + "coming_soon_cover": "Hamarosan Borító", + "contact_us_boxed": "Lépjen kapcsolatba velünk Boxed", + "contact_us_cover": "Lépjen kapcsolatba velünk Borító" +} diff --git a/public/locales/it.json b/public/locales/it.json new file mode 100644 index 0000000..6fe7094 --- /dev/null +++ b/public/locales/it.json @@ -0,0 +1,128 @@ +{ + "dashboard": "Pannello di controllo", + "sales": "Saldi", + "analytics": "Analisi", + "apps": "App", + "components": "Componenti", + "elements": "Elementi", + "font_icons": "Icone dei caratteri", + "widgets": "Widget", + "tables": "Tabelle", + "datatables": "Tabelle dati", + "forms": "Forme", + "users": "Utenti", + "pages": "Pagine", + "authentication": "Autenticazione", + "drag_and_drop": "Trascinare e rilasciare", + "maps": "Mappe", + "charts": "Grafici", + "starter_kit": "Kit di partenza", + "documentation": "Documentazione", + "ui_kit": "Kit interfaccia utente", + "more": "Di più", + "finance": "Finanza", + "crypto": "Cripto", + "chat": "Chiacchierare", + "mailbox": "cassetta postale", + "todo_list": "lista di cose da fare", + "notes": "Nota", + "scrumboard": "mischia", + "contacts": "Contatti", + "invoice": "fattura", + "list": "elenco", + "preview": "Anteprima", + "add": "Aggiungere", + "edit": "Modificare", + "calendar": "Calendario", + "tabs": "schede", + "accordions": "fisarmonica", + "modals": "modale", + "cards": "Carte", + "carousel": "giostra", + "countdown": "conto alla rovescia", + "counter": "contatori", + "sweet_alerts": "Dolci avvisi", + "timeline": "sequenza temporale", + "notifications": "notifiche", + "media_object": "Oggetto multimediale", + "list_group": "ListGroup", + "pricing_tables": "Tabelle dei prezzi", + "lightbox": "scatola luminosa", + "alerts": "Avvisi", + "avatar": "avatar", + "badges": "distintivi", + "breadcrumbs": "briciole di pane", + "buttons": "pulsanti", + "button_groups": "Gruppi di pulsanti", + "color_library": "ColorLibrary", + "dropdown": "cadere in picchiata", + "infobox": "casella delle informazioni", + "jumbotron": "jumbotron", + "loader": "caricatori", + "pagination": "impaginazione", + "popovers": "popover", + "progress_bar": "barra di avanzamento", + "search": "Ricerca", + "tooltips": "consigli sugli strumenti", + "treeview": "visualizzazione ad albero", + "typography": "Tipografia", + "basic": "di base", + "order_sorting": "Ordinamento degli ordini", + "multi_column": "Multicolonna", + "multiple_tables": "Tabelle multiple", + "alt_pagination": "Alt. impaginazione", + "range_search": "Ricerca per intervallo", + "export": "esportare", + "input_group": "Gruppo di input", + "layouts": "layout", + "validation": "convalida", + "input_mask": "Maschera di immissione", + "select2": "Seleziona2", + "touchspin": "tocca girare", + "checkbox_and_radio": "Casella di controllo e radio", + "switches": "interruttori", + "wizards": "Maghi", + "file_upload": "upload di file", + "quill_editor": "Editor di penne", + "markdown_editor": "Editor di ribasso", + "date_and_range_picker": "Selettore data e intervallo", + "clipboard": "lavagna per appunti", + "user_and_pages": "Utenti e pagine", + "profile": "profili", + "account_settings": "Impostazioni dell'account", + "knowledge_base": "base di conoscenza", + "contact_form": "Modulo di Contatto", + "faq": "FAQ", + "coming_soon": "Prossimamente", + "error": "errori", + "maintenence": "Manutenzione", + "login_boxed": "Accedi in scatola", + "register_boxed": "Registrati in scatola", + "unlock_boxed": "Sblocca in scatola", + "recover_id_boxed": "Recupera ID inscatolato", + "login_cover": "Copertina di accesso", + "register_cover": "Copertina del registro", + "unlock_cover": "Sblocca la copertura", + "recover_id_cover": "Recupera copertina ID", + "supports": "Supporta", + "login": "Login", + "lockscreen": "Blocca schermo", + "password_recovery": "Recupero della password", + "register": "Registrati", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "Interfaccia utente", + "tables_and_forms": "Tabelle E Moduli", + "columns_filter": "Filtro colonne", + "column_chooser": "Selettore di colonne", + "advanced": "Avanzate", + "checkbox": "Casella di controllo", + "skin": "Pelle", + "sticky_header": "Intestazione adesiva", + "clone_header": "Clona intestazione", + "coming_soon_boxed": "Prossimamente in scatola", + "coming_soon_cover": "Copertina in arrivo", + "contact_us_boxed": "Contattaci Inscatolato", + "contact_us_cover": "Contattaci Copertina" +} diff --git a/public/locales/ja.json b/public/locales/ja.json new file mode 100644 index 0000000..2480772 --- /dev/null +++ b/public/locales/ja.json @@ -0,0 +1,128 @@ +{ + "dashboard": "ダッシュボード", + "sales": "販売", + "analytics": "分析", + "apps": "アプリ", + "components": "コンポーネント", + "elements": "要素", + "font_icons": "フォントアイコン", + "widgets": "ウィジェット", + "tables": "テーブル", + "datatables": "データテーブル", + "forms": "フォーム", + "users": "ユーザー", + "pages": "ページ", + "authentication": "認証", + "drag_and_drop": "ドラッグアンドドロップ", + "maps": "マップ", + "charts": "チャート", + "starter_kit": "スターターキット", + "documentation": "ドキュメンテーション", + "ui_kit": "UIキット", + "more": "もっと", + "finance": "ファイナンス", + "crypto": "クリプト", + "chat": "チャット", + "mailbox": "メールボックス", + "todo_list": "やることリスト", + "notes": "ノート", + "scrumboard": "スクラムボード", + "contacts": "連絡先", + "invoice": "請求書", + "list": "リスト", + "preview": "プレビュー", + "add": "追加", + "edit": "編集", + "calendar": "カレンダー", + "tabs": "タブ", + "accordions": "アコーディオン", + "modals": "モーダル", + "cards": "カード", + "carousel": "カルーセル", + "countdown": "秒読み", + "counter": "カウンター", + "sweet_alerts": "甘いアラート", + "timeline": "タイムライン", + "notifications": "通知", + "media_object": "MediaObject", + "list_group": "リストグループ", + "pricing_tables": "価格表", + "lightbox": "ライトボックス", + "alerts": "アラート", + "avatar": "アバター", + "badges": "バッジ", + "breadcrumbs": "パン粉", + "buttons": "ボタン", + "button_groups": "ボタングループ", + "color_library": "カラーライブラリ", + "dropdown": "落ちる", + "infobox": "情報ボックス", + "jumbotron": "ジャンボトロン", + "loader": "ローダー", + "pagination": "ページネーション", + "popovers": "ポップオーバー", + "progress_bar": "プログレスバー", + "search": "探す", + "tooltips": "ツールのヒント", + "treeview": "ツリー表示", + "typography": "タイポグラフィ", + "basic": "基本", + "order_sorting": "注文の並べ替え", + "multi_column": "マルチカラム", + "multiple_tables": "複数のテーブル", + "alt_pagination": "代替。ページネーション", + "range_search": "範囲検索", + "export": "書き出す", + "input_group": "入力グループ", + "layouts": "レイアウト", + "validation": "検証", + "input_mask": "入力マスク", + "select2": "Select2", + "touchspin": "タッチスピン", + "checkbox_and_radio": "チェックボックスとラジオ", + "switches": "スイッチ", + "wizards": "ウィザード", + "file_upload": "ファイルのアップロード", + "quill_editor": "クイルエディター", + "markdown_editor": "マークダウン エディタ", + "date_and_range_picker": "日付と範囲のピッカー", + "clipboard": "クリップボード", + "user_and_pages": "ユーザーとページ", + "profile": "プロファイル", + "account_settings": "アカウント設定", + "knowledge_base": "知識ベース", + "contact_form": "お問い合わせフォーム", + "faq": "よくある質問", + "coming_soon": "近日公開", + "error": "エラー", + "maintenence": "メンテナンス", + "login_boxed": "ログインボックス化", + "register_boxed": "登録する", + "unlock_boxed": "箱入りのロックを解除", + "recover_id_boxed": "Id の復元ボックス化", + "login_cover": "ログインカバー", + "register_cover": "登録表紙", + "unlock_cover": "カバーのロックを解除", + "recover_id_cover": "IDカバーを回復", + "supports": "サポート", + "login": "ログイン", + "lockscreen": "ロック画面", + "password_recovery": "パスワードの復元", + "register": "登録", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "ユーザーインターフェース", + "tables_and_forms": "テーブルとフォーム", + "columns_filter": "列フィルター", + "column_chooser": "列の選択", + "advanced": "高度", + "checkbox": "チェックボックス", + "skin": "肌", + "sticky_header": "スティッキー ヘッダー", + "clone_header": "ヘッダーの複製", + "coming_soon_boxed": "近日発売予定", + "coming_soon_cover": "近日公開予定の表紙", + "contact_us_boxed": "お問い合わせ", + "contact_us_cover": "お問い合わせ 表紙" +} diff --git a/public/locales/pl.json b/public/locales/pl.json new file mode 100644 index 0000000..89c3c81 --- /dev/null +++ b/public/locales/pl.json @@ -0,0 +1,128 @@ +{ + "dashboard": "Deska rozdzielcza", + "sales": "Sprzedaż", + "analytics": "Analityka", + "apps": "Aplikacje", + "components": "składniki", + "elements": "Elementy", + "font_icons": "Ikony czcionek", + "widgets": "Widżety", + "tables": "Stoły", + "datatables": "Tabele danych", + "forms": "Formularze", + "users": "Użytkownicy", + "pages": "Strony", + "authentication": "Uwierzytelnianie", + "drag_and_drop": "Przeciągnij i upuść", + "maps": "Mapy", + "charts": "Wykresy", + "starter_kit": "Zestaw startowy", + "documentation": "Dokumentacja", + "ui_kit": "Zestaw interfejsu użytkownika", + "more": "Więcej", + "finance": "Finanse", + "crypto": "Kryptowaluta", + "chat": "czat", + "mailbox": "skrzynka pocztowa", + "todo_list": "Lista rzeczy do zrobienia", + "notes": "Notatka", + "scrumboard": "tablica informacyjna", + "contacts": "Łączność", + "invoice": "faktura", + "list": "lista", + "preview": "Zapowiedź", + "add": "Dodać", + "edit": "Edytować", + "calendar": "Kalendarz", + "tabs": "zakładki", + "accordions": "akordeon", + "modals": "modalny", + "cards": "Karty", + "carousel": "karuzela", + "countdown": "odliczanie", + "counter": "liczniki", + "sweet_alerts": "Słodkie alerty", + "timeline": "oś czasu", + "notifications": "powiadomienia", + "media_object": "MediaObject", + "list_group": "GrupaList", + "pricing_tables": "Tabele cenowe", + "lightbox": "lightbox", + "alerts": "Alerty", + "avatar": "awatara", + "badges": "odznaki", + "breadcrumbs": "bułka tarta", + "buttons": "guziki", + "button_groups": "Grupy przycisków", + "color_library": "Biblioteka kolorów", + "dropdown": "upuścić", + "infobox": "skrzynka informacyjna", + "jumbotron": "jumbotron", + "loader": "ładowarki", + "pagination": "paginacja", + "popovers": "popovery", + "progress_bar": "pasek postępu", + "search": "Szukaj", + "tooltips": "wskazówki dotyczące narzędzi", + "treeview": "widok drzewa", + "typography": "Typografia", + "basic": "podstawowy", + "order_sorting": "Sortowanie zamówień", + "multi_column": "Wiele kolumn", + "multiple_tables": "Wiele stołów", + "alt_pagination": "Alt. paginacja", + "range_search": "Wyszukiwanie zakresu", + "export": "eksport", + "input_group": "Grupa wejściowa", + "layouts": "układy", + "validation": "walidacja", + "input_mask": "Maska wprowadzania", + "select2": "Wybierz2", + "touchspin": "wirowanie dotykowe", + "checkbox_and_radio": "Pole wyboru i radio", + "switches": "przełączniki", + "wizards": "Czarodzieje", + "file_upload": "Udostępnianie pliku", + "quill_editor": "Edytor Quill", + "markdown_editor": "Edytor przecen", + "date_and_range_picker": "Selektor dat i zakresów", + "clipboard": "schowek", + "user_and_pages": "Użytkownicy i strony", + "profile": "profile", + "account_settings": "Ustawienia konta", + "knowledge_base": "baza wiedzy", + "contact_form": "Formularz kontaktowy", + "faq": "FAQ", + "coming_soon": "Wkrótce", + "error": "błędy", + "maintenence": "konserwacja", + "login_boxed": "Zaloguj się w pudełku", + "register_boxed": "Zarejestruj się w pudełku", + "unlock_boxed": "Odblokuj pudełko", + "recover_id_boxed": "Odzyskaj identyfikator w pudełku", + "login_cover": "Okładka logowania", + "register_cover": "Zarejestruj się okładka", + "unlock_cover": "Odblokuj pokrywę", + "recover_id_cover": "Odzyskaj okładkę identyfikatora", + "supports": "Obsługuje", + "login": "Zaloguj sie", + "lockscreen": "Ekran blokady", + "password_recovery": "Odzyskiwanie hasła", + "register": "Zarejestrować", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "Interfejs użytkownika", + "tables_and_forms": "Tabele i formularze", + "columns_filter": "Filtr kolumn", + "column_chooser": "Wybór kolumny", + "advanced": "Zaawansowany", + "checkbox": "Pole wyboru", + "skin": "Skóra", + "sticky_header": "Lepki nagłówek", + "clone_header": "Nagłówek klonu", + "coming_soon_boxed": "Wkrótce w pudełku", + "coming_soon_cover": "Już wkrótce okładka", + "contact_us_boxed": "Skontaktuj się z nami w pudełku", + "contact_us_cover": "Skontaktuj się z nami Okładka" +} diff --git a/public/locales/pt.json b/public/locales/pt.json new file mode 100644 index 0000000..8b11827 --- /dev/null +++ b/public/locales/pt.json @@ -0,0 +1,128 @@ +{ + "dashboard": "Painel", + "sales": "Vendas", + "analytics": "Analytics", + "apps": "Apps", + "components": "Componentes", + "elements": "Elementos", + "font_icons": "Ícones de fonte", + "widgets": "Widgets", + "tables": "Mesas", + "datatables": "Tabelas de dados", + "forms": "Formulários", + "users": "Comercial", + "pages": "Páginas", + "authentication": "Autenticação", + "drag_and_drop": "Arrastar e soltar", + "maps": "Mapas", + "charts": "Gráficos", + "starter_kit": "Kit iniciante", + "documentation": "Documentação", + "ui_kit": "UI Kit", + "more": "Mais", + "finance": "Finança", + "crypto": "Criptografia", + "chat": "bater papo", + "mailbox": "caixa de correio", + "todo_list": "lista de afazeres", + "notes": "Observação", + "scrumboard": "scrumboard", + "contacts": "Contatos", + "invoice": "fatura", + "list": "Lista", + "preview": "Visualizar", + "add": "Adicionar", + "edit": "Editar", + "calendar": "Calendário", + "tabs": "abas", + "accordions": "acordeão", + "modals": "modal", + "cards": "Cartões", + "carousel": "carrossel", + "countdown": "contagem regressiva", + "counter": "contadores", + "sweet_alerts": "Alertas doces", + "timeline": "Linha do tempo", + "notifications": "notificações", + "media_object": "Objeto de mídia", + "list_group": "ListarGrupo", + "pricing_tables": "Tabelas de preços", + "lightbox": "caixa de luz", + "alerts": "Alertas", + "avatar": "avatar", + "badges": "Distintivos", + "breadcrumbs": "Migalhas de pão", + "buttons": "botões", + "button_groups": "Grupos de botões", + "color_library": "ColorLibrary", + "dropdown": "suspenso", + "infobox": "caixa de informação", + "jumbotron": "jumbotron", + "loader": "carregadores", + "pagination": "paginação", + "popovers": "popovers", + "progress_bar": "Barra de progresso", + "search": "Procurar", + "tooltips": "dicas de ferramentas", + "treeview": "vista em árvore", + "typography": "Tipografia", + "basic": "básico", + "order_sorting": "Classificação de pedidos", + "multi_column": "Várias colunas", + "multiple_tables": "Várias tabelas", + "alt_pagination": "Alt. paginação", + "range_search": "Pesquisa de intervalo", + "export": "exportar", + "input_group": "Grupo de entrada", + "layouts": "layouts", + "validation": "validação", + "input_mask": "Máscara de entrada", + "select2": "Select2", + "touchspin": "toque giratório", + "checkbox_and_radio": "Caixa de seleção e rádio", + "switches": "comuta", + "wizards": "Assistentes", + "file_upload": "upload de arquivo", + "quill_editor": "Editor de penas", + "markdown_editor": "Editor de redução", + "date_and_range_picker": "Seletor de data e intervalo", + "clipboard": "prancheta", + "user_and_pages": "Usuários e páginas", + "profile": "perfis", + "account_settings": "Configurações da conta", + "knowledge_base": "base de conhecimento", + "contact_form": "Formulário de Contato", + "faq": "Perguntas frequentes", + "coming_soon": "Em breve", + "error": "erros", + "maintenence": "manutenção", + "login_boxed": "Caixa de login", + "register_boxed": "Registrar em caixa", + "unlock_boxed": "Desbloquear Caixa", + "recover_id_boxed": "Recuperar ID em caixa", + "login_cover": "Capa de login", + "register_cover": "Capa de registro", + "unlock_cover": "Desbloquear a tampa", + "recover_id_cover": "Recuperar capa de identificação", + "supports": "Apoia", + "login": "Conecte-se", + "lockscreen": "Tela de bloqueio", + "password_recovery": "Recuperação de senha", + "register": "Registro", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "Interface de usuário", + "tables_and_forms": "Tabelas e formulários", + "columns_filter": "Filtro de Colunas", + "column_chooser": "Seletor de coluna", + "advanced": "Avançado", + "checkbox": "Caixa de seleção", + "skin": "Pele", + "sticky_header": "Cabeçalho Fixo", + "clone_header": "Clonar Cabeçalho", + "coming_soon_boxed": "Em breve embalado", + "coming_soon_cover": "Capa Em Breve", + "contact_us_boxed": "Contacte-nos na caixa", + "contact_us_cover": "Contacte-nos capa" +} diff --git a/public/locales/ru.json b/public/locales/ru.json new file mode 100644 index 0000000..9719bdf --- /dev/null +++ b/public/locales/ru.json @@ -0,0 +1,128 @@ +{ + "dashboard": "Щиток приборов", + "sales": "Продажи", + "analytics": "Аналитика", + "apps": "Программы", + "components": "Компоненты", + "elements": "Элементы", + "font_icons": "Иконки шрифтов", + "widgets": "Виджеты", + "tables": "Таблицы", + "datatables": "Таблицы данных", + "forms": "Формы", + "users": "Пользователи", + "pages": "Страницы", + "authentication": "Аутентификация", + "drag_and_drop": "Перетащить и отпустить", + "maps": "Карты", + "charts": "Диаграммы", + "starter_kit": "Стартовый комплект", + "documentation": "Документация", + "ui_kit": "UI Kit", + "more": "Более", + "finance": "Финансы", + "crypto": "Крипто", + "chat": "чат", + "mailbox": "почтовый ящик", + "todo_list": "список дел", + "notes": "Примечание", + "scrumboard": "доска для скейтборда", + "contacts": "Контакты", + "invoice": "счет", + "list": "список", + "preview": "Предварительный просмотр", + "add": "Добавлять", + "edit": "Редактировать", + "calendar": "Календарь", + "tabs": "вкладки", + "accordions": "аккордеон", + "modals": "модальный", + "cards": "Карты", + "carousel": "карусель", + "countdown": "обратный отсчет", + "counter": "счетчики", + "sweet_alerts": "Сладкие оповещения", + "timeline": "график", + "notifications": "уведомления", + "media_object": "МедиаОбъект", + "list_group": "Группа списка", + "pricing_tables": "Таблицы цен", + "lightbox": "лайтбокс", + "alerts": "Оповещения", + "avatar": "аватар", + "badges": "значки", + "breadcrumbs": "панировочные сухари", + "buttons": "кнопки", + "button_groups": "Группы кнопок", + "color_library": "ColorLibrary", + "dropdown": "падать", + "infobox": "информационное окно", + "jumbotron": "Джамботрон", + "loader": "грузчики", + "pagination": "нумерация страниц", + "popovers": "всплывающие окна", + "progress_bar": "индикатор", + "search": "Поиск", + "tooltips": "советы по инструментам", + "treeview": "в виде дерева", + "typography": "Типография", + "basic": "базовый", + "order_sorting": "Сортировка заказов", + "multi_column": "Несколько столбцов", + "multiple_tables": "Несколько таблиц", + "alt_pagination": "Альт. нумерация страниц", + "range_search": "Поиск диапазона", + "export": "экспорт", + "input_group": "Входная группа", + "layouts": "макеты", + "validation": "Проверка", + "input_mask": "Маска ввода", + "select2": "Выберите2", + "touchspin": "сенсорное вращение", + "checkbox_and_radio": "Флажок и радио", + "switches": "переключатели", + "wizards": "Волшебники", + "file_upload": "файл загружен", + "quill_editor": "Редактор перьев", + "markdown_editor": "Редактор уценки", + "date_and_range_picker": "Выбор даты и диапазона", + "clipboard": "буфер обмена", + "user_and_pages": "Пользователи и страницы", + "profile": "профили", + "account_settings": "Настройки учетной записи", + "knowledge_base": "база знаний", + "contact_form": "Форма обратной связи", + "faq": "Часто задаваемые вопросы", + "coming_soon": "Вскоре", + "error": "ошибки", + "maintenence": "техническое обслуживание", + "login_boxed": "Войти", + "register_boxed": "Регистрация", + "unlock_boxed": "Разблокировать в штучной упаковке", + "recover_id_boxed": "Восстановить идентификатор в штучной упаковке", + "login_cover": "Обложка для входа", + "register_cover": "Зарегистрировать обложку", + "unlock_cover": "Разблокировать крышку", + "recover_id_cover": "Восстановить обложку удостоверения личности", + "supports": "Поддерживает", + "login": "Авторизоваться", + "lockscreen": "Экран блокировки", + "password_recovery": "Восстановление пароля", + "register": "регистр", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "Пользовательский интерфейс", + "tables_and_forms": "Таблицы и формы", + "columns_filter": "Фильтр столбцов", + "column_chooser": "Выбор столбца", + "advanced": "Передовой", + "checkbox": "Флажок", + "skin": "Кожа", + "sticky_header": "Липкий заголовок", + "clone_header": "Клонировать заголовок", + "coming_soon_boxed": "Скоро в штучной упаковке", + "coming_soon_cover": "Скоро появится Обложка", + "contact_us_boxed": "Свяжитесь с нами", + "contact_us_cover": "Свяжитесь с нами Обложка" +} diff --git a/public/locales/sv.json b/public/locales/sv.json new file mode 100644 index 0000000..b2c5032 --- /dev/null +++ b/public/locales/sv.json @@ -0,0 +1,128 @@ +{ + "dashboard": "instrumentbräda", + "sales": "Försäljning", + "analytics": "Analytics", + "apps": "Appar", + "components": "Komponenter", + "elements": "Element", + "font_icons": "Teckensnitt ikoner", + "widgets": "Widgets", + "tables": "Tabeller", + "datatables": "Datatabeller", + "forms": "Blanketter", + "users": "Användare", + "pages": "Sidor", + "authentication": "Autentisering", + "drag_and_drop": "Dra och släpp", + "maps": "Kartor", + "charts": "Diagram", + "starter_kit": "Startpaket", + "documentation": "Dokumentation", + "ui_kit": "UI Kit", + "more": "Mer", + "finance": "Finansiera", + "crypto": "Krypto", + "chat": "chatt", + "mailbox": "brevlåda", + "todo_list": "att göra lista", + "notes": "Notera", + "scrumboard": "scrumboard", + "contacts": "Kontakter", + "invoice": "faktura", + "list": "lista", + "preview": "Förhandsvisning", + "add": "Lägg till", + "edit": "Redigera", + "calendar": "Kalender", + "tabs": "flikar", + "accordions": "dragspel", + "modals": "modal", + "cards": "Kort", + "carousel": "karusell", + "countdown": "nedräkning", + "counter": "räknare", + "sweet_alerts": "Söta varningar", + "timeline": "tidslinjen", + "notifications": "meddelanden", + "media_object": "MediaObject", + "list_group": "Listgrupp", + "pricing_tables": "Pristabeller", + "lightbox": "ljuslåda", + "alerts": "Varningar", + "avatar": "avatar", + "badges": "märken", + "breadcrumbs": "ströbröd", + "buttons": "knappar", + "button_groups": "Knappgrupper", + "color_library": "ColorLibrary", + "dropdown": "falla ner", + "infobox": "inforuta", + "jumbotron": "jumbotron", + "loader": "lastare", + "pagination": "paginering", + "popovers": "popovers", + "progress_bar": "förloppsindikator", + "search": "Sök", + "tooltips": "verktygstips", + "treeview": "trädvy", + "typography": "Typografi", + "basic": "grundläggande", + "order_sorting": "Beställningssortering", + "multi_column": "Flera kolumn", + "multiple_tables": "Flera bord", + "alt_pagination": "Alt. paginering", + "range_search": "Områdessökning", + "export": "exportera", + "input_group": "Inmatningsgrupp", + "layouts": "layouter", + "validation": "godkännande", + "input_mask": "Ingångsmask", + "select2": "Välj2", + "touchspin": "beröringssnurr", + "checkbox_and_radio": "Kryssruta och radio", + "switches": "växlar", + "wizards": "Trollkarlar", + "file_upload": "filuppladdning", + "quill_editor": "Quill redaktör", + "markdown_editor": "Markdown editor", + "date_and_range_picker": "Datum- och intervallväljare", + "clipboard": "klippbräda", + "user_and_pages": "Användare och sidor", + "profile": "profiler", + "account_settings": "Kontoinställningar", + "knowledge_base": "kunskapsbas", + "contact_form": "Kontaktformulär", + "faq": "FAQ", + "coming_soon": "Kommer snart", + "error": "fel", + "maintenence": "underhåll", + "login_boxed": "Inloggning Boxed", + "register_boxed": "Registrera Boxed", + "unlock_boxed": "Lås upp Boxed", + "recover_id_boxed": "Återställ ID Boxed", + "login_cover": "Inloggningsskydd", + "register_cover": "Register Cover", + "unlock_cover": "Lås upp locket", + "recover_id_cover": "Återställ ID-omslag", + "supports": "Stöder", + "login": "Logga in", + "lockscreen": "Låsskärm", + "password_recovery": "Återställning av lösenord", + "register": "Registrera", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "Användargränssnitt", + "tables_and_forms": "Tabeller Och Blanketter", + "columns_filter": "Kolumner Filter", + "column_chooser": "Kolumnväljare", + "advanced": "Avancerad", + "checkbox": "Kryssruta", + "skin": "Hud", + "sticky_header": "Sticky Header", + "clone_header": "Clone Header", + "coming_soon_boxed": "Kommer snart i box", + "coming_soon_cover": "Kommer snart omslag", + "contact_us_boxed": "Kontakta oss Boxed", + "contact_us_cover": "Kontakta oss Cover" +} diff --git a/public/locales/tr.json b/public/locales/tr.json new file mode 100644 index 0000000..3dada6e --- /dev/null +++ b/public/locales/tr.json @@ -0,0 +1,128 @@ +{ + "dashboard": "Gösterge Paneli", + "sales": "Satış", + "analytics": "Analitik", + "apps": "uygulamalar", + "components": "Bileşenler", + "elements": "Elementler", + "font_icons": "Yazı Tipi Simgeleri", + "widgets": "Widget'lar", + "tables": "tablolar", + "datatables": "Veri Tabloları", + "forms": "Formlar", + "users": "Kullanıcılar", + "pages": "Sayfalar", + "authentication": "kimlik doğrulama", + "drag_and_drop": "Sürükle ve bırak", + "maps": "Haritalar", + "charts": "Grafikler", + "starter_kit": "Başlangıç kiti", + "documentation": "belgeler", + "ui_kit": "UI Kiti", + "more": "Daha", + "finance": "finans", + "crypto": "Kripto", + "chat": "sohbet", + "mailbox": "posta kutusu", + "todo_list": "yapılacaklar listesi", + "notes": "Not", + "scrumboard": "scramboard", + "contacts": "Kişiler", + "invoice": "fatura", + "list": "liste", + "preview": "Ön izleme", + "add": "Ekle", + "edit": "Düzenlemek", + "calendar": "Takvim", + "tabs": "sekmeler", + "accordions": "akordeon", + "modals": "modal", + "cards": "kartlar", + "carousel": "atlıkarınca", + "countdown": "geri sayım", + "counter": "sayaçlar", + "sweet_alerts": "Tatlı uyarılar", + "timeline": "zaman çizelgesi", + "notifications": "bildirimler", + "media_object": "Medyanesnesi", + "list_group": "Liste Grubu", + "pricing_tables": "Fiyatlandırma Tabloları", + "lightbox": "hafif kutu", + "alerts": "uyarılar", + "avatar": "avatar", + "badges": "Rozetler", + "breadcrumbs": "galeta unu", + "buttons": "düğmeler", + "button_groups": "Düğme Grupları", + "color_library": "Renk Kitaplığı", + "dropdown": "yıkılmak", + "infobox": "bilgi kutusu", + "jumbotron": "jumbotron", + "loader": "yükleyiciler", + "pagination": "sayfalandırma", + "popovers": "popovers", + "progress_bar": "ilerleme çubuğu", + "search": "Arama", + "tooltips": "araç ipuçları", + "treeview": "ağaç görünümü", + "typography": "tipografi", + "basic": "temel", + "order_sorting": "Sipariş sıralama", + "multi_column": "Çoklu Sütun", + "multiple_tables": "Birden çok tablo", + "alt_pagination": "Alt. sayfalandırma", + "range_search": "Aralık Arama", + "export": "ihracat", + "input_group": "Giriş Grubu", + "layouts": "düzenler", + "validation": "doğrulama", + "input_mask": "Giriş maskesi", + "select2": "Seç2", + "touchspin": "dokunma dönüşü", + "checkbox_and_radio": "Onay Kutusu ve Radyo", + "switches": "anahtarlar", + "wizards": "sihirbazlar", + "file_upload": "dosya yükleme", + "quill_editor": "tüy düzenleyici", + "markdown_editor": "Markdown düzenleyicisi", + "date_and_range_picker": "Tarih ve Aralık Seçici", + "clipboard": "klip kurulu", + "user_and_pages": "Kullanıcılar ve Sayfalar", + "profile": "profiller", + "account_settings": "Hesap ayarları", + "knowledge_base": "bilgi tabanı", + "contact_form": "İletişim Formu", + "faq": "SSS", + "coming_soon": "Çok yakında", + "error": "hatalar", + "maintenence": "bakım", + "login_boxed": "Giriş Kutusu", + "register_boxed": "Kayıtlı Kutulu", + "unlock_boxed": "Kutunun Kilidini Aç", + "recover_id_boxed": "Kutulu Kimliği Kurtar", + "login_cover": "Giriş Kapağı", + "register_cover": "Kayıt Kapağı", + "unlock_cover": "Kapağın Kilidini Aç", + "recover_id_cover": "Kimlik Kapağını Kurtar", + "supports": "destekler", + "login": "Giriş yapmak", + "lockscreen": "kilit ekranı", + "password_recovery": "Şifre kurtarma", + "register": "Kayıt ol", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "Kullanıcı arayüzü", + "tables_and_forms": "Tablolar ve Formlar", + "columns_filter": "Sütun Filtresi", + "column_chooser": "Sütun Seçici", + "advanced": "Gelişmiş", + "checkbox": "onay kutusu", + "skin": "Deri", + "sticky_header": "Yapışkan Başlık", + "clone_header": "Klon Başlığı", + "coming_soon_boxed": "Çok Yakında Kutulu", + "coming_soon_cover": "Çok Yakında Kapak", + "contact_us_boxed": "Bize Ulaşın Kutulu", + "contact_us_cover": "Bize Ulaşın Kapak" +} diff --git a/public/locales/zh.json b/public/locales/zh.json new file mode 100644 index 0000000..351e02b --- /dev/null +++ b/public/locales/zh.json @@ -0,0 +1,128 @@ +{ + "dashboard": "仪表盘", + "sales": "销售量", + "analytics": "分析", + "apps": "应用", + "components": "成分", + "elements": "元素", + "font_icons": "字体图标", + "widgets": "小工具", + "tables": "表", + "datatables": "数据表", + "forms": "形式", + "users": "用户", + "pages": "页面", + "authentication": "验证", + "drag_and_drop": "拖放", + "maps": "地图", + "charts": "图表", + "starter_kit": "入门套件", + "documentation": "文档", + "ui_kit": "用户界面套件", + "more": "更多的", + "finance": "金融", + "crypto": "加密货币", + "chat": "聊天", + "mailbox": "邮箱", + "todo_list": "待办事项列表", + "notes": "笔记", + "scrumboard": "剪贴板", + "contacts": "联系人", + "invoice": "发票", + "list": "列表", + "preview": "预习", + "add": "添加", + "edit": "编辑", + "calendar": "日历", + "tabs": "标签", + "accordions": "手风琴", + "modals": "模态", + "cards": "牌", + "carousel": "旋转木马", + "countdown": "倒数", + "counter": "柜台", + "sweet_alerts": "甜蜜的警报", + "timeline": "时间线", + "notifications": "通知", + "media_object": "媒体对象", + "list_group": "列表组", + "pricing_tables": "定价表", + "lightbox": "灯箱", + "alerts": "警报", + "avatar": "阿凡达", + "badges": "徽章", + "breadcrumbs": "面包屑", + "buttons": "纽扣", + "button_groups": "按钮组", + "color_library": "颜色库", + "dropdown": "落下", + "infobox": "信息框", + "jumbotron": "超大屏幕", + "loader": "装载机", + "pagination": "分页", + "popovers": "约夏克布丁", + "progress_bar": "进度条", + "search": "搜索", + "tooltips": "工具提示", + "treeview": "树视图", + "typography": "排版", + "basic": "基本的", + "order_sorting": "订单排序", + "multi_column": "多列", + "multiple_tables": "多个表", + "alt_pagination": "替代。分页", + "range_search": "范围搜索", + "export": "出口", + "input_group": "输入组", + "layouts": "布局", + "validation": "验证", + "input_mask": "输入掩码", + "select2": "选择2", + "touchspin": "触摸旋转", + "checkbox_and_radio": "复选框和收音机", + "switches": "开关", + "wizards": "奇才", + "file_upload": "上传文件", + "quill_editor": "羽毛笔编辑器", + "markdown_editor": "降价编辑器", + "date_and_range_picker": "日期和范围选择器", + "clipboard": "剪贴板", + "user_and_pages": "用户和页面", + "profile": "轮廓", + "account_settings": "帐号设定", + "knowledge_base": "知识库", + "contact_form": "联系表", + "faq": "常问问题", + "coming_soon": "快来了", + "error": "错误", + "maintenence": "维护", + "login_boxed": "登录盒装", + "register_boxed": "注册盒装", + "unlock_boxed": "解锁盒装", + "recover_id_boxed": "恢复盒装 ID", + "login_cover": "登录封面", + "register_cover": "注册封面", + "unlock_cover": "解锁封面", + "recover_id_cover": "恢复身份证封面", + "supports": "支持", + "login": "登录", + "lockscreen": "锁屏", + "password_recovery": "找回密码", + "register": "登记", + "404": "404", + "500": "500", + "503": "503", + "user_interface": "用户界面", + "tables_and_forms": "表格和表格", + "columns_filter": "列过滤器", + "column_chooser": "列选择器", + "advanced": "先进的", + "checkbox": "复选框", + "skin": "皮肤", + "sticky_header": "粘性标题", + "clone_header": "克隆标题", + "coming_soon_boxed": "即将推出盒装", + "coming_soon_cover": "即将推出封面", + "contact_us_boxed": "联系我们 盒装", + "contact_us_cover": "联系我们封面" +}