diff --git a/assets/fonts/font-face.css b/assets/fonts/fonts.css
similarity index 99%
rename from assets/fonts/font-face.css
rename to assets/fonts/fonts.css
index de5de64..3b6a2c6 100644
--- a/assets/fonts/font-face.css
+++ b/assets/fonts/fonts.css
@@ -31,6 +31,7 @@
unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0,
U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
+
@font-face {
font-family: "Poppins";
font-style: normal;
@@ -53,6 +54,7 @@
url('farsi/Yekan.ttf') format("truetype");
unicode-range: U+0600-U+06FF;
}
+
@font-face {
font-family: "Yekan";
font-style: normal;
@@ -76,6 +78,7 @@
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
+
@font-face {
font-family: "Poppins";
font-style: normal;
@@ -86,6 +89,7 @@
U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,
U+2212, U+2215, U+FEFF, U+FFFD;
}
+
@font-face {
font-family: "Raleway";
font-style: normal;
@@ -109,6 +113,7 @@
U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
+
@font-face {
font-family: "Poppins";
font-style: normal;
@@ -119,6 +124,7 @@
U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020,
U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
+
@font-face {
font-family: "Raleway";
font-style: normal;
diff --git a/assets/script.js b/assets/script.js
index d237c3f..e103eff 100644
--- a/assets/script.js
+++ b/assets/script.js
@@ -1,6 +1,8 @@
// script.js
-let languages = ["en", "de", "fr", "es", "fa"]
+// language and mode management
+let languages = ["en", "de", "fr", "es", "pt-br", "fa"]
+let rtlLanguages = ["fa"]
let currentLanguage = localStorage.getItem("language")
if (!currentLanguage) {
currentLanguage = window.navigator.language.slice(0, 2)
@@ -9,9 +11,7 @@ if (!currentLanguage) {
}
let currentMode = localStorage.getItem("mode")
if (!currentMode) {
- currentMode = window.matchMedia("(prefers-color-scheme: dark)").matches
- ? "dark"
- : "light"
+ currentMode = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"
localStorage.setItem("mode", currentMode)
}
@@ -47,20 +47,12 @@ loadLanguage = async (lang, save = true) => {
const translations = await response.json()
document.documentElement.lang = lang
- if (translations.website.page_language)
- document
- .querySelector('meta[name="language"]')
- .setAttribute("content", translations.website.page_language)
- if (translations.website.page_title)
- document.title = translations.website.page_title
- if (translations.website.page_description)
- document
- .querySelector('meta[name="description"]')
- .setAttribute("content", translations.website.page_description)
- if (translations.website.page_keywords)
- document
- .querySelector('meta[name="keywords"]')
- .setAttribute("content", translations.website.page_keywords)
+ rtlLanguages.includes(lang) ? document.documentElement.setAttribute("dir", "rtl") : document.documentElement.setAttribute("dir", "ltr")
+
+ if (translations.website.page_language) document.querySelector('meta[name="language"]').setAttribute("content", translations.website.page_language)
+ if (translations.website.page_title) document.title = translations.website.page_title
+ if (translations.website.page_description) document.querySelector('meta[name="description"]').setAttribute("content", translations.website.page_description)
+ if (translations.website.page_keywords) document.querySelector('meta[name="keywords"]').setAttribute("content", translations.website.page_keywords)
document.querySelectorAll("[data-i18n]").forEach((el) => {
const key = el.getAttribute("data-i18n")
@@ -72,7 +64,7 @@ loadLanguage = async (lang, save = true) => {
setPreviewImages()
}
-// set preview images
+// preview images
const setPreviewImages = () => {
const lang = localStorage.getItem("language") || "en"
const previewLightImage = document.querySelector(".preview-flyer-light img")
@@ -81,16 +73,10 @@ const setPreviewImages = () => {
previewDarkImage.src = `./i18n/${lang}/preview-flyer-dark.webp`
previewLightImage.alt = `Preview flyer in light mode (${lang})`
previewDarkImage.alt = `Preview flyer in dark mode (${lang})`
- const previewLightPdfLinks = document.querySelectorAll(
- ".preview-flyer-light a"
- )
+ const previewLightPdfLinks = document.querySelectorAll(".preview-flyer-light a")
const previewDarkPdfLinks = document.querySelectorAll(".preview-flyer-dark a")
- previewLightPdfLinks.forEach((link) => {
- link.href = `./i18n/${lang}/flyer-light-${lang}.pdf`
- })
- previewDarkPdfLinks.forEach((link) => {
- link.href = `./i18n/${lang}/flyer-dark-${lang}.pdf`
- })
+ previewLightPdfLinks.forEach((link) => link.href = `./i18n/${lang}/flyer-light-${lang}.pdf`)
+ previewDarkPdfLinks.forEach((link) => link.href = `./i18n/${lang}/flyer-dark-${lang}.pdf`)
}
// sorting
diff --git a/assets/style.css b/assets/style.css
index 2981e15..0172007 100644
--- a/assets/style.css
+++ b/assets/style.css
@@ -1,8 +1,3 @@
-/*
-fontfaces are defined in assets/fonts/font-face.css
-let style.css be dedicated to the website's design
-*/
-
:root {
--color-monero-orange: #ff6b00;
--color-monero-grey: #4c4c4c;
diff --git a/i18n/de/de.json b/i18n/de/de.json
index 3f1027d..1b5afa9 100644
--- a/i18n/de/de.json
+++ b/i18n/de/de.json
@@ -59,15 +59,24 @@
"sort-by": "Sortieren nach",
"sort-by-comfort": "Komfort",
"sort-by-best-privacy": "Beste Privatsphäre",
+ "atomic-swaps": "Atomic Swaps",
"centralized-exchanges": "Zentrale Tauschbörsen",
"decentralized-exchanges": "Dezentrale Tauschbörsen",
+ "no-kyc-services": "Ohne KYC-Dienste",
+ "kyc-light": "KYC light",
"glossary": "Glossar",
- "know-your-customer": "Know your Customer (engl. kenne den Kunden), bezeichnet die Identifizierung von Kunden durch Unternehmen, um sie zu überwachen",
- "dont-know-your-customer": "Don't Know your Customer (engl. kenne nicht den Kunden), keine Identifizierung von Kunden durch Unternehmen",
- "know-your-customer-light": "Know your Customer light, ohne zusätzliche Identifizierung von Kunden durch Unternehmen",
- "fiat": "Fiatgeld, also staatliche Währungen wie Euro, US-Dollar, Schweizer Franken usw.",
- "cex": "Centralized Exchange (engl. zentrale Tauschbörse), eine Tauschbörse, die von einem Unternehmen betrieben wird und bei der Kunden ihre Identität nachweisen müssen",
- "dex": "Decentralized Exchange (engl. dezentrale Tauschbörse), eine Tauschbörse, die von einem Netzwerk von Nutzern betrieben wird und bei der Kunden ihre Identität nicht nachweisen müssen",
+ "glossary-term-kyc": "KYC",
+ "glossary-desc-kyc": "Know your Customer (engl. kenne den Kunden), bezeichnet die Identifizierung von Kunden durch Unternehmen, um sie zu überwachen",
+ "glossary-term-no-kyc": "No KYC",
+ "glossary-desc-no-kyc": "Don't Know your Customer (engl. kenne nicht den Kunden), keine Identifizierung von Kunden durch Unternehmen",
+ "glossary-term-kyc-light": "KYC light",
+ "glossary-desc-kyc-light": "Know your Customer light, ohne zusätzliche Identifizierung von Kunden durch Unternehmen",
+ "glossary-term-fiat": "Fiat",
+ "glossary-desc-fiat": "Fiatgeld, also staatliche Währungen wie Euro, US-Dollar, Schweizer Franken usw.",
+ "glossary-term-cex": "CEX",
+ "glossary-desc-cex": "Centralized Exchange (engl. zentrale Tauschbörse), eine Tauschbörse, die von einem Unternehmen betrieben wird und bei der Kunden ihre Identität nachweisen müssen",
+ "glossary-term-dex": "DEX",
+ "glossary-desc-dex": "Decentralized Exchange (engl. dezentrale Tauschbörse), eine Tauschbörse, die von einem Netzwerk von Nutzern betrieben wird und bei der Kunden ihre Identität nicht nachweisen müssen",
"copyright": "Monero Community Projekt
Ein unabhängiges, nicht-kommerzielles Projekt von und für die Monero-Community."
}
}
\ No newline at end of file
diff --git a/i18n/en/en.json b/i18n/en/en.json
index 5b4646a..6c39fa9 100644
--- a/i18n/en/en.json
+++ b/i18n/en/en.json
@@ -59,15 +59,24 @@
"sort-by": "Sort by",
"sort-by-comfort": "Comfort",
"sort-by-best-privacy": "Best Privacy",
+ "atomic-swaps": "Atomic Swaps",
"centralized-exchanges": "Centralized Exchanges",
"decentralized-exchanges": "Decentralized Exchanges",
+ "no-kyc-services": "No KYC Services",
+ "kyc-light": "KYC light",
"glossary": "Glossary",
- "know-your-customer": "Know Your Customer, refers to the identification of customers by companies to monitor them",
- "dont-know-your-customer": "Don't Know Your Customer, refers to the absence of customer identification by companies",
- "know-your-customer-light": "Know Your Customer light, refers to the absence of additional customer identification by companies",
- "fiat": "Fiat Currency, such as Euro, US Dollar, Swiss Franc, etc.",
- "cex": "Centralized Exchange, an exchange operated by a company where customers must verify their identity",
- "dex": "Decentralized Exchange, an exchange operated by a network of users where customers do not need to verify their identity",
+ "glossary-term-kyc": "KYC",
+ "glossary-desc-kyc": "Know Your Customer, refers to the identification of customers by companies to monitor them",
+ "glossary-term-no-kyc": "No KYC",
+ "glossary-desc-no-kyc": "Don't Know Your Customer, refers to the absence of customer identification by companies",
+ "glossary-term-kyc-light": "KYC light",
+ "glossary-desc-kyc-light": "Know Your Customer light, refers to the absence of additional customer identification by companies",
+ "glossary-term-fiat": "Fiat",
+ "glossary-desc-fiat": "Fiat Currency, such as Euro, US Dollar, Swiss Franc, etc.",
+ "glossary-term-cex": "CEX",
+ "glossary-desc-cex": "Centralized Exchange, an exchange operated by a company where customers must verify their identity",
+ "glossary-term-dex": "DEX",
+ "glossary-desc-dex": "Decentralized Exchange, an exchange operated by a network of users where customers do not need to verify their identity",
"copyright": "Monero Community Project
An independent, non-commercial project by and for the Monero community."
}
}
diff --git a/i18n/es/es.json b/i18n/es/es.json
index dd215fd..3fb39d0 100644
--- a/i18n/es/es.json
+++ b/i18n/es/es.json
@@ -59,15 +59,24 @@
"sort-by": "Ordenar por",
"sort-by-comfort": "Comodidad",
"sort-by-best-privacy": "Mejor Privacidad",
+ "atomic-swaps": "Atomic Swaps",
"centralized-exchanges": "Intercambios Centralizados",
"decentralized-exchanges": "Intercambios Descentralizados",
+ "no-kyc-services": "Servicios sin KYC",
+ "kyc-light": "KYC ligero",
"glossary": "Glosario",
- "know-your-customer": "Conoce a tu Cliente: Se refiere a la identificación de clientes por parte de empresas para monitorearlos.",
- "dont-know-your-customer": "No Conoce a tu Cliente: Se refiere a la ausencia de identificación de clientes por parte de empresas.",
- "know-your-customer-light": "Conoce a tu Cliente de forma ligera: Se refiere a la ausencia de identificación adicional de clientes por parte de empresas.",
- "fiat": "Moneda Fiat: como Euro, Dólar Estadounidense, Franco Suizo, etc.",
- "cex": "Intercambio Centralizado: una plataforma operada por una empresa donde los clientes deben verificar su identidad.",
- "dex": "Intercambio Descentralizado: una plataforma operada por una red de usuarios donde los clientes no necesitan verificar su identidad.",
+ "glossary-term-kyc": "KYC",
+ "glossary-desc-kyc": "Conoce a tu Cliente: Se refiere a la identificación de clientes por parte de empresas para monitorearlos.",
+ "glossary-term-no-kyc": "No KYC",
+ "glossary-desc-no-kyc": "No Conoce a tu Cliente: Se refiere a la ausencia de identificación de clientes por parte de empresas.",
+ "glossary-term-kyc-light": "KYC light",
+ "glossary-desc-kyc-light": "Conoce a tu Cliente de forma ligera: Se refiere a la ausencia de identificación adicional de clientes por parte de empresas.",
+ "glossary-term-fiat": "Fiat",
+ "glossary-desc-fiat": "Moneda Fiat: como Euro, Dólar Estadounidense, Franco Suizo, etc.",
+ "glossary-term-cex": "CEX",
+ "glossary-desc-cex": "Intercambio Centralizado: una plataforma operada por una empresa donde los clientes deben verificar su identidad.",
+ "glossary-term-dex": "DEX",
+ "glossary-desc-dex": "Intercambio Descentralizado: una plataforma operada por una red de usuarios donde los clientes no necesitan verificar su identidad.",
"copyright": "Proyecto Comunitario de Monero
Un proyecto independiente, no comercial, realizado por y para la comunidad Monero."
}
}
\ No newline at end of file
diff --git a/i18n/fa/fa.json b/i18n/fa/fa.json
index b762d0e..ce369d0 100644
--- a/i18n/fa/fa.json
+++ b/i18n/fa/fa.json
@@ -5,7 +5,7 @@
"features": {
"private": "شخصی تمام تراکنشها کاملاً شخصی هستن، هیچ تاریخچه عمومیای ازشون وجود نداره.",
"low_fees": "کارمزد کم به لطف کارمزد ناچیز تراکنشها، مونرو حتی برای پرداختهای کوچیک هم به صرفه هست",
- "secure": امن رمزنگاری قوی از امنیت سرمایه و اطلاعات تو محافظت میکنه",
+ "secure": "امن رمزنگاری قوی از امنیت سرمایه و اطلاعات تو محافظت میکنه",
"unblockable": "غیرقابل مسدود کردن تمام سکهها یکسان هستن، هیچ تاریخچهای از «لکهدار شدن» یا ثبت سکهای در یک لیست سیاه وجود نداره.",
"distributed": "توزیع شده هیچ قدرت مرکزیای کنترل شبکه رو در اختیار نداره، ویژگیای که موجب ارائه آزادی مالی واقعی به کاربر میشه."
},
@@ -49,8 +49,7 @@
"title-advantages": "مزایای
تو به عنوان کاربر",
"advantage-privacy": "حریم شخصی: تمام پرداختها به صورت پیشفرض شخصی هستن. با مونرو مثل پول نقد پرداخت میکنی!",
"advantage-low-fees": "کارمزد کم: کارمزد تراکنشها ناچیزه، حتی اگر مبلغ قابل توجهی ارسال کنی!",
- "advantage-no-chargebacks": "",
- مسبا بدون برگشت وجه: وقتی یک تراکنش مونرو روی زنجیره بلوکی تأیید شده باشه، دیگه نمیتونه معکوس بشه.
+ "advantage-no-chargebacks": "مسبا بدون برگشت وجه: وقتی یک تراکنش مونرو روی زنجیره بلوکی تأیید شده باشه، دیگه نمیتونه معکوس بشه.",
"fiat-into-monero-title": "تبدیل ریال به مونرو",
"fiat-into-monero-step1": "
نصب نرمافزار Cake Wallet یا Monero.com.
", "fiat-into-monero-step2": "کیف پولت رو بساز، کلمات بازیابی نمایش داده شده رو با دقت روی کاغذ یادداشت کن و کاغذ رو جای شخصی و امنی نگه دار!
", @@ -60,15 +59,24 @@ "sort-by": "مرتبسازی بر اساس", "sort-by-comfort": "راحتی", "sort-by-best-privacy": "بهترین حریم شخصی", + "atomic-swaps": "مبادلات اتمی", "centralized-exchanges": "صرافیهای متمرکز", "decentralized-exchanges": "صرافیهای نامتمرکز", + "no-kyc-services": "خدمات بدون احراز هویت", + "kyc-light": "احراز هویت ملایم", "glossary": "فرهنگ واژگان", - "know-your-customer": "شناخت مشتری، به ذخیره مدارک هویتی مشتریان توسط شرکتها جهت تحت نظارت قرار دادن آنان گفته میشود.", - "dont-know-your-customer": "عدم شناخت مشتری، به عدم ذخیره مدارک هویتی مشتری توسط شرکتها گفته میشود.", - "know-your-customer-light": "شناخت ملایم مشتری، به عدم ذخیره اطلاعات هویتی اضافی مشتری توسط شرکت گفته میشود.", - "fiat": "ارز فیات، مانند یورو، دلار امریکا، فرانک سوییس، ریال ایران و غیره.", - "cex": "صرافی متمرکز، صرافیای که توسط یک شرکت کار میکند و مشتریانش ملزم به احراز هویت هستند.", - "dex": "صرافی نامتمرکز، صرافیای که توسط شبکهای از کاربرانش کار میکند و مشتریانش ملزم به احراز هویت خود نیستند.", + "glossary-term-kyc": "احراز هویت مشتری", + "glossary-desc-kyc": "شناخت مشتری، به ذخیره مدارک هویتی مشتریان توسط شرکتها جهت تحت نظارت قرار دادن آنان گفته میشود.", + "glossary-term-no-kyc": "عدم احراز هویت مشتری", + "glossary-desc-no-kyc": "عدم شناخت مشتری، به عدم ذخیره مدارک هویتی مشتری توسط شرکتها گفته میشود.", + "glossary-term-kyc-light": "احراز هویت ملایم", + "glossary-desc-kyc-light": "شناخت ملایم مشتری، به عدم ذخیره اطلاعات هویتی اضافی مشتری توسط شرکت گفته میشود.", + "glossary-term-fiat": "ارز فیات", + "glossary-desc-fiat": "ارز فیات، مانند یورو، دلار امریکا، فرانک سوییس، ریال ایران و غیره.", + "glossary-term-cex": "صرافی متمرکز", + "glossary-desc-cex": "صرافی متمرکز، صرافیای که توسط یک شرکت کار میکند و مشتریانش ملزم به احراز هویت هستند.", + "glossary-term-dex": "صرافی نامتمرکز", + "glossary-desc-dex": "صرافی نامتمرکز، صرافیای که توسط شبکهای از کاربرانش کار میکند و مشتریانش ملزم به احراز هویت خود نیستند.", "copyright": "پروژه اجتماع مونرو