diff --git a/.env.example b/.env.example index 4efde1e868..05de88231a 100644 --- a/.env.example +++ b/.env.example @@ -13,4 +13,8 @@ NEXT_PUBLIC_NOVU_APP_ID= NEXT_PUBLIC_SENTRY_DSN= NEXT_PUBLIC_SERVER_SENTRY_ENABLED=false -NEXT_PUBLIC_CLIENT_SENTRY_ENABLED=true \ No newline at end of file +NEXT_PUBLIC_CLIENT_SENTRY_ENABLED=true + +NODE_TLS_REJECT_UNAUTHORIZED=0 #set this only when SSL is self signed +SIGNATURE_TOKEN=1234 +INTERNAL_CLIENT_ID=QDC_WEB \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit index d2ae35e84b..3723623171 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - yarn lint-staged diff --git a/.storybook/manager.js b/.storybook/manager.js index c82fceac05..a8b23a6a9a 100644 --- a/.storybook/manager.js +++ b/.storybook/manager.js @@ -1,8 +1,8 @@ // .storybook/manager.js -import { addons } from '@storybook/addons'; +import { addons } from '@storybook/manager-api'; import theme from './QDCTheme'; addons.setConfig({ theme, -}); \ No newline at end of file +}); diff --git a/configs/SecurityHeaders.js b/configs/SecurityHeaders.js index 4c583df2ba..4b01028371 100644 --- a/configs/SecurityHeaders.js +++ b/configs/SecurityHeaders.js @@ -11,9 +11,9 @@ */ const ContentSecurityPolicy = ` default-src 'self' *.qurancdn.com cdn.plaid.com; - script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://ssl.google-analytics.com https://vitals.vercel-insights.com https://www.givingloop.org https://code.jquery.com https://www.google.com https://js.stripe.com https://ipinfo.io https://snap.licdn.com https://cdn.mouseflow.com https://www.paypal.com https://wchat.eu.freshchat.com https://cdn.plaid.com https://cdnjs.cloudflare.com https://cdn.amplitude.com https://cdn.logrocket.io https://www.gstatic.com https://js.stripe.com; + script-src 'self' 'unsafe-inline' 'unsafe-eval' https://www.googletagmanager.com https://www.google-analytics.com https://ssl.google-analytics.com https://vitals.vercel-insights.com https://www.givingloop.org https://code.jquery.com https://www.google.com https://js.stripe.com https://ipinfo.io https://snap.licdn.com https://cdn.mouseflow.com https://www.paypal.com https://wchat.eu.freshchat.com https://cdn.plaid.com https://cdnjs.cloudflare.com https://cdn.amplitude.com https://cdn.logrocket.io https://www.gstatic.com https://js.stripe.com https://www.clarity.ms; font-src 'self' 'unsafe-inline' 'unsafe-eval' givingloop.org fonts.gstatic.com https://www.givingloop.org; - frame-src 'self' 'unsafe-inline' 'unsafe-eval' https://js.stripe.com/v3 js.stripe.com https://www.paypal.com www.paypal.com https://wchat.eu.freshchat.com https://www.google.com www.google.com; + frame-src 'self' 'unsafe-inline' 'unsafe-eval' https://js.stripe.com/v3 js.stripe.com https://www.paypal.com www.paypal.com https://wchat.eu.freshchat.com https://www.google.com www.google.com www.youtube.com; style-src 'self' 'unsafe-inline' 'unsafe-eval' *.givingloop.org givingloop.org fonts.googleapis.com fonts.googleapis.com wchat.eu.freshchat.com; img-src * data:; media-src 'self' data: blob: *.quranicaudio.com *.qurancdn.com https://qurancdn.com https://images.quran.com; diff --git a/data/chapters/fr.json b/data/chapters/fr.json index d848151f1f..76efd8152e 100644 --- a/data/chapters/fr.json +++ b/data/chapters/fr.json @@ -1,800 +1,800 @@ { - "1": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Fatihah", - "versesCount": 7, - "translatedName": "L'ouverture", - "slug": "louverture" - }, - "2": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Baqarah", - "versesCount": 286, - "translatedName": "La vache", - "slug": "la-vache" - }, - "3": { - "revelationPlace": "madinah", - "transliteratedName": "Ali 'Imran", - "versesCount": 200, - "translatedName": "La famille de 'imran", - "slug": "la-famille-de-imran" - }, - "4": { - "revelationPlace": "madinah", - "transliteratedName": "An-Nisa", - "versesCount": 176, - "translatedName": "Les femmes", - "slug": "les-femmes" - }, - "5": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Ma'idah", - "versesCount": 120, - "translatedName": "La table servie", - "slug": "la-table-servie" - }, - "6": { - "revelationPlace": "makkah", - "transliteratedName": "Al-An'am", - "versesCount": 165, - "translatedName": "Les bestiaux", - "slug": "les-bestiaux" - }, - "7": { - "revelationPlace": "makkah", - "transliteratedName": "Al-A'raf", - "versesCount": 206, - "translatedName": "Al-A'raf", - "slug": "al-araf" - }, - "8": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Anfal", - "versesCount": 75, - "translatedName": "Le butin", - "slug": "le-butin" - }, - "9": { - "revelationPlace": "madinah", - "transliteratedName": "At-Tawbah", - "versesCount": 129, - "translatedName": "Le repentir", - "slug": "le-repentir" - }, - "10": { - "revelationPlace": "makkah", - "transliteratedName": "Yunus", - "versesCount": 109, - "translatedName": "Jonas", - "slug": "jonas" - }, - "11": { - "revelationPlace": "makkah", - "transliteratedName": "Hud", - "versesCount": 123, - "translatedName": "Houd", - "slug": "houd" - }, - "12": { - "revelationPlace": "makkah", - "transliteratedName": "Yusuf", - "versesCount": 111, - "translatedName": "Joseph", - "slug": "joseph" - }, - "13": { - "revelationPlace": "madinah", - "transliteratedName": "Ar-Ra'd", - "versesCount": 43, - "translatedName": "Le tonnerre", - "slug": "le-tonnerre" - }, - "14": { - "revelationPlace": "makkah", - "transliteratedName": "Ibrahim", - "versesCount": 52, - "translatedName": "Abraham", - "slug": "abraham" - }, - "15": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Hijr", - "versesCount": 99, - "translatedName": "Al-Hijr", - "slug": "al-hijr" - }, - "16": { - "revelationPlace": "makkah", - "transliteratedName": "An-Nahl", - "versesCount": 128, - "translatedName": "Les abeilles", - "slug": "les-abeilles" - }, - "17": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Isra", - "versesCount": 111, - "translatedName": "Le voyage nocturne", - "slug": "le-voyage-nocturne" - }, - "18": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Kahf", - "versesCount": 110, - "translatedName": "La caverne", - "slug": "la-caverne" - }, - "19": { - "revelationPlace": "makkah", - "transliteratedName": "Maryam", - "versesCount": 98, - "translatedName": "Marie", - "slug": "marie" - }, - "20": { - "revelationPlace": "makkah", - "transliteratedName": "Taha", - "versesCount": 135, - "translatedName": "Ta-Ha", - "slug": "ta-ha" - }, - "21": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Anbya", - "versesCount": 112, - "translatedName": "Les prophètes", - "slug": "les-prophetes" - }, - "22": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Hajj", - "versesCount": 78, - "translatedName": "Le pèlerinage", - "slug": "le-pelerinage" - }, - "23": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Mu'minun", - "versesCount": 118, - "translatedName": "Les croyants", - "slug": "les-croyants" - }, - "24": { - "revelationPlace": "madinah", - "transliteratedName": "An-Nur", - "versesCount": 64, - "translatedName": "La lumière", - "slug": "la-lumiere" - }, - "25": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Furqan", - "versesCount": 77, - "translatedName": "Le discernement", - "slug": "le-discernement" - }, - "26": { - "revelationPlace": "makkah", - "transliteratedName": "Ash-Shu'ara", - "versesCount": 227, - "translatedName": "Les poètes", - "slug": "les-poetes" - }, - "27": { - "revelationPlace": "makkah", - "transliteratedName": "An-Naml", - "versesCount": 93, - "translatedName": "Les fourmis", - "slug": "les-fourmis" - }, - "28": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qasas", - "versesCount": 88, - "translatedName": "Le récit", - "slug": "le-recit" - }, - "29": { - "revelationPlace": "makkah", - "transliteratedName": "Al-'Ankabut", - "versesCount": 69, - "translatedName": "L'araignée", - "slug": "laraignee" - }, - "30": { - "revelationPlace": "makkah", - "transliteratedName": "Ar-Rum", - "versesCount": 60, - "translatedName": "Les romains", - "slug": "les-romains" - }, - "31": { - "revelationPlace": "makkah", - "transliteratedName": "Luqman", - "versesCount": 34, - "translatedName": "Louqman", - "slug": "louqman" - }, - "32": { - "revelationPlace": "makkah", - "transliteratedName": "As-Sajdah", - "versesCount": 30, - "translatedName": "La prosternation", - "slug": "la-prosternation" - }, - "33": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Ahzab", - "versesCount": 73, - "translatedName": "Les coalisés", - "slug": "les-coalises" - }, - "34": { - "revelationPlace": "makkah", - "transliteratedName": "Saba", - "versesCount": 54, - "translatedName": "Saba'", - "slug": "saba" - }, - "35": { - "revelationPlace": "makkah", - "transliteratedName": "Fatir", - "versesCount": 45, - "translatedName": "Le Créateur", - "slug": "le-createur" - }, - "36": { - "revelationPlace": "makkah", - "transliteratedName": "Ya-Sin", - "versesCount": 83, - "translatedName": "Ya-Sin", - "slug": "ya-sin" - }, - "37": { - "revelationPlace": "makkah", - "transliteratedName": "As-Saffat", - "versesCount": 182, - "translatedName": "Les rangés", - "slug": "les-ranges" - }, - "38": { - "revelationPlace": "makkah", - "transliteratedName": "Sad", - "versesCount": 88, - "translatedName": "Sad", - "slug": "sad" - }, - "39": { - "revelationPlace": "makkah", - "transliteratedName": "Az-Zumar", - "versesCount": 75, - "translatedName": "Les groupes", - "slug": "les-groupes" - }, - "40": { - "revelationPlace": "makkah", - "transliteratedName": "Ghafir", - "versesCount": 85, - "translatedName": "Le Pardonneur", - "slug": "le-pardonneur" - }, - "41": { - "revelationPlace": "makkah", - "transliteratedName": "Fussilat", - "versesCount": 54, - "translatedName": "Les versets explicites", - "slug": "les-versets-explicites" - }, - "42": { - "revelationPlace": "makkah", - "transliteratedName": "Ash-Shuraa", - "versesCount": 53, - "translatedName": "La concertation", - "slug": "la-concertation" - }, - "43": { - "revelationPlace": "makkah", - "transliteratedName": "Az-Zukhruf", - "versesCount": 89, - "translatedName": "L'ornement", - "slug": "lornement" - }, - "44": { - "revelationPlace": "makkah", - "transliteratedName": "Ad-Dukhan", - "versesCount": 59, - "translatedName": "La fumée", - "slug": "la-fumee" - }, - "45": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Jathiyah", - "versesCount": 37, - "translatedName": "L'agenouillée", - "slug": "lagenouillee" - }, - "46": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ahqaf", - "versesCount": 35, - "translatedName": "Al-Ahqaf", - "slug": "al-ahqaf" - }, - "47": { - "revelationPlace": "madinah", - "transliteratedName": "Muhammad", - "versesCount": 38, - "translatedName": "Mouhammad", - "slug": "mouhammad" - }, - "48": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Fath", - "versesCount": 29, - "translatedName": "La victoire éclatante", - "slug": "la-victoire-eclatante" - }, - "49": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Hujurat", - "versesCount": 18, - "translatedName": "Les appartements", - "slug": "les-appartements" - }, - "50": { - "revelationPlace": "makkah", - "transliteratedName": "Qaf", - "versesCount": 45, - "translatedName": "Qaf", - "slug": "qaf" - }, - "51": { - "revelationPlace": "makkah", - "transliteratedName": "Adh-Dhariyat", - "versesCount": 60, - "translatedName": "Qui éparpillent", - "slug": "qui-eparpillent" - }, - "52": { - "revelationPlace": "makkah", - "transliteratedName": "At-Tur", - "versesCount": 49, - "translatedName": "Le mont At-Tour", - "slug": "le-mont-at-tour" - }, - "53": { - "revelationPlace": "makkah", - "transliteratedName": "An-Najm", - "versesCount": 62, - "translatedName": "L'étoile", - "slug": "letoile" - }, - "54": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qamar", - "versesCount": 55, - "translatedName": "La lune", - "slug": "la-lune" - }, - "55": { - "revelationPlace": "madinah", - "transliteratedName": "Ar-Rahman", - "versesCount": 78, - "translatedName": "Le Tout Miséricordieux", - "slug": "le-tout-misericordieux" - }, - "56": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Waqi'ah", - "versesCount": 96, - "translatedName": "L'inévitable", - "slug": "linevitable" - }, - "57": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Hadid", - "versesCount": 29, - "translatedName": "Le fer", - "slug": "le-fer" - }, - "58": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Mujadila", - "versesCount": 22, - "translatedName": "La discussion", - "slug": "la-discussion" - }, - "59": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Hashr", - "versesCount": 24, - "translatedName": "L'exode", - "slug": "lexode" - }, - "60": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Mumtahanah", - "versesCount": 13, - "translatedName": "L'éprouvée", - "slug": "leprouvee" - }, - "61": { - "revelationPlace": "madinah", - "transliteratedName": "As-Saf", - "versesCount": 14, - "translatedName": "Le rang", - "slug": "le-rang" - }, - "62": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Jumu'ah", - "versesCount": 11, - "translatedName": "Le vendredi", - "slug": "le-vendredi" - }, - "63": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Munafiqun", - "versesCount": 11, - "translatedName": "Les hypocrites", - "slug": "les-hypocrites" - }, - "64": { - "revelationPlace": "madinah", - "transliteratedName": "At-Taghabun", - "versesCount": 18, - "translatedName": "La grande perte", - "slug": "la-grande-perte" - }, - "65": { - "revelationPlace": "madinah", - "transliteratedName": "At-Talaq", - "versesCount": 12, - "translatedName": "Le divorce", - "slug": "le-divorce" - }, - "66": { - "revelationPlace": "madinah", - "transliteratedName": "At-Tahrim", - "versesCount": 12, - "translatedName": "L'interdiction", - "slug": "linterdiction" - }, - "67": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Mulk", - "versesCount": 30, - "translatedName": "La royauté", - "slug": "la-royaute" - }, - "68": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qalam", - "versesCount": 52, - "translatedName": "La plume", - "slug": "la-plume" - }, - "69": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Haqqah", - "versesCount": 52, - "translatedName": "L'inéluctable", - "slug": "lineluctable" - }, - "70": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ma'arij", - "versesCount": 44, - "translatedName": "Les voies d'ascension", - "slug": "les-voies-dascension" - }, - "71": { - "revelationPlace": "makkah", - "transliteratedName": "Nuh", - "versesCount": 28, - "translatedName": "Noé", - "slug": "noe" - }, - "72": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Jinn", - "versesCount": 28, - "translatedName": "Les djinns", - "slug": "les-djinns" - }, - "73": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Muzzammil", - "versesCount": 20, - "translatedName": "L'enveloppé", - "slug": "lenveloppe" - }, - "74": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Muddaththir", - "versesCount": 56, - "translatedName": "Celui qui se couvre", - "slug": "celui-qui-se-couvre" - }, - "75": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qiyamah", - "versesCount": 40, - "translatedName": "La résurrection", - "slug": "la-resurrection" - }, - "76": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Insan", - "versesCount": 31, - "translatedName": "L'homme", - "slug": "lhomme" - }, - "77": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Mursalat", - "versesCount": 50, - "translatedName": "Les envoyés", - "slug": "les-envoyes" - }, - "78": { - "revelationPlace": "makkah", - "transliteratedName": "An-Naba", - "versesCount": 40, - "translatedName": "La nouvelle", - "slug": "la-nouvelle" - }, - "79": { - "revelationPlace": "makkah", - "transliteratedName": "An-Nazi'at", - "versesCount": 46, - "translatedName": "Ceux qui arrachent", - "slug": "ceux-qui-arrachent" - }, - "80": { - "revelationPlace": "makkah", - "transliteratedName": "'Abasa", - "versesCount": 42, - "translatedName": "Il s'est renfrogné", - "slug": "il-sest-renfrogne" - }, - "81": { - "revelationPlace": "makkah", - "transliteratedName": "At-Takwir", - "versesCount": 29, - "translatedName": "L'obscurcissement", - "slug": "lobscurcissement" - }, - "82": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Infitar", - "versesCount": 19, - "translatedName": "La rupture", - "slug": "la-rupture" - }, - "83": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Mutaffifin", - "versesCount": 36, - "translatedName": "Les fraudeurs", - "slug": "les-fraudeurs" - }, - "84": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Inshiqaq", - "versesCount": 25, - "translatedName": "La déchirure", - "slug": "la-dechirure" - }, - "85": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Buruj", - "versesCount": 22, - "translatedName": "Les constellations", - "slug": "les-constellations" - }, - "86": { - "revelationPlace": "makkah", - "transliteratedName": "At-Tariq", - "versesCount": 17, - "translatedName": "L'astre nocturne", - "slug": "lastre-nocturne" - }, - "87": { - "revelationPlace": "makkah", - "transliteratedName": "Al-A'la", - "versesCount": 19, - "translatedName": "Le Très-Haut", - "slug": "le-tres-haut" - }, - "88": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ghashiyah", - "versesCount": 26, - "translatedName": "L'enveloppante", - "slug": "lenveloppante" - }, - "89": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Fajr", - "versesCount": 30, - "translatedName": "L'aube", - "slug": "laube" - }, - "90": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Balad", - "versesCount": 20, - "translatedName": "La cité", - "slug": "la-cite" - }, - "91": { - "revelationPlace": "makkah", - "transliteratedName": "Ash-Shams", - "versesCount": 15, - "translatedName": "Le soleil", - "slug": "le-soleil" - }, - "92": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Layl", - "versesCount": 21, - "translatedName": "La nuit", - "slug": "la-nuit" - }, - "93": { - "revelationPlace": "makkah", - "transliteratedName": "Ad-Duhaa", - "versesCount": 11, - "translatedName": "Le jour montant", - "slug": "le-jour-montant" - }, - "94": { - "revelationPlace": "makkah", - "transliteratedName": "Ash-Sharh", - "versesCount": 8, - "translatedName": "L'ouverture", - "slug": "louverture" - }, - "95": { - "revelationPlace": "makkah", - "transliteratedName": "At-Tin", - "versesCount": 8, - "translatedName": "Les figues", - "slug": "les-figues" - }, - "96": { - "revelationPlace": "makkah", - "transliteratedName": "Al-'Alaq", - "versesCount": 19, - "translatedName": "L'adhérence", - "slug": "ladherence" - }, - "97": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qadr", - "versesCount": 5, - "translatedName": "La destinée", - "slug": "la-destinee" - }, - "98": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Bayyinah", - "versesCount": 8, - "translatedName": "La preuve", - "slug": "la-preuve" - }, - "99": { - "revelationPlace": "madinah", - "transliteratedName": "Az-Zalzalah", - "versesCount": 8, - "translatedName": "Le séisme", - "slug": "le-seisme" - }, - "100": { - "revelationPlace": "makkah", - "transliteratedName": "Al-'Adiyat", - "versesCount": 11, - "translatedName": "Les coursiers", - "slug": "les-coursiers" - }, - "101": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qari'ah", - "versesCount": 11, - "translatedName": "Le fracas", - "slug": "le-fracas" - }, - "102": { - "revelationPlace": "makkah", - "transliteratedName": "At-Takathur", - "versesCount": 8, - "translatedName": "La course aux richesses", - "slug": "la-course-aux-richesses" - }, - "103": { - "revelationPlace": "makkah", - "transliteratedName": "Al-'Asr", - "versesCount": 3, - "translatedName": "Le temps", - "slug": "le-temps" - }, - "104": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Humazah", - "versesCount": 9, - "translatedName": "Les calomniateurs", - "slug": "les-calomniateurs" - }, - "105": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Fil", - "versesCount": 5, - "translatedName": "L'éléphant", - "slug": "lelephant" - }, - "106": { - "revelationPlace": "makkah", - "transliteratedName": "Quraysh", - "versesCount": 4, - "translatedName": "Les Quraysh", - "slug": "les-quraysh" - }, - "107": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ma'un", - "versesCount": 7, - "translatedName": "L'entraide", - "slug": "lentraide" - }, - "108": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Kawthar", - "versesCount": 3, - "translatedName": "L'abondance", - "slug": "labondance" - }, - "109": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Kafirun", - "versesCount": 6, - "translatedName": "Les mécréants", - "slug": "les-mecreants" - }, - "110": { - "revelationPlace": "madinah", - "transliteratedName": "An-Nasr", - "versesCount": 3, - "translatedName": "Le secours", - "slug": "le-secours" - }, - "111": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Masad", - "versesCount": 5, - "translatedName": "Les fibres", - "slug": "les-fibres" - }, - "112": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ikhlas", - "versesCount": 4, - "translatedName": "La sincérité", - "slug": "la-sincerite" - }, - "113": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Falaq", - "versesCount": 5, - "translatedName": "L'aube naissante", - "slug": "laube-naissante" - }, - "114": { - "revelationPlace": "makkah", - "transliteratedName": "An-Nas", - "versesCount": 6, - "translatedName": "Les humains", - "slug": "les-humains" - } -} \ No newline at end of file + "1": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Fatiha", + "versesCount": 7, + "translatedName": "L'ouverture", + "slug": "louverture" + }, + "2": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Baqarah", + "versesCount": 286, + "translatedName": "La vache", + "slug": "la-vache" + }, + "3": { + "revelationPlace": "madinah", + "transliteratedName": "Ali-'Imran", + "versesCount": 200, + "translatedName": "La famille de 'imran", + "slug": "la-famille-de-imran" + }, + "4": { + "revelationPlace": "madinah", + "transliteratedName": "An-Nisa'", + "versesCount": 176, + "translatedName": "Les femmes", + "slug": "les-femmes" + }, + "5": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Ma'idah", + "versesCount": 120, + "translatedName": "La table servie", + "slug": "la-table-servie" + }, + "6": { + "revelationPlace": "makkah", + "transliteratedName": "Al-An'am", + "versesCount": 165, + "translatedName": "Les bestiaux", + "slug": "les-bestiaux" + }, + "7": { + "revelationPlace": "makkah", + "transliteratedName": "Al-A'raf", + "versesCount": 206, + "translatedName": "Al-A'raf", + "slug": "al-araf" + }, + "8": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Anfal", + "versesCount": 75, + "translatedName": "Le butin", + "slug": "le-butin" + }, + "9": { + "revelationPlace": "madinah", + "transliteratedName": "At-Tawbah", + "versesCount": 129, + "translatedName": "Le repentir", + "slug": "le-repentir" + }, + "10": { + "revelationPlace": "makkah", + "transliteratedName": "Yunus", + "versesCount": 109, + "translatedName": "Jonas", + "slug": "jonas" + }, + "11": { + "revelationPlace": "makkah", + "transliteratedName": "Hud", + "versesCount": 123, + "translatedName": "Hud", + "slug": "houd" + }, + "12": { + "revelationPlace": "makkah", + "transliteratedName": "Yusuf", + "versesCount": 111, + "translatedName": "Joseph", + "slug": "joseph" + }, + "13": { + "revelationPlace": "madinah", + "transliteratedName": "Ar-Ra'd", + "versesCount": 43, + "translatedName": "Le tonnerre", + "slug": "le-tonnerre" + }, + "14": { + "revelationPlace": "makkah", + "transliteratedName": "Ibrahim", + "versesCount": 52, + "translatedName": "Abraham", + "slug": "abraham" + }, + "15": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Hijr", + "versesCount": 99, + "translatedName": "Al-Hijr", + "slug": "al-hijr" + }, + "16": { + "revelationPlace": "makkah", + "transliteratedName": "An-Nahl", + "versesCount": 128, + "translatedName": "Les abeilles", + "slug": "les-abeilles" + }, + "17": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Isra'", + "versesCount": 111, + "translatedName": "Le voyage nocturne", + "slug": "le-voyage-nocturne" + }, + "18": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Kahf", + "versesCount": 110, + "translatedName": "La caverne", + "slug": "la-caverne" + }, + "19": { + "revelationPlace": "makkah", + "transliteratedName": "Maryam", + "versesCount": 98, + "translatedName": "Marie", + "slug": "marie" + }, + "20": { + "revelationPlace": "makkah", + "transliteratedName": "Ta-Ha", + "versesCount": 135, + "translatedName": "Ta-Ha", + "slug": "ta-ha" + }, + "21": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Anbiya'", + "versesCount": 112, + "translatedName": "Les prophètes", + "slug": "les-prophetes" + }, + "22": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Hajj", + "versesCount": 78, + "translatedName": "Le pèlerinage", + "slug": "le-pelerinage" + }, + "23": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Mu'minune", + "versesCount": 118, + "translatedName": "Les croyants", + "slug": "les-croyants" + }, + "24": { + "revelationPlace": "madinah", + "transliteratedName": "An-Nur", + "versesCount": 64, + "translatedName": "La lumière", + "slug": "la-lumiere" + }, + "25": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Furqane", + "versesCount": 77, + "translatedName": "Le discernement", + "slug": "le-discernement" + }, + "26": { + "revelationPlace": "makkah", + "transliteratedName": "Ach-Chu'ara'", + "versesCount": 227, + "translatedName": "Les poètes", + "slug": "les-poetes" + }, + "27": { + "revelationPlace": "makkah", + "transliteratedName": "An-Naml", + "versesCount": 93, + "translatedName": "Les fourmis", + "slug": "les-fourmis" + }, + "28": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qasas", + "versesCount": 88, + "translatedName": "Le récit", + "slug": "le-recit" + }, + "29": { + "revelationPlace": "makkah", + "transliteratedName": "Al-'Ankabut", + "versesCount": 69, + "translatedName": "L'araignée", + "slug": "laraignee" + }, + "30": { + "revelationPlace": "makkah", + "transliteratedName": "Ar-Rum", + "versesCount": 60, + "translatedName": "Les romains", + "slug": "les-romains" + }, + "31": { + "revelationPlace": "makkah", + "transliteratedName": "Luqman", + "versesCount": 34, + "translatedName": "Luqman", + "slug": "louqman" + }, + "32": { + "revelationPlace": "makkah", + "transliteratedName": "As-Sajda", + "versesCount": 30, + "translatedName": "La prosternation", + "slug": "la-prosternation" + }, + "33": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Ahzab", + "versesCount": 73, + "translatedName": "Les coalisés", + "slug": "les-coalises" + }, + "34": { + "revelationPlace": "makkah", + "transliteratedName": "Saba'", + "versesCount": 54, + "translatedName": "Saba'", + "slug": "saba" + }, + "35": { + "revelationPlace": "makkah", + "transliteratedName": "Fatir", + "versesCount": 45, + "translatedName": "Le Créateur", + "slug": "le-createur" + }, + "36": { + "revelationPlace": "makkah", + "transliteratedName": "Ya-Sin", + "versesCount": 83, + "translatedName": "Ya-Sin", + "slug": "ya-sin" + }, + "37": { + "revelationPlace": "makkah", + "transliteratedName": "As-Saffat", + "versesCount": 182, + "translatedName": "Les rangés", + "slug": "les-ranges" + }, + "38": { + "revelationPlace": "makkah", + "transliteratedName": "Sad", + "versesCount": 88, + "translatedName": "Sad", + "slug": "sad" + }, + "39": { + "revelationPlace": "makkah", + "transliteratedName": "Az-Zumar", + "versesCount": 75, + "translatedName": "Les groupes", + "slug": "les-groupes" + }, + "40": { + "revelationPlace": "makkah", + "transliteratedName": "Ghafir", + "versesCount": 85, + "translatedName": "Le Pardonneur", + "slug": "le-pardonneur" + }, + "41": { + "revelationPlace": "makkah", + "transliteratedName": "Fussilat", + "versesCount": 54, + "translatedName": "Les versets explicites", + "slug": "les-versets-explicites" + }, + "42": { + "revelationPlace": "makkah", + "transliteratedName": "Ach-Chura", + "versesCount": 53, + "translatedName": "La concertation", + "slug": "la-concertation" + }, + "43": { + "revelationPlace": "makkah", + "transliteratedName": "Az-Zuhruf", + "versesCount": 89, + "translatedName": "L'ornement", + "slug": "lornement" + }, + "44": { + "revelationPlace": "makkah", + "transliteratedName": "Ad-Duhan", + "versesCount": 59, + "translatedName": "La fumée", + "slug": "la-fumee" + }, + "45": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Jatiya", + "versesCount": 37, + "translatedName": "L'agenouillée", + "slug": "lagenouillee" + }, + "46": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ahqaf", + "versesCount": 35, + "translatedName": "Al-Ahqaf", + "slug": "al-ahqaf" + }, + "47": { + "revelationPlace": "madinah", + "transliteratedName": "Muhammed", + "versesCount": 38, + "translatedName": "Mouhammed", + "slug": "mouhammad" + }, + "48": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Fath", + "versesCount": 29, + "translatedName": "La victoire éclatante", + "slug": "la-victoire-eclatante" + }, + "49": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Hujurat", + "versesCount": 18, + "translatedName": "Les appartements", + "slug": "les-appartements" + }, + "50": { + "revelationPlace": "makkah", + "transliteratedName": "Qaf", + "versesCount": 45, + "translatedName": "Qaf", + "slug": "qaf" + }, + "51": { + "revelationPlace": "makkah", + "transliteratedName": "Ad-Dariyat", + "versesCount": 60, + "translatedName": "Qui éparpillent", + "slug": "qui-eparpillent" + }, + "52": { + "revelationPlace": "makkah", + "transliteratedName": "At-Tur", + "versesCount": 49, + "translatedName": "Le mont At-Tour", + "slug": "le-mont-at-tour" + }, + "53": { + "revelationPlace": "makkah", + "transliteratedName": "An-Najm", + "versesCount": 62, + "translatedName": "L'étoile", + "slug": "letoile" + }, + "54": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qamar", + "versesCount": 55, + "translatedName": "La lune", + "slug": "la-lune" + }, + "55": { + "revelationPlace": "madinah", + "transliteratedName": "Ar-Rahman", + "versesCount": 78, + "translatedName": "Le Tout Miséricordieux", + "slug": "le-tout-misericordieux" + }, + "56": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Waqi'a", + "versesCount": 96, + "translatedName": "L'inévitable", + "slug": "linevitable" + }, + "57": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Hadid", + "versesCount": 29, + "translatedName": "Le fer", + "slug": "le-fer" + }, + "58": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Mujadalah", + "versesCount": 22, + "translatedName": "La discussion", + "slug": "la-discussion" + }, + "59": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Hachr", + "versesCount": 24, + "translatedName": "L'exode", + "slug": "lexode" + }, + "60": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Mumtahanah", + "versesCount": 13, + "translatedName": "L'éprouvée", + "slug": "leprouvee" + }, + "61": { + "revelationPlace": "madinah", + "transliteratedName": "As-Saff", + "versesCount": 14, + "translatedName": "Le rang", + "slug": "le-rang" + }, + "62": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Jumu'a", + "versesCount": 11, + "translatedName": "Le vendredi", + "slug": "le-vendredi" + }, + "63": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Munafiqun", + "versesCount": 11, + "translatedName": "Les hypocrites", + "slug": "les-hypocrites" + }, + "64": { + "revelationPlace": "madinah", + "transliteratedName": "At-Tagabun", + "versesCount": 18, + "translatedName": "La grande perte", + "slug": "la-grande-perte" + }, + "65": { + "revelationPlace": "madinah", + "transliteratedName": "At-Talaq", + "versesCount": 12, + "translatedName": "Le divorce", + "slug": "le-divorce" + }, + "66": { + "revelationPlace": "madinah", + "transliteratedName": "At-Tahrim", + "versesCount": 12, + "translatedName": "L'interdiction", + "slug": "linterdiction" + }, + "67": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Mulk", + "versesCount": 30, + "translatedName": "La royauté", + "slug": "la-royaute" + }, + "68": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qalam", + "versesCount": 52, + "translatedName": "La plume", + "slug": "la-plume" + }, + "69": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Haqqah", + "versesCount": 52, + "translatedName": "L'inéluctable", + "slug": "lineluctable" + }, + "70": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ma'arij", + "versesCount": 44, + "translatedName": "Les voies d'ascension", + "slug": "les-voies-dascension" + }, + "71": { + "revelationPlace": "makkah", + "transliteratedName": "Nuh", + "versesCount": 28, + "translatedName": "Noé", + "slug": "noe" + }, + "72": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Jinn", + "versesCount": 28, + "translatedName": "Les djinns", + "slug": "les-djinns" + }, + "73": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Muzzammil", + "versesCount": 20, + "translatedName": "L'enveloppé", + "slug": "lenveloppe" + }, + "74": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Muddattir", + "versesCount": 56, + "translatedName": "Celui qui se couvre", + "slug": "celui-qui-se-couvre" + }, + "75": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qiyamah", + "versesCount": 40, + "translatedName": "La résurrection", + "slug": "la-resurrection" + }, + "76": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Insan", + "versesCount": 31, + "translatedName": "L'homme", + "slug": "lhomme" + }, + "77": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Mursalate", + "versesCount": 50, + "translatedName": "Les envoyés", + "slug": "les-envoyes" + }, + "78": { + "revelationPlace": "makkah", + "transliteratedName": "An-Naba'", + "versesCount": 40, + "translatedName": "La nouvelle", + "slug": "la-nouvelle" + }, + "79": { + "revelationPlace": "makkah", + "transliteratedName": "An-Nazi'ate", + "versesCount": 46, + "translatedName": "Ceux qui arrachent", + "slug": "ceux-qui-arrachent" + }, + "80": { + "revelationPlace": "makkah", + "transliteratedName": "'Abasa", + "versesCount": 42, + "translatedName": "Il s'est renfrogné", + "slug": "il-sest-renfrogne" + }, + "81": { + "revelationPlace": "makkah", + "transliteratedName": "At-Takwir", + "versesCount": 29, + "translatedName": "L'obscurcissement", + "slug": "lobscurcissement" + }, + "82": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Infitar", + "versesCount": 19, + "translatedName": "La rupture", + "slug": "la-rupture" + }, + "83": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Mutaffifune", + "versesCount": 36, + "translatedName": "Les fraudeurs", + "slug": "les-fraudeurs" + }, + "84": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Inchiqaq", + "versesCount": 25, + "translatedName": "La déchirure", + "slug": "la-dechirure" + }, + "85": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Buruj", + "versesCount": 22, + "translatedName": "Les constellations", + "slug": "les-constellations" + }, + "86": { + "revelationPlace": "makkah", + "transliteratedName": "At-Tariq", + "versesCount": 17, + "translatedName": "L'astre nocturne", + "slug": "lastre-nocturne" + }, + "87": { + "revelationPlace": "makkah", + "transliteratedName": "Al-A'la", + "versesCount": 19, + "translatedName": "Le Très-Haut", + "slug": "le-tres-haut" + }, + "88": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Gachiyah", + "versesCount": 26, + "translatedName": "L'enveloppante", + "slug": "lenveloppante" + }, + "89": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Fajr", + "versesCount": 30, + "translatedName": "L'aube", + "slug": "laube" + }, + "90": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Balad", + "versesCount": 20, + "translatedName": "La cité", + "slug": "la-cite" + }, + "91": { + "revelationPlace": "makkah", + "transliteratedName": "Ach-Chams", + "versesCount": 15, + "translatedName": "Le soleil", + "slug": "le-soleil" + }, + "92": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Layl", + "versesCount": 21, + "translatedName": "La nuit", + "slug": "la-nuit" + }, + "93": { + "revelationPlace": "makkah", + "transliteratedName": "Ad-Duha", + "versesCount": 11, + "translatedName": "Le jour montant", + "slug": "le-jour-montant" + }, + "94": { + "revelationPlace": "makkah", + "transliteratedName": "Ach-Charh", + "versesCount": 8, + "translatedName": "L'ouverture", + "slug": "louverture" + }, + "95": { + "revelationPlace": "makkah", + "transliteratedName": "At-Tin", + "versesCount": 8, + "translatedName": "Les figues", + "slug": "les-figues" + }, + "96": { + "revelationPlace": "makkah", + "transliteratedName": "Al-'Alaq", + "versesCount": 19, + "translatedName": "L'adhérence", + "slug": "ladherence" + }, + "97": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qadr", + "versesCount": 5, + "translatedName": "La destinée", + "slug": "la-destinee" + }, + "98": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Bayyinah", + "versesCount": 8, + "translatedName": "La preuve", + "slug": "la-preuve" + }, + "99": { + "revelationPlace": "madinah", + "transliteratedName": "Az-Zalzalah", + "versesCount": 8, + "translatedName": "Le séisme", + "slug": "le-seisme" + }, + "100": { + "revelationPlace": "makkah", + "transliteratedName": "Al-'Adiyate", + "versesCount": 11, + "translatedName": "Les coursiers", + "slug": "les-coursiers" + }, + "101": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qari'ah", + "versesCount": 11, + "translatedName": "Le fracas", + "slug": "le-fracas" + }, + "102": { + "revelationPlace": "makkah", + "transliteratedName": "At-Takatur", + "versesCount": 8, + "translatedName": "La course aux richesses", + "slug": "la-course-aux-richesses" + }, + "103": { + "revelationPlace": "makkah", + "transliteratedName": "Al-'Asr", + "versesCount": 3, + "translatedName": "Le temps", + "slug": "le-temps" + }, + "104": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Humazah", + "versesCount": 9, + "translatedName": "Les calomniateurs", + "slug": "les-calomniateurs" + }, + "105": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Fil", + "versesCount": 5, + "translatedName": "L'éléphant", + "slug": "lelephant" + }, + "106": { + "revelationPlace": "makkah", + "transliteratedName": "Quraych", + "versesCount": 4, + "translatedName": "Les Quraysh", + "slug": "les-quraysh" + }, + "107": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ma'un", + "versesCount": 7, + "translatedName": "L'entraide", + "slug": "lentraide" + }, + "108": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Kawtar", + "versesCount": 3, + "translatedName": "L'abondance", + "slug": "labondance" + }, + "109": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Kafirune", + "versesCount": 6, + "translatedName": "Les mécréants", + "slug": "les-mecreants" + }, + "110": { + "revelationPlace": "madinah", + "transliteratedName": "An-Nasr", + "versesCount": 3, + "translatedName": "Le secours", + "slug": "le-secours" + }, + "111": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Masad", + "versesCount": 5, + "translatedName": "Les fibres", + "slug": "les-fibres" + }, + "112": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ihlas", + "versesCount": 4, + "translatedName": "La sincérité", + "slug": "la-sincerite" + }, + "113": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Falaq", + "versesCount": 5, + "translatedName": "L'aube naissante", + "slug": "laube-naissante" + }, + "114": { + "revelationPlace": "makkah", + "transliteratedName": "An-Nas", + "versesCount": 6, + "translatedName": "Les humains", + "slug": "les-humains" + } +} diff --git a/data/chapters/id.json b/data/chapters/id.json index 89afc6b784..f8fd50a53b 100644 --- a/data/chapters/id.json +++ b/data/chapters/id.json @@ -1,800 +1,800 @@ { - "1": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Fatihah", - "versesCount": 7, - "translatedName": "Pembukaan", - "slug": "pembukaan" - }, - "2": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Baqarah", - "versesCount": 286, - "translatedName": "Sapi Betina", - "slug": "sapi-betina" - }, - "3": { - "revelationPlace": "madinah", - "transliteratedName": "Ali 'Imran", - "versesCount": 200, - "translatedName": "Keluarga Imran", - "slug": "keluarga-imran" - }, - "4": { - "revelationPlace": "madinah", - "transliteratedName": "An-Nisa", - "versesCount": 176, - "translatedName": "Wanita", - "slug": "wanita" - }, - "5": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Ma'idah", - "versesCount": 120, - "translatedName": "Jamuan (Hidangan Makanan)", - "slug": "jamuan-hidangan-makanan" - }, - "6": { - "revelationPlace": "makkah", - "transliteratedName": "Al-An'am", - "versesCount": 165, - "translatedName": "Binatang Ternak", - "slug": "binatang-ternak" - }, - "7": { - "revelationPlace": "makkah", - "transliteratedName": "Al-A'raf", - "versesCount": 206, - "translatedName": "Tempat-tempat Tinggi", - "slug": "tempat-tempat-tinggi" - }, - "8": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Anfal", - "versesCount": 75, - "translatedName": "Rampasan Perang", - "slug": "rampasan-perang" - }, - "9": { - "revelationPlace": "madinah", - "transliteratedName": "At-Tawbah", - "versesCount": 129, - "translatedName": "Pengampunan", - "slug": "pengampunan" - }, - "10": { - "revelationPlace": "makkah", - "transliteratedName": "Yunus", - "versesCount": 109, - "translatedName": "Yunus", - "slug": "yunus" - }, - "11": { - "revelationPlace": "makkah", - "transliteratedName": "Hud", - "versesCount": 123, - "translatedName": "Hud", - "slug": "hud" - }, - "12": { - "revelationPlace": "makkah", - "transliteratedName": "Yusuf", - "versesCount": 111, - "translatedName": "Yusuf", - "slug": "yusuf" - }, - "13": { - "revelationPlace": "madinah", - "transliteratedName": "Ar-Ra'd", - "versesCount": 43, - "translatedName": "Guruh (Petir)", - "slug": "guruh-petir" - }, - "14": { - "revelationPlace": "makkah", - "transliteratedName": "Ibrahim", - "versesCount": 52, - "translatedName": "Ibrahim", - "slug": "ibrahim" - }, - "15": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Hijr", - "versesCount": 99, - "translatedName": "Bukit", - "slug": "bukit" - }, - "16": { - "revelationPlace": "makkah", - "transliteratedName": "An-Nahl", - "versesCount": 128, - "translatedName": "Lebah Madu", - "slug": "lebah-madu" - }, - "17": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Isra", - "versesCount": 111, - "translatedName": "Perjalanan Malam", - "slug": "perjalanan-malam" - }, - "18": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Kahf", - "versesCount": 110, - "translatedName": "Para Penghuni Gua", - "slug": "para-penghuni-gua" - }, - "19": { - "revelationPlace": "makkah", - "transliteratedName": "Maryam", - "versesCount": 98, - "translatedName": "Maryam", - "slug": "maryam" - }, - "20": { - "revelationPlace": "makkah", - "transliteratedName": "Taha", - "versesCount": 135, - "translatedName": "Tha-Ha", - "slug": "tha-ha" - }, - "21": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Anbya", - "versesCount": 112, - "translatedName": "Para Nabi", - "slug": "para-nabi" - }, - "22": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Hajj", - "versesCount": 78, - "translatedName": "Haji", - "slug": "haji" - }, - "23": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Mu'minun", - "versesCount": 118, - "translatedName": "Orang-orang Mukmin", - "slug": "orang-orang-mukmin" - }, - "24": { - "revelationPlace": "madinah", - "transliteratedName": "An-Nur", - "versesCount": 64, - "translatedName": "Cahaya", - "slug": "cahaya" - }, - "25": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Furqan", - "versesCount": 77, - "translatedName": "Pembeda", - "slug": "pembeda" - }, - "26": { - "revelationPlace": "makkah", - "transliteratedName": "Ash-Shu'ara", - "versesCount": 227, - "translatedName": "Penyair", - "slug": "penyair" - }, - "27": { - "revelationPlace": "makkah", - "transliteratedName": "An-Naml", - "versesCount": 93, - "translatedName": "Semut", - "slug": "semut" - }, - "28": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qasas", - "versesCount": 88, - "translatedName": "Kisah-kisah", - "slug": "kisah-kisah" - }, - "29": { - "revelationPlace": "makkah", - "transliteratedName": "Al-'Ankabut", - "versesCount": 69, - "translatedName": "Laba-laba", - "slug": "laba-laba" - }, - "30": { - "revelationPlace": "makkah", - "transliteratedName": "Ar-Rum", - "versesCount": 60, - "translatedName": "Bangsa Romawi", - "slug": "bangsa-romawi" - }, - "31": { - "revelationPlace": "makkah", - "transliteratedName": "Luqman", - "versesCount": 34, - "translatedName": "Luqman", - "slug": "luqman" - }, - "32": { - "revelationPlace": "makkah", - "transliteratedName": "As-Sajdah", - "versesCount": 30, - "translatedName": "Sujud", - "slug": "sujud" - }, - "33": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Ahzab", - "versesCount": 73, - "translatedName": "Golongan yang Bersekutu", - "slug": "golongan-yang-bersekutu" - }, - "34": { - "revelationPlace": "makkah", - "transliteratedName": "Saba", - "versesCount": 54, - "translatedName": "Saba\\'", - "slug": "saba" - }, - "35": { - "revelationPlace": "makkah", - "transliteratedName": "Fatir", - "versesCount": 45, - "translatedName": "Pencipta", - "slug": "pencipta" - }, - "36": { - "revelationPlace": "makkah", - "transliteratedName": "Ya-Sin", - "versesCount": 83, - "translatedName": "Yas Sin", - "slug": "yas-sin" - }, - "37": { - "revelationPlace": "makkah", - "transliteratedName": "As-Saffat", - "versesCount": 182, - "translatedName": "Barisan-barisan", - "slug": "barisan-barisan" - }, - "38": { - "revelationPlace": "makkah", - "transliteratedName": "Sad", - "versesCount": 88, - "translatedName": "Shad", - "slug": "shad" - }, - "39": { - "revelationPlace": "makkah", - "transliteratedName": "Az-Zumar", - "versesCount": 75, - "translatedName": "Para Rombongan", - "slug": "para-rombongan" - }, - "40": { - "revelationPlace": "makkah", - "transliteratedName": "Ghafir", - "versesCount": 85, - "translatedName": "Sang Maha Pengampun", - "slug": "sang-maha-pengampun" - }, - "41": { - "revelationPlace": "makkah", - "transliteratedName": "Fussilat", - "versesCount": 54, - "translatedName": "Yang Dijelaskan", - "slug": "yang-dijelaskan" - }, - "42": { - "revelationPlace": "makkah", - "transliteratedName": "Ash-Shuraa", - "versesCount": 53, - "translatedName": "Musyawarah", - "slug": "musyawarah" - }, - "43": { - "revelationPlace": "makkah", - "transliteratedName": "Az-Zukhruf", - "versesCount": 89, - "translatedName": "Perhiasan", - "slug": "perhiasan" - }, - "44": { - "revelationPlace": "makkah", - "transliteratedName": "Ad-Dukhan", - "versesCount": 59, - "translatedName": "Kabut", - "slug": "kabut" - }, - "45": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Jathiyah", - "versesCount": 37, - "translatedName": "Yang Bertekuk Lutut", - "slug": "yang-bertekuk-lutut" - }, - "46": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ahqaf", - "versesCount": 35, - "translatedName": "Bukit-bukir Pasir", - "slug": "bukit-bukir-pasir" - }, - "47": { - "revelationPlace": "madinah", - "transliteratedName": "Muhammad", - "versesCount": 38, - "translatedName": "Muhammad", - "slug": "muhammad" - }, - "48": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Fath", - "versesCount": 29, - "translatedName": "Kemenangan", - "slug": "kemenangan" - }, - "49": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Hujurat", - "versesCount": 18, - "translatedName": "Kamar-kamar", - "slug": "kamar-kamar" - }, - "50": { - "revelationPlace": "makkah", - "transliteratedName": "Qaf", - "versesCount": 45, - "translatedName": "Qaf", - "slug": "qaf" - }, - "51": { - "revelationPlace": "makkah", - "transliteratedName": "Adh-Dhariyat", - "versesCount": 60, - "translatedName": "Angin yang Menerbangkan", - "slug": "angin-yang-menerbangkan" - }, - "52": { - "revelationPlace": "makkah", - "transliteratedName": "At-Tur", - "versesCount": 49, - "translatedName": "Bukit", - "slug": "bukit" - }, - "53": { - "revelationPlace": "makkah", - "transliteratedName": "An-Najm", - "versesCount": 62, - "translatedName": "Bintang", - "slug": "bintang" - }, - "54": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qamar", - "versesCount": 55, - "translatedName": "Bulan", - "slug": "bulan" - }, - "55": { - "revelationPlace": "madinah", - "transliteratedName": "Ar-Rahman", - "versesCount": 78, - "translatedName": "Yang Maha Pemurah", - "slug": "yang-maha-pemurah" - }, - "56": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Waqi'ah", - "versesCount": 96, - "translatedName": "Hari Kiamat", - "slug": "hari-kiamat" - }, - "57": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Hadid", - "versesCount": 29, - "translatedName": "Besi", - "slug": "besi" - }, - "58": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Mujadila", - "versesCount": 22, - "translatedName": "Wanita yang Menggugat", - "slug": "wanita-yang-menggugat" - }, - "59": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Hashr", - "versesCount": 24, - "translatedName": "Pengusiran", - "slug": "pengusiran" - }, - "60": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Mumtahanah", - "versesCount": 13, - "translatedName": "Wanita yang Diuji", - "slug": "wanita-yang-diuji" - }, - "61": { - "revelationPlace": "madinah", - "transliteratedName": "As-Saf", - "versesCount": 14, - "translatedName": "Barisan", - "slug": "barisan" - }, - "62": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Jumu'ah", - "versesCount": 11, - "translatedName": "Hari Jum\\'at", - "slug": "hari-jumat" - }, - "63": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Munafiqun", - "versesCount": 11, - "translatedName": "Kaum Munafik", - "slug": "kaum-munafik" - }, - "64": { - "revelationPlace": "madinah", - "transliteratedName": "At-Taghabun", - "versesCount": 18, - "translatedName": "Hari Dinampakkan Kesalahan", - "slug": "hari-dinampakkan-kesalahan" - }, - "65": { - "revelationPlace": "madinah", - "transliteratedName": "At-Talaq", - "versesCount": 12, - "translatedName": "Perceraian", - "slug": "perceraian" - }, - "66": { - "revelationPlace": "madinah", - "transliteratedName": "At-Tahrim", - "versesCount": 12, - "translatedName": "Mengharamkan", - "slug": "mengharamkan" - }, - "67": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Mulk", - "versesCount": 30, - "translatedName": "Kerajaan", - "slug": "kerajaan" - }, - "68": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qalam", - "versesCount": 52, - "translatedName": "Pena", - "slug": "pena" - }, - "69": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Haqqah", - "versesCount": 52, - "translatedName": "Kenyataan (Hari Kiamat)", - "slug": "kenyataan-hari-kiamat" - }, - "70": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ma'arij", - "versesCount": 44, - "translatedName": "Tempat yang Naik", - "slug": "tempat-yang-naik" - }, - "71": { - "revelationPlace": "makkah", - "transliteratedName": "Nuh", - "versesCount": 28, - "translatedName": "Nuh", - "slug": "nuh" - }, - "72": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Jinn", - "versesCount": 28, - "translatedName": "Jin", - "slug": "jin" - }, - "73": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Muzzammil", - "versesCount": 20, - "translatedName": "Orang yang Berselimut", - "slug": "orang-yang-berselimut" - }, - "74": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Muddaththir", - "versesCount": 56, - "translatedName": "Orang yang Berkemul", - "slug": "orang-yang-berkemul" - }, - "75": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qiyamah", - "versesCount": 40, - "translatedName": "Hari Berbangkit", - "slug": "hari-berbangkit" - }, - "76": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Insan", - "versesCount": 31, - "translatedName": "Manusia", - "slug": "manusia" - }, - "77": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Mursalat", - "versesCount": 50, - "translatedName": "Malaikat-malaikan yang Diutus", - "slug": "malaikat-malaikan-yang-diutus" - }, - "78": { - "revelationPlace": "makkah", - "transliteratedName": "An-Naba", - "versesCount": 40, - "translatedName": "Berita Besar", - "slug": "berita-besar" - }, - "79": { - "revelationPlace": "makkah", - "transliteratedName": "An-Nazi'at", - "versesCount": 46, - "translatedName": "Malaikat yang Mencabut", - "slug": "malaikat-yang-mencabut" - }, - "80": { - "revelationPlace": "makkah", - "transliteratedName": "'Abasa", - "versesCount": 42, - "translatedName": "Ia Bermuka Masam", - "slug": "ia-bermuka-masam" - }, - "81": { - "revelationPlace": "makkah", - "transliteratedName": "At-Takwir", - "versesCount": 29, - "translatedName": "Menggulung", - "slug": "menggulung" - }, - "82": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Infitar", - "versesCount": 19, - "translatedName": "Terbelah", - "slug": "terbelah" - }, - "83": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Mutaffifin", - "versesCount": 36, - "translatedName": "Orang-orang Curang", - "slug": "orang-orang-curang" - }, - "84": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Inshiqaq", - "versesCount": 25, - "translatedName": "Terbelah", - "slug": "terbelah" - }, - "85": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Buruj", - "versesCount": 22, - "translatedName": "Gugusan Bintang", - "slug": "gugusan-bintang" - }, - "86": { - "revelationPlace": "makkah", - "transliteratedName": "At-Tariq", - "versesCount": 17, - "translatedName": "Yang Datang di Malam Hari", - "slug": "yang-datang-di-malam-hari" - }, - "87": { - "revelationPlace": "makkah", - "transliteratedName": "Al-A'la", - "versesCount": 19, - "translatedName": "Yang Paling Tinggi", - "slug": "yang-paling-tinggi" - }, - "88": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ghashiyah", - "versesCount": 26, - "translatedName": "Hari Pembalasan", - "slug": "hari-pembalasan" - }, - "89": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Fajr", - "versesCount": 30, - "translatedName": "Fajar", - "slug": "fajar" - }, - "90": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Balad", - "versesCount": 20, - "translatedName": "Negeri", - "slug": "negeri" - }, - "91": { - "revelationPlace": "makkah", - "transliteratedName": "Ash-Shams", - "versesCount": 15, - "translatedName": "Matahari", - "slug": "matahari" - }, - "92": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Layl", - "versesCount": 21, - "translatedName": "Malam", - "slug": "malam" - }, - "93": { - "revelationPlace": "makkah", - "transliteratedName": "Ad-Duhaa", - "versesCount": 11, - "translatedName": "Waktu Dhuha", - "slug": "waktu-dhuha" - }, - "94": { - "revelationPlace": "makkah", - "transliteratedName": "Ash-Sharh", - "versesCount": 8, - "translatedName": "Melapangkan", - "slug": "melapangkan" - }, - "95": { - "revelationPlace": "makkah", - "transliteratedName": "At-Tin", - "versesCount": 8, - "translatedName": "Buah Tin", - "slug": "buah-tin" - }, - "96": { - "revelationPlace": "makkah", - "transliteratedName": "Al-'Alaq", - "versesCount": 19, - "translatedName": "Segumpal Darah", - "slug": "segumpal-darah" - }, - "97": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qadr", - "versesCount": 5, - "translatedName": "Kemuliaan", - "slug": "kemuliaan" - }, - "98": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Bayyinah", - "versesCount": 8, - "translatedName": "Pembuktian", - "slug": "pembuktian" - }, - "99": { - "revelationPlace": "madinah", - "transliteratedName": "Az-Zalzalah", - "versesCount": 8, - "translatedName": "Kegoncangan", - "slug": "kegoncangan" - }, - "100": { - "revelationPlace": "makkah", - "transliteratedName": "Al-'Adiyat", - "versesCount": 11, - "translatedName": "Berlari Kencang", - "slug": "berlari-kencang" - }, - "101": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qari'ah", - "versesCount": 11, - "translatedName": "Hari Kiamat", - "slug": "hari-kiamat" - }, - "102": { - "revelationPlace": "makkah", - "transliteratedName": "At-Takathur", - "versesCount": 8, - "translatedName": "Bermegah-megahan", - "slug": "bermegah-megahan" - }, - "103": { - "revelationPlace": "makkah", - "transliteratedName": "Al-'Asr", - "versesCount": 3, - "translatedName": "Waktu Sore", - "slug": "waktu-sore" - }, - "104": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Humazah", - "versesCount": 9, - "translatedName": "Pengumpat", - "slug": "pengumpat" - }, - "105": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Fil", - "versesCount": 5, - "translatedName": "Gajah", - "slug": "gajah" - }, - "106": { - "revelationPlace": "makkah", - "transliteratedName": "Quraysh", - "versesCount": 4, - "translatedName": "Suku Quraisy", - "slug": "suku-quraisy" - }, - "107": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ma'un", - "versesCount": 7, - "translatedName": "Barang yang Berguna", - "slug": "barang-yang-berguna" - }, - "108": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Kawthar", - "versesCount": 3, - "translatedName": "Nikmat Berlimpah", - "slug": "nikmat-berlimpah" - }, - "109": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Kafirun", - "versesCount": 6, - "translatedName": "Orang-orang Kafir", - "slug": "orang-orang-kafir" - }, - "110": { - "revelationPlace": "madinah", - "transliteratedName": "An-Nasr", - "versesCount": 3, - "translatedName": "Pertolongan", - "slug": "pertolongan" - }, - "111": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Masad", - "versesCount": 5, - "translatedName": "Gejolak Api (Sabut)", - "slug": "gejolak-api-sabut" - }, - "112": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ikhlas", - "versesCount": 4, - "translatedName": "Ikhlash", - "slug": "ikhlash" - }, - "113": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Falaq", - "versesCount": 5, - "translatedName": "Waktu Shubuh", - "slug": "waktu-shubuh" - }, - "114": { - "revelationPlace": "makkah", - "transliteratedName": "An-Nas", - "versesCount": 6, - "translatedName": "Umat Manusia", - "slug": "umat-manusia" - } -} \ No newline at end of file + "1": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Fatihah", + "versesCount": 7, + "translatedName": "Pembuka", + "slug": "pembukaan" + }, + "2": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Baqarah", + "versesCount": 286, + "translatedName": "Sapi", + "slug": "sapi-betina" + }, + "3": { + "revelationPlace": "madinah", + "transliteratedName": "Ali 'Imran", + "versesCount": 200, + "translatedName": "Keluarga Imran", + "slug": "keluarga-imran" + }, + "4": { + "revelationPlace": "madinah", + "transliteratedName": "An-Nisa'", + "versesCount": 176, + "translatedName": "Perempuan", + "slug": "wanita" + }, + "5": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Ma'idah", + "versesCount": 120, + "translatedName": "Hidangan", + "slug": "jamuan-hidangan-makanan" + }, + "6": { + "revelationPlace": "makkah", + "transliteratedName": "Al-An'am", + "versesCount": 165, + "translatedName": "Binatang Ternak", + "slug": "binatang-ternak" + }, + "7": { + "revelationPlace": "makkah", + "transliteratedName": "Al-A'raf", + "versesCount": 206, + "translatedName": "Tempat Tertinggi", + "slug": "tempat-tempat-tinggi" + }, + "8": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Anfal", + "versesCount": 75, + "translatedName": "Rampasan Perang", + "slug": "rampasan-perang" + }, + "9": { + "revelationPlace": "madinah", + "transliteratedName": "At-Tawbah", + "versesCount": 129, + "translatedName": "Pengampunan", + "slug": "pengampunan" + }, + "10": { + "revelationPlace": "makkah", + "transliteratedName": "Yunus", + "versesCount": 109, + "translatedName": "Yunus", + "slug": "yunus" + }, + "11": { + "revelationPlace": "makkah", + "transliteratedName": "Hud", + "versesCount": 123, + "translatedName": "Hud", + "slug": "hud" + }, + "12": { + "revelationPlace": "makkah", + "transliteratedName": "Yusuf", + "versesCount": 111, + "translatedName": "Yusuf", + "slug": "yusuf" + }, + "13": { + "revelationPlace": "madinah", + "transliteratedName": "Ar-Ra'd", + "versesCount": 43, + "translatedName": "Guruh", + "slug": "guruh-petir" + }, + "14": { + "revelationPlace": "makkah", + "transliteratedName": "Ibrahim", + "versesCount": 52, + "translatedName": "Ibrahim", + "slug": "ibrahim" + }, + "15": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Hijr", + "versesCount": 99, + "translatedName": "Hijr", + "slug": "bukit" + }, + "16": { + "revelationPlace": "makkah", + "transliteratedName": "An-Nahl", + "versesCount": 128, + "translatedName": "Lebah", + "slug": "lebah-madu" + }, + "17": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Isra'", + "versesCount": 111, + "translatedName": "Memperjalankan di Malam Hari", + "slug": "perjalanan-malam" + }, + "18": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Kahf", + "versesCount": 110, + "translatedName": "Gua", + "slug": "para-penghuni-gua" + }, + "19": { + "revelationPlace": "makkah", + "transliteratedName": "Maryam", + "versesCount": 98, + "translatedName": "Maryam", + "slug": "maryam" + }, + "20": { + "revelationPlace": "makkah", + "transliteratedName": "Taha", + "versesCount": 135, + "translatedName": "Taha", + "slug": "tha-ha" + }, + "21": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Anbiya'", + "versesCount": 112, + "translatedName": "Para Nabi", + "slug": "para-nabi" + }, + "22": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Hajj", + "versesCount": 78, + "translatedName": "Haji", + "slug": "haji" + }, + "23": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Mu'minun", + "versesCount": 118, + "translatedName": "Orang-Orang Mukmin", + "slug": "orang-orang-mukmin" + }, + "24": { + "revelationPlace": "madinah", + "transliteratedName": "An-Nur", + "versesCount": 64, + "translatedName": "Cahaya", + "slug": "cahaya" + }, + "25": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Furqan", + "versesCount": 77, + "translatedName": "Pembeda", + "slug": "pembeda" + }, + "26": { + "revelationPlace": "makkah", + "transliteratedName": "Asy-Syu'ara'", + "versesCount": 227, + "translatedName": "Para Penyair", + "slug": "penyair" + }, + "27": { + "revelationPlace": "makkah", + "transliteratedName": "An-Naml", + "versesCount": 93, + "translatedName": "Semut", + "slug": "semut" + }, + "28": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qasas", + "versesCount": 88, + "translatedName": "Kisah-Kisah", + "slug": "kisah-kisah" + }, + "29": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ankabut", + "versesCount": 69, + "translatedName": "Laba-Laba", + "slug": "laba-laba" + }, + "30": { + "revelationPlace": "makkah", + "transliteratedName": "Ar-Rum", + "versesCount": 60, + "translatedName": "Romawi", + "slug": "bangsa-romawi" + }, + "31": { + "revelationPlace": "makkah", + "transliteratedName": "Luqman", + "versesCount": 34, + "translatedName": "Luqman", + "slug": "luqman" + }, + "32": { + "revelationPlace": "makkah", + "transliteratedName": "As-Sajdah", + "versesCount": 30, + "translatedName": "Sajdah", + "slug": "sujud" + }, + "33": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Ahzab", + "versesCount": 73, + "translatedName": "Golongan Yang Berserikat", + "slug": "golongan-yang-bersekutu" + }, + "34": { + "revelationPlace": "makkah", + "transliteratedName": "Saba'", + "versesCount": 54, + "translatedName": "Saba'", + "slug": "saba" + }, + "35": { + "revelationPlace": "makkah", + "transliteratedName": "Fatir", + "versesCount": 45, + "translatedName": "Pencipta", + "slug": "pencipta" + }, + "36": { + "revelationPlace": "makkah", + "transliteratedName": "Yasin", + "versesCount": 83, + "translatedName": "Yasin", + "slug": "yas-sin" + }, + "37": { + "revelationPlace": "makkah", + "transliteratedName": "As-Saffat", + "versesCount": 182, + "translatedName": "Barisan-Barisan", + "slug": "barisan-barisan" + }, + "38": { + "revelationPlace": "makkah", + "transliteratedName": "Sad", + "versesCount": 88, + "translatedName": "Sad", + "slug": "shad" + }, + "39": { + "revelationPlace": "makkah", + "transliteratedName": "Az-Zumar", + "versesCount": 75, + "translatedName": "Rombongan", + "slug": "para-rombongan" + }, + "40": { + "revelationPlace": "makkah", + "transliteratedName": "Ghafir", + "versesCount": 85, + "translatedName": "Maha Pengampun", + "slug": "sang-maha-pengampun" + }, + "41": { + "revelationPlace": "makkah", + "transliteratedName": "Fussilat", + "versesCount": 54, + "translatedName": "Dijelaskan", + "slug": "yang-dijelaskan" + }, + "42": { + "revelationPlace": "makkah", + "transliteratedName": "Asy-Syura", + "versesCount": 53, + "translatedName": "Musyawarah", + "slug": "musyawarah" + }, + "43": { + "revelationPlace": "makkah", + "transliteratedName": "Az-Zukhruf", + "versesCount": 89, + "translatedName": "Perhiasan dari Emas", + "slug": "perhiasan" + }, + "44": { + "revelationPlace": "makkah", + "transliteratedName": "Ad-Dukhan", + "versesCount": 59, + "translatedName": "Kabut Asap", + "slug": "kabut" + }, + "45": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Jasiyah", + "versesCount": 37, + "translatedName": "Berlutut", + "slug": "yang-bertekuk-lutut" + }, + "46": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ahqaf", + "versesCount": 35, + "translatedName": "Ahqaf", + "slug": "bukit-bukir-pasir" + }, + "47": { + "revelationPlace": "madinah", + "transliteratedName": "Muhammad", + "versesCount": 38, + "translatedName": "Nabi Muhammad", + "slug": "muhammad" + }, + "48": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Fath", + "versesCount": 29, + "translatedName": "Kemenangan", + "slug": "kemenangan" + }, + "49": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Hujurat", + "versesCount": 18, + "translatedName": "Kamar-Kamar", + "slug": "kamar-kamar" + }, + "50": { + "revelationPlace": "makkah", + "transliteratedName": "Qaf", + "versesCount": 45, + "translatedName": "Qaf", + "slug": "qaf" + }, + "51": { + "revelationPlace": "makkah", + "transliteratedName": "Az-Zariyat", + "versesCount": 60, + "translatedName": "Yang Menerbangkan", + "slug": "angin-yang-menerbangkan" + }, + "52": { + "revelationPlace": "makkah", + "transliteratedName": "At-Tur", + "versesCount": 49, + "translatedName": "Gunung", + "slug": "bukit" + }, + "53": { + "revelationPlace": "makkah", + "transliteratedName": "An-Najm", + "versesCount": 62, + "translatedName": "Bintang", + "slug": "bintang" + }, + "54": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qamar", + "versesCount": 55, + "translatedName": "Bulan", + "slug": "bulan" + }, + "55": { + "revelationPlace": "madinah", + "transliteratedName": "Ar-Rahman", + "versesCount": 78, + "translatedName": "Yang Maha Pengasih", + "slug": "yang-maha-pemurah" + }, + "56": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Waqi'ah", + "versesCount": 96, + "translatedName": "Hari Kiamat Yang Pasti Terjadi", + "slug": "hari-kiamat" + }, + "57": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Hadid", + "versesCount": 29, + "translatedName": "Besi", + "slug": "besi" + }, + "58": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Mujadalah", + "versesCount": 22, + "translatedName": "Gugatan", + "slug": "wanita-yang-menggugat" + }, + "59": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Hasyr", + "versesCount": 24, + "translatedName": "Pengusiran", + "slug": "pengusiran" + }, + "60": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Mumtahanah", + "versesCount": 13, + "translatedName": "Wanita Yang Diuji", + "slug": "wanita-yang-diuji" + }, + "61": { + "revelationPlace": "madinah", + "transliteratedName": "As-Saff", + "versesCount": 14, + "translatedName": "Barisan", + "slug": "barisan" + }, + "62": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Jumu'ah", + "versesCount": 11, + "translatedName": "Jumat", + "slug": "hari-jumat" + }, + "63": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Munafiqun", + "versesCount": 11, + "translatedName": "Orang-Orang Munafik", + "slug": "kaum-munafik" + }, + "64": { + "revelationPlace": "madinah", + "transliteratedName": "At-Tagabun", + "versesCount": 18, + "translatedName": "Pengungkapan Kesalahan", + "slug": "hari-dinampakkan-kesalahan" + }, + "65": { + "revelationPlace": "madinah", + "transliteratedName": "At-Talaq", + "versesCount": 12, + "translatedName": "Talak", + "slug": "perceraian" + }, + "66": { + "revelationPlace": "madinah", + "transliteratedName": "At-Tahrim", + "versesCount": 12, + "translatedName": "Pengharaman", + "slug": "mengharamkan" + }, + "67": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Mulk", + "versesCount": 30, + "translatedName": "Kerajaan", + "slug": "kerajaan" + }, + "68": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qalam", + "versesCount": 52, + "translatedName": "Pena", + "slug": "pena" + }, + "69": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Haqqah", + "versesCount": 52, + "translatedName": "Hari Kiamat Yang Pasti Terjadi", + "slug": "kenyataan-hari-kiamat" + }, + "70": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ma'arij", + "versesCount": 44, + "translatedName": "Tempat-Tempat Naik", + "slug": "tempat-yang-naik" + }, + "71": { + "revelationPlace": "makkah", + "transliteratedName": "Nuh", + "versesCount": 28, + "translatedName": "Nuh", + "slug": "nuh" + }, + "72": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Jinn", + "versesCount": 28, + "translatedName": "Jin", + "slug": "jin" + }, + "73": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Muzzammil", + "versesCount": 20, + "translatedName": "Orang Berkelumun", + "slug": "orang-yang-berselimut" + }, + "74": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Muddassir", + "versesCount": 56, + "translatedName": "Orang Berselimut", + "slug": "orang-yang-berkemul" + }, + "75": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qiyamah", + "versesCount": 40, + "translatedName": "Hari Kiamat", + "slug": "hari-berbangkit" + }, + "76": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Insan", + "versesCount": 31, + "translatedName": "Manusia", + "slug": "manusia" + }, + "77": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Mursalat", + "versesCount": 50, + "translatedName": "Malaikat Yang Diutus", + "slug": "malaikat-malaikan-yang-diutus" + }, + "78": { + "revelationPlace": "makkah", + "transliteratedName": "An-Naba'", + "versesCount": 40, + "translatedName": "Berita", + "slug": "berita-besar" + }, + "79": { + "revelationPlace": "makkah", + "transliteratedName": "An-Nazi'at", + "versesCount": 46, + "translatedName": "Yang Mencabut Dengan Keras", + "slug": "malaikat-yang-mencabut" + }, + "80": { + "revelationPlace": "makkah", + "transliteratedName": "Abasa", + "versesCount": 42, + "translatedName": "Berwajah Masam", + "slug": "ia-bermuka-masam" + }, + "81": { + "revelationPlace": "makkah", + "transliteratedName": "At-Takwir", + "versesCount": 29, + "translatedName": "Penggulungan", + "slug": "menggulung" + }, + "82": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Infitar", + "versesCount": 19, + "translatedName": "Terbelah", + "slug": "terbelah" + }, + "83": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Mutaffifin", + "versesCount": 36, + "translatedName": "Orang-Orang Yang Curang", + "slug": "orang-orang-curang" + }, + "84": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Insyiqaq", + "versesCount": 25, + "translatedName": "Terbelah", + "slug": "terbelah" + }, + "85": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Buruj", + "versesCount": 22, + "translatedName": "Gugusan Bintang", + "slug": "gugusan-bintang" + }, + "86": { + "revelationPlace": "makkah", + "transliteratedName": "At-Tariq", + "versesCount": 17, + "translatedName": "Yang Datang Pada Malam Hari", + "slug": "yang-datang-di-malam-hari" + }, + "87": { + "revelationPlace": "makkah", + "transliteratedName": "Al-A'la", + "versesCount": 19, + "translatedName": "Yang Maha Tinggi", + "slug": "yang-paling-tinggi" + }, + "88": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ghasiyah", + "versesCount": 26, + "translatedName": "Hari Kiamat Yang Menutupi", + "slug": "hari-pembalasan" + }, + "89": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Fajr", + "versesCount": 30, + "translatedName": "Fajar", + "slug": "fajar" + }, + "90": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Balad", + "versesCount": 20, + "translatedName": "Negeri", + "slug": "negeri" + }, + "91": { + "revelationPlace": "makkah", + "transliteratedName": "Asy-Syams", + "versesCount": 15, + "translatedName": "Matahari", + "slug": "matahari" + }, + "92": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Lail", + "versesCount": 21, + "translatedName": "Malam", + "slug": "malam" + }, + "93": { + "revelationPlace": "makkah", + "transliteratedName": "Ad-Duha", + "versesCount": 11, + "translatedName": "Duha", + "slug": "waktu-dhuha" + }, + "94": { + "revelationPlace": "makkah", + "transliteratedName": "Asy-Syarh", + "versesCount": 8, + "translatedName": "Pelapangan", + "slug": "melapangkan" + }, + "95": { + "revelationPlace": "makkah", + "transliteratedName": "At-Tin", + "versesCount": 8, + "translatedName": "Buah Tin", + "slug": "buah-tin" + }, + "96": { + "revelationPlace": "makkah", + "transliteratedName": "Al-'Alaq", + "versesCount": 19, + "translatedName": "Segumpal Darah", + "slug": "segumpal-darah" + }, + "97": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qadr", + "versesCount": 5, + "translatedName": "Al-Qadar", + "slug": "kemuliaan" + }, + "98": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Bayyinah", + "versesCount": 8, + "translatedName": "Bukti Nyata", + "slug": "pembuktian" + }, + "99": { + "revelationPlace": "madinah", + "transliteratedName": "Az-Zalzalah", + "versesCount": 8, + "translatedName": "Guncangan", + "slug": "kegoncangan" + }, + "100": { + "revelationPlace": "makkah", + "transliteratedName": "Al-'Adiyat", + "versesCount": 11, + "translatedName": "Kuda Perang Yang Berlari Kencang", + "slug": "berlari-kencang" + }, + "101": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qari'ah", + "versesCount": 11, + "translatedName": "Al-Qari'ah", + "slug": "hari-kiamat" + }, + "102": { + "revelationPlace": "makkah", + "transliteratedName": "At-Takasur", + "versesCount": 8, + "translatedName": "Berbangga-Bangga", + "slug": "bermegah-megahan" + }, + "103": { + "revelationPlace": "makkah", + "transliteratedName": "Al-'Asr", + "versesCount": 3, + "translatedName": "Masa", + "slug": "waktu-sore" + }, + "104": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Humazah", + "versesCount": 9, + "translatedName": "Pengumpat", + "slug": "pengumpat" + }, + "105": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Fil", + "versesCount": 5, + "translatedName": "Gajah", + "slug": "gajah" + }, + "106": { + "revelationPlace": "makkah", + "transliteratedName": "Quraisy", + "versesCount": 4, + "translatedName": "Orang-Orang Quraisy", + "slug": "suku-quraisy" + }, + "107": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ma'un", + "versesCount": 7, + "translatedName": "Bantuan", + "slug": "barang-yang-berguna" + }, + "108": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Kausar", + "versesCount": 3, + "translatedName": "Nikmat Yang Banyak", + "slug": "nikmat-berlimpah" + }, + "109": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Kafirun", + "versesCount": 6, + "translatedName": "Orang-Orang Kafir", + "slug": "orang-orang-kafir" + }, + "110": { + "revelationPlace": "madinah", + "transliteratedName": "An-Nasr", + "versesCount": 3, + "translatedName": "Pertolongan", + "slug": "pertolongan" + }, + "111": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Lahab", + "versesCount": 5, + "translatedName": "Gejolak Api", + "slug": "gejolak-api-sabut" + }, + "112": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ikhlas", + "versesCount": 4, + "translatedName": "Ikhlas", + "slug": "ikhlash" + }, + "113": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Falaq", + "versesCount": 5, + "translatedName": "Fajar", + "slug": "waktu-shubuh" + }, + "114": { + "revelationPlace": "makkah", + "transliteratedName": "An-Nas", + "versesCount": 6, + "translatedName": "Manusia", + "slug": "umat-manusia" + } +} diff --git a/data/chapters/ms.json b/data/chapters/ms.json index ada8847fc6..2103e7596c 100644 --- a/data/chapters/ms.json +++ b/data/chapters/ms.json @@ -1,800 +1,800 @@ { - "1": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Fatihah", - "versesCount": 7, - "translatedName": "الفاتحة", - "slug": "al-fatihah" - }, - "2": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Baqarah", - "versesCount": 286, - "translatedName": "البقرة", - "slug": "al-baqarah" - }, - "3": { - "revelationPlace": "madinah", - "transliteratedName": "Ali 'Imran", - "versesCount": 200, - "translatedName": "آل عمران", - "slug": "ali-imran" - }, - "4": { - "revelationPlace": "madinah", - "transliteratedName": "An-Nisa", - "versesCount": 176, - "translatedName": "النساء", - "slug": "an-nisa" - }, - "5": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Ma'idah", - "versesCount": 120, - "translatedName": "المائدة", - "slug": "al-maidah" - }, - "6": { - "revelationPlace": "makkah", - "transliteratedName": "Al-An'am", - "versesCount": 165, - "translatedName": "الأنعام", - "slug": "al-anam" - }, - "7": { - "revelationPlace": "makkah", - "transliteratedName": "Al-A'raf", - "versesCount": 206, - "translatedName": "الأعراف", - "slug": "al-araf" - }, - "8": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Anfal", - "versesCount": 75, - "translatedName": "الأنفال", - "slug": "al-anfal" - }, - "9": { - "revelationPlace": "madinah", - "transliteratedName": "At-Tawbah", - "versesCount": 129, - "translatedName": "التوبة", - "slug": "at-tawbah" - }, - "10": { - "revelationPlace": "makkah", - "transliteratedName": "Yunus", - "versesCount": 109, - "translatedName": "يونس", - "slug": "yunus" - }, - "11": { - "revelationPlace": "makkah", - "transliteratedName": "Hud", - "versesCount": 123, - "translatedName": "هود", - "slug": "hud" - }, - "12": { - "revelationPlace": "makkah", - "transliteratedName": "Yusuf", - "versesCount": 111, - "translatedName": "يوسف", - "slug": "yusuf" - }, - "13": { - "revelationPlace": "madinah", - "transliteratedName": "Ar-Ra'd", - "versesCount": 43, - "translatedName": "الرعد", - "slug": "ar-rad" - }, - "14": { - "revelationPlace": "makkah", - "transliteratedName": "Ibrahim", - "versesCount": 52, - "translatedName": "ابراهيم", - "slug": "ibrahim" - }, - "15": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Hijr", - "versesCount": 99, - "translatedName": "الحجر", - "slug": "al-hijr" - }, - "16": { - "revelationPlace": "makkah", - "transliteratedName": "An-Nahl", - "versesCount": 128, - "translatedName": "النحل", - "slug": "an-nahl" - }, - "17": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Isra", - "versesCount": 111, - "translatedName": "الإسراء", - "slug": "al-isra" - }, - "18": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Kahf", - "versesCount": 110, - "translatedName": "الكهف", - "slug": "al-kahf" - }, - "19": { - "revelationPlace": "makkah", - "transliteratedName": "Maryam", - "versesCount": 98, - "translatedName": "مريم", - "slug": "maryam" - }, - "20": { - "revelationPlace": "makkah", - "transliteratedName": "Taha", - "versesCount": 135, - "translatedName": "طه", - "slug": "taha" - }, - "21": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Anbya", - "versesCount": 112, - "translatedName": "الأنبياء", - "slug": "al-anbya" - }, - "22": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Hajj", - "versesCount": 78, - "translatedName": "الحج", - "slug": "al-hajj" - }, - "23": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Mu'minun", - "versesCount": 118, - "translatedName": "المؤمنون", - "slug": "al-muminun" - }, - "24": { - "revelationPlace": "madinah", - "transliteratedName": "An-Nur", - "versesCount": 64, - "translatedName": "النور", - "slug": "an-nur" - }, - "25": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Furqan", - "versesCount": 77, - "translatedName": "الفرقان", - "slug": "al-furqan" - }, - "26": { - "revelationPlace": "makkah", - "transliteratedName": "Ash-Shu'ara", - "versesCount": 227, - "translatedName": "الشعراء", - "slug": "ash-shuara" - }, - "27": { - "revelationPlace": "makkah", - "transliteratedName": "An-Naml", - "versesCount": 93, - "translatedName": "النمل", - "slug": "an-naml" - }, - "28": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qasas", - "versesCount": 88, - "translatedName": "القصص", - "slug": "al-qasas" - }, - "29": { - "revelationPlace": "makkah", - "transliteratedName": "Al-'Ankabut", - "versesCount": 69, - "translatedName": "العنكبوت", - "slug": "al-ankabut" - }, - "30": { - "revelationPlace": "makkah", - "transliteratedName": "Ar-Rum", - "versesCount": 60, - "translatedName": "الروم", - "slug": "ar-rum" - }, - "31": { - "revelationPlace": "makkah", - "transliteratedName": "Luqman", - "versesCount": 34, - "translatedName": "لقمان", - "slug": "luqman" - }, - "32": { - "revelationPlace": "makkah", - "transliteratedName": "As-Sajdah", - "versesCount": 30, - "translatedName": "السجدة", - "slug": "as-sajdah" - }, - "33": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Ahzab", - "versesCount": 73, - "translatedName": "الأحزاب", - "slug": "al-ahzab" - }, - "34": { - "revelationPlace": "makkah", - "transliteratedName": "Saba", - "versesCount": 54, - "translatedName": "سبإ", - "slug": "saba" - }, - "35": { - "revelationPlace": "makkah", - "transliteratedName": "Fatir", - "versesCount": 45, - "translatedName": "فاطر", - "slug": "fatir" - }, - "36": { - "revelationPlace": "makkah", - "transliteratedName": "Ya-Sin", - "versesCount": 83, - "translatedName": "يس", - "slug": "ya-sin" - }, - "37": { - "revelationPlace": "makkah", - "transliteratedName": "As-Saffat", - "versesCount": 182, - "translatedName": "الصافات", - "slug": "as-saffat" - }, - "38": { - "revelationPlace": "makkah", - "transliteratedName": "Sad", - "versesCount": 88, - "translatedName": "ص", - "slug": "sad" - }, - "39": { - "revelationPlace": "makkah", - "transliteratedName": "Az-Zumar", - "versesCount": 75, - "translatedName": "الزمر", - "slug": "az-zumar" - }, - "40": { - "revelationPlace": "makkah", - "transliteratedName": "Ghafir", - "versesCount": 85, - "translatedName": "غافر", - "slug": "ghafir" - }, - "41": { - "revelationPlace": "makkah", - "transliteratedName": "Fussilat", - "versesCount": 54, - "translatedName": "فصلت", - "slug": "fussilat" - }, - "42": { - "revelationPlace": "makkah", - "transliteratedName": "Ash-Shuraa", - "versesCount": 53, - "translatedName": "الشورى", - "slug": "ash-shuraa" - }, - "43": { - "revelationPlace": "makkah", - "transliteratedName": "Az-Zukhruf", - "versesCount": 89, - "translatedName": "الزخرف", - "slug": "az-zukhruf" - }, - "44": { - "revelationPlace": "makkah", - "transliteratedName": "Ad-Dukhan", - "versesCount": 59, - "translatedName": "الدخان", - "slug": "ad-dukhan" - }, - "45": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Jathiyah", - "versesCount": 37, - "translatedName": "الجاثية", - "slug": "al-jathiyah" - }, - "46": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ahqaf", - "versesCount": 35, - "translatedName": "الأحقاف", - "slug": "al-ahqaf" - }, - "47": { - "revelationPlace": "madinah", - "transliteratedName": "Muhammad", - "versesCount": 38, - "translatedName": "محمد", - "slug": "muhammad" - }, - "48": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Fath", - "versesCount": 29, - "translatedName": "الفتح", - "slug": "al-fath" - }, - "49": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Hujurat", - "versesCount": 18, - "translatedName": "الحجرات", - "slug": "al-hujurat" - }, - "50": { - "revelationPlace": "makkah", - "transliteratedName": "Qaf", - "versesCount": 45, - "translatedName": "ق", - "slug": "qaf" - }, - "51": { - "revelationPlace": "makkah", - "transliteratedName": "Adh-Dhariyat", - "versesCount": 60, - "translatedName": "الذاريات", - "slug": "adh-dhariyat" - }, - "52": { - "revelationPlace": "makkah", - "transliteratedName": "At-Tur", - "versesCount": 49, - "translatedName": "الطور", - "slug": "at-tur" - }, - "53": { - "revelationPlace": "makkah", - "transliteratedName": "An-Najm", - "versesCount": 62, - "translatedName": "النجم", - "slug": "an-najm" - }, - "54": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qamar", - "versesCount": 55, - "translatedName": "القمر", - "slug": "al-qamar" - }, - "55": { - "revelationPlace": "madinah", - "transliteratedName": "Ar-Rahman", - "versesCount": 78, - "translatedName": "الرحمن", - "slug": "ar-rahman" - }, - "56": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Waqi'ah", - "versesCount": 96, - "translatedName": "الواقعة", - "slug": "al-waqiah" - }, - "57": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Hadid", - "versesCount": 29, - "translatedName": "الحديد", - "slug": "al-hadid" - }, - "58": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Mujadila", - "versesCount": 22, - "translatedName": "المجادلة", - "slug": "al-mujadila" - }, - "59": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Hashr", - "versesCount": 24, - "translatedName": "الحشر", - "slug": "al-hashr" - }, - "60": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Mumtahanah", - "versesCount": 13, - "translatedName": "الممتحنة", - "slug": "al-mumtahanah" - }, - "61": { - "revelationPlace": "madinah", - "transliteratedName": "As-Saf", - "versesCount": 14, - "translatedName": "الصف", - "slug": "as-saf" - }, - "62": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Jumu'ah", - "versesCount": 11, - "translatedName": "الجمعة", - "slug": "al-jumuah" - }, - "63": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Munafiqun", - "versesCount": 11, - "translatedName": "المنافقون", - "slug": "al-munafiqun" - }, - "64": { - "revelationPlace": "madinah", - "transliteratedName": "At-Taghabun", - "versesCount": 18, - "translatedName": "التغابن", - "slug": "at-taghabun" - }, - "65": { - "revelationPlace": "madinah", - "transliteratedName": "At-Talaq", - "versesCount": 12, - "translatedName": "الطلاق", - "slug": "at-talaq" - }, - "66": { - "revelationPlace": "madinah", - "transliteratedName": "At-Tahrim", - "versesCount": 12, - "translatedName": "التحريم", - "slug": "at-tahrim" - }, - "67": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Mulk", - "versesCount": 30, - "translatedName": "الملك", - "slug": "al-mulk" - }, - "68": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qalam", - "versesCount": 52, - "translatedName": "القلم", - "slug": "al-qalam" - }, - "69": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Haqqah", - "versesCount": 52, - "translatedName": "الحاقة", - "slug": "al-haqqah" - }, - "70": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ma'arij", - "versesCount": 44, - "translatedName": "المعارج", - "slug": "al-maarij" - }, - "71": { - "revelationPlace": "makkah", - "transliteratedName": "Nuh", - "versesCount": 28, - "translatedName": "نوح", - "slug": "nuh" - }, - "72": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Jinn", - "versesCount": 28, - "translatedName": "الجن", - "slug": "al-jinn" - }, - "73": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Muzzammil", - "versesCount": 20, - "translatedName": "المزمل", - "slug": "al-muzzammil" - }, - "74": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Muddaththir", - "versesCount": 56, - "translatedName": "المدثر", - "slug": "al-muddaththir" - }, - "75": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qiyamah", - "versesCount": 40, - "translatedName": "القيامة", - "slug": "al-qiyamah" - }, - "76": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Insan", - "versesCount": 31, - "translatedName": "الانسان", - "slug": "al-insan" - }, - "77": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Mursalat", - "versesCount": 50, - "translatedName": "المرسلات", - "slug": "al-mursalat" - }, - "78": { - "revelationPlace": "makkah", - "transliteratedName": "An-Naba", - "versesCount": 40, - "translatedName": "النبإ", - "slug": "an-naba" - }, - "79": { - "revelationPlace": "makkah", - "transliteratedName": "An-Nazi'at", - "versesCount": 46, - "translatedName": "النازعات", - "slug": "an-naziat" - }, - "80": { - "revelationPlace": "makkah", - "transliteratedName": "'Abasa", - "versesCount": 42, - "translatedName": "عبس", - "slug": "abasa" - }, - "81": { - "revelationPlace": "makkah", - "transliteratedName": "At-Takwir", - "versesCount": 29, - "translatedName": "التكوير", - "slug": "at-takwir" - }, - "82": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Infitar", - "versesCount": 19, - "translatedName": "الإنفطار", - "slug": "al-infitar" - }, - "83": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Mutaffifin", - "versesCount": 36, - "translatedName": "المطففين", - "slug": "al-mutaffifin" - }, - "84": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Inshiqaq", - "versesCount": 25, - "translatedName": "الإنشقاق", - "slug": "al-inshiqaq" - }, - "85": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Buruj", - "versesCount": 22, - "translatedName": "البروج", - "slug": "al-buruj" - }, - "86": { - "revelationPlace": "makkah", - "transliteratedName": "At-Tariq", - "versesCount": 17, - "translatedName": "الطارق", - "slug": "at-tariq" - }, - "87": { - "revelationPlace": "makkah", - "transliteratedName": "Al-A'la", - "versesCount": 19, - "translatedName": "الأعلى", - "slug": "al-ala" - }, - "88": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ghashiyah", - "versesCount": 26, - "translatedName": "الغاشية", - "slug": "al-ghashiyah" - }, - "89": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Fajr", - "versesCount": 30, - "translatedName": "الفجر", - "slug": "al-fajr" - }, - "90": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Balad", - "versesCount": 20, - "translatedName": "البلد", - "slug": "al-balad" - }, - "91": { - "revelationPlace": "makkah", - "transliteratedName": "Ash-Shams", - "versesCount": 15, - "translatedName": "الشمس", - "slug": "ash-shams" - }, - "92": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Layl", - "versesCount": 21, - "translatedName": "الليل", - "slug": "al-layl" - }, - "93": { - "revelationPlace": "makkah", - "transliteratedName": "Ad-Duhaa", - "versesCount": 11, - "translatedName": "الضحى", - "slug": "ad-duhaa" - }, - "94": { - "revelationPlace": "makkah", - "transliteratedName": "Ash-Sharh", - "versesCount": 8, - "translatedName": "الشرح", - "slug": "ash-sharh" - }, - "95": { - "revelationPlace": "makkah", - "transliteratedName": "At-Tin", - "versesCount": 8, - "translatedName": "التين", - "slug": "at-tin" - }, - "96": { - "revelationPlace": "makkah", - "transliteratedName": "Al-'Alaq", - "versesCount": 19, - "translatedName": "العلق", - "slug": "al-alaq" - }, - "97": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qadr", - "versesCount": 5, - "translatedName": "القدر", - "slug": "al-qadr" - }, - "98": { - "revelationPlace": "madinah", - "transliteratedName": "Al-Bayyinah", - "versesCount": 8, - "translatedName": "البينة", - "slug": "al-bayyinah" - }, - "99": { - "revelationPlace": "madinah", - "transliteratedName": "Az-Zalzalah", - "versesCount": 8, - "translatedName": "الزلزلة", - "slug": "az-zalzalah" - }, - "100": { - "revelationPlace": "makkah", - "transliteratedName": "Al-'Adiyat", - "versesCount": 11, - "translatedName": "العاديات", - "slug": "al-adiyat" - }, - "101": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Qari'ah", - "versesCount": 11, - "translatedName": "القارعة", - "slug": "al-qariah" - }, - "102": { - "revelationPlace": "makkah", - "transliteratedName": "At-Takathur", - "versesCount": 8, - "translatedName": "التكاثر", - "slug": "at-takathur" - }, - "103": { - "revelationPlace": "makkah", - "transliteratedName": "Al-'Asr", - "versesCount": 3, - "translatedName": "العصر", - "slug": "al-asr" - }, - "104": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Humazah", - "versesCount": 9, - "translatedName": "الهمزة", - "slug": "al-humazah" - }, - "105": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Fil", - "versesCount": 5, - "translatedName": "الفيل", - "slug": "al-fil" - }, - "106": { - "revelationPlace": "makkah", - "transliteratedName": "Quraysh", - "versesCount": 4, - "translatedName": "قريش", - "slug": "quraysh" - }, - "107": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ma'un", - "versesCount": 7, - "translatedName": "الماعون", - "slug": "al-maun" - }, - "108": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Kawthar", - "versesCount": 3, - "translatedName": "الكوثر", - "slug": "al-kawthar" - }, - "109": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Kafirun", - "versesCount": 6, - "translatedName": "الكافرون", - "slug": "al-kafirun" - }, - "110": { - "revelationPlace": "madinah", - "transliteratedName": "An-Nasr", - "versesCount": 3, - "translatedName": "النصر", - "slug": "an-nasr" - }, - "111": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Masad", - "versesCount": 5, - "translatedName": "المسد", - "slug": "al-masad" - }, - "112": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Ikhlas", - "versesCount": 4, - "translatedName": "الإخلاص", - "slug": "al-ikhlas" - }, - "113": { - "revelationPlace": "makkah", - "transliteratedName": "Al-Falaq", - "versesCount": 5, - "translatedName": "الفلق", - "slug": "al-falaq" - }, - "114": { - "revelationPlace": "makkah", - "transliteratedName": "An-Nas", - "versesCount": 6, - "translatedName": "الناس", - "slug": "an-nas" - } -} \ No newline at end of file + "1": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Fatihah", + "versesCount": 7, + "translatedName": "Pembukaan", + "slug": "al-fatihah" + }, + "2": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Baqarah", + "versesCount": 286, + "translatedName": "Lembu Betina", + "slug": "al-baqarah" + }, + "3": { + "revelationPlace": "madinah", + "transliteratedName": "Ali-'Imran", + "versesCount": 200, + "translatedName": "Keluarga Imran", + "slug": "ali-imran" + }, + "4": { + "revelationPlace": "madinah", + "transliteratedName": "An-Nisaa'", + "versesCount": 176, + "translatedName": "Wanita", + "slug": "an-nisa" + }, + "5": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Ma'idah", + "versesCount": 120, + "translatedName": "Hidangan", + "slug": "al-maidah" + }, + "6": { + "revelationPlace": "makkah", + "transliteratedName": "Al-An'aam", + "versesCount": 165, + "translatedName": "Binatang Ternak", + "slug": "al-anam" + }, + "7": { + "revelationPlace": "makkah", + "transliteratedName": "Al-A'raaf", + "versesCount": 206, + "translatedName": "Tempat Tertinggi", + "slug": "al-araf" + }, + "8": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Anfaal", + "versesCount": 75, + "translatedName": "Harta Rampasan Perang", + "slug": "al-anfal" + }, + "9": { + "revelationPlace": "madinah", + "transliteratedName": "At-Taubah", + "versesCount": 129, + "translatedName": "Taubat", + "slug": "at-tawbah" + }, + "10": { + "revelationPlace": "makkah", + "transliteratedName": "Yunus", + "versesCount": 109, + "translatedName": "Yunus", + "slug": "yunus" + }, + "11": { + "revelationPlace": "makkah", + "transliteratedName": "Hud", + "versesCount": 123, + "translatedName": "Hud", + "slug": "hud" + }, + "12": { + "revelationPlace": "makkah", + "transliteratedName": "Yusuf", + "versesCount": 111, + "translatedName": "Yusuf", + "slug": "yusuf" + }, + "13": { + "revelationPlace": "madinah", + "transliteratedName": "Ar-Ra'd", + "versesCount": 43, + "translatedName": "Guruh", + "slug": "ar-rad" + }, + "14": { + "revelationPlace": "makkah", + "transliteratedName": "Ibrahim", + "versesCount": 52, + "translatedName": "Ibrahim", + "slug": "ibrahim" + }, + "15": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Hijr", + "versesCount": 99, + "translatedName": "Gunung Batu", + "slug": "al-hijr" + }, + "16": { + "revelationPlace": "makkah", + "transliteratedName": "An-Nahl", + "versesCount": 128, + "translatedName": "Lebah", + "slug": "an-nahl" + }, + "17": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Israa'", + "versesCount": 111, + "translatedName": "Perjalanan Malam", + "slug": "al-isra" + }, + "18": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Kahfi", + "versesCount": 110, + "translatedName": "Gua", + "slug": "al-kahf" + }, + "19": { + "revelationPlace": "makkah", + "transliteratedName": "Maryam", + "versesCount": 98, + "translatedName": "Maryam", + "slug": "maryam" + }, + "20": { + "revelationPlace": "makkah", + "transliteratedName": "Taha", + "versesCount": 135, + "translatedName": "Ta-Ha", + "slug": "taha" + }, + "21": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Anbiyaa'", + "versesCount": 112, + "translatedName": "Para Nabi", + "slug": "al-anbya" + }, + "22": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Hajj", + "versesCount": 78, + "translatedName": "Haji", + "slug": "al-hajj" + }, + "23": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Mu’minuun", + "versesCount": 118, + "translatedName": "Orang-Orang Mukmin", + "slug": "al-muminun" + }, + "24": { + "revelationPlace": "madinah", + "transliteratedName": "An-Nur", + "versesCount": 64, + "translatedName": "Cahaya", + "slug": "an-nur" + }, + "25": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Furqaan", + "versesCount": 77, + "translatedName": "Pembeda", + "slug": "al-furqan" + }, + "26": { + "revelationPlace": "makkah", + "transliteratedName": "Asy-Syu'araa'", + "versesCount": 227, + "translatedName": "Para Penyair", + "slug": "ash-shuara" + }, + "27": { + "revelationPlace": "makkah", + "transliteratedName": "An-Naml", + "versesCount": 93, + "translatedName": "Semut", + "slug": "an-naml" + }, + "28": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qasas", + "versesCount": 88, + "translatedName": "Kisah-Kisah", + "slug": "al-qasas" + }, + "29": { + "revelationPlace": "makkah", + "transliteratedName": "Al-'Ankabuut", + "versesCount": 69, + "translatedName": "Laba-Laba", + "slug": "al-ankabut" + }, + "30": { + "revelationPlace": "makkah", + "transliteratedName": "Ar-Ruum", + "versesCount": 60, + "translatedName": "Bangsa Romawi", + "slug": "ar-rum" + }, + "31": { + "revelationPlace": "makkah", + "transliteratedName": "Luqman", + "versesCount": 34, + "translatedName": "Luqman", + "slug": "luqman" + }, + "32": { + "revelationPlace": "makkah", + "transliteratedName": "As-Sajdah", + "versesCount": 30, + "translatedName": "Sujud", + "slug": "as-sajdah" + }, + "33": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Ahzaab", + "versesCount": 73, + "translatedName": "Golongan Yang Bersekutu", + "slug": "al-ahzab" + }, + "34": { + "revelationPlace": "makkah", + "transliteratedName": "Saba'", + "versesCount": 54, + "translatedName": "Kaum Saba", + "slug": "saba" + }, + "35": { + "revelationPlace": "makkah", + "transliteratedName": "Faatir", + "versesCount": 45, + "translatedName": "Pencipta", + "slug": "fatir" + }, + "36": { + "revelationPlace": "makkah", + "transliteratedName": "Yaa siin", + "versesCount": 83, + "translatedName": "Ya-Sin", + "slug": "ya-sin" + }, + "37": { + "revelationPlace": "makkah", + "transliteratedName": "As-Saaffaat", + "versesCount": 182, + "translatedName": "Barisan-Barisan", + "slug": "as-saffat" + }, + "38": { + "revelationPlace": "makkah", + "transliteratedName": "Saad", + "versesCount": 88, + "translatedName": "Sad", + "slug": "sad" + }, + "39": { + "revelationPlace": "makkah", + "transliteratedName": "Az-Zumar", + "versesCount": 75, + "translatedName": "Rombongan-Rombongan", + "slug": "az-zumar" + }, + "40": { + "revelationPlace": "makkah", + "transliteratedName": "Ghaafir (Al-Mu'min)", + "versesCount": 85, + "translatedName": "Yang Mengampuni", + "slug": "ghafir" + }, + "41": { + "revelationPlace": "makkah", + "transliteratedName": "Fussilat", + "versesCount": 54, + "translatedName": "Yang Dijelaskan", + "slug": "fussilat" + }, + "42": { + "revelationPlace": "makkah", + "transliteratedName": "Asy-Syura", + "versesCount": 53, + "translatedName": "Musyawarah", + "slug": "ash-shuraa" + }, + "43": { + "revelationPlace": "makkah", + "transliteratedName": "Az-Zukhruf", + "versesCount": 89, + "translatedName": "Perhiasan", + "slug": "az-zukhruf" + }, + "44": { + "revelationPlace": "makkah", + "transliteratedName": "Ad-Dukhaan", + "versesCount": 59, + "translatedName": "Kabut", + "slug": "ad-dukhan" + }, + "45": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Jaathiyah", + "versesCount": 37, + "translatedName": "Yang Berlutut", + "slug": "al-jathiyah" + }, + "46": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ahqaaf", + "versesCount": 35, + "translatedName": "Bukit-Bukit Pasir", + "slug": "al-ahqaf" + }, + "47": { + "revelationPlace": "madinah", + "transliteratedName": "Muhammad", + "versesCount": 38, + "translatedName": "Muhammad", + "slug": "muhammad" + }, + "48": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Fat-h", + "versesCount": 29, + "translatedName": "Kemenangan", + "slug": "al-fath" + }, + "49": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Hujuraat", + "versesCount": 18, + "translatedName": "Kamar-Kamar", + "slug": "al-hujurat" + }, + "50": { + "revelationPlace": "makkah", + "transliteratedName": "Qaaf", + "versesCount": 45, + "translatedName": "Qaf", + "slug": "qaf" + }, + "51": { + "revelationPlace": "makkah", + "transliteratedName": "Adz-Dzaariyaat", + "versesCount": 60, + "translatedName": "Angin Yang Menerbangkan", + "slug": "adh-dhariyat" + }, + "52": { + "revelationPlace": "makkah", + "transliteratedName": "At-Tuur", + "versesCount": 49, + "translatedName": "Bukit", + "slug": "at-tur" + }, + "53": { + "revelationPlace": "makkah", + "transliteratedName": "An-Najm", + "versesCount": 62, + "translatedName": "Bintang", + "slug": "an-najm" + }, + "54": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qamar", + "versesCount": 55, + "translatedName": "Bulan", + "slug": "al-qamar" + }, + "55": { + "revelationPlace": "madinah", + "transliteratedName": "Ar-Rahmaan", + "versesCount": 78, + "translatedName": "Yang Maha Pemurah", + "slug": "ar-rahman" + }, + "56": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Waaqi'ah", + "versesCount": 96, + "translatedName": "Hari Kiamat", + "slug": "al-waqiah" + }, + "57": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Hadiid", + "versesCount": 29, + "translatedName": "Besi", + "slug": "al-hadid" + }, + "58": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Mujaadalah", + "versesCount": 22, + "translatedName": "Wanita Yang Mengajukan Gugatan", + "slug": "al-mujadila" + }, + "59": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Hasyr", + "versesCount": 24, + "translatedName": "Pengusiran", + "slug": "al-hashr" + }, + "60": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Mumtahanah", + "versesCount": 13, + "translatedName": "Wanita Yang Diuji", + "slug": "al-mumtahanah" + }, + "61": { + "revelationPlace": "madinah", + "transliteratedName": "As-Saff", + "versesCount": 14, + "translatedName": "Barisan", + "slug": "as-saf" + }, + "62": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Jumu'ah", + "versesCount": 11, + "translatedName": "Hari Jumaat", + "slug": "al-jumuah" + }, + "63": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Munaafiquun", + "versesCount": 11, + "translatedName": "Orang-Orang Munafik", + "slug": "al-munafiqun" + }, + "64": { + "revelationPlace": "madinah", + "transliteratedName": "At-Taghaabun", + "versesCount": 18, + "translatedName": "Hari Ditampakkan Kesalahan-Kesalahan", + "slug": "at-taghabun" + }, + "65": { + "revelationPlace": "madinah", + "transliteratedName": "At-Talaaq", + "versesCount": 12, + "translatedName": "Perceraian", + "slug": "at-talaq" + }, + "66": { + "revelationPlace": "madinah", + "transliteratedName": "At-Tahriim", + "versesCount": 12, + "translatedName": "Pengharaman", + "slug": "at-tahrim" + }, + "67": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Mulk", + "versesCount": 30, + "translatedName": "Kerajaan", + "slug": "al-mulk" + }, + "68": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qalam", + "versesCount": 52, + "translatedName": "Pena", + "slug": "al-qalam" + }, + "69": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Haaqqah", + "versesCount": 52, + "translatedName": "Hari Kiamat", + "slug": "al-haqqah" + }, + "70": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ma'aarij", + "versesCount": 44, + "translatedName": "Tempat-Tempat Naik", + "slug": "al-maarij" + }, + "71": { + "revelationPlace": "makkah", + "transliteratedName": "Nuh", + "versesCount": 28, + "translatedName": "Nuh", + "slug": "nuh" + }, + "72": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Jinn", + "versesCount": 28, + "translatedName": "Jin", + "slug": "al-jinn" + }, + "73": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Muzzammil", + "versesCount": 20, + "translatedName": "Orang Yang Berselimut", + "slug": "al-muzzammil" + }, + "74": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Muddaththir", + "versesCount": 56, + "translatedName": "Orang Yang Berkemul", + "slug": "al-muddaththir" + }, + "75": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qiyamah", + "versesCount": 40, + "translatedName": "Hari Kiamat", + "slug": "al-qiyamah" + }, + "76": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Insaan", + "versesCount": 31, + "translatedName": "Manusia", + "slug": "al-insan" + }, + "77": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Mursalaat", + "versesCount": 50, + "translatedName": "Malaikat-Malaikat Yang Diutus", + "slug": "al-mursalat" + }, + "78": { + "revelationPlace": "makkah", + "transliteratedName": "An-Naba'", + "versesCount": 40, + "translatedName": "Berita Besar", + "slug": "an-naba" + }, + "79": { + "revelationPlace": "makkah", + "transliteratedName": "An-Naazi'aat", + "versesCount": 46, + "translatedName": "Malaikat-Malaikat Yang Mencabut", + "slug": "an-naziat" + }, + "80": { + "revelationPlace": "makkah", + "transliteratedName": "'Abasa", + "versesCount": 42, + "translatedName": "Ia Bermuka Masam", + "slug": "abasa" + }, + "81": { + "revelationPlace": "makkah", + "transliteratedName": "At-Takwiir", + "versesCount": 29, + "translatedName": "Menggulung", + "slug": "at-takwir" + }, + "82": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Infitaar", + "versesCount": 19, + "translatedName": "Terbelah", + "slug": "al-infitar" + }, + "83": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Mutaffifiin", + "versesCount": 36, + "translatedName": "Orang-Orang Yang Curang", + "slug": "al-mutaffifin" + }, + "84": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Insyiqaaq", + "versesCount": 25, + "translatedName": "Terbelah", + "slug": "al-inshiqaq" + }, + "85": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Buruuj", + "versesCount": 22, + "translatedName": "Gugusan Bintang", + "slug": "al-buruj" + }, + "86": { + "revelationPlace": "makkah", + "transliteratedName": "At-Taariq", + "versesCount": 17, + "translatedName": "Yang Datang Di Malam Hari", + "slug": "at-tariq" + }, + "87": { + "revelationPlace": "makkah", + "transliteratedName": "Al-A'laa", + "versesCount": 19, + "translatedName": "Yang Paling Tinggi", + "slug": "al-ala" + }, + "88": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ghaasyiyah", + "versesCount": 26, + "translatedName": "Hari Pembalasan", + "slug": "al-ghashiyah" + }, + "89": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Fajr", + "versesCount": 30, + "translatedName": "Fajar", + "slug": "al-fajr" + }, + "90": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Balad", + "versesCount": 20, + "translatedName": "Negeri", + "slug": "al-balad" + }, + "91": { + "revelationPlace": "makkah", + "transliteratedName": "Asy-Syams", + "versesCount": 15, + "translatedName": "Matahari", + "slug": "ash-shams" + }, + "92": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Lail", + "versesCount": 21, + "translatedName": "Malam", + "slug": "al-layl" + }, + "93": { + "revelationPlace": "makkah", + "transliteratedName": "Adh-Dhuha", + "versesCount": 11, + "translatedName": "Waktu Dhuha", + "slug": "ad-duhaa" + }, + "94": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Insyiraah", + "versesCount": 8, + "translatedName": "Melapangkan", + "slug": "ash-sharh" + }, + "95": { + "revelationPlace": "makkah", + "transliteratedName": "At-Tiin", + "versesCount": 8, + "translatedName": "Buah Tin", + "slug": "at-tin" + }, + "96": { + "revelationPlace": "makkah", + "transliteratedName": "Al-'Alaq", + "versesCount": 19, + "translatedName": "Segumpal Darah", + "slug": "al-alaq" + }, + "97": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qadr", + "versesCount": 5, + "translatedName": "Kemuliaan", + "slug": "al-qadr" + }, + "98": { + "revelationPlace": "madinah", + "transliteratedName": "Al-Bayyinah", + "versesCount": 8, + "translatedName": "Bukti Yang Nyata", + "slug": "al-bayyinah" + }, + "99": { + "revelationPlace": "madinah", + "transliteratedName": "Az-Zalzalah", + "versesCount": 8, + "translatedName": "Kegoncangan", + "slug": "az-zalzalah" + }, + "100": { + "revelationPlace": "makkah", + "transliteratedName": "Al-'Aadiyaat", + "versesCount": 11, + "translatedName": "Kuda Perang Yang Berlari Kencang", + "slug": "al-adiyat" + }, + "101": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Qaari'ah", + "versesCount": 11, + "translatedName": "Hari Kiamat", + "slug": "al-qariah" + }, + "102": { + "revelationPlace": "makkah", + "transliteratedName": "At-Takaathur", + "versesCount": 8, + "translatedName": "Bermegah-Megahan", + "slug": "at-takathur" + }, + "103": { + "revelationPlace": "makkah", + "transliteratedName": "Al-'Asr", + "versesCount": 3, + "translatedName": "Masa", + "slug": "al-asr" + }, + "104": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Humazah", + "versesCount": 9, + "translatedName": "Pengumpat", + "slug": "al-humazah" + }, + "105": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Fiil", + "versesCount": 5, + "translatedName": "Gajah", + "slug": "al-fil" + }, + "106": { + "revelationPlace": "makkah", + "transliteratedName": "Quraisy", + "versesCount": 4, + "translatedName": "Quraish", + "slug": "quraysh" + }, + "107": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Maa'uun", + "versesCount": 7, + "translatedName": "Barang-Barang Yang Berguna", + "slug": "al-maun" + }, + "108": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Kauthar", + "versesCount": 3, + "translatedName": "Nikmat Yang Berlimpah", + "slug": "al-kawthar" + }, + "109": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Kaafiruun", + "versesCount": 6, + "translatedName": "Orang-Orang Kafir", + "slug": "al-kafirun" + }, + "110": { + "revelationPlace": "madinah", + "transliteratedName": "An-Nasr", + "versesCount": 3, + "translatedName": "Pertolongan", + "slug": "an-nasr" + }, + "111": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Masad", + "versesCount": 5, + "translatedName": "Sabut", + "slug": "al-masad" + }, + "112": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Ikhlaas", + "versesCount": 4, + "translatedName": "Ikhlas", + "slug": "al-ikhlas" + }, + "113": { + "revelationPlace": "makkah", + "transliteratedName": "Al-Falaq", + "versesCount": 5, + "translatedName": "Waktu Subuh", + "slug": "al-falaq" + }, + "114": { + "revelationPlace": "makkah", + "transliteratedName": "An-Naas", + "versesCount": 6, + "translatedName": "Manusia", + "slug": "an-nas" + } +} diff --git a/quranic-calendar.json b/data/quranic-calendar.json similarity index 100% rename from quranic-calendar.json rename to data/quranic-calendar.json diff --git a/locales/ar/common.json b/locales/ar/common.json index 1019ea7c50..e1d0ab250e 100644 --- a/locales/ar/common.json +++ b/locales/ar/common.json @@ -200,7 +200,7 @@ "description": "تساعدنا التبرعات الشهرية على تحسين موقع Quran.com واستدامة العمليات حتى نركز بشكل أقل على جمع التبرعات وأكثر على إحداث التأثير.", "title": "كن متبرعا شهريا" }, - "hear-it-pronounced": "انقر على أي كلمة، واستمع إلى نطقها!", + "hear-it-pronounced": "اضغط على الكلمات القرآنية واستمع إلى النطق", "help": "مساعدة", "hizb": "حزب", "home": "الصفحة الرئيسة", diff --git a/locales/ar/learn.json b/locales/ar/learn.json index 9c454f2d3b..ed31ef8724 100644 --- a/locales/ar/learn.json +++ b/locales/ar/learn.json @@ -9,6 +9,7 @@ "coming-soon": "قريباً...", "completed": "مكتمل", "continue-learning": "مواصلة التعلم", + "contributors": "المساهمون", "day": "اليوم", "description": "الوصف", "duration-daily": "يستغرق كل درس قصير أقل من {{dailyMins}} دقيقة لإكمال {{days}} دروس إجمالية", diff --git a/locales/bn/common.json b/locales/bn/common.json index 317357f8e2..f63e3efba4 100644 --- a/locales/bn/common.json +++ b/locales/bn/common.json @@ -200,7 +200,7 @@ "description": "মাসিক অনুদান আমাদেরকে Quran.com এর উন্নতি করতে এবং ক্রিয়াকলাপগুলিকে টিকিয়ে রাখতে সাহায্য করে যাতে আমরা তহবিল সংগ্রহে কম এবং প্রভাব তৈরিতে আরও বেশি ফোকাস করি।", "title": "একজন মাসিক দাতা হন" }, - "hear-it-pronounced": "কোন শব্দ ক্লিক করুন, এটি উচ্চারণ শুনতে!", + "hear-it-pronounced": "কুরআনের শব্দে ক্লিক করুন, উচ্চারণ শুনুন", "help": "সাহায্য", "hizb": "হিযব", "home": "বাড়ি", diff --git a/locales/bn/learn.json b/locales/bn/learn.json index 18e99a3b48..7d7ed8df1d 100644 --- a/locales/bn/learn.json +++ b/locales/bn/learn.json @@ -9,6 +9,7 @@ "coming-soon": "শীঘ্রই আসছে...", "completed": "সম্পন্ন", "continue-learning": "শেখা চালিয়ে যান", + "contributors": "অবদানকারী", "day": "দিন", "description": "বর্ণনা", "duration-daily": "প্রতিটি ছোট পাঠের মোট {{days}} টি পাঠ শেষ হতে {{dailyMins}} মিনিটেরও কম সময় লাগে", @@ -18,7 +19,7 @@ "enrolled": "নথিভুক্ত", "feedback": { "add-feedback": "প্রতিক্রিয়া যোগ করুন", - "desc": "অভিনন্দন! আপনি ' {{courseName}} ' শেখার পরিকল্পনা সম্পূর্ণ করেছেন৷

অনুগ্রহ করে শেখার পরিকল্পনা পর্যালোচনা করুন এবং বিষয়বস্তু উন্নত করতে আমাদের সাহায্য করার জন্য আপনার মতামত শেয়ার করুন।", + "desc": "অভিনন্দন! আপনি ' {{courseName}} ' শেখার পরিকল্পনা সম্পূর্ণ করেছেন৷

অনুগ্রহ করে শেখার পরিকল্পনা পর্যালোচনা করুন এবং বিষয়বস্তু উন্নত করতে আমাদের সাহায্য করার জন্য আপনার মতামত শেয়ার করুন।", "feedback-placeholder": "আপনার মতামত লিখুন", "feedback-success": "আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ!", "your-feedback": "আপনার প্রতিক্রিয়া" diff --git a/locales/en/common.json b/locales/en/common.json index 6f51a63cf0..c4a8d56e5b 100644 --- a/locales/en/common.json +++ b/locales/en/common.json @@ -200,7 +200,7 @@ "description": "Monthly donations help us improve Quran.com and sustain operations so we focus less on fundraising and more on creating impact.", "title": "Become A Monthly Donor" }, - "hear-it-pronounced": "Click any word, hear it pronounced!", + "hear-it-pronounced": "Click Quranic words, hear pronunciation", "help": "Help", "hizb": "Hizb", "home": "Home", diff --git a/locales/en/learn.json b/locales/en/learn.json index f7d7a8c724..3fb7616e06 100644 --- a/locales/en/learn.json +++ b/locales/en/learn.json @@ -9,6 +9,7 @@ "coming-soon": "Coming Soon...", "completed": "Completed", "continue-learning": "Continue Learning", + "contributors": "Contributors", "day": "Day", "description": "Description", "duration-daily": "Each short Lesson takes less than {{dailyMins}} minutes to complete {{days}} Lessons total", diff --git a/locales/fa/common.json b/locales/fa/common.json index b52ff73a39..623f4c484d 100644 --- a/locales/fa/common.json +++ b/locales/fa/common.json @@ -200,7 +200,7 @@ "description": "کمک‌های ماهیانه به ما کمک می‌کند تا Quran.com را بهبود بخشیم و عملیات‌ها را حفظ کنیم، بنابراین کمتر روی جمع‌آوری کمک‌های مالی و بیشتر بر ایجاد تأثیر تمرکز می‌کنیم.", "title": "یک اهدا کننده ماهانه شوید" }, - "hear-it-pronounced": "روی هر کلمه ای کلیک کنید، تلفظ آن را بشنوید!", + "hear-it-pronounced": "کلمات قرآنی را کلیک کنید، تلفظ را بشنوید", "help": "کمک", "hizb": "حزب", "home": "صفحه اصلی", diff --git a/locales/fa/learn.json b/locales/fa/learn.json index 689dcb842b..74c4273467 100644 --- a/locales/fa/learn.json +++ b/locales/fa/learn.json @@ -9,6 +9,7 @@ "coming-soon": "به زودی...", "completed": "تکمیل شد", "continue-learning": "به یادگیری ادامه دهید", + "contributors": "مشارکت کنندگان", "day": "روز", "description": "شرح", "duration-daily": "هر درس کوتاه کمتر از {{dailyMins}} دقیقه طول می‌کشد تا {{days}} کل دروس تکمیل شود.", @@ -18,7 +19,7 @@ "enrolled": "ثبت نام کرد", "feedback": { "add-feedback": "افزودن بازخورد", - "desc": "تبریک می گویم! شما طرح یادگیری \" {{courseName}} \" را تکمیل کرده اید.

لطفاً طرح یادگیری را مرور کنید و بازخورد خود را برای کمک به ما در بهبود محتوا به اشتراک بگذارید.", + "desc": "تبریک می گویم! شما طرح یادگیری \" {{courseName}} \" را تکمیل کرده اید.

لطفاً طرح یادگیری را مرور کنید و بازخورد خود را برای کمک به ما در بهبود محتوا به اشتراک بگذارید.", "feedback-placeholder": "بازخورد خود را بنویسید", "feedback-success": "با تشکر از شما برای بازخورد شما!", "your-feedback": "بازخورد شما" diff --git a/locales/fr/about-quran.json b/locales/fr/about-quran.json index 72ca0967e8..2401d20557 100644 --- a/locales/fr/about-quran.json +++ b/locales/fr/about-quran.json @@ -1,5 +1,5 @@ { - "about-quran-cta": "Commencez à lire le Coran", - "about-quran-desc": "Qu'est-ce que le Coran ? Trouvez des réponses aux questions clés et des conseils sur la façon de l'explorer", - "about-the-quran": "À propos du Coran" -} \ No newline at end of file + "about-quran-cta": "Commencer la lecture du Coran", + "about-quran-desc": "Qu'est-ce que le Coran ? Trouvez des réponses aux questions clés et des conseils sur la façon de l'explorer", + "about-the-quran": "À propos du Coran" +} diff --git a/locales/fr/about.json b/locales/fr/about.json index 947e97b36d..15bba97d95 100644 --- a/locales/fr/about.json +++ b/locales/fr/about.json @@ -1,14 +1,14 @@ { - "credits": { - "desc": "Ce projet n'aurait pas été possible sans les nombreuses bibliothèques et projets open source que nous avons utilisés :", - "lokalize": "<0> Lokalize <\/0> : Un système de traduction assistée par ordinateur qui met l'accent sur la productivité et l'assurance qualité et fournit un flux de travail de localisation transparent.", - "quran-align": "<0> Collin Fair <\/0> : Un outil pour produire une segmentation précise des mots de la récitation coranique enregistrée.", - "quran-complex": "<0> QuranComplex <\/0> : King Fahd Glorious Qur'an Printing Complex est un chef de file au service du Glorieux Coran et de ses sciences, en traduisant ses significations et en protégeant le texte coranique de la distorsion, grâce à l'utilisation optimale de technologies de pointe dans le domaine de l'impression, des enregistrements audio, de l'édition électronique et des applications numériques.", - "quran-enc": "<0> QuranEnc <\/0> : Un portail proposant des traductions gratuites et fiables des significations et des exégèses du noble Coran dans de nombreuses langues du monde.", - "tanzil": "<0> Tanzil <\/0> : Un projet coranique international visant à fournir un texte coranique précis hautement vérifié.", - "title": "Crédits", - "vercel": "<0> Vercel <\/0> : est une plate-forme de déploiement et de collaboration pour les développeurs front-end qui place le développeur front-end en premier, en leur donnant des outils complets pour créer des sites Web et des applications hautes performances.", - "zekr": "<0> Zekr <\/0> : Un outil d'étude du Coran à plate-forme ouverte pour la navigation et la recherche sur le Coran" - }, - "main-description": "Quran.com a été fondé en 1995. Le site Web vise à faciliter la lecture, l'étude et l'apprentissage du Coran pour tous. Le projet est open source et est construit comme une collaboration entre les membres de l'équipe principale et l'équipe <0> Tarteel <\/0> ." -} \ No newline at end of file + "credits": { + "desc": "Ce projet n'aurait pas été possible sans les nombreuses bibliothèques et projets open source que nous avons utilisés :", + "lokalize": "<0>Lokalize : Un système de traduction assistée par ordinateur qui met l'accent sur la productivité et l'assurance qualité et fournit un flux de travail de localisation transparent.", + "quran-align": "<0>Collin Fair : Un outil pour produire une segmentation précise des mots de la récitation Coranique enregistrée.", + "quran-complex": "<0>QuranComplex : King Fahd Glorious Qur'an Printing Complex est un chef de file au service du Glorieux Coran et de ses sciences, en traduisant ses significations et en protégeant le texte Coranique de la distorsion, grâce à l'utilisation optimale de technologies de pointe dans le domaine de l'impression, des enregistrements audio, de l'édition électronique et des applications numériques.", + "quran-enc": "<0>QuranEnc : Un portail proposant des traductions gratuites et fiables des significations et des exégèses du Coran dans de nombreuses langues du monde.", + "tanzil": "<0>Tanzil : Un projet Coranique international visant à fournir un texte Coranique précis hautement vérifié.", + "title": "Crédits", + "vercel": "<0>Vercel: est une plate-forme de déploiement et de collaboration pour les développeurs front-end, qui leurs donne la priorité en leur fournissant des outils complets pour créer des sites Web et des applications hautes performances.", + "zekr": "<0>Zekr : Un outil d'étude du Coran sur une plateforme ouverte pour la navigation et la recherche sur le Coran" + }, + "main-description": "Quran.com a été fondé en 1995. Le site Web vise à faciliter la lecture, l'étude et l'apprentissage du Coran pour tous. Le projet est open source et est construit comme une collaboration entre les membres de l'équipe principale et l'équipe <0>Tarteel ." +} diff --git a/locales/fr/apps.json b/locales/fr/apps.json index 95dc9b67f1..ef67e5e38f 100644 --- a/locales/fr/apps.json +++ b/locales/fr/apps.json @@ -1,4 +1,4 @@ { - "quran-desc": "Par les principaux développeurs de Quran.com, viennent les belles applications iOS et Android mushaf sans publicité. Il est désormais plus facile de lire le Coran en déplacement, de le mémoriser et d'écouter vos récitants préférés.", - "tarteel-desc": "Tarteel est la première application du Coran à utiliser des outils d'intelligence artificielle pour interagir avec votre récitation et mettre en évidence les erreurs. Un compagnon du Coran guidé par la voix dans la paume de vos mains, Tarteel fonctionne intuitivement pour vous aider à lire, réciter, mémoriser et comprendre le Coran en toute confiance ! <0><\/0><0><\/0> Tarteel est fier d'être un développeur principal de Quran.com ainsi qu'un membre de leur conseil de gouvernance." -} \ No newline at end of file + "quran-desc": "Les développeurs de Quran.com ont conçus de belles applications de mushaf, sans publicité, pour iOS et Android. Il est désormais plus facile de lire, écouter et mémoriser le Coran en déplacement.", + "tarteel-desc": "Tarteel est la première application du Coran à utiliser des outils d'intelligence artificielle pour interagir avec votre récitation et mettre en évidence les erreurs. Un compagnon du Coran guidé par la voix dans la paume de vos mains, Tarteel fonctionne intuitivement pour vous aider à lire, réciter, mémoriser et comprendre le Coran en toute confiance ! <0><0>Tarteel est fier d'être un développeur principal de Quran.com ainsi qu'un membre de leur conseil d'administration." +} diff --git a/locales/fr/chapter.json b/locales/fr/chapter.json index db911088ac..d19bc9e4c8 100644 --- a/locales/fr/chapter.json +++ b/locales/fr/chapter.json @@ -1,4 +1,4 @@ { - "meta-description": "Lisez et écoutez la sourate {{transliteratedName}} qui a été révélée dans {{revelationPlace}} , ordonnée {{chapterOrder}} dans le Coran. Le titre de la sourate signifie \"{{translatedName}}\" dans {{localeName}} et se compose de {{versesCount}} versets.", - "ranges-meta-desc": "Lisez et écoutez d'Ayah {{rangeFrom}} à Ayah {{rangeTo}} ." + "meta-description": "Lisez et écoutez la Sourate {{transliteratedName}} qui a été révélée à {{revelationPlace}}, ordonnée {{chapterOrder}} dans le Coran. Le titre de la sourate signifie \"{{translatedName}}\" dans {{localeName}} et se compose de {{versesCount}} Ayahs.", + "ranges-meta-desc": "Lire et écouter à partir de l'Ayah {{rangeFrom}} à {{rangeTo}}." } diff --git a/locales/fr/collection.json b/locales/fr/collection.json index 5ac3f33135..ea0b2f15f7 100644 --- a/locales/fr/collection.json +++ b/locales/fr/collection.json @@ -1,23 +1,23 @@ { - "all-saved-verses": "Tous les versets enregistrés", - "alphabetical": "AZ", + "all-saved-verses": "Toutes les Ayahs enregistrées", + "alphabetical": "A-Z", "back-to-collection-list": "Retour à la liste des collections", - "collapse-all": "Réduire tous les versets", - "collection-list-empty": "La liste de collecte est vide. Vous n'avez pas encore créé de collection", + "collapse-all": "Replier toutes les Ayahs", + "collection-list-empty": "La liste des collections est vide. Vous n'avez pas encore créé de collection", "collections": "Collections", "delete-bookmark": { - "subtitle": "Voulez-vous vraiment supprimer {{bookmarkName}} de {{collectionName}} ?", - "title": "Supprimer le signet" + "subtitle": "Voulez-vous vraiment supprimer {{bookmarkName}} de la collection {{collectionName}} ?", + "title": "Supprimer le favori" }, "delete-collection": { - "subtitle": "Voulez-vous vraiment supprimer la {{collectionName}} ?", + "subtitle": "Voulez-vous vraiment supprimer la collection {{collectionName}} ?", "title": "Supprimer la collection" }, "empty": "La collection est vide", - "expand-all": "Développer tous les versets", - "go-to-ayah": "Allez à ayah", + "expand-all": "Déplier toutes les Ayahs", + "go-to-ayah": "Allez à l'Ayah", "load-more": "Charger plus", "recently-added": "Récemment ajouté", "recently-updated": "Récemment mis à jour", - "verse-key": "Numéro de chapitre et de verset" + "verse-key": "Numéro de chapitre et d'Ayah" } diff --git a/locales/fr/common.json b/locales/fr/common.json index c0b521f127..e1c620409e 100644 --- a/locales/fr/common.json +++ b/locales/fr/common.json @@ -200,7 +200,7 @@ "description": "Les dons mensuels nous aident à améliorer Quran.com, et à maintenir notre projet. Ces dons nous permettent de nous concentrer sur l'amélioration continue de Quran.com, plutôt que sur la collecte de fonds.", "title": "Devenir un donateur mensuel" }, - "hear-it-pronounced": "Cliquez sur n’importe quel mot et écoutez-le prononcé !", + "hear-it-pronounced": "Cliquez sur les mots coraniques et écoutez leur prononciation", "help": "Aider", "hizb": "Hizb", "home": "Accueil", diff --git a/locales/fr/developers.json b/locales/fr/developers.json index 5fbc8900e3..c5ca2a434a 100644 --- a/locales/fr/developers.json +++ b/locales/fr/developers.json @@ -1,20 +1,20 @@ { - "footer": "- L'équipe Coran.com", - "header": "Aide au développement", - "issues-cta": "Si vous avez des questions ou si vous souhaitez contacter les responsables, écrivez simplement un problème ! Nous vous répondrons dans les plus brefs délais, inch Allah.", - "issues-guide": "Typiquement, nous utilisons <0> projets Github <\/0> comme source pour ce sur quoi travailler ensuite, ce qui va arriver et quels bogues existent qui doivent être résolus. Par exemple <1> cette URL <\/1> contient une liste de bogues, des choses pour lesquelles nous avons besoin d'aide et des fonctionnalités à venir.", - "main-desc": "Asalamu Alykom, Tout d'abord, merci beaucoup pour votre intérêt à nous aider à développer Quran.com et ses projets. Nous sommes ravis de travailler avec vous !", - "projects": { - "all": "Nous avons un certain nombre de projets tous hébergés sur Github. Vous pouvez les trouver tous <0> ici <\/0> . Mais pour les décrire :", - "q-android": "<0> Coran Android <\/0>", - "q-api": "<0> API Quran.com <\/0> - écrite en Ruby on Rails.", - "q-api-docs": "<0> Quran.com API Docs <\/0> - Notre portail de documentation API.", - "q-audio": "<0> Coranic Audio <\/0> et <1> Applications mobiles Coranic Audio <\/1>", - "q-audio-segments": "<0> Segments audio du Coran <\/0>", - "q-ios": "<0> Coran iOS <\/0>", - "q-next": "<0> Quran.com Frontend <\/0> - écrit en Next.js.", - "q-v2": "<0> Quran.com <\/0> - écrit en Ruby on Rails." - }, - "sub-main-desc": "Nous sommes une équipe de développeurs, de designers, de chefs de produits et de penseurs travaillant bénévolement sur Quran.com. Alhamdulilah, nous avons eu la chance de travailler pour de grandes entreprises dans la Silicon Valley, à Toronto et aux Émirats arabes unis - et nous pensons que c'est le moins que nous puissions faire pour aider notre Ummah à progresser dans l'apprentissage et l'étude de leur religion. Travailler sur Quran.com est très gratifiant et qu'Allah nous récompense tous (et vous récompense) pour nos efforts.", - "thanks": "Merci d'avoir lu! Au plaisir de vous voir commiter du code !" -} \ No newline at end of file + "footer": "- L'équipe Quran.com", + "header": "Aide au développement", + "issues-cta": "Si vous avez des questions ou si vous souhaitez contacter les responsables, écrivez simplement un problème ! Nous vous répondrons dans les plus brefs délais, inch Allah.", + "issues-guide": "Typiquement, nous nous inspirons de <0>projets Github pour bâtir de nouvelles fonctionnalités, et corriger les bugs. Par exemple, <1>cette URL contient une liste de bugs, des choses pour lesquelles nous avons besoin d'aide et des fonctionnalités à venir.", + "main-desc": "Merci pour votre contribution au développement de Quran.com et ses projets. Nous sommes ravis de travailler avec vous !", + "projects": { + "all": "Nous avons des projets hébergés sur Github, consultables <0>ici. Mais pour les décrire succintement :", + "q-android": "<0>Quran Android - écrit en Kotlin et Java", + "q-api": "<0>API Quran.com - écrite en Ruby on Rails.", + "q-api-docs": "<0>Quran.com API Docs - Notre portail de documentation API.", + "q-audio": "<0>Quranic Audio et <1>Quranic Audio mobile apps", + "q-audio-segments": "<0>Quran Audio Segments", + "q-ios": "<0>Quran iOS - écrit en Swift.", + "q-next": "<0>Quran.com Frontend - écrit en Next.js.", + "q-v2": "<0>Quran.com - écrit en Ruby on Rails." + }, + "sub-main-desc": "Nous sommes une équipe de développeurs, de designers, de chefs de produits et d'ingénieurs travaillant bénévolement sur Quran.com. Alhamdulillah, nous avons eu la chance de travailler pour de grandes entreprises dans la Silicon Valley, à Toronto et aux Émirats arabes unis - et nous pensons que c'est le moins que nous puissions faire pour aider notre Ummah à progresser dans l'apprentissage et l'étude de leur religion. Travailler sur Quran.com est très gratifiant; qu'Allah nous récompense tous (et vous récompense) pour nos efforts.", + "thanks": "Nous attendons avec impatience votre contribution !" +} diff --git a/locales/fr/error.json b/locales/fr/error.json index abde9312a4..fc02ff0e79 100644 --- a/locales/fr/error.json +++ b/locales/fr/error.json @@ -1,6 +1,6 @@ { - "go-back": "Retourner", - "if-persist": "Si le problème persiste, veuillez", - "report-cta": "signaler un bug", - "title": "Désolé, quelque chose s'est mal passé" -} \ No newline at end of file + "go-back": "Retour", + "if-persist": "Si le problème persiste, veuillez", + "report-cta": "signaler un bug", + "title": "Désolé, quelque chose s'est mal passé" +} diff --git a/locales/fr/home.json b/locales/fr/home.json index cbeae886db..88443bc611 100644 --- a/locales/fr/home.json +++ b/locales/fr/home.json @@ -17,16 +17,16 @@ }, "quran-reading-goals": { "desc": { - "logged-out": "Voulez-vous lire 10 minutes par jour, terminer un Juz en un mois ou terminer le Coran en entier en un an ? Il est facile de créer un objectif personnalisé et de suivre vos progrès" + "logged-out": "Voulez-vous lire 10 minutes par jour, terminer un Juz en un mois, ou terminer le Coran en un an ? Il est facile de de définir un objectif personnalisé et de suivre vos progrès" }, "title": "Objectifs personnalisés pour la lecture du Coran" }, "title": "Voyage de Développement Spirituel avec le Coran" }, - "ramadan-activities-cta": " Suivez le Calendrier coranique mondial <\/b> pour des lectures hebdomadaires, des podcasts inspirants et un appel à la réflexion ! <\/link>", + "ramadan-activities-cta": " Suivez le Calendrier Coranique mondial pour des lectures hebdomadaires, des podcasts inspirants et un appel à la réflexion ! ", "read-juz": "Lire Juz", "recently-read": "Lu récemment", - "revelation-order-disclaimer": "Cette vue montre l'ordre chronologique des Sourates dans le Coran en fonction du moment où elles ont été révélées au Prophète Muhammad ﷺ<\/hover> . La chronologie est un sujet d'opinion scientifique et certaines Sourates ont été révélées en parties à des moments différents. L'ordre est basé sur le travail de Tanzil.net<\/link>. [Remarque : l'ordre du Mushaf (entre les Sourates Al-Fatiha et Al-Nas) est une question de consensus.]", + "revelation-order-disclaimer": "Cette vue montre l'ordre chronologique des Sourates dans le Coran en fonction du moment où elles ont été révélées au Prophète Muhammad . La chronologie est un sujet d'opinion scientifique et certaines Sourates ont été révélées en parties à des moments différents. L'ordre est basé sur le travail de Tanzil.net. [Remarque : l'ordre du Mushaf (entre les Sourates Al-Fatiha et Al-Nas) est une question de consensus.]", "tab": { "bookmarks": "Favoris", "popular": "Populaire" diff --git a/locales/fr/learn.json b/locales/fr/learn.json index 5785a5e1ba..1b9f443350 100644 --- a/locales/fr/learn.json +++ b/locales/fr/learn.json @@ -1,41 +1,42 @@ { - "about-author": "A propos de l'auteur", + "about-author": "À propos de l'auteur", "add-reflection": "Ajouter une réflexion", "all-learning-plans": "Tous les plans d'apprentissage", "author": "Auteur", - "back-to-learning-plan": "Retour au plan d'apprentissage", + "back-to-learning-plan": "Retour au Plan d'Apprentissage", "back-to-learning-plans": "Retour aux plans d'apprentissage", "category": "Catégorie", - "coming-soon": "À venir...", + "coming-soon": "Bientôt disponible...", "completed": "Complété", "continue-learning": "Continuer l'apprentissage", + "contributors": "Contributeurs", "day": "Jour", "description": "Description", - "duration-daily": "Chaque courte leçon prend moins de {{dailyMins}} minutes pour compléter {{days}} leçons au total", - "empty-learning-plans": "Vous n'êtes pas encore inscrit à un plan de formation .", - "enroll": "Inscrire", + "duration-daily": "Les leçons courtes prennent moins de {{dailyMins}} minute(s) pour compléter {{days}} leçon(s) au total", + "empty-learning-plans": "Vous n'êtes pas encore inscrit(e) à un plan d'Apprentissage.", + "enroll": "S'inscrire", "enroll-success": "Félicitations, vous avez ajouté {{title}} à votre liste !", - "enrolled": "Inscrit", + "enrolled": "Inscrit(e)", "feedback": { - "add-feedback": "Ajouter des commentaires", - "desc": "Toutes nos félicitations! Vous avez terminé le plan d'apprentissage ' {{courseName}} '.

Veuillez consulter le plan d'apprentissage et partager vos commentaires pour nous aider à améliorer le contenu.", - "feedback-placeholder": "Écrivez vos commentaires", - "feedback-success": "Merci pour votre avis!", - "your-feedback": "Vos réactions" + "add-feedback": "Ajouter un avis", + "desc": "Félicitations ! Vous avez terminé le Plan d'Apprentissage '{{courseName}}'.

Veuillez consulter le plan d'apprentissage et partager vos avis pour nous aider à améliorer le contenu.", + "feedback-placeholder": "Écrivez vos avis", + "feedback-success": "Merci pour votre avis !", + "your-feedback": "Vos avis" }, "learn-duration": "Durée", - "learning-plan-material": "Matériel du plan d’apprentissage", - "learning-plan-meta-desc": "Ce plan d'apprentissage vous aidera à transformer la façon dont vous vous engagez dans le Coran. Commencez votre voyage dès aujourd'hui !", - "learning-plans-desc": "Améliorez vos connaissances avec des leçons faciles à suivre qui vous permettront de progresser dans votre voyage avec le Coran.

Commencez un plan d'apprentissage dès aujourd'hui ! Votre progression est suivie jusqu'à ce que vous atteigniez la ligne d'arrivée.", - "learning-plans-meta-desc": "Les plans d'apprentissage de Quran.com vous aideront à transformer la façon dont vous vous engagez dans le Coran. Explorez notre collection de leçons organisées et commencez votre voyage dès aujourd'hui !", + "learning-plan-material": "Contenu du Plan d’Apprentissage", + "learning-plan-meta-desc": "Ce Plan d'Apprentissage vous aidera à transformer votre engagement avec Coran. Commencez votre voyage dès aujourd'hui !", + "learning-plans-desc": "Améliorez vos connaissances avec des leçons faciles à suivre qui vous permettront de progresser dans votre voyage avec le Coran.

Commencez un Plan d'Apprentissage dès aujourd'hui ! Votre progression est suivie jusqu'à ce que vous atteigniez la ligne d'arrivée.", + "learning-plans-meta-desc": "Les plans d'apprentissage de Quran.com vous aideront à transformer votre engagement avec le Coran. Explorez notre collection de leçons organisées et commencez votre voyage dès aujourd'hui !", "mark-complete": "Marquer comme terminé", "mark-complete-success": "La leçon a été marquée comme terminée avec succès !", - "next-lesson": "Prochaine leçon", - "not-enrolled": "Vous n'êtes pas encore inscrit au plan de formation .", + "next-lesson": "Leçon suivante", + "not-enrolled": "Vous n'êtes pas encore inscrit(e) au Plan d'Apprentissage.", "prev-lesson": "Leçon précédente", - "start-learning": "Commencer à apprendre", + "start-learning": "Commencer l'apprentissage", "tabs": { - "main": "Principaux détails", + "main": "Détails principaux", "syllabus": "Programme" } } diff --git a/locales/fr/login.json b/locales/fr/login.json index 5d92a9836e..c98b2ac458 100644 --- a/locales/fr/login.json +++ b/locales/fr/login.json @@ -6,12 +6,12 @@ "continue-google": "Continuer avec Google", "email-placeholder": "Adresse e-mail", "feature-1": "Suivez vos objectifs", - "feature-2": "Maintenir des séries de lecture", - "feature-3": "Créer des collections", + "feature-2": "Maintenez des séries de lecture", + "feature-3": "Créez des collections", "feature-4": "Synchronisez vos données sur tous les navigateurs", "feature-5": "Et plus encore !", "feature-6": " Nouveau ! Notes et réflexions", - "login-cta": "Se connecter ou s'inscrire maintenant:", + "login-cta": "Connectez-vous ou Inscrivez-vous maintenant:", "login-error": { "AuthenticationError": "Authentification échouée. Veuillez réessayer plus tard", "TokenExpiredError": "Vous avez été déconnecté(e), veuillez vous reconnecter." diff --git a/locales/fr/media.json b/locales/fr/media.json index 5ef42fb116..655b04d2cb 100644 --- a/locales/fr/media.json +++ b/locales/fr/media.json @@ -8,14 +8,14 @@ "count": "{{count}}", "deselect": "Désélectionner tout", "download-image": "Télécharger l'image", - "download-share": "Télécharger\/Partager", + "download-share": "Télécharger/Partager", "download-video": "Télécharger la vidéo", "justified": "Justifié", "landscape": "Paysage", - "limit": " \/ {{limit}}", - "maker-meta-desc": "Quran Media Maker est un outil gratuit pour créer de belles vidéos et captures d'écran de versets du Coran. Partagez votre foi et inspirez les autres.", + "limit": " / {{limit}}", + "maker-meta-desc": "Quran Media Maker est un outil gratuit pour concevoir de belles vidéos et captures d'écran d'Ayahs du Coran. Partagez votre foi et inspirez les autres.", "maker-title": "Créateur de vidéos du Coran – Créez de superbes vidéos et images du Coran", - "max-ayahs": "Max 10 versets", + "max-ayahs": "Max 10 Ayahs", "monthly-balance": "Solde mensuel : ", "orientation": "Orientation", "portrait": "Portrait", @@ -26,6 +26,6 @@ "text-color": "Couleur du texte", "title": "Générer et partager des vidéos du Coran", "to": "à", - "verse-key": "Chapitre et numéro de verset, par exemple 2:255", + "verse-key": "Chapitre et numéro d'Ayah, par exemple 2:255", "video-picker": "Vidéo d'arrière-plan" } diff --git a/locales/fr/notes.json b/locales/fr/notes.json index b652ffbfc7..1f0833e081 100644 --- a/locales/fr/notes.json +++ b/locales/fr/notes.json @@ -3,38 +3,38 @@ "body-placeholder": "Utilisez cet espace pour enregistrer des notes générales ou pour rédiger une réflexion.", "checkbox-refl-intro": { "checkbox": { - "desc": "
  • La publication signifie que votre réflexion sera partagée sur QuranReflect sous votre nom où elle sera examinée par l'équipe de modération et visible par la communauté QuranReflect. <\/li>
  • Une fois votre message examiné et approuvé ou promu par notre équipe de modération, vous pouvez recevoir des likes, des commentaires et suivre des notifications. Une fois connecté à QuranReflect, vous pouvez mettre à jour vos paramètres de notification en fonction de vos préférences. <\/li>
  • Vous pouvez consulter vos notes et réflexions publiées sous votre profil de connexion Quran.com dans la section « Mes notes et réflexions », ou vous connecter à QuranReflect <\/link> en utilisant votre identifiant Quran.com. par courrier électronique. <\/li>", + "desc": "
  • La publication signifie que votre réflexion sera partagée sur QuranReflect sous votre nom où elle sera examinée par l'équipe de modération et visible par la communauté QuranReflect.
  • Une fois votre message examiné et approuvé ou promu par notre équipe de modération, vous pourrez recevoir des likes, des commentaires et suivre des notifications. Une fois connecté à QuranReflect, vous pourrez mettre à jour vos paramètres de notification en fonction de vos préférences.
  • Vous pouvez consulter vos notes et réflexions publiées sous votre profil Quran.com dans la section « Mes notes et réflexions », ou vous connecter à QuranReflect en utilisant votre identifiant Quran.com par e-mail.
  • ", "title": "Que se passe-t-il si je coche cette case ?" }, "post-button": "Que se passe-t-il lorsque je publie sur QuranReflect ?", - "qr-intro": "QuranReflect, avec Quran.com, fait partie de la famille Quran.Foundation. Il s'agit d'une plateforme sociale permettant de partager des réflexions personnelles sur le Coran, encourageant les utilisateurs à intérioriser ses messages et à partager des idées qui inspirent un changement positif. Contrairement au tafsir, qui est une interprétation savante, les réflexions sont des pensées et des expériences personnelles liées aux versets. Les messages des utilisateurs sur QuranReflect sont examinés et modérés par une équipe qualifiée, qui contribuera à garantir la qualité du contenu et les étiquettes lors de l'interaction avec le Coran, et responsabilisera les utilisateurs en partageant des commentaires et en mettant en évidence des discours précieux, favorisant ainsi une communauté spirituellement édifiante et centrée sur le Coran. . Pour en savoir plus : Quranreflect.com\/faq <\/link>", + "qr-intro": "QuranReflect, avec Quran.com, fait partie de la famille Quran.Foundation. Il s'agit d'une plateforme sociale permettant de partager des réflexions personnelles sur le Coran, encourageant les utilisateurs à intérioriser ses messages et à partager des idées qui inspirent un changement positif. Contrairement au tafsir, qui est une interprétation savante, les réflexions sont des pensées et des expériences personnelles liées aux Ayahs. Les messages des utilisateurs sur QuranReflect sont examinés et modérés par une équipe qualifiée, qui contribuera à garantir la qualité du contenu et les étiquettes lors de l'interaction avec le Coran, et responsabilisera les utilisateurs en partageant des avis et en mettant en évidence des discours précieux, favorisant ainsi une communauté spirituellement édifiante et centrée sur le Coran. Pour en savoir plus : Quranreflect.com/faq ", "title": "Qu'est-ce que QuranReflect et que se passe-t-il si je coche cette case ?" }, "click-to-see-more": "cliquez pour en voir plus", "delete-note": "Supprimer la note", "delete-note-modal": { - "subtitle": "Êtes-vous sûr de vouloir supprimer la note ?", + "subtitle": "Êtes-vous sûr de vouloir supprimer la note ?", "title": "Supprimer la note" }, "delete-success": "La note a été supprimée avec succès", "empty-notes": "Aucune note trouvée", - "empty-reflections": "Aucun reflet trouvé", - "export-success": "La note a été publiée avec succès sur votre compte sur QuranReflect", + "empty-reflections": "Aucune réflexions trouvée", + "export-success": "La note a été publiée dans votre compte sur QuranReflect", "new-note-reflc-intro": { "reflc-prompts": { "deeper": { - "desc": "
  • Y a-t-il des noms d'Allah mentionnés et quel est leur rapport avec le verset ? <\/li>
  • Quels mots ou aspects linguistiques ont retenu votre attention ? <\/li>
  • Pouvez-vous établir des liens avec le contexte du verset, d'autres versets coraniques, des hadiths ou des événements ? <\/li>", - "title": "Informations plus approfondies :" + "desc": "
  • Des noms d'Allah sont-ils mentionnés et quel est leur lien avec l'Ayah ?
  • Quels mots ou aspects linguistiques ont retenu votre attention ?
  • Pouvez-vous établir des liens avec le contexte de l'Ayah, d'autres Ayahs Coraniques, des hadiths ou des évènements ?
  • ", + "title": "Informations approfondies :" }, "personal": { - "desc": "
  • De quelle manière ce verset vous a-t-il ému ou inspiré ? <\/li>
  • Y a-t-il des qualités ou des actions mentionnées que vous pouvez améliorer ? <\/li>
  • Y a-t-il une promesse ou un avertissement\/une interdiction que vous pouvez appliquer à votre vie ? <\/li>
  • Avez-vous une histoire personnelle liée à ce verset ? <\/li>
  • Quels changements souhaitez-vous apporter sur la base de ce verset, et comment vous ou quelqu'un d'autre pouvez-vous les mettre en œuvre de manière pratique ? <\/li>", + "desc": "
  • De quelle manière cette Ayah vous a-t-elle ému ou inspiré ?
  • Y a-t-il des qualités ou des actions mentionnées que vous pouvez améliorer ?
  • Y a-t-il une promesse ou un avertissement/une interdiction que vous pouvez appliquer à votre vie ?
  • Avez-vous une histoire personnelle liée à cette Ayah ?
  • Quels changements souhaitez-vous apporter sur la base de cette Ayah, et comment vous, ou quelqu'un d'autre, pouvez les mettre en œuvre de manière pratique ?
  • ", "title": "Questions de réflexion personnelle :" }, - "title": "Invites de réflexion" + "title": "Réflexions" }, - "title": "Besoin d’aide pour réfléchir sur le Coran ? Apprendre encore plus", + "title": "Besoin d’aide pour réfléchir sur le Coran ? En apprendre davantage", "what-is-reflc": { - "desc": "Réfléchir ou méditer sur le Coran implique de lire ou d'écouter attentivement les paroles d'Allah, de s'engager dans leurs significations et de leur permettre de nous affecter et de nous changer pour le mieux. C'est ce qu'on appelle \"Tadabbur\". Le Tafsir, en revanche, est une interprétation savante du Coran, fournissant des explications détaillées de ses versets basées sur des sources classiques et des analyses savantes. Alors que le Tafsir est réservé aux savants, Allah ﷻ demande à chacun de s'engager dans le Tadabbur (Coran 38:29 <\/link1> , 47:24 <\/link2> , 4:82 <\/link3> , et beaucoup plus).
    <\/br>
    <\/br> Les utilisateurs peuvent enregistrer leurs notes et réflexions personnelles en privé. Souvent, nos réflexions peuvent profondément résonner chez les autres, contribuant ainsi à leur connexion avec le Coran et à leur relation avec Allah ﷻ. C'est pourquoi les utilisateurs ont la possibilité de partager leur réflexion sur QuranReflect dans le cadre de nos efforts visant à aider les gens à grandir ensemble dans leur voyage. Pour en savoir plus, visitez : QuranReflect.com\/faq <\/link4> et Cinq lentilles pour réfléchir sur le Coran <\/link5>", + "desc": "Réfléchir ou méditer sur le Coran implique de lire ou d'écouter attentivement les paroles d'Allah, de s'engager dans leurs significations et de leur permettre de nous affecter et de nous changer pour le mieux. C'est ce qu'on appelle \"Tadabbur\". Le Tafsir, en revanche, est une interprétation savante du Coran, fournissant des explications détaillées de ses Ayahs basées sur des sources classiques et des analyses savantes. Alors que le Tafsir est réservé aux savants, Allah ﷻ demande à chacun de s'engager dans le Tadabbur (Coran 38:29 , 47:24 , 4:82 , et beaucoup plus).



    Les utilisateurs peuvent enregistrer leurs notes et réflexions personnelles en privé. Souvent, nos réflexions peuvent profondément résonner chez les autres, contribuant ainsi à leur connexion avec le Coran et à leur relation avec Allah ﷻ. C'est pourquoi les utilisateurs ont la possibilité de partager leur réflexion sur QuranReflect dans le cadre de nos efforts visant à aider les gens à grandir ensemble dans leur voyage. Pour en savoir plus, visitez : QuranReflect.com/faq et Cinq façon de réfléchir sur le Coran ", "title": "Qu'est-ce qu'une réflexion ?" } }, @@ -42,20 +42,20 @@ "notes-and-reflcs": "Notes et réflexions", "post-on-qr": "Publier sur QuranReflect", "posted-reflections": "Réflexions publiées", - "private-notes": "Remarques", - "qr-tooltip": " QuranReflect <\/link> est une plateforme sociale de partage de réflexions sur le Coran. Connectez-vous autour du Coran, connectez-vous avec ce qui compte. <\/span>", + "private-notes": "Notes", + "qr-tooltip": " QuranReflect est une plateforme sociale de partage de réflexions sur le Coran. Connectez-vous autour du Coran, connectez-vous avec ce qui compte. ", "reflections-intro": { - "line-1": "Pour afficher et interagir avec les commentaires, interagir avec la communauté et bien plus encore, visitez QuranReflect.com <\/link> .", - "line-2": "Vous pouvez vous connecter à votre compte QuranReflect lié en vous connectant ou en vous inscrivant avec la même adresse e-mail Quran.com que celle utilisée lors de votre connexion.", + "line-1": "Pour afficher et interagir avec les commentaires, s'engager avec la communauté et bien plus encore, visitez QuranReflect.com .", + "line-2": "Vous pouvez vous connecter à votre compte QuranReflect en vous connectant ou en vous inscrivant avec la même adresse e-mail utilisée pour se connecter à Quran.com.", "line-3": "Le contenu qui ne convient pas au public sera masqué ou supprimé. Les utilisateurs publiant du contenu inapproprié seront bloqués.", "title": "En savoir plus sur les réflexions publiées" }, "save-post-to-qr": "Enregistrer et publier sur QuranReflect", "save-privately": "Enregistrer en privé", - "save-publish-failed": "La note a été enregistrée avec succès mais n'a pas pu être publiée", + "save-publish-failed": "La note a été enregistrée avec succès, mais n'a pas pu être publiée", "save-success": "La note a été enregistrée avec succès", "share-to-qr": "Partager sur QuranReflect.com", - "share-to-qr-desc": "Partager en tant que {{name}} <\/b> . Le public est constitué des utilisateurs de QuranReflect <\/b>", + "share-to-qr-desc": "Partager en tant que {{name}} . Le public est constitué des utilisateurs de QuranReflect ", "update-publish-failed": "La note a été mise à jour avec succès mais n'a pas pu être publiée", "update-success": "La note a été mise à jour avec succès", "view-on-qr": "Voir sur QuranReflect" diff --git a/locales/fr/notification-settings.json b/locales/fr/notification-settings.json index dcd8c9b22b..0cae2f7ae5 100644 --- a/locales/fr/notification-settings.json +++ b/locales/fr/notification-settings.json @@ -2,13 +2,13 @@ "all-notifications": "Toutes les notifications", "channels-notifications": "Notifications des chaînes", "channels": { - "chat": "Chat", + "chat": "Discussion", "email": "E-mail", - "in_app": "Dans l'application", + "in_app": "Intégré à l'application", "push": "Pousser", "sms": "SMS" }, - "notif-settings-not-enabled": "Les paramètres de notification ne sont pas activés", + "notif-settings-not-enabled": "Les notifications ne sont pas activées", "notif-update-success": "Vos paramètres de notification ont été mis à jour avec succès !", "tabs": { "categories-settings": "Paramètres des catégories", @@ -16,7 +16,7 @@ }, "tags": { "learning-plans": "Plans d'apprentissage", - "qgj": "Parcours de croissance du Coran", - "streaks": "Traces" + "qgj": "Voyage de Développement Spirituel avec le Coran", + "streaks": "Séries" } } diff --git a/locales/fr/onboarding.json b/locales/fr/onboarding.json index 6b37417af8..110b35825e 100644 --- a/locales/fr/onboarding.json +++ b/locales/fr/onboarding.json @@ -2,26 +2,26 @@ "checklist": { "1": "Fonctionnalités de la page d'accueil", "2": "Personnalisez vos paramètres", - "3": "Enrichissez votre expérience de lecture Ayah", + "3": "Enrichissez votre expérience de lecture d'Ayah", "4": "Fonctionnalités personnalisées" }, - "finish": "Finition", + "finish": "Terminer", "onboarding-checklist": "Liste de contrôle d'intégration", - "onboarding-title": "Maximisez votre expérience Quran.com !

    Commencez votre visite maintenant :", + "onboarding-title": "Maximisez votre expérience avec Quran.com !

    Commencez votre visite maintenant :", "previous": "Précédent", - "skip": "Sauter", + "skip": "Ignorer", "steps": { "3-dot-menu": { - "description": "Cliquez sur le menu à 3 points pour découvrir les options de copie, de mise en signet et de répétition de versets. Découvrez une variété d'options pour répéter des versets", + "description": "Cliquez sur le menu à 3 points pour découvrir les options de copie, de marque page et de répétition d'Ayahs. Découvrez une variété d'options pour répéter des Ayahs", "title": "Menu à 3 points" }, "ayah-reflection": { - "description": "Lisez les réflexions (tadabbur) d'érudits, d'étudiants en sciences et de gens ordinaires pour vous aider à développer une connexion plus personnelle avec le Coran.", - "title": "Lire les réflexions au niveau de l'ayah" + "description": "Lisez les réflexions (tadabbur) de savants, d'étudiants en sciences et de gens ordinaires pour vous aider à développer une connexion plus personnelle avec le Coran.", + "title": "Lire les réflexions au niveau de l'Ayah" }, "ayah-tafsir": { - "description": "Explorez le Tafsir au niveau de l'ayah, offrant des informations détaillées pour améliorer votre compréhension au fur et à mesure que vous lisez. (Le Tafsir peut être regroupé pour plusieurs versets, le cas échéant)", - "title": "Lire le Tafsir au niveau Ayah" + "description": "Explorez le Tafsir au niveau de l'Ayah afin d'obtenir des informations détaillées améliorant votre compréhension au cours de votre lecture. (Le Tafsir peut être regroupé pour plusieurs Ayahs, le cas échéant)", + "title": "Lire le Tafsir au niveau de l'Ayah" }, "font-size": { "description": "Personnalisez votre lecture du Coran avec des tailles de police faciles à ajuster pour une expérience de lecture confortable", @@ -32,7 +32,7 @@ "title": "Choisissez votre script de lecture préféré" }, "inline-wbw": { - "description": "Visualisez la traduction de chaque mot en ligne (sous le mot) ou dans une bulle au-dessus du mot tout en écoutant le Coran", + "description": "Visualiser la traduction de chaque mot en ligne (sous le mot) ou dans une bulle au-dessus du mot tout en écoutant le Coran", "title": "Afficher la traduction mot à mot en ligne (sous le mot) ou afficher une info-bulle" }, "juz": { @@ -41,18 +41,18 @@ }, "listen": { "description": "Démarrez le lecteur audio pour écouter la récitation", - "title": "Écoutez la sourate ou le verset" + "title": "Écoutez la Sourate ou l'Ayah" }, "login": { - "description": "Connectez-vous et enregistrez les paramètres sur tous les appareils et accédez à des fonctionnalités supplémentaires.", + "description": "Se connecter pour enregistrer les paramètres sur tous les appareils et accéder à des fonctionnalités supplémentaires.", "title": "Se connecter" }, "quran-radio": { - "description": "Écoutez QuranRadio - diffusez le Coran sans publicité", - "title": "Radio Coran" + "description": "Écoutez RadioCoran - diffusez le Coran sans publicité", + "title": "Radio du Coran" }, "reading-sessions": { - "description": "Révisez facilement votre voyage coranique en jetant un coup d'œil à votre historique de lecture personnalisé, en gardant une trace des versets que vous avez explorés sur Quran.com.", + "description": "Révisez facilement votre voyage Coranique en parcourant votre historique de lecture personnalisé, en gardant une trace des Ayahs que vous avez explorés sur Quran.com.", "title": "Afficher l'historique de lecture" }, "reading-view": { @@ -60,27 +60,27 @@ "title": "Mode lecture" }, "search-bar": { - "description": "Trouvez les versets, sourates, mots-clés, juz et sujets que vous recherchez en utilisant notre barre de recherche", + "description": "Trouvez les Ayahs, Sourates, mots-clés, Juz et sujets via la barre de recherche", "title": "Barre de recherche" }, "select-reciter": { - "description": "Personnalisez votre expérience d'écoute en sélectionnant un récitant que vous aimez le plus écouter !", - "title": "Choisissez parmi une variété de récitants à écouter" + "description": "Personnalisez votre expérience d'écoute en sélectionnant un récitateur que vous aimez écouter !", + "title": "Choisissez parmi une variété de récitateurs à écouter" }, "settings": { "description": "Contrôlez vos préférences", "title": "Paramètres" }, "streak": { - "description": "Fixez des objectifs de lecture personnalisés, suivez vos progrès et développez une habitude de lecture coranique cohérente grâce à notre fonctionnalité Séries et plans de lecture.", - "title": "Gardez une trace des séquences de lecture et des plans de lecture" + "description": "Fixez des objectifs de lecture personnalisés, suivez vos progrès et développez une habitude de lecture Coranique cohérente grâce à notre fonctionnalité Séries et Plans de lecture.", + "title": "Garder une trace des séquences de lecture et des plans de lecture" }, "surah-info": { - "description": "Obtenez des informations sur chaque sourate - idéalement situé au début de chaque sourate", - "title": "Lire à propos de la sourate" + "description": "Obtenez des informations sur chaque Sourate - convenablement situé au début de chaque Sourate", + "title": "Lire à propos de la Sourate" }, "theme": { - "description": "Choisissez votre look préféré (mode clair, sépia ou sombre) pour une expérience de lecture du Coran confortable et personnalisée.", + "description": "Choisissez votre style préféré (mode clair, sépia ou sombre) pour une expérience de lecture du Coran confortable et personnalisée.", "title": "Lisez le Coran en mode clair, sépia ou sombre" }, "translations": { @@ -88,19 +88,19 @@ "title": "Traductions" }, "voice-search": { - "description": "Appuyez sur l'icône du micro et récitez le verset que vous recherchez. Conseil rapide! Pour découvrir où quelqu'un récite (par exemple, les prières Taraweeh), appuyez sur l'icône du micro. Après qu'un ou deux versets soient détectés, appuyez sur stop pour trouver l'emplacement", + "description": "Appuyez sur l'icône du micro et récitez l'Ayah que vous recherchez. Petit conseil ! Pour découvrir où quelqu'un récite (ex. les prières Taraweeh), appuyez sur l'icône du micro. Après qu'une ou deux Ayahs soient détectés, appuyez sur stop pour trouver l'emplacement", "title": "Recherche vocale (Tarteel)" }, "wbw-audio": { "description": "Sélectionnez cette option pour écouter chaque mot individuellement en cliquant simplement sur le mot !", - "title": "Écoutez la translittération mot à mot en cliquant sur le mot" + "title": "Écouter la translittération mot à mot en cliquant sur le mot" }, "wbw-translation": { - "description": "Affichez la signification de mots individuels pendant que vous lisez ou écoutez le Coran pour vous aider à améliorer votre vocabulaire coranique.", + "description": "Affichez la signification de mots individuels pendant que vous lisez ou écoutez le Coran pour améliorer votre vocabulaire Coranique.", "title": "Lire la traduction mot à mot" }, "wbw-transliteration": { - "description": "Consultez la translittération de chaque mot pour vous aider dans votre parcours de lecture du Coran", + "description": "Consultez la translittération de chaque mot pour vous aider dans votre voyage de lecture du Coran", "title": "Lire la translittération mot à mot" } } diff --git a/locales/fr/privacy.json b/locales/fr/privacy.json index a9c26b5a71..9bd5680bed 100644 --- a/locales/fr/privacy.json +++ b/locales/fr/privacy.json @@ -32,7 +32,7 @@ "title": "Partage des données" }, "info-collection": { - "desc": "Nous collectons certaines informations personnelles des utilisateurs qui choisissent de créer un compte sur Quran.com. Ces informations peuvent inclure :

    Adresse e-mail : Nous collectons votre adresse e-mail pour faciliter le processus de création de compte, ainsi qu'à des fins de communication liées à votre compte, comme la récupération de compte et les notifications de sécurité.", + "desc": "Nous collectons certaines informations personnelles des utilisateurs qui choisissent de créer un compte sur Quran.com. Ces informations peuvent inclure :

    Adresse e-mail : Nous collectons votre adresse e-mail pour faciliter le processus de création de compte, ainsi qu'à des fins de communication liées à votre compte, comme la récupération de compte et les notifications de sécurité.", "title": "Collecte d'informations" }, "log-data": { @@ -41,7 +41,7 @@ }, "main-privacy-desc": "Quran Foundation, Inc. (qui comprend Quran.com) est une organisation à but non lucratif 501(c)(3) qui s'efforce de permettre à chaque être humain de bénéficier du Coran. Quran Foundation, Inc. valorise et respecte la vie privée de tous ses utilisateurs.", "personal-info-use": { - "desc": "Nous collectons les informations personnelles pour les fins suivantes :
  • Création et gestion de compte : Votre adresse e-mail est utilisée pour créer et gérer votre compte sur notre site Web. Il vous permet de vous connecter, d'accéder à vos paramètres et de stocker vos favoris et votre historique de lecture.
  • Personnalisation : nous pouvons utiliser votre historique de lecture pour fournir des recommandations et des suggestions personnalisées en fonction de vos préférences et intérêts.

  • ", + "desc": "Nous collectons les informations personnelles pour les fins suivantes :
  • Création et gestion de compte : Votre adresse e-mail est utilisée pour créer et gérer votre compte sur notre site Web. Il vous permet de vous connecter, d'accéder à vos paramètres et de stocker vos favoris et votre historique de lecture.
  • Personnalisation: nous pouvons utiliser votre historique de lecture pour fournir des recommandations et des suggestions personnalisées en fonction de vos préférences et intérêts.

  • ", "title": "Utilisation des informations personnelles" }, "privacy-header": "Politique de confidentialité" diff --git a/locales/fr/product-updates.json b/locales/fr/product-updates.json index c485e84513..e047bfbb30 100644 --- a/locales/fr/product-updates.json +++ b/locales/fr/product-updates.json @@ -1,3 +1,3 @@ { - "localization-message": "Vous consultez cette page en anglais. Nous travaillons à sa traduction. Nous nous excusons pour le dérangement." -} \ No newline at end of file + "localization-message": "Vous consultez cette page en anglais. Nous travaillons actuellement à sa traduction. Veuillez nous excuser pour la gêne occasionnée." +} diff --git a/locales/fr/profile.json b/locales/fr/profile.json index c6b08e99e2..56ac0271d4 100644 --- a/locales/fr/profile.json +++ b/locales/fr/profile.json @@ -1,10 +1,10 @@ { - "delete-account": "Supprimer le compte", - "delete-confirmation": { - "action-text": "Je comprends la conséquence, supprimer mon compte", - "confirmation-text": "supprimer mon compte", - "instruction-text": "Veuillez saisir {{text}} <\/strong> pour confirmer", - "subtitle": "Cette action ne peut pas être annulée. Cela supprimera définitivement votre compte, vos signets enregistrés, vos sessions de lecture et toutes vos données.", - "title": "Êtes-vous absolument sûr?" - } -} \ No newline at end of file + "delete-account": "Supprimer le compte", + "delete-confirmation": { + "action-text": "Oui je suis sûr(e) et je comprends la conséquence. Supprimez mon compte", + "confirmation-text": "supprimer mon compte", + "instruction-text": "Veuillez saisir {{text}} pour confirmer", + "subtitle": "Cette action ne peut pas être annulée. Cela supprimera définitivement votre compte, vos favoris enregistrés, vos sessions de lecture et toutes vos données.", + "title": "Êtes-vous absolument sûr(e) ?" + } +} diff --git a/locales/fr/quick-links.json b/locales/fr/quick-links.json index 146e90f42f..e5b94564ba 100644 --- a/locales/fr/quick-links.json +++ b/locales/fr/quick-links.json @@ -1,12 +1,12 @@ { - "about-quran": "À propos du Coran", - "ayat-ul-kursi": "Ayatul Kursi", - "kahf": "Surah Al Kahf", - "mulk": "Surah Al Mulk", - "muzzammil": "Surah Al Muzzammil", - "qr": "Rejoignez le Ramadan de la réflexion", - "rahman": "Surah Ar-Rahman", - "sunnah": "Versets sur la Sunna", - "waqiah": "Surah Al Waqi'ah", - "yaseen": "Surah Yaseen" -} \ No newline at end of file + "about-quran": "À propos du Coran", + "ayat-ul-kursi": "Ayatul Kursi", + "kahf": "Al Kahf", + "mulk": "Al Mulk", + "muzzammil": "Al Muzzammil", + "qr": "Rejoignez le \"Ramadan de la réflexion\"", + "rahman": "Ar-Rahman", + "sunnah": "Ayahs sur la Sunnah", + "waqiah": "Al Waqi'ah", + "yaseen": "Yaseen" +} diff --git a/locales/fr/quran-reader.json b/locales/fr/quran-reader.json index a315e72019..f29ec336cd 100644 --- a/locales/fr/quran-reader.json +++ b/locales/fr/quran-reader.json @@ -13,7 +13,7 @@ "copy-text": "Copier le texte", "copy-verse": "Copier le texte", "cpy-link": "Copier le lien", - "current-verse": "Verset actuel", + "current-verse": "Ayah actuelle", "download-copy": "si vous voulez télécharger un fichier texte.", "edgham": "Idghaam", "ekhfa": "Ikhfa et Ghunna", @@ -24,7 +24,7 @@ "footnote-dl": "Duel
    Une forme pour les verbes et les pronoms en langue arabe lorsqu'on s'adresse à deux personnes", "footnote-pl": "Pluriel", "footnote-sg": "Singulier", - "full-surah-cta": "Lire la sourate complète", + "full-surah-cta": "Lire la Sourate complète", "generate-media": "Générer une vidéo/image", "go-ayah": "Aller à l'Ayah", "hizb-beginning": "Début du Hizb", @@ -53,7 +53,7 @@ "read-more-quran-reflect": "En savoir plus sur Quran Reflect", "referencing": "Référencement", "reflection-disclaimer": "Les réflexions ne représentent pas l'opinion de Quran.com et ne doivent pas être prises hors contexte", - "reflection-not-available": "Il n'y a pas de réflexions révisées pour cet ayah", + "reflection-not-available": "Il n'y a pas de réflexions révisées pour cette ayah", "reflections-desc": "Lire et partager les réflexions Coraniques de l'Ayah {{ayahNumber}} de la Sourate {{surahName}}", "remove-bookmark": "Supprimer le favori", "removed-from": "Supprimé de {{collectionName}}", @@ -63,8 +63,8 @@ "saved-to": "Enregistré dans {{collectionName}}", "see-less": "Voir moins", "see-more": "Voir plus", - "select-range": "Sélectionnez la plage de versets", - "share-your-reflection": "Partagez votre réflexion sur cet ayah", + "select-range": "Sélectionnez la plage d'Ayahs", + "share-your-reflection": "Partagez votre réflexion sur cette Ayah", "surah-beginning": "Début de la Sourate", "surah-info": "Informations sur la Sourate", "tafkhim": "Tafkhim", @@ -73,6 +73,6 @@ "text-copied": "Le texte a été copié dans le presse-papier !", "trans-change": "Modifier", "translation-by": "Traduction par", - "verses-range": "Plage de versets", + "verses-range": "Plage d'Ayahs", "view-on-quran-reflect": "Voir sur QuranReflect" } diff --git a/locales/fr/quranic-calendar.json b/locales/fr/quranic-calendar.json index 57413d22ca..23e6b49aa8 100644 --- a/locales/fr/quranic-calendar.json +++ b/locales/fr/quranic-calendar.json @@ -1,6 +1,6 @@ { "hero": { - "line-1": "Le Calendrier Coranique Global est un programme de lecture conçu pour encourager la lecture réflexive de l'intégralité du Coran de la fin d'un Ramadan au début du suivant. Nous vous encourageons à prendre le temps de comprendre et de réfléchir aux versets afin d’établir une connexion plus profonde et plus sincère." + "line-1": "Le Calendrier Coranique Global est un programme encourageant la lecture engagée de l'intégralité du Coran, à partir de la fin d'un Ramadan, jusqu'au début du suivant. Nous vous encourageons à prendre le temps de comprendre, et de réfléchir aux Ayahs afin d’avoir une connexion plus profonde et plus sincère." }, "interact-with-post": "Interagissez avec cet article sur QuranReflect", "islamic-months": { @@ -18,18 +18,18 @@ "12": "Dhu al-Hijjah" }, "join-qc": { - "line-1": "Nous sommes dans semaine {{weekNumber}} <\/highlight> du calendrier coranique.", - "line-2": " Rejoignez-nous pour la lecture de cette semaine même si c'est votre première fois ! <\/normal>" + "line-1": "Nous sommes la semaine {{weekNumber}} du Calendrier Coranique.", + "line-2": " Rejoignez-nous pour la lecture de cette semaine même si c'est votre première fois ! " }, "join-quranic-calendar": "Abonnez-vous pour recevoir des mises à jour et des ressources via QuranReflect", - "join-quranic-calendar-success": "Vous avez rejoint le Divine Book Club avec succès !", - "quranic-calendar": "Le calendrier coranique mondial", + "join-quranic-calendar-success": "Vous avez rejoint le club Divine Book avec succès !", + "quranic-calendar": "Le Calendrier Coranique Global", "reading-options": { "default-settings": "Lire avec mes paramètres par défaut", "en-and-ar": "Lire en anglais et en arabe", "en-only": "Lire uniquement en anglais" }, "supplemental-resources": "Ressources de soutien", - "today": "La date d'aujourd'hui est : {{month}} {{day}} {{year}} , {{gregorianDate}} <\/highlight>", - "week-title": "Semaine {{weekNumber}} ( {{month}} ) couvrant les versets {{rangeStart}} à {{rangeEnd}}" -} \ No newline at end of file + "today": "La date d'aujourd'hui est : {{day}} {{month}} {{year}} , {{gregorianDate}} ", + "week-title": "Semaine {{weekNumber}} ({{month}}) couvrant les Ayahs {{rangeStart}} à {{rangeEnd}}" +} diff --git a/locales/fr/radio.json b/locales/fr/radio.json index fba848de80..776e7cca18 100644 --- a/locales/fr/radio.json +++ b/locales/fr/radio.json @@ -1,26 +1,26 @@ { - "change": "Changer", - "curated-station": { - "juz-amma": { - "description": "Écoutez le Juz final du Coran", - "title": "Juz Amma" - }, - "popular-recitations": { - "description": "Flux quotidien de récitations organisées", - "title": "Récitations populaires" - }, - "surah-al-kahf": { - "description": "Écoutez la sourate Alkahf en boucle", - "title": "Sourate Al-Kahf" - }, - "yaseen-alwaqiah-al-mulk": { - "description": "Les sourates d'une curation de récitants", - "title": "Yaseen, Al-Waqiah, Al-Mulk" - } + "change": "Changer", + "curated-station": { + "juz-amma": { + "description": "Écouter le Juz final du Coran", + "title": "Juz Amma" }, - "curated-stations": "Stations sélectionnées", - "pause-radio": "Mettre la radio en pause", - "play-radio": "Écouter la radio", - "radio-desc": "Écoutez la belle récitation non-stop du Saint Coran par divers récitants.", - "reciter-stations": "Stations de récitation" -} \ No newline at end of file + "popular-recitations": { + "description": "Sélection quotidienne de récitations", + "title": "Récitations populaires" + }, + "surah-al-kahf": { + "description": "Écouter la Sourate Al-Kahf en boucle", + "title": "Sourate Al-Kahf" + }, + "yaseen-alwaqiah-al-mulk": { + "description": "Les Sourates issues d'une sélection de récitateurs", + "title": "Yaseen, Al-Waqiah, Al-Mulk" + } + }, + "curated-stations": "Stations sélectionnées", + "pause-radio": "Mettre la radio en pause", + "play-radio": "Écouter la radio", + "radio-desc": "Écouter la belle récitation non-stop du Saint Coran par divers récitateurs.", + "reciter-stations": "Stations de récitateurs" +} diff --git a/locales/fr/ramadan-activities.json b/locales/fr/ramadan-activities.json index 8ec759872d..739607f2ba 100644 --- a/locales/fr/ramadan-activities.json +++ b/locales/fr/ramadan-activities.json @@ -1,4 +1,4 @@ { "ramadan-activities": "Activités du Ramadan", - "ramadan-activities-desc": "Améliorez votre expérience du Ramadan avec nos programmes et fonctionnalités sélectionnés pour une connexion plus profonde avec le Coran. Découvrez nos activités du Ramadan sur Quran.com dès aujourd'hui !" + "ramadan-activities-desc": "Améliorez votre expérience du Ramadan avec nos programmes et fonctionnalités sélectionnés pour une connexion plus profonde avec le Coran. Découvrez nos activités du Ramadan sur Quran.com dès aujourd'hui !" } diff --git a/locales/fr/reading-goal.json b/locales/fr/reading-goal.json index 23b27595d7..699d226271 100644 --- a/locales/fr/reading-goal.json +++ b/locales/fr/reading-goal.json @@ -1,132 +1,130 @@ { - "continue-reading": "Continuer la lecture", - "continuous": { - "description": "Votre objectif calculera votre progression sur une durée de jours", - "title": "Sur une durée" - }, - "create-plan": "Créer un forfait", - "create-reading-goal": "Créer un objectif", - "daily-progress": "Progression quotidienne", - "daily": { - "description": "Votre objectif sera réinitialisé chaque jour", - "title": "Objectif quotidien" - }, - "day-x": "Jour {{day}}", - "days": "Jours", - "duration": "Durée (jours)", - "ending-chapter": "Fin de la sourate", - "ending-verse": "Terminer Ayah", - "examples-subtitle": "Voici une liste d'objectifs communs. Vous pouvez également créer votre propre objectif.", - "examples-title": "Choisissez un objectif prédéfini ou créez le vôtre", - "examples": { - "custom": { - "description": "Définissez un objectif personnalisé qui vous convient", - "title": "Coutume" - }, - "khatm": { - "description": "Un but classique de Khatm. Lire 1 Juz par jour", - "title": "Lire le Coran en 30 jours" - }, - "time": { - "description": "Un objectif simple et adapté aux débutants", - "title": "Lire 10 minutes par jour" - }, - "year": { - "description": "Lisez le Coran à votre rythme au cours de la prochaine année", - "title": "Lire le Coran en un an" - } - }, - "frequency-tab": { - "description": "Votre objectif doit-il être réinitialisé tous les jours ou tous les jours ? Ne vous inquiétez pas, nous suivrons vos progrès quelle que soit la fréquence que vous choisissez.", - "title": "Choisissez une fréquence pour votre objectif" - }, - "goal-done": { - "description": "Toute lecture supplémentaire sera toujours enregistrée", - "title": "Vous avez atteint l'objectif d'aujourd'hui" - }, - "goal-target": { - "description": "Combien de temps, de pages ou de versets devez-vous lire pour atteindre votre objectif ?", - "title": "Fixez-vous une cible pour votre objectif" - }, - "goal-type": { - "description": "Votre objectif doit-il être basé sur le temps, les pages ou une plage personnalisée (par exemple, 3 Juzs du Coran) ?", - "title": "Choisissez un critère pour votre objectif" - }, - "goal-types": { - "pages": { - "description": "Votre objectif sera basé sur les pages", - "title": "pages" - }, - "range": { - "description": "Votre objectif sera basé sur une gamme personnalisée de versets (cela peut être une sourate, un Juz ou même tout le Coran)", - "title": "Gamme personnalisée" - }, - "time": { - "description": "Votre objectif sera basé sur le temps", - "title": "Temps" - } - }, - "plus-x-more-days": { - "one": "+{{days}} jour de plus", - "other": "+{{days}} jours de plus" - }, - "preview-schedule": { - "description": "Voici à quoi ressemblera votre objectif. Vous pouvez toujours le changer plus tard.", - "title": "Voici un aperçu de votre emploi du temps" - }, - "progress": { - "complete": "L'objectif d'aujourd'hui est atteint 🎉", - "goal-complete": "Tout ton objectif est atteint 🎉", - "pages-goal": "lire {{pages}} pages du Coran", - "range-goal": "lire {{from}} à {{to}}", - "time-goal": "lire {{time}} du Coran" - }, - "reading-goal": "Objectif de lecture", - "reading-goal-description": "Trouvez-vous difficile de maintenir la cohérence avec vos objectifs de lecture du Coran ? Quran Growth Journey est une fonctionnalité dynamique développée pour vous aider à rester cohérent dans votre parcours avec le Coran. Que vous visiez à lire 10 minutes par jour, à terminer un Juz en un mois ou à terminer tout le Coran en un an, etc., Quran.com peut désormais vous aider à définir un objectif personnalisé et à suivre vos séquences de lecture quotidiennes, tout en ajuster au fur et à mesure que vous progressez. Son utilisation est entièrement gratuite et nous espérons qu'elle vous aidera à rester motivé pour atteindre votre objectif !", - "reading-goal-label": "Vous êtes sur un", - "reading-goal-title": "Présentation du parcours de croissance du Coran", - "recommended": "Recommandé", - "remaining": "Reste pour aujourd'hui", - "remaining-days": { - "one": "{{days}} jour restant", - "other": "{{days}} jours restants" - }, - "set-reading-goal-success": "Votre objectif de lecture a été défini avec succès.", - "start-journey": "Commencez votre voyage !", - "start-reading": "Commencez à lire", - "starting-chapter": "Sourate de départ", - "starting-verse": "Commencer Ayah", - "streak": "Traînée", - "streak-definition": "Une séquence est le nombre de jours consécutifs pendant lesquels vous avez lu le Coran.", - "timeline-meaning": "Que signifie votre chronologie ?", - "timeline-states": { - "checked": "Vous avez atteint votre objectif", - "filled": "Vous avez lu quelque chose mais pas assez pour atteindre votre objectif", - "none": "Vous n'avez encore rien lu ce jour-là", - "stroked": "Vous n'avez rien lu aujourd'hui" - }, - "todays-goal": "L'objectif d'aujourd'hui", - "view-progress": "Voir la progression", - "week-progress": "L'avancée de cette semaine", - "x-days": { - "one": "{{days}} jour", - "other": "{{days}} jours" - }, - "x-days-streak": "{{days}} jours consécutifs", - "x-hours": { - "one": "{{hours}} heure", - "other": "{{hours}} heures" - }, - "x-minutes": { - "one": "{{minutes}} minute", - "other": "{{minutes}} minutes" - }, - "x-pages": { - "one": "{{pages}} page", - "other": "{{pages}} pages" - }, - "x-seconds": { - "one": "{{seconds}} seconde", - "other": "{{seconds}} secondes" + "continue-reading": "Continuer la lecture", + "continuous": { + "description": "Votre objectif calculera votre progression sur un nombre de jours", + "title": "Sur une durée" + }, + "create-plan": "Créer un plan", + "create-reading-goal": "Définir un objectif", + "daily-progress": "Progression quotidienne", + "daily": { + "description": "Votre objectif sera réinitialisé chaque jour", + "title": "Objectif quotidien" + }, + "day-x": "Jour {{day}}", + "days": "Jours", + "duration": "Durée (jours)", + "ending-chapter": "Sourate finale", + "ending-verse": "Ayah finale", + "examples-subtitle": "Voici une liste d'objectifs communs. Vous pouvez également définir votre propre objectif.", + "examples-title": "Choisissez un objectif prédéfini ou créez votre propre objectif", + "examples": { + "custom": { + "description": "Définissez un objectif personnalisé qui vous convient", + "title": "Personnalisé" + }, + "khatm": { + "description": "Un but classique de Khatm. Lire 1 Juz par jour", + "title": "Lire le Coran en 30 jours" + }, + "time": { + "description": "Un objectif simple et adapté aux débutants", + "title": "Lire 10 minutes par jour" + }, + "year": { + "description": "Lire le Coran à son rythme l'année prochaine", + "title": "Lire le Coran en un an" + } + }, + "frequency-tab": { + "description": "Votre objectif doit-il être réinitialisé quotidiennement, ou bien après un certain nombre de jours ? Ne vous inquiétez pas, nous suivrons vos progrès quelle que soit la fréquence que vous choisissez.", + "title": "Choisissez une fréquence pour votre objectif" + }, + "goal-done": { + "description": "Toute lecture supplémentaire sera enregistrée", + "title": "Vous avez atteint l'objectif du jour" + }, + "goal-target": { + "description": "Combien de temps, de pages ou d'Ayahs devez-vous lire pour atteindre votre objectif ?", + "title": "Fixez-vous une but pour votre objectif" + }, + "goal-type": { + "description": "Votre objectif doit-il être basé sur le temps, les pages ou une plage personnalisée (par exemple, 3 Juzs du Coran) ?", + "title": "Choisissez un critère pour votre objectif" + }, + "goal-types": { + "pages": { + "description": "Votre objectif sera basé sur les pages", + "title": "Pages" + }, + "range": { + "description": "Votre objectif sera basé sur une plage personnalisée d'Ayahs (ex. une Sourate, un Juz, voire tout le Coran)", + "title": "Plage personnalisée" + }, + "time": { + "description": "Votre objectif sera basé sur le temps", + "title": "Temps" } -} \ No newline at end of file + }, + "plus-x-more-days": { + "one": "+{{days}} jour de plus", + "other": "+{{days}} jours de plus" + }, + "preview-schedule": { + "description": "Voici à quoi ressemblera votre objectif. Vous pourrez toujours le changer plus tard.", + "title": "Voici un aperçu de votre emploi du temps" + }, + "progress": { + "complete": "L'objectif du jour est atteint 🎉", + "goal-complete": "Votre objectif est entièrement atteint 🎉", + "pages-goal": "lire {{pages}} page(s) du Coran", + "range-goal": "lire {{from}} à {{to}}", + "time-goal": "lire {{time}} du Coran" + }, + "reading-goal": "Objectif de lecture", + "reading-goal-label": "Vous êtes sur un(e)", + "recommended": "Recommandé", + "remaining": "Reste pour aujourd'hui", + "remaining-days": { + "one": "{{days}} jour restant", + "other": "{{days}} jours restants" + }, + "set-reading-goal-success": "Votre objectif de lecture a été défini avec succès.", + "start-journey": "Commencez votre voyage !", + "start-reading": "Commencer la lecture", + "starting-chapter": "Sourate initiale", + "starting-verse": "Ayah initiale", + "streak": "Série", + "streak-definition": "Une série est le nombre de jours consécutifs pendant lesquels vous avez lu le Coran.", + "timeline-meaning": "Que signifie votre chronologie ?", + "timeline-states": { + "checked": "Vous avez atteint votre objectif", + "filled": "Vous avez lu, mais pas assez pour atteindre votre objectif", + "none": "Vous n'avez encore rien lu ce jour-là", + "stroked": "Vous n'avez rien lu aujourd'hui" + }, + "todays-goal": "Objectif du jour", + "view-progress": "Voir la progression", + "week-progress": "Progression de la semaine", + "x-days": { + "one": "{{days}} jour", + "other": "{{days}} jours" + }, + "x-days-streak": "{{days}} jours consécutifs", + "x-hours": { + "one": "{{hours}} heure", + "other": "{{hours}} heures" + }, + "x-minutes": { + "one": "{{minutes}} minute", + "other": "{{minutes}} minutes" + }, + "x-pages": { + "one": "{{pages}} page", + "other": "{{pages}} pages" + }, + "x-seconds": { + "one": "{{seconds}} seconde", + "other": "{{seconds}} secondes" + } +} diff --git a/locales/fr/reading-progress.json b/locales/fr/reading-progress.json index 5e329fb5c6..c6e46f40f5 100644 --- a/locales/fr/reading-progress.json +++ b/locales/fr/reading-progress.json @@ -1,31 +1,31 @@ { - "add": "Ajouter", - "add-data-success": "Vos données de lecture ont été ajoutées avec succès.", - "delete-goal": { - "action": "Supprimer l'objectif", - "confirmation": { - "action-text": "Je comprends la conséquence, supprime mon objectif", - "confirmation-text": "supprimer mon objectif", - "instruction-text": "Veuillez saisir {{text}} <\/strong> pour confirmer", - "subtitle": "Cette action ne peut pas être annulée. Cela supprimera définitivement votre objectif et nous cesserons de suivre votre progression.", - "title": "Es-tu sûr?" - }, - "success": "Votre objectif de lecture a été supprimé avec succès." + "add": "Ajouter", + "add-data-success": "Vos données de lecture ont été ajoutées avec succès.", + "delete-goal": { + "action": "Supprimer l'objectif", + "confirmation": { + "action-text": "Oui je suis sûr(e) et je comprends la conséquence. Supprimez mon objectif", + "confirmation-text": "supprimer mon objectif", + "instruction-text": "Veuillez saisir {{text}} pour confirmer", + "subtitle": "Cette action ne peut pas être annulée. Cela supprimera définitivement votre objectif et nous cesserons de suivre votre progression.", + "title": "Êtes-vous sûr(e) ?" }, - "edit-goal": { - "action": "Modifier l'objectif", - "subtitle": "Nous recalculerons votre progression en fonction du nouvel objectif.", - "success": "Votre objectif de lecture a été mis à jour avec succès.", - "title": "Modifier votre objectif de lecture" - }, - "history": "Lecture de l'histoire", - "history-for": "Historique de lecture pour {{date}}", - "manage-goal": "Gérez votre objectif de lecture", - "manually-add": "Ajouter manuellement des lectures", - "no-reading-history-for": "Aucun historique de lecture pour {{date}}", - "reading-progress-header": "Votre progression", - "reading-progress-streak": "Traînée", - "reading-time": "Temps de lecture", - "seconds-read-tooltip": "C'est le temps que vous avez passé à lire les versets que vous avez saisis. Nous le remplissons automatiquement avec la vitesse de lecture moyenne sur Quran.com, mais vous pouvez la remplacer par votre temps de lecture réel.", - "you-read": "Tu lis:" -} \ No newline at end of file + "success": "Votre objectif de lecture a été supprimé avec succès." + }, + "edit-goal": { + "action": "Modifier l'objectif", + "subtitle": "Nous recalculerons votre progression en fonction du nouvel objectif.", + "success": "Votre objectif de lecture a été mis à jour avec succès.", + "title": "Modifier votre objectif de lecture" + }, + "history": "Historique de lecture", + "history-for": "Historique de lecture pour le {{date}}", + "manage-goal": "Gérez votre objectif de lecture", + "manually-add": "Ajouter manuellement des lectures", + "no-reading-history-for": "Aucun historique de lecture pour le {{date}}", + "reading-progress-header": "Votre progression", + "reading-progress-streak": "Série", + "reading-time": "Temps de lecture", + "seconds-read-tooltip": "C'est le temps que vous avez passé à lire les Ayahs que vous avez saisis. Nous le remplissons automatiquement avec la vitesse de lecture moyenne sur Quran.com, mais vous pouvez la remplacer par votre temps de lecture réel.", + "you-read": "Vous lisez:" +} diff --git a/locales/fr/reciter.json b/locales/fr/reciter.json index 00b6961a93..3157816753 100644 --- a/locales/fr/reciter.json +++ b/locales/fr/reciter.json @@ -1,8 +1,8 @@ { - "copy-link": "Copier le lien", - "quran-reciters": "Récitateurs du Coran", - "read": "Lire", - "reciter-desc": "Écoutez et téléchargez la belle récitation du Saint Coran par {{reciterName}} .", - "reciters-desc": "Écoutez et téléchargez de belles récitations du Saint Coran par divers récitants.", - "search-chapter": "Rechercher un chapitre" -} \ No newline at end of file + "copy-link": "Copier le lien", + "quran-reciters": "Récitateurs du Coran", + "read": "Lire", + "reciter-desc": "Écoutez et téléchargez la belle récitation du Saint Coran par {{reciterName}}.", + "reciters-desc": "Écoutez et téléchargez de belles récitations du Saint Coran par divers récitateurs.", + "search-chapter": "Rechercher un chapitre" +} diff --git a/locales/fr/search.json b/locales/fr/search.json index 553ce6a2ee..411489dfea 100644 --- a/locales/fr/search.json +++ b/locales/fr/search.json @@ -1,12 +1,12 @@ { - "default-translations": "Traductions par défaut", - "filter": "filtre", - "language-filter-label": "Rechercher toutes les traductions d'une langue", - "language-select": "Sélectionnez une langue", - "reset": "réinitialiser", - "search": "Rechercher", - "search-desc": "Recherchez le corpus du Saint Coran et ses traductions à l'aide d'un moteur de recherche multilingue puissant et très précis.", - "search-title": "Rechercher ' {{searchQuery}} '", - "searching-translations": "Recherche de traductions", - "translation-select": "Sélectionnez une traduction" -} \ No newline at end of file + "default-translations": "Traductions par défaut", + "filter": "filtre", + "language-filter-label": "Rechercher toutes les traductions d'une langue", + "language-select": "Choisir une langue", + "reset": "réinitialiser", + "search": "Rechercher", + "search-desc": "Recherchez le corpus du Saint Coran et ses traductions à l'aide d'un moteur de recherche multilingue puissant et très précis.", + "search-title": "Rechercher '{{searchQuery}}'", + "searching-translations": "Recherche de traductions", + "translation-select": "Choisir une traduction" +} diff --git a/locales/fr/support.json b/locales/fr/support.json index 8139753dd0..712b3a7125 100644 --- a/locales/fr/support.json +++ b/locales/fr/support.json @@ -1,27 +1,27 @@ { - "bug-a": "Veuillez signaler ce bogue <0> ici <\/0> et nous corrigerons ce bogue dès que possible inshAllah.", - "bug-q": "J'ai trouvé un bug de traduction, où dois-je le déposer ?", - "developer-a": "Veuillez consulter la <0> page des développeurs <\/0> pour plus d'informations.", - "developer-q": "Je suis développeur. Comment puis-je contribuer?", - "donate-a": "Tout d'abord, nous apprécions vraiment votre intérêt à contribuer. Veuillez visiter <0> ce lien <\/0>", - "donate-q": "Comment puis-je faire un don?", - "download-a": "Malheureusement non. Nous ne proposons pas encore de fonctionnalité pour télécharger notre site Web ou le Coran sur votre ordinateur. Vous pouvez cependant installer notre application mobile pour une lecture hors ligne.", - "download-q": "Puis-je télécharger le Coran.com sur mon ordinateur ?", - "fiqh-a": "Quran.com est un outil de lecture, d'écoute et d'étude en ligne. L'équipe derrière Quran.com est composée d'ingénieurs logiciels, de concepteurs et de chefs de produit. Malheureusement, c'est la limitation de nos compétences, nous n'avons pas d'érudits, d'imams ou de cheikhs dans l'équipe pour aider avec les questions liées à l'islam, au fiqh ou à la fatwa. Nous essayons de nous abstenir de répondre à aucune de ces questions et vous conseillons de parler à votre imam local dans une mosquée ou à un cheikh.", - "fiqh-q": "Questions liées à l'Islam\/Fiqh\/Fatwa", - "header": "Aide et commentaires", - "main-desc": "Veuillez consulter la FAQ pour voir si votre question a déjà reçu une réponse. Si besoin, vous pouvez <0> nous contacter <\/0> et nous ferons de notre mieux pour vous répondre dans les plus brefs délais, mais juste pour que vous sachiez que nous sommes une petite équipe, alors soyez gentil.", - "mobile-a": "Oui! Veuillez visiter notre <0> page d'applications mobiles <\/0> pour plus d'informations.", - "mobile-q": "Quran.com a-t-il une application mobile ?", - "other-languages-a": "Pour changer votre langue préférée, il y a un menu déroulant dans le coin supérieur droit de chaque page (coin supérieur gauche sur les langues de droite à gauche). Utilisez cette liste déroulante pour choisir votre langue préférée.", - "other-languages-q": "Puis-je parcourir le site dans d'autres langues ?", - "reciters-a": "Soumettez plus d'informations sur ce récitant <0> ici <\/0>", - "reciters-q": "Ajouter plus de récitants", - "site-down-a": "Ce n'est pas bon! Si le site ne fonctionne pas du tout ou si vous voyez un écran blanc avec le texte « Désolé, quelque chose s'est mal passé », nous vous remercions de le signaler <0> ici <\/0> .", - "site-down-q": "Le site ne fonctionne pas, comment vous le dire ?", - "support": "Soutien", - "tafsir-a": "Oui, nous avons des Tafsirs. Cliquez sur l'icône affichée à côté de chaque ayah, puis cliquez sur tafisrs. L'application vous montrera la liste des tafsirs disponibles. Cliquez sur le tafsir que vous souhaitez lire.", - "tafsir-q": "Tafsir est-il disponible ?", - "translations-a": "Ouvrez un nouveau numéro <0> ici <\/0> avec tous les détails, un lien vers la traduction et nous ferons de notre mieux pour l'ajouter.", - "translations-q": "Ajouter d'autres traductions" -} \ No newline at end of file + "bug-a": "Veuillez signaler ce bug <0>ici. Nous le corrigerons dès que possible inshAllah.", + "bug-q": "J'ai trouvé un bug dans la traduction, où dois-je le déposer ?", + "developer-a": "Veuillez consulter la <0>page des développeurs pour plus d'informations.", + "developer-q": "Je suis développeur. Comment puis-je contribuer ?", + "donate-a": "Tout d'abord, nous apprécions vraiment votre intérêt à contribuer. Veuillez visiter <0>ce lien", + "donate-q": "Comment puis-je faire un don ?", + "download-a": "Malheureusement non. Nous ne proposons pas encore de fonctionnalité pour télécharger notre site Web ou le Coran sur votre ordinateur. Vous pouvez cependant installer notre application mobile pour une lecture hors ligne.", + "download-q": "Puis-je télécharger Quran.com sur mon ordinateur ?", + "fiqh-a": "Quran.com est un outil de lecture, d'écoute et d'étude en ligne du Coran. L'équipe derrière Quran.com est composée d'ingénieurs logiciels, de concepteurs et de chefs de produit. Malheureusement, c'est la limitation de nos compétences. Nous n'avons pas d'érudits, d'imams ou de cheikhs dans l'équipe pour aider avec les questions liées à l'Islam, au Fiqh ou à la Fatwa. Ainsi, nous ne répondons pas à de tels questionnement, et vous conseillons de parler à votre imam local dans une mosquée ou à un cheikh.", + "fiqh-q": "Questions liées à l'Islam / Fiqh / Fatwa", + "header": "Aide et avis", + "main-desc": "Veuillez consulter la FAQ pour voir si votre question a déjà reçu une réponse. Si besoin, vous pouvez <0>nous contacter et nous ferons de notre mieux pour vous répondre dans les plus brefs délais. Notez tout de même que nous sommes une petite équipe, alors soyez indulgent.", + "mobile-a": "Oui! Veuillez visiter notre <0>page d'applications mobiles pour plus d'informations.", + "mobile-q": "Y a-t-il une application mobile de Quran.com ?", + "other-languages-a": "Pour changer votre langue préférée, il y a un menu déroulant dans le coin supérieur droit de chaque page (coin supérieur gauche sur les langues de droite à gauche). Utilisez cette liste déroulante pour choisir votre langue préférée.", + "other-languages-q": "Puis-je consulter Quran.com dans d'autres langues ?", + "reciters-a": "Soumettre plus d'informations sur ce récitateur <0>ici", + "reciters-q": "Ajouter plus de récitateurs", + "site-down-a": "Ce n'est pas bon! Si le site ne fonctionne pas du tout ou si vous voyez un écran blanc avec le texte « Désolé, quelque chose s'est mal passé », nous vous remercions de le signaler <0>ici.", + "site-down-q": "Le site ne fonctionne pas, comment vous informer ?", + "support": "Soutenir", + "tafsir-a": "Oui, nous avons des Tafsirs. Cliquez sur l'icône affichée à côté de chaque Ayah, puis cliquez sur tafisrs. L'application vous montrera la liste des tafsirs disponibles. Cliquez sur le tafsir que vous souhaitez lire.", + "tafsir-q": "Le Tafsir est-il disponible ?", + "translations-a": "Ouvrez un nouveau ticket <0>ici avec tous les détails et un lien vers la traduction. Nous ferons de notre mieux pour l'ajouter.", + "translations-q": "Ajouter d'autres traductions" +} diff --git a/locales/fr/surah-info.json b/locales/fr/surah-info.json index 2024a47844..7c3e47173e 100644 --- a/locales/fr/surah-info.json +++ b/locales/fr/surah-info.json @@ -1,6 +1,6 @@ { - "go-to-surah": "Aller à la sourate", - "madinah": "Médine", - "makkah": "Mecque", - "revelation-place": "Lieu de la révélation" -} \ No newline at end of file + "go-to-surah": "Aller à la Sourate", + "madinah": "Médine", + "makkah": "La Mecque", + "revelation-place": "Lieu de la révélation" +} diff --git a/locales/id/common.json b/locales/id/common.json index 9fc00ccf3b..8a18d6a1e0 100644 --- a/locales/id/common.json +++ b/locales/id/common.json @@ -200,7 +200,7 @@ "description": "Donasi bulanan membantu kami meningkatkan Quran.com dan melanggengkan operasional sehingga kami tidak terlalu fokus pada penggalangan dana tetapi lebih pada penciptaan dampak.", "title": "Menjadi Donatur Bulanan" }, - "hear-it-pronounced": "Klik kata apa saja, dengarkan pengucapannya!", + "hear-it-pronounced": "Klik kata-kata Al-Quran, dengarkan pengucapannya", "help": "Bantuan", "hizb": "Hizb", "home": "Halaman Utama", diff --git a/locales/id/learn.json b/locales/id/learn.json index 895923c554..2ed2a7548f 100644 --- a/locales/id/learn.json +++ b/locales/id/learn.json @@ -9,6 +9,7 @@ "coming-soon": "Segera hadir...", "completed": "Selesai", "continue-learning": "Lanjutkan Belajar", + "contributors": "Kontributor", "day": "Hari", "description": "Keterangan", "duration-daily": "Setiap Pelajaran singkat membutuhkan waktu kurang dari {{dailyMins}} menit untuk menyelesaikan semua {{days}} Pelajaran", diff --git a/locales/it/common.json b/locales/it/common.json index 2d41980dfa..16ed2436cc 100644 --- a/locales/it/common.json +++ b/locales/it/common.json @@ -200,7 +200,7 @@ "description": "Le donazioni mensili ci aiutano a migliorare Quran.com e a sostenere le operazioni, quindi ci concentriamo meno sulla raccolta fondi e più sulla creazione di impatto.", "title": "Diventa un donatore mensile" }, - "hear-it-pronounced": "Clicca su una parola qualsiasi e ascolta la pronuncia!", + "hear-it-pronounced": "Clicca sulle parole del Corano, ascolta la pronuncia", "help": "Aiuto", "hizb": "Hizb", "home": "Casa", diff --git a/locales/it/learn.json b/locales/it/learn.json index 5f23b45a43..2f7198b873 100644 --- a/locales/it/learn.json +++ b/locales/it/learn.json @@ -9,6 +9,7 @@ "coming-soon": "Prossimamente...", "completed": "Completato", "continue-learning": "Continua ad imparare", + "contributors": "Collaboratori", "day": "Giorno", "description": "Descrizione", "duration-daily": "Ogni lezione breve richiede meno di {{dailyMins}} minuti per completare un totale {{days}} lezioni", @@ -18,7 +19,7 @@ "enrolled": "Iscritto", "feedback": { "add-feedback": "Aggiungi feedback", - "desc": "Congratulazioni! Hai completato il piano di apprendimento \" {{courseName}} \".

    Controlla il piano di apprendimento e condividi il tuo feedback per aiutarci a migliorare il contenuto.", + "desc": "Congratulazioni! Hai completato il piano di apprendimento \" {{courseName}} \".

    Controlla il piano di apprendimento e condividi il tuo feedback per aiutarci a migliorare il contenuto.", "feedback-placeholder": "Scrivi il tuo feedback", "feedback-success": "Grazie per il tuo feedback!", "your-feedback": "I tuoi commenti" diff --git a/locales/ms/common.json b/locales/ms/common.json index 48fea379f4..3979fd4bd2 100644 --- a/locales/ms/common.json +++ b/locales/ms/common.json @@ -200,7 +200,7 @@ "description": "Derma bulanan membantu kami menambah baik Quran.com dan mengekalkan operasi supaya kami kurang menumpukan pada pengumpulan dana dan lebih kepada mencipta impak.", "title": "Jadilah Penderma Bulanan" }, - "hear-it-pronounced": "Klik mana-mana perkataan, dengar ia disebut!", + "hear-it-pronounced": "Klik perkataan Quran, dengar lafaz", "help": "Bantuan", "hizb": "Hizb", "home": "Halaman Utama", diff --git a/locales/ms/learn.json b/locales/ms/learn.json index 2ca9942cc9..bd0e5ad843 100644 --- a/locales/ms/learn.json +++ b/locales/ms/learn.json @@ -9,6 +9,7 @@ "coming-soon": "Akan datang...", "completed": "Selesai", "continue-learning": "Teruskan Belajar", + "contributors": "Penyumbang", "day": "Hari", "description": "Penerangan", "duration-daily": "Setiap pelajaran ringkas mengambil masa kurang daripada {{dailyMins}} minit untuk menyelesaikan {{days}} Jumlah pelajaran", diff --git a/locales/nl/common.json b/locales/nl/common.json index 108b9de9fd..9d09825d6d 100644 --- a/locales/nl/common.json +++ b/locales/nl/common.json @@ -200,7 +200,7 @@ "description": "Maandelijkse donaties helpen ons Quran.com te verbeteren en de activiteiten te ondersteunen, zodat we ons minder concentreren op fondsenwerving en meer op het creëren van impact.", "title": "Word een maandelijkse donateur" }, - "hear-it-pronounced": "Klik op een woord en hoor de uitspraak ervan!", + "hear-it-pronounced": "Klik op Koranische woorden, hoor uitspraak", "help": "Helpen", "hizb": "Hizb", "home": "Huis", diff --git a/locales/nl/learn.json b/locales/nl/learn.json index d772b0adfd..804b3fce22 100644 --- a/locales/nl/learn.json +++ b/locales/nl/learn.json @@ -9,6 +9,7 @@ "coming-soon": "Binnenkort beschikbaar...", "completed": "Voltooid", "continue-learning": "Ga door met leren", + "contributors": "Medewerkers", "day": "Dag", "description": "Beschrijving", "duration-daily": "Elke korte les duurt minder dan {{dailyMins}} minuten om in totaal {{days}} lessen te voltooien", @@ -18,7 +19,7 @@ "enrolled": "Ingeschreven", "feedback": { "add-feedback": "Feedback toevoegen", - "desc": "Gefeliciteerd! U heeft het leerplan ' {{courseName}} ' voltooid.

    Bekijk het leerplan en deel uw feedback om ons te helpen de inhoud te verbeteren.", + "desc": "Gefeliciteerd! U heeft het leerplan ' {{courseName}} ' voltooid.

    Bekijk het leerplan en deel uw feedback om ons te helpen de inhoud te verbeteren.", "feedback-placeholder": "Schrijf uw feedback", "feedback-success": "Bedankt voor uw feedback!", "your-feedback": "Uw feedback" diff --git a/locales/pt/common.json b/locales/pt/common.json index 9fda505e99..449d8cf62d 100644 --- a/locales/pt/common.json +++ b/locales/pt/common.json @@ -200,7 +200,7 @@ "description": "As doações mensais nos ajudam a melhorar o Quran.com e a sustentar as operações, por isso nos concentramos menos na arrecadação de fundos e mais na criação de impacto.", "title": "Seja um doador mensal" }, - "hear-it-pronounced": "Clique em qualquer palavra e ouça a pronúncia!", + "hear-it-pronounced": "Clique em palavras do Alcorão, ouça a pronúncia", "help": "Ajuda", "hizb": "Hizb", "home": "Casa", diff --git a/locales/pt/learn.json b/locales/pt/learn.json index 187eb83d2c..af2ebd62ef 100644 --- a/locales/pt/learn.json +++ b/locales/pt/learn.json @@ -9,6 +9,7 @@ "coming-soon": "Em breve...", "completed": "Concluído", "continue-learning": "Continuar aprendendo", + "contributors": "Contribuidores", "day": "Dia", "description": "Descrição", "duration-daily": "Cada aula curta leva menos de {{dailyMins}} minutos para ser concluída {{days}} aulas no total", @@ -18,7 +19,7 @@ "enrolled": "Inscrito", "feedback": { "add-feedback": "Adicionar comentários", - "desc": "Parabéns! Você concluiu o plano de aprendizagem ' {{courseName}} '.

    Revise o plano de aprendizagem e compartilhe seus comentários para nos ajudar a melhorar o conteúdo.", + "desc": "Parabéns! Você concluiu o plano de aprendizagem ' {{courseName}} '.

    Revise o plano de aprendizagem e compartilhe seus comentários para nos ajudar a melhorar o conteúdo.", "feedback-placeholder": "Escreva seu feedback", "feedback-success": "Obrigado pelo seu feedback!", "your-feedback": "Seu feedback" diff --git a/locales/ru/common.json b/locales/ru/common.json index a102ee404a..fd81dc028a 100644 --- a/locales/ru/common.json +++ b/locales/ru/common.json @@ -200,7 +200,7 @@ "description": "Ежемесячные пожертвования помогают нам улучшать Quran.com и поддерживать работу, поэтому мы меньше сосредотачиваемся на сборе средств и больше на оказании влияния.", "title": "Стать ежемесячным донором" }, - "hear-it-pronounced": "Нажмите на любое слово и услышите, как оно произносится!", + "hear-it-pronounced": "Нажмите на слова Корана, чтобы услышать произношение", "help": "Помощь", "hizb": "Хизб", "home": "Дом", diff --git a/locales/ru/learn.json b/locales/ru/learn.json index adcadece7b..9d9f0cbd65 100644 --- a/locales/ru/learn.json +++ b/locales/ru/learn.json @@ -9,6 +9,7 @@ "coming-soon": "Вскоре...", "completed": "Завершенный", "continue-learning": "Продолжить обучение", + "contributors": "Участники", "day": "День", "description": "Описание", "duration-daily": "Для завершения каждого короткого урока требуется менее {{dailyMins}} минут. Всего уроков {{days}}", @@ -18,7 +19,7 @@ "enrolled": "Зачислен", "feedback": { "add-feedback": "Добавить отзыв", - "desc": "Поздравляем! Вы выполнили план обучения « {{courseName}} ».

    Просмотрите план обучения и поделитесь своими отзывами, чтобы помочь нам улучшить его содержание.", + "desc": "Поздравляем! Вы выполнили план обучения « {{courseName}} ».

    Просмотрите план обучения и поделитесь своими отзывами, чтобы помочь нам улучшить его содержание.", "feedback-placeholder": "Напишите свой отзыв", "feedback-success": "Спасибо за ваш отзыв!", "your-feedback": "Ваш отзыв" diff --git a/locales/sq/common.json b/locales/sq/common.json index 8e97fdf983..51e54101d5 100644 --- a/locales/sq/common.json +++ b/locales/sq/common.json @@ -200,7 +200,7 @@ "description": "Donacionet mujore na ndihmojnë të përmirësojmë Quran.com dhe të mbajmë operacionet, kështu që ne fokusohemi më pak në mbledhjen e fondeve dhe më shumë në krijimin e ndikimit.", "title": "Bëhuni një donator mujor" }, - "hear-it-pronounced": "Klikoni çdo fjalë, dëgjojeni të shqiptuar!", + "hear-it-pronounced": "Klikoni fjalët kuranore, dëgjoni shqiptimin", "help": "Ndihmë", "hizb": "Hizb", "home": "Shtëpi", diff --git a/locales/sq/learn.json b/locales/sq/learn.json index 0668f69d58..b20b112fab 100644 --- a/locales/sq/learn.json +++ b/locales/sq/learn.json @@ -9,6 +9,7 @@ "coming-soon": "Vjen së shpejti...", "completed": "E përfunduar", "continue-learning": "Vazhdoni të mësoni", + "contributors": "Kontribuesit", "day": "Dita", "description": "Përshkrim", "duration-daily": "Çdo mësim i shkurtër merr më pak se {{dailyMins}} minuta për të përfunduar {{days}} mësime në total", @@ -18,7 +19,7 @@ "enrolled": "I regjistruar", "feedback": { "add-feedback": "Shto koment", - "desc": "urime! Ju keni përfunduar planin mësimor \" {{courseName}} \".

    Ju lutemi rishikoni planin mësimor dhe ndani komentet tuaja për të na ndihmuar të përmirësojmë përmbajtjen.", + "desc": "urime! Ju keni përfunduar planin mësimor \" {{courseName}} \".

    Ju lutemi rishikoni planin mësimor dhe ndani komentet tuaja për të na ndihmuar të përmirësojmë përmbajtjen.", "feedback-placeholder": "Shkruani komentet tuaja", "feedback-success": "Faleminderit për komentin tuaj!", "your-feedback": "Komentet tuaja" diff --git a/locales/sw/learn.json b/locales/sw/learn.json new file mode 100644 index 0000000000..bf628b5e92 --- /dev/null +++ b/locales/sw/learn.json @@ -0,0 +1,42 @@ +{ + "about-author": "Kuhusu mwandishi", + "add-reflection": "Ongeza Tafakari", + "all-learning-plans": "Mipango Yote ya Kujifunza", + "author": "Mwandishi", + "back-to-learning-plan": "Rudi kwenye Mpango wa Mafunzo", + "back-to-learning-plans": "Rudi kwenye Mipango ya Kujifunza", + "category": "", + "coming-soon": "Inakuja Hivi Karibuni...", + "completed": "Imekamilika", + "continue-learning": "Endelea Kujifunza", + "contributors": "Wachangiaji", + "day": "Siku", + "description": "Maelezo", + "duration-daily": "Kila Somo fupi huchukua chini ya dakika {{dailyMins}} kukamilisha {{days}} ya Masomo", + "empty-learning-plans": "Bado hujajiandikisha katika Mipango yoyote ya Mafunzo .", + "enroll": "Jiandikishe", + "enroll-success": "Hongera, Umeongeza {{title}} kwenye orodha yako!", + "enrolled": "Umejiandikisha", + "feedback": { + "add-feedback": "Ongeza Maoni", + "desc": "Hongera! Umekamilisha mpango wa kujifunza wa ' {{courseName}} '.

    Tafadhali kagua mpango wa kujifunza na ushiriki maoni yako ili kutusaidia kuboresha maudhui.", + "feedback-placeholder": "Andika maoni yako", + "feedback-success": "Asante kwa maoni yako!", + "your-feedback": "Maoni Yako" + }, + "learn-duration": "Muda", + "learning-plan-material": "Nyenzo ya Mpango wa Kujifunza", + "learning-plan-meta-desc": "Mpango huu wa Mafunzo utasaidia kubadilisha uhusiano wako na Qur'ani, anza safari yako leo!", + "learning-plans-desc": "Ongeza maarifa yako kwa masomo rahisi ambayo yatakukuza katika safari yako ya Qur'ani.

    Anzisha Mpango wa Kujifunza leo! Maendeleo yako yanafuatiliwa hadi ufike mwisho.", + "learning-plans-meta-desc": "Mipango ya Kujifunza ya Quran.com itasaidia kubadilisha uhusiano wako na Qur'ani. Gundua mkusanyiko wetu wa masomo yaliyoratibiwa na uanze safari yako leo!", + "mark-complete": "Weka alama kuwa umekamilika", + "mark-complete-success": "Somo limekamilika kwa mafanikio!", + "next-lesson": "Somo Lijalo", + "not-enrolled": "Bado hujajiandikisha katika Mpango wa Mafunzo .", + "prev-lesson": "Somo Lililotangulia", + "start-learning": "Anza Kujifunza", + "tabs": { + "main": "Maelezo kuu", + "syllabus": "Muhtasari wa masomo" + } +} diff --git a/locales/th/common.json b/locales/th/common.json index 01edcd45a6..35ce91512f 100644 --- a/locales/th/common.json +++ b/locales/th/common.json @@ -200,7 +200,7 @@ "description": "การบริจาครายเดือนช่วยให้เราปรับปรุง Quran.com และรักษาการดำเนินงานไว้ได้ ดังนั้นเราจึงมุ่งเน้นไปที่การระดมทุนน้อยลงและให้ความสำคัญกับการสร้างผลกระทบมากขึ้น", "title": "ร่วมเป็นผู้บริจาครายเดือน" }, - "hear-it-pronounced": "คลิกคำใด ๆ เพื่อฟังการออกเสียง!", + "hear-it-pronounced": "คลิกคำในอัลกุรอาน ฟังการออกเสียง", "help": "ช่วยเหลือ", "hizb": "ฮิซบ์", "home": "หน้าหลัก", diff --git a/locales/th/learn.json b/locales/th/learn.json index e35f9ee8a0..8e38aede4f 100644 --- a/locales/th/learn.json +++ b/locales/th/learn.json @@ -9,6 +9,7 @@ "coming-soon": "เร็วๆ นี้...", "completed": "สมบูรณ์", "continue-learning": "เรียนรู้ต่อ", + "contributors": "ผู้สนับสนุน", "day": "วัน", "description": "คำอธิบาย", "duration-daily": "บทเรียนสั้นแต่ละบทเรียนใช้เวลาน้อยกว่า {{dailyMins}} นาทีในการเรียนจบทั้งหมด {{days}} บทเรียน", @@ -18,7 +19,7 @@ "enrolled": "ลงทะเบียนแล้ว", "feedback": { "add-feedback": "เพิ่มคำติชม", - "desc": "ยินดีด้วย! คุณสำเร็จแผนการเรียนรู้ ' {{courseName}} ' แล้ว

    โปรดทบทวนแผนการเรียนรู้และแบ่งปันความคิดเห็นของคุณเพื่อช่วยเราปรับปรุงเนื้อหา", + "desc": "ยินดีด้วย! คุณสำเร็จแผนการเรียนรู้ ' {{courseName}} ' แล้ว

    โปรดทบทวนแผนการเรียนรู้และแบ่งปันความคิดเห็นของคุณเพื่อช่วยเราปรับปรุงเนื้อหา", "feedback-placeholder": "เขียนความคิดเห็นของคุณ", "feedback-success": "ขอบคุณสำหรับความคิดเห็นของคุณ!", "your-feedback": "ข้อเสนอแนะของคุณ" diff --git a/locales/tr/common.json b/locales/tr/common.json index 7c27248474..19e79b123f 100644 --- a/locales/tr/common.json +++ b/locales/tr/common.json @@ -200,7 +200,7 @@ "description": "Aylık bağışlar, Kuran.com'u geliştirmemize ve operasyonlarımızı sürdürmemize yardımcı oluyor; böylece bağış toplamaya daha az, etki yaratmaya daha çok odaklanıyoruz.", "title": "Aylık Bağışçımız Olun" }, - "hear-it-pronounced": "Herhangi bir kelimeye tıklayın, telaffuzunu dinleyin!", + "hear-it-pronounced": "Kuran kelimelerini tıklayın, telaffuzunu dinleyin", "help": "Yardım", "hizb": "Hizb", "home": "Anasayfa", diff --git a/locales/tr/learn.json b/locales/tr/learn.json index ac19dbbf89..439e386cf0 100644 --- a/locales/tr/learn.json +++ b/locales/tr/learn.json @@ -9,6 +9,7 @@ "coming-soon": "Yakında gelecek...", "completed": "Tamamlanmış", "continue-learning": "Öğrenmeye Devam Et", + "contributors": "Katkıda bulunanlar", "day": "Gün", "description": "Tanım", "duration-daily": "Her kısa Dersin toplam {{days}} Dersi tamamlaması {{dailyMins}} dakikadan az sürer", @@ -18,7 +19,7 @@ "enrolled": "Kayıtlı", "feedback": { "add-feedback": "Geri Bildirim Ekle", - "desc": "Tebrikler! ' {{courseName}} ' öğrenme planını tamamladınız.

    Lütfen öğrenme planını inceleyin ve içeriği geliştirmemize yardımcı olmak için geri bildirimlerinizi paylaşın.", + "desc": "Tebrikler! ' {{courseName}} ' öğrenme planını tamamladınız.

    Lütfen öğrenme planını inceleyin ve içeriği geliştirmemize yardımcı olmak için geri bildirimlerinizi paylaşın.", "feedback-placeholder": "Geri bildiriminizi yazın", "feedback-success": "Geri bildiriminiz için teşekkür ederiz!", "your-feedback": "Görüşleriniz" diff --git a/locales/ur/common.json b/locales/ur/common.json index 993dff4dff..686b4db4ce 100644 --- a/locales/ur/common.json +++ b/locales/ur/common.json @@ -200,7 +200,7 @@ "description": "ماہانہ عطیات قرآن ڈاٹ کام کو بہتر بنانے اور آپریشنز کو برقرار رکھنے میں ہماری مدد کرتے ہیں تاکہ ہم فنڈ ریزنگ پر کم اور اثر پیدا کرنے پر زیادہ توجہ دیں۔", "title": "ماہانہ ڈونر بنیں۔" }, - "hear-it-pronounced": "کسی بھی لفظ پر کلک کریں، اس کا تلفظ سنیں!", + "hear-it-pronounced": "قرآنی الفاظ پر کلک کریں، تلفظ سنیں۔", "help": "مدد", "hizb": "حزب", "home": "ہوم", diff --git a/locales/ur/learn.json b/locales/ur/learn.json index b90b3ec72b..fd0f562633 100644 --- a/locales/ur/learn.json +++ b/locales/ur/learn.json @@ -9,6 +9,7 @@ "coming-soon": "جلد آ رہا ہے...", "completed": "مکمل", "continue-learning": "سیکھنا جاری رکھیں", + "contributors": "تعاون کرنے والے", "day": "دن", "description": "تفصیل", "duration-daily": "ہر مختصر سبق کو مکمل کرنے میں {{dailyMins}} منٹ سے بھی کم وقت لگتا ہے، کل {{days}} اسباق ", diff --git a/locales/zh/common.json b/locales/zh/common.json index 86bf684603..d426003d3c 100644 --- a/locales/zh/common.json +++ b/locales/zh/common.json @@ -200,7 +200,7 @@ "description": "每月的捐款帮助我们改善 Quran.com 并维持运营,因此我们不再专注于筹款,而是更多地关注创造影响力。", "title": "成为每月捐助者" }, - "hear-it-pronounced": "单击任意单词,即可听到其发音!", + "hear-it-pronounced": "点击《古兰经》单词,听发音", "help": "帮助", "hizb": "希兹布", "home": "首页", diff --git a/locales/zh/learn.json b/locales/zh/learn.json index f5ac07a6b7..d26d9c8134 100644 --- a/locales/zh/learn.json +++ b/locales/zh/learn.json @@ -9,6 +9,7 @@ "coming-soon": "即将推出...", "completed": "完全的", "continue-learning": "继续学习", + "contributors": "贡献者", "day": "天", "description": "描述", "duration-daily": "每节简短课程只需不到{{dailyMins}}分钟即可完成总共{{days}}节课程", @@ -18,7 +19,7 @@ "enrolled": "已注册", "feedback": { "add-feedback": "添加反馈", - "desc": "恭喜!您已完成“ {{courseName}} ”学习计划。

    请查看学习计划并分享您的反馈,以帮助我们改进内容。", + "desc": "恭喜!您已完成“ {{courseName}} ”学习计划。

    请查看学习计划并分享您的反馈,以帮助我们改进内容。", "feedback-placeholder": "写下您的反馈", "feedback-success": "感谢您的反馈意见!", "your-feedback": "您的反馈" diff --git a/next-sitemap.js b/next-sitemap.js index 5b8533e21a..d21fd12eb3 100644 --- a/next-sitemap.js +++ b/next-sitemap.js @@ -5,6 +5,7 @@ /* eslint-disable react-func/max-lines-per-function */ /* eslint-disable global-require */ /* eslint-disable import/no-dynamic-require */ +const CryptoJS = require('crypto-js'); const range = require('lodash/range'); const fetch = require('node-fetch'); @@ -19,24 +20,62 @@ const shouldGenerateAdditionalPaths = const BASE_PATH = `${isDevelopment ? 'http' : 'https'}://${process.env.NEXT_PUBLIC_VERCEL_URL}` || 'https://quran.com'; -const BASE_AUTH_PATH = process.env.NEXT_PUBLIC_AUTH_BASE_URL; + +const { API_GATEWAY_URL } = process.env; +const API_CONTENT_URL = `${API_GATEWAY_URL}/content`; +const API_AUTH_URL = `${API_GATEWAY_URL}/auth`; +const QDC_PREFIX = '/api/qdc'; const chapters = range(1, 115); +const generateSignature = (url) => { + const currentTimestamp = new Date().getTime().toString(); + + const rawString = `${url}.${currentTimestamp}`; + const signature = CryptoJS.HmacSHA512(rawString, process.env.SIGNATURE_TOKEN); + const encodedSignature = CryptoJS.enc.Base64.stringify(signature); + + return { signature: encodedSignature, timestamp: currentTimestamp }; +}; + const getAvailableCourses = async () => { - const res = await fetch(`${BASE_AUTH_PATH}/courses`); + const coursesURL = `${API_AUTH_URL}/courses`; + const { signature, timestamp } = generateSignature(coursesURL); + const res = await fetch(coursesURL, { + headers: { + 'x-auth-signature': signature, + 'x-timestamp': timestamp, + 'x-internal-client': process.env.INTERNAL_CLIENT_ID, + }, + }); const data = await res.json(); return data; }; const getAvailableTafsirs = async () => { - const res = await fetch(`https://api.qurancdn.com/api/qdc/resources/tafsirs`); + const tafsirsURL = `${API_CONTENT_URL}${QDC_PREFIX}/resources/tafsirs`; + const { signature, timestamp } = generateSignature(tafsirsURL); + const res = await fetch(tafsirsURL, { + headers: { + 'x-auth-signature': signature, + 'x-timestamp': timestamp, + 'x-internal-client': process.env.INTERNAL_CLIENT_ID, + }, + }); const data = await res.json(); return data; }; const getAvailableReciters = async () => { - const res = await fetch(`https://api.qurancdn.com/api/qdc/audio/reciters`); + const recitersURL = `${API_CONTENT_URL}${QDC_PREFIX}/audio/reciters`; + const { signature, timestamp } = generateSignature(recitersURL); + const res = await fetch(recitersURL, { + headers: { + 'x-auth-signature': signature, + 'x-timestamp': timestamp, + 'x-internal-client': process.env.INTERNAL_CLIENT_ID, + }, + }); const data = await res.json(); return data; }; diff --git a/next.config.js b/next.config.js index 7434d430a8..2bbf9b0666 100644 --- a/next.config.js +++ b/next.config.js @@ -7,19 +7,32 @@ const withBundleAnalyzer = require('@next/bundle-analyzer')({ enabled: process.env.ANALYZE_BUNDLE === 'true', }); const { withSentryConfig } = require('@sentry/nextjs'); -const withPlugins = require('next-compose-plugins'); const withFonts = require('next-fonts'); const withPWA = require('next-pwa'); -const nextTranslate = require('next-translate'); -const withTM = require('next-transpile-modules')(['remotion', '@remotion/cli', '@remotion/player']); +const nextTranslate = require('next-translate-plugin'); const securityHeaders = require('./configs/SecurityHeaders.js'); const runtimeCaching = require('./pwa-runtime-config.js'); const isDev = process.env.NEXT_PUBLIC_VERCEL_ENV === 'development'; const isProduction = process.env.NEXT_PUBLIC_VERCEL_ENV === 'production'; -const config = { - productionBrowserSourceMaps: true, // {@see https://nextjs.org/docs/advanced-features/source-maps} +const withPWAConfig = withPWA({ + dest: 'public', + disable: !isProduction, + mode: isProduction ? 'production' : 'development', + publicExcludes: [ + '!fonts/**/!(sura_names|ProximaVara)*', // exclude pre-caching all fonts that are not sura_names or ProximaVara + '!icons/**', // exclude all icons + '!images/**/!(background|homepage)*', // don't pre-cache except background.jpg and homepage.png + ], + runtimeCaching, +}); + +/** @type {import('next').NextConfig} */ +const nextConfig = { + reactStrictMode: true, + productionBrowserSourceMaps: true, + swcMinify: true, images: { formats: ['image/avif', 'image/webp'], domains: [ @@ -31,18 +44,6 @@ const config = { 'images.quran.com', ], }, - pwa: { - disable: !isProduction, - dest: 'public', - mode: isProduction ? 'production' : 'development', - runtimeCaching, - publicExcludes: [ - '!fonts/**/!(sura_names|ProximaVara)*', // exclude pre-caching all fonts that are not sura_names or ProximaVara - '!icons/**', // exclude all icons - '!images/**/!(background|homepage)*', // don't pre-cache except background.jpg and homepage.png - ], - }, - // this is needed to support importing audioWorklet nodes. {@see https://github.com/webpack/webpack/issues/11543#issuecomment-826897590} webpack: (webpackConfig) => { webpackConfig.resolve = { ...webpackConfig.resolve, @@ -88,18 +89,7 @@ const config = { return webpackConfig; }, - SentryWebpackPluginOptions: { - // Additional config options for the Sentry Webpack plugin. Keep in mind that - // the following options are set automatically, and overriding them is not - // recommended: - // release, url, org, project, authToken, configFile, stripPrefix, - // urlPrefix, include, ignore - - silent: true, // Suppresses all logs - // For all available options, see: - // https://github.com/getsentry/sentry-webpack-plugin#options. - }, - async headers() { + headers: async () => { return isDev ? [] : [ @@ -136,39 +126,50 @@ const config = { }, ]; }, - async redirects() { - return [ - { - source: '/:surah/:from(\\d{1,})\\::to(\\d{1,})', // 1/2:3 => 1/2-3 - destination: '/:surah/:from-:to', - permanent: true, - }, - { - source: '/:surah\\::from(\\d{1,})\\::to(\\d{1,})', // 1:2:3 => 1/2-3 - destination: '/:surah/:from-:to', - permanent: true, - }, - { - source: '/:surah(\\d{1,})-:from\\::to', // 1-2:3 => 1/2-3 - destination: '/:surah/:from-:to', - permanent: true, - }, - { - source: '/:surah(\\d{1,})-:from(\\d{1,})-:to(\\d{1,})', // 1-2-3 => 1/2-3 - destination: '/:surah/:from-:to', - permanent: true, - }, - { - source: '/:surah(\\d{1,})\\::from(\\d{1,})-:to(\\d{1,})', // 1:2-3 => 1/2-3 - destination: '/:surah/:from-:to', - permanent: true, - }, - ]; + redirects: async () => [ + { + source: '/:surah/:from(\\d{1,})\\::to(\\d{1,})', // 1/2:3 => 1/2-3 + destination: '/:surah/:from-:to', + permanent: true, + }, + { + source: '/:surah\\::from(\\d{1,})\\::to(\\d{1,})', // 1:2:3 => 1/2-3 + destination: '/:surah/:from-:to', + permanent: true, + }, + { + source: '/:surah(\\d{1,})-:from\\::to', // 1-2:3 => 1/2-3 + destination: '/:surah/:from-:to', + permanent: true, + }, + { + source: '/:surah(\\d{1,})-:from(\\d{1,})-:to(\\d{1,})', // 1-2-3 => 1/2-3 + destination: '/:surah/:from-:to', + permanent: true, + }, + { + source: '/:surah(\\d{1,})\\::from(\\d{1,})-:to(\\d{1,})', // 1:2-3 => 1/2-3 + destination: '/:surah/:from-:to', + permanent: true, + }, + ], + compiler: { + removeConsole: !isDev, }, }; -// eslint-disable-next-line max-lines -module.exports = withPlugins( - [withTM, withBundleAnalyzer, withPWA, withFonts, nextTranslate, withSentryConfig], - config, +// Apply plugins +const configWithPlugins = withBundleAnalyzer(withFonts(nextTranslate(withPWAConfig(nextConfig)))); + +// Apply Sentry configuration +module.exports = withSentryConfig( + configWithPlugins, + { + silent: true, + }, + { + hideSourceMaps: !isDev, + // Additional config options for the Sentry Webpack plugin + // ... (any additional Sentry options) + }, ); diff --git a/package.json b/package.json index 1c23446aa1..0b27b54090 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "scripts": { "dev": "next dev", "dev:https": "node server.js", - "build": "next build", + "build": "IS_BUILD_TIME=true next build", "media-maker:studio": "npx remotion studio src/components/MediaMaker/index.ts", "media-maker:deploy": "node scripts/media/deploy.mjs", "postbuild": "yarn run generate-sitemap", @@ -37,112 +37,119 @@ "postpack": "pinst --enable" }, "dependencies": { - "@babel/eslint-parser": "^7.19.1", - "@milkdown/core": "^7.3.3", - "@milkdown/ctx": "^7.3.3", - "@milkdown/preset-commonmark": "^7.3.3", - "@milkdown/prose": "^7.3.3", - "@milkdown/react": "^7.3.3", - "@milkdown/transformer": "^7.3.3", - "@milkdown/utils": "^7.3.3", - "@next/bundle-analyzer": "^12.3.1", + "@babel/eslint-parser": "^7.25.1", + "@milkdown/core": "^7.5.0", + "@milkdown/ctx": "^7.5.0", + "@milkdown/kit": "^7.5.5", + "@milkdown/preset-commonmark": "^7.5.0", + "@milkdown/prose": "^7.5.0", + "@milkdown/react": "^7.5.0", + "@milkdown/transformer": "^7.5.0", + "@milkdown/utils": "^7.5.0", + "@next/bundle-analyzer": "^14.2.7", "@novu/headless": "0.24.0", - "@radix-ui/react-checkbox": "^1.0.0", - "@radix-ui/react-collapsible": "^1.0.0", - "@radix-ui/react-dialog": "^1.0.5", - "@radix-ui/react-direction": "^1.0.1", - "@radix-ui/react-dropdown-menu": "^2.0.6", - "@radix-ui/react-hover-card": "^1.0.7", - "@radix-ui/react-id": "^1.0.1", + "@radix-ui/react-checkbox": "^1.1.1", + "@radix-ui/react-collapsible": "^1.1.0", + "@radix-ui/react-dialog": "^1.1.1", + "@radix-ui/react-direction": "^1.1.0", + "@radix-ui/react-dropdown-menu": "^2.1.1", + "@radix-ui/react-hover-card": "^1.1.1", + "@radix-ui/react-id": "^1.1.0", "@radix-ui/react-polymorphic": "^0.0.14", - "@radix-ui/react-popover": "^1.0.7", - "@radix-ui/react-progress": "^1.0.3", - "@radix-ui/react-radio-group": "^1.1.3", - "@radix-ui/react-separator": "^1.0.3", - "@radix-ui/react-slider": "^1.1.2", - "@radix-ui/react-switch": "^1.0.3", - "@radix-ui/react-tabs": "^1.0.4", - "@radix-ui/react-tooltip": "^1.0.7", - "@radix-ui/react-visually-hidden": "^1.0.3", - "@reduxjs/toolkit": "^1.8.5", - "@remotion/bundler": "4.0.126", - "@remotion/cli": "4.0.126", - "@remotion/eslint-plugin": "4.0.126", - "@remotion/lambda": "4.0.126", - "@remotion/player": "4.0.126", + "@radix-ui/react-popover": "^1.1.1", + "@radix-ui/react-progress": "^1.1.0", + "@radix-ui/react-radio-group": "^1.2.0", + "@radix-ui/react-separator": "^1.1.0", + "@radix-ui/react-slider": "^1.2.0", + "@radix-ui/react-switch": "^1.1.0", + "@radix-ui/react-tabs": "^1.1.0", + "@radix-ui/react-tooltip": "^1.1.2", + "@radix-ui/react-visually-hidden": "^1.1.0", + "@reduxjs/toolkit": "^2.2.7", + "@remotion/bundler": "4.0.206", + "@remotion/cli": "4.0.206", + "@remotion/eslint-plugin": "4.0.206", + "@remotion/lambda": "4.0.206", + "@remotion/player": "4.0.206", "@sanity/client": "^5.2.1", "@sanity/image-url": "^1.0.2", "@sentry/nextjs": "^7.77.0", + "@types/crypto-js": "^4.2.2", "@umalqura/core": "^0.0.7", "@xstate/react": "^3.0.1", "classnames": "^2.3.2", "clipboard-copy": "^4.0.1", "cookie": "^0.5.0", + "crypto-js": "^4.2.0", "firebase": "^9.10.0", "fuse.js": "^6.6.2", "groq": "^3.4.0", + "http-proxy-middleware": "^3.0.0", "humps": "^2.0.1", "js-cookie": "^3.0.1", "lodash": "^4.17.21", - "next": "^12.1.5", + "next": "^14.2.6", "next-compose-plugins": "^2.2.0", "next-fonts": "^1.0.3", "next-pwa": "^5.6.0", - "next-seo": "^5.5.0", - "next-translate": "^1.6.0", - "next-transpile-modules": "9.0.0", + "next-seo": "^6.5.0", + "next-translate": "^2.6.2", + "next-translate-plugin": "^2.6.2", "node-fetch": "2", "querystring": "^0.2.1", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-hook-form": "^7.36.1", - "react-hotkeys-hook": "^3.4.7", + "react-hotkeys-hook": "^4.5.0", "react-joyride": "^2.7.2", - "react-redux": "^8.0.4", + "react-redux": "^9.1.2", "react-toastify": "^9.0.8", "react-virtuoso": "^2.19.0", - "redux": "^4.2.0", + "redux": "^5.0.1", "redux-persist": "^6.0.0", "refresh-fetch": "^0.8.0", - "remotion": "4.0.126", + "remark-directive": "^3.0.0", + "remotion": "4.0.206", "swr": "1.2.1", "xstate": "^4.33.6" }, "devDependencies": { "@lokalise/node-api": "^12.7.0", "@next/eslint-plugin-next": "^12.3.1", - "@playwright/test": "^1.26.0", - "@storybook/addon-a11y": "^7.6.4", - "@storybook/addon-actions": "^7.6.4", - "@storybook/addon-essentials": "^7.6.4", - "@storybook/addon-links": "^7.6.4", - "@storybook/addon-storysource": "^7.6.4", - "@storybook/addon-styling-webpack": "^0.0.5", - "@storybook/nextjs": "^7.6.4", - "@storybook/react": "^7.6.4", - "@svgr/webpack": "^6.3.1", + "@playwright/test": "^1.46.1", + "@storybook/addon-a11y": "^8.2.9", + "@storybook/addon-actions": "^8.2.9", + "@storybook/addon-essentials": "^8.2.9", + "@storybook/addon-links": "^8.2.9", + "@storybook/addon-storysource": "^8.2.9", + "@storybook/addon-styling-webpack": "^1.0.0", + "@storybook/nextjs": "^8.2.9", + "@storybook/react": "^8.2.9", + "@svgr/webpack": "^8.1.0", "@testing-library/react": "^13.4.0", - "@types/cookie": "^0.5.1", + "@types/cookie": "^0.6.0", "@types/js-cookie": "^3.0.2", - "@types/lodash": "^4.14.184", - "@types/node": "^20.10.4", + "@types/lodash": "^4.17.7", + "@types/node": "^22.5.0", "@types/node-fetch": "^2.6.2", - "@types/qs": "^6.9.7", - "@types/react": "^18.2.45", - "@types/react-dom": "^18.2.17", + "@types/qs": "^6.9.15", + "@types/react": "^18.3.4", + "@types/react-dom": "^18.3.0", "@types/react-redux": "^7.1.23", "@types/refresh-fetch": "^0.6.1", "@types/wicg-mediasession": "^1.1.3", "@typescript-eslint/eslint-plugin": "^6.14.0", "@typescript-eslint/parser": "^6.14.0", - "@vitejs/plugin-react": "^2.1.0", - "@vitest/coverage-c8": "^0.23.4", + "@vitejs/plugin-react": "^4.3.1", + "@vitest/coverage-c8": "^0.33.0", + "@vitest/coverage-v8": "^2.0.5", "adm-zip": "^0.5.9", + "browserify-fs": "^1.0.0", "cross-env": "^7.0.3", "dotenv": "^16.0.2", "eslint": "^8.24.0", "eslint-config-airbnb": "^19.0.4", - "eslint-config-next": "^14.0.4", + "eslint-config-next": "^14.2.6", "eslint-config-prettier": "^8.5.0", "eslint-plugin-i18next": "^6.0.0-4", "eslint-plugin-import": "^2.26.0", @@ -155,30 +162,31 @@ "eslint-plugin-sonarjs": "^0.15.0", "eslint-plugin-storybook": "^0.6.15", "eslint-plugin-unicorn": "^43.0.2", - "husky": "^9.0.11", + "husky": "^9.1.5", "inquirer": "^8.0.0", "inquirer-file-tree-selection-prompt": "^1", "jsdom": "^20.0.0", - "lint-staged": "^13.0.3", + "lint-staged": "^15.2.9", "next-sitemap": "^3.1.22", "pinst": "^3.0.0", - "postcss": "8", + "postcss": "8.4.41", "postcss-scss": "^4.0.5", "prettier": "^2.7.1", "react-docgen-typescript-loader": "^3.7.2", "replace-in-file": "^6.3.5", - "sass": "^1.55.0", - "sass-loader": "^13.0.2", - "storybook": "^7.6.4", - "storybook-addon-rtl": "^1.0.0", + "require-npm": "^1.4.1", + "sass": "^1.77.8", + "sass-loader": "^16.0.1", + "storybook": "^8.2.9", + "storybook-addon-rtl": "^1.0.1", "stylelint": "14.12.1", "stylelint-prettier": "^2.0.0", "stylelint-scss": "^4.3.0", "stylelint-use-logical": "^2.0.0", - "superagent": "^10.1.0", - "typescript": "^4.8.3", - "vite": "^3.2.5", - "vitest": "^0.23.4" + "superagent": "^8.0.0", + "typescript": "^5.5.4", + "vite": "^5.4.2", + "vitest": "^2.0.5" }, "husky": { "hooks": { diff --git a/public/fonts/quran/hafs/v1/ttf/p175.ttf b/public/fonts/quran/hafs/v1/ttf/p175.ttf index ead29f3e37..a968bfec26 100644 Binary files a/public/fonts/quran/hafs/v1/ttf/p175.ttf and b/public/fonts/quran/hafs/v1/ttf/p175.ttf differ diff --git a/public/fonts/quran/hafs/v1/woff/p175.woff b/public/fonts/quran/hafs/v1/woff/p175.woff index c905f67a90..48312a7038 100644 Binary files a/public/fonts/quran/hafs/v1/woff/p175.woff and b/public/fonts/quran/hafs/v1/woff/p175.woff differ diff --git a/public/fonts/quran/hafs/v1/woff2/p175.woff2 b/public/fonts/quran/hafs/v1/woff2/p175.woff2 index a5003f3217..2f62ba1008 100644 Binary files a/public/fonts/quran/hafs/v1/woff2/p175.woff2 and b/public/fonts/quran/hafs/v1/woff2/p175.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p202.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p202.ttf index b56c28bff7..6d2cdac10e 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p202.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p202.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p293.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p293.ttf index 444bbdb77e..0db26ca3f8 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p293.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p293.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p3.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p3.ttf index 8a95292759..2cde862ce4 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p3.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p3.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p303.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p303.ttf index 46c29cbfd3..4da83ae74e 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p303.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p303.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p310.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p310.ttf index 6c42ec8666..0a159f6137 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p310.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p310.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p329.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p329.ttf index 8dffcad428..b6f021e1a3 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p329.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p329.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p354.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p354.ttf index 58e959e26f..a1f2724da1 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p354.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p354.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p36.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p36.ttf index 1b057e3d98..b8d1f3af8c 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p36.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p36.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p372.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p372.ttf index eb2771a988..1938c95241 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p372.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p372.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p395.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p395.ttf index 96372381cc..66f34062b5 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p395.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p395.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p400.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p400.ttf index 97521fabbe..1c093094a0 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p400.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p400.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p445.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p445.ttf index f9e39f1c38..0e431f2f3f 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p445.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p445.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p453.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p453.ttf index e34b246179..ca95c04d45 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p453.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p453.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p58.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p58.ttf index 015049c1af..ea87b9e6b8 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p58.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p58.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p597.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p597.ttf index a4e129625e..0be93ff077 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p597.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p597.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/ttf/p61.ttf b/public/fonts/quran/hafs/v4/colrv1/ttf/p61.ttf index 49eea3e308..168b09fe42 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/ttf/p61.ttf and b/public/fonts/quran/hafs/v4/colrv1/ttf/p61.ttf differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p202.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p202.woff index 08358e928f..f8dc2b92bb 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p202.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p202.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p293.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p293.woff index 425d9ab6aa..c512dbc0fd 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p293.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p293.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p3.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p3.woff index 0e3ee96907..1c6e129ecd 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p3.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p3.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p303.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p303.woff index 0453971f49..6988ae3cf9 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p303.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p303.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p310.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p310.woff index bda64660e3..ec350c28e9 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p310.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p310.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p329.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p329.woff index c03e680682..50440ecf13 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p329.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p329.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p354.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p354.woff index a6d19b80f2..e404f6f33e 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p354.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p354.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p36.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p36.woff index e382d86336..82034ff3a2 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p36.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p36.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p372.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p372.woff index a3592e6b43..289173a147 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p372.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p372.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p395.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p395.woff index 5e8c7ffed7..b206c841f1 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p395.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p395.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p400.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p400.woff index 5c715d15c1..19957dfc9c 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p400.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p400.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p445.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p445.woff index 3cd411d579..ae731d5aa9 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p445.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p445.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p453.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p453.woff index bb2eaaca51..0aa8777591 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p453.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p453.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p58.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p58.woff index 36451ece35..be26dfe006 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p58.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p58.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p597.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p597.woff index af92ddfa2a..b109da67d8 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p597.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p597.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff/p61.woff b/public/fonts/quran/hafs/v4/colrv1/woff/p61.woff index 004eca782b..0463b62a0f 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff/p61.woff and b/public/fonts/quran/hafs/v4/colrv1/woff/p61.woff differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p202.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p202.woff2 index 3c0af0ddcd..c97902a30b 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p202.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p202.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p293.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p293.woff2 index a0708766ac..9beb2e8fd3 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p293.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p293.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p3.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p3.woff2 index ffba2d7b13..5f1ff3d3b6 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p3.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p3.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p303.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p303.woff2 index 5f3a41adf8..a4a13ca1ab 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p303.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p303.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p310.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p310.woff2 index 4af3c75b70..e3b184c8e3 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p310.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p310.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p329.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p329.woff2 index 5a6a090b73..f0aac6e587 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p329.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p329.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p354.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p354.woff2 index a748b338d8..a92d7ce8d1 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p354.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p354.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p36.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p36.woff2 index a4ee1be6c6..8c49fcaf1f 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p36.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p36.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p372.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p372.woff2 index e8a36ad12e..f6db477f63 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p372.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p372.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p395.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p395.woff2 index 8cb6d00351..80a41260f3 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p395.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p395.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p400.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p400.woff2 index b962958195..4e327ae422 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p400.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p400.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p445.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p445.woff2 index 65b25e96db..b2933a3dd3 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p445.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p445.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p453.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p453.woff2 index 80b9bfbfcc..f83d9adb3b 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p453.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p453.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p58.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p58.woff2 index 1bb09d55d2..e29f573a89 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p58.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p58.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p597.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p597.woff2 index 94df3371e8..202403efb9 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p597.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p597.woff2 differ diff --git a/public/fonts/quran/hafs/v4/colrv1/woff2/p61.woff2 b/public/fonts/quran/hafs/v4/colrv1/woff2/p61.woff2 index c506d04fbc..e2a6c5e63c 100644 Binary files a/public/fonts/quran/hafs/v4/colrv1/woff2/p61.woff2 and b/public/fonts/quran/hafs/v4/colrv1/woff2/p61.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p202.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p202.ttf index 4019574f0d..c6e0a3f302 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p202.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p202.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p293.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p293.ttf index 55bd9fe95b..c6c04fbee2 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p293.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p293.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p3.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p3.ttf index 0b701e259e..0b6c52e15f 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p3.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p3.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p303.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p303.ttf index 1c117301c0..d2542a463e 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p303.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p303.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p310.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p310.ttf index 88d7c883fc..97986c39ee 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p310.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p310.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p329.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p329.ttf index c16c9dfd06..6c16893c2a 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p329.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p329.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p354.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p354.ttf index c0f5704ea8..3eb8fac3cd 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p354.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p354.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p36.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p36.ttf index 4485e90d01..b203b5db3c 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p36.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p36.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p372.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p372.ttf index f53451c9fb..c90c4a5531 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p372.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p372.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p395.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p395.ttf index f9db29ffbc..bf8f0971fc 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p395.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p395.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p400.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p400.ttf index 7731aeffff..1a8aaf8db6 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p400.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p400.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p445.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p445.ttf index ef6711eb17..e2c891f2b8 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p445.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p445.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p453.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p453.ttf index 9a00eb524a..772b704f7a 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p453.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p453.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p58.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p58.ttf index 0cfa59b868..4023cc2b83 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p58.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p58.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p597.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p597.ttf index 88f2f279e7..ea73ae4c44 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p597.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p597.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p61.ttf b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p61.ttf index c2912a0a7e..86fea5419d 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p61.ttf and b/public/fonts/quran/hafs/v4/ot-svg/dark/ttf/p61.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p202.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p202.woff index c9ff961821..013e97e558 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p202.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p202.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p293.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p293.woff index aa83be54dd..0a2f9b81be 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p293.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p293.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p3.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p3.woff index 6cc70ca9ed..3130ee2eeb 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p3.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p3.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p303.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p303.woff index 01462674df..5cd9cf47ab 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p303.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p303.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p310.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p310.woff index f32b88db91..8b531237de 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p310.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p310.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p329.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p329.woff index b36da70712..8bbac402ea 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p329.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p329.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p354.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p354.woff index b6e7ecee91..3fb5344894 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p354.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p354.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p36.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p36.woff index 437111f339..ffe3a85b1e 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p36.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p36.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p372.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p372.woff index fb95dd04cb..12d85a1683 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p372.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p372.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p395.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p395.woff index fe2fe40ccd..17199b1116 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p395.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p395.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p400.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p400.woff index 5cb63e043f..a4ba8556bb 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p400.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p400.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p445.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p445.woff index 5f62747b45..df674c782d 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p445.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p445.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p453.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p453.woff index ee5fe5ed6a..2a04700362 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p453.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p453.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p58.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p58.woff index 9a4c751185..60fb3f282f 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p58.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p58.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p597.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p597.woff index a05637b3a6..045eec99e4 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p597.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p597.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p61.woff b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p61.woff index 31e0862f93..1d3e9e2567 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p61.woff and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff/p61.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p202.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p202.woff2 index 3d7854ec1b..0adc5e9718 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p202.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p202.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p293.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p293.woff2 index 2947ed9734..28875c2e8a 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p293.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p293.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p3.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p3.woff2 index b582240b10..18f027ec1b 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p3.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p3.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p303.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p303.woff2 index 848e8ee2aa..6d0696e651 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p303.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p303.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p310.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p310.woff2 index c5b607399b..53753e4ec2 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p310.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p310.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p329.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p329.woff2 index 9cf5e1cd98..e8b276ecde 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p329.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p329.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p354.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p354.woff2 index 3e06ab4c00..b2427f86a6 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p354.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p354.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p36.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p36.woff2 index 62e818cc5e..a7a8af4a94 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p36.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p36.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p372.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p372.woff2 index 2c019d053a..92e8712833 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p372.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p372.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p395.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p395.woff2 index c14f8f119f..f6bd6309e3 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p395.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p395.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p400.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p400.woff2 index f57fe993d7..9f39819936 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p400.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p400.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p445.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p445.woff2 index d5208eb6f9..7efd671288 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p445.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p445.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p453.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p453.woff2 index 02ca7c4329..a0b22b6c96 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p453.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p453.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p58.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p58.woff2 index 8c5c91f0c6..1f38415baa 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p58.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p58.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p597.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p597.woff2 index fce6fbcf3f..3e46578236 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p597.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p597.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p61.woff2 b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p61.woff2 index cf8f671437..bbec839c40 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p61.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/dark/woff2/p61.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p202.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p202.ttf index b3a4ac5aa3..504da91b9b 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p202.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p202.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p293.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p293.ttf index da678d8577..92f5d943ed 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p293.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p293.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p3.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p3.ttf index e882ce911b..37005fcdd6 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p3.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p3.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p303.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p303.ttf index c8d8178a79..15a9502590 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p303.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p303.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p310.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p310.ttf index d8e3721ce0..9a9e8084d3 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p310.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p310.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p329.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p329.ttf index 6ddd1d378a..81ef7b9899 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p329.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p329.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p354.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p354.ttf index 91615dc556..70b401ec30 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p354.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p354.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p36.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p36.ttf index 65f5753754..b335d5c807 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p36.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p36.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p372.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p372.ttf index e9ae762d2d..f1c57cc13f 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p372.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p372.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p395.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p395.ttf index f625d1b86d..198b91d206 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p395.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p395.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p400.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p400.ttf index d6eb119be2..5d599b4253 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p400.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p400.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p445.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p445.ttf index 3eb19268d3..9bddd2cf9e 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p445.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p445.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p453.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p453.ttf index 101f74f929..aad856f6f8 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p453.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p453.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p58.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p58.ttf index bb1e1098f8..39c00b3812 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p58.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p58.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p597.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p597.ttf index 040a442522..687faa1ea7 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p597.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p597.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p61.ttf b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p61.ttf index 2fbaeb4587..9f8cbc4e37 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p61.ttf and b/public/fonts/quran/hafs/v4/ot-svg/light/ttf/p61.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p202.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p202.woff index e7bb604099..c61a074e4d 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p202.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p202.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p293.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p293.woff index 3ce2daa618..8fa6204477 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p293.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p293.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p3.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p3.woff index 70317c7f3a..aaaa9470cc 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p3.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p3.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p303.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p303.woff index 9cf05f71b3..eafedc0fd6 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p303.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p303.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p310.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p310.woff index a78c7d8939..a231457e41 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p310.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p310.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p329.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p329.woff index 287cbd482d..acd769124e 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p329.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p329.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p354.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p354.woff index c4be0ce316..663e84099c 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p354.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p354.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p36.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p36.woff index dc51159243..c129381607 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p36.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p36.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p372.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p372.woff index 714c675a95..8e7f06fc91 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p372.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p372.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p395.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p395.woff index b436f578eb..c5e8868ca6 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p395.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p395.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p400.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p400.woff index ed216e34bc..dd400611dd 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p400.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p400.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p445.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p445.woff index 75c3a1cbc5..b0584cf130 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p445.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p445.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p453.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p453.woff index 372127bdb1..61dc427eb9 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p453.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p453.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p58.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p58.woff index 126ee2b2c4..7651b0b21a 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p58.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p58.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p597.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p597.woff index 21d1fb3469..e636fe8e83 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p597.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p597.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p61.woff b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p61.woff index 0598e5befb..ed65908496 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff/p61.woff and b/public/fonts/quran/hafs/v4/ot-svg/light/woff/p61.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p202.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p202.woff2 index 3914c3501b..b047ef6812 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p202.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p202.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p293.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p293.woff2 index c0c0c832ca..00f0f26bdc 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p293.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p293.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p3.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p3.woff2 index adf840722d..70e9b02ed4 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p3.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p3.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p303.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p303.woff2 index 0580c7ba9b..2feeee75cd 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p303.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p303.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p310.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p310.woff2 index b75b87e367..5180a4c45f 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p310.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p310.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p329.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p329.woff2 index faadcbbcc2..c8eab4c7e4 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p329.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p329.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p354.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p354.woff2 index 579227088e..5d3645700e 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p354.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p354.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p36.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p36.woff2 index 81906d606b..bf9748dc63 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p36.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p36.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p372.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p372.woff2 index b032f9f2bc..1ae5bfb5db 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p372.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p372.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p395.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p395.woff2 index 1fcb001983..6617214934 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p395.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p395.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p400.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p400.woff2 index c0a9db41a9..a49f442148 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p400.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p400.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p445.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p445.woff2 index 643ff94375..c4cac2009e 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p445.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p445.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p453.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p453.woff2 index 9d7a9aca4d..e4fe7f4110 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p453.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p453.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p58.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p58.woff2 index 20a715730c..cbf3c87657 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p58.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p58.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p597.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p597.woff2 index 75a5661981..17450af4cd 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p597.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p597.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p61.woff2 b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p61.woff2 index 7c8b46300b..9b68a2deab 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p61.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/light/woff2/p61.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p202.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p202.ttf index 4ba2658f2e..09e7d247e3 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p202.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p202.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p293.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p293.ttf index 4a5410c7a5..e4bb975f5c 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p293.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p293.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p3.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p3.ttf index 2644be7e5f..bd1501becc 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p3.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p3.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p303.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p303.ttf index 84f5e9e749..2c928b1d03 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p303.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p303.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p310.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p310.ttf index d35cf1e2ee..cddb966fca 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p310.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p310.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p329.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p329.ttf index e15690f6aa..caadeb3324 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p329.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p329.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p354.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p354.ttf index e0e6bcccf3..f79323f193 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p354.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p354.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p36.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p36.ttf index 71cc82b7e8..492d3e0174 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p36.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p36.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p372.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p372.ttf index 1a042d3051..f902ea08e2 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p372.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p372.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p395.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p395.ttf index 305e5e1585..1b85e0b7dc 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p395.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p395.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p400.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p400.ttf index 1901fb5ab0..8b72142cee 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p400.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p400.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p445.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p445.ttf index ed40e46bf0..1bf718843a 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p445.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p445.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p453.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p453.ttf index 9a2d717bfc..bbc875c5fe 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p453.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p453.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p58.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p58.ttf index f9654c4af9..f878ed655e 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p58.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p58.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p597.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p597.ttf index 89c768f03a..14c82fc4be 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p597.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p597.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p61.ttf b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p61.ttf index 92c365c221..a0081418c1 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p61.ttf and b/public/fonts/quran/hafs/v4/ot-svg/sepia/ttf/p61.ttf differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p202.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p202.woff index 342230f815..1a753e2df3 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p202.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p202.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p293.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p293.woff index fdb758e5c6..e0d4a279b5 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p293.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p293.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p3.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p3.woff index 4de6b9408f..2738590aa7 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p3.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p3.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p303.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p303.woff index c57bfff419..de0650c6f6 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p303.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p303.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p310.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p310.woff index 83917ee6e1..413b7c5b61 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p310.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p310.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p329.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p329.woff index 11db2cb5b6..e1ac6935b9 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p329.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p329.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p354.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p354.woff index 5104b11557..3806ae2d63 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p354.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p354.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p36.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p36.woff index 5206e2ec55..581099a74e 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p36.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p36.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p372.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p372.woff index 595f49bc86..216eb92546 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p372.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p372.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p395.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p395.woff index 939e835660..b20d0c0a7d 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p395.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p395.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p400.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p400.woff index 1ebcb32bd3..979a599588 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p400.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p400.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p445.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p445.woff index 28910b3d96..207270642e 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p445.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p445.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p453.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p453.woff index 53572bdfef..0e843a434f 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p453.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p453.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p58.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p58.woff index 402f63d91a..b2b9abc5b9 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p58.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p58.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p597.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p597.woff index 8c09d42e7c..aa2f250d34 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p597.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p597.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p61.woff b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p61.woff index d566f1c9f0..abfc221a60 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p61.woff and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff/p61.woff differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p202.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p202.woff2 index de8674c6d5..958de8ba95 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p202.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p202.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p293.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p293.woff2 index 8ebcdb63fa..24ee03b387 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p293.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p293.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p3.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p3.woff2 index 545cbe6bcf..b31ea45ce1 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p3.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p3.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p303.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p303.woff2 index 23ddce3163..07634cc1f3 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p303.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p303.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p310.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p310.woff2 index 92fa0ef8e4..cb2353313e 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p310.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p310.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p329.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p329.woff2 index 5f6b604028..8c63a9fc1c 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p329.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p329.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p354.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p354.woff2 index 4a368cb138..0f58aa7f4f 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p354.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p354.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p36.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p36.woff2 index d288acf39e..1225e2dbf8 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p36.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p36.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p372.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p372.woff2 index 59ca6ef920..925ee10f57 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p372.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p372.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p395.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p395.woff2 index d836aa7a58..981af3ab4b 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p395.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p395.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p400.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p400.woff2 index f13752231f..fc4bd747dd 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p400.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p400.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p445.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p445.woff2 index 4ea7941756..8e02d18d39 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p445.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p445.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p453.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p453.woff2 index c75dfe8995..9c50e7bf62 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p453.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p453.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p58.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p58.woff2 index 99f67ebd67..f320b2688f 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p58.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p58.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p597.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p597.woff2 index 3679963e64..3108d02b11 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p597.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p597.woff2 differ diff --git a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p61.woff2 b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p61.woff2 index acec07bda4..38dfaef9d4 100644 Binary files a/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p61.woff2 and b/public/fonts/quran/hafs/v4/ot-svg/sepia/woff2/p61.woff2 differ diff --git a/src/audioInput/MicInputProcessor.ts b/public/worklets/MicInputProcessor.js similarity index 71% rename from src/audioInput/MicInputProcessor.ts rename to public/worklets/MicInputProcessor.js index 9fe31986c3..91ca4811f0 100644 --- a/src/audioInput/MicInputProcessor.ts +++ b/public/worklets/MicInputProcessor.js @@ -1,5 +1,5 @@ class MicInputProcessor extends AudioWorkletProcessor { - process(inputs: Float32Array[][]) { + process(inputs) { // get the first channel of the first input since the processor might have multiple inputs and multiple channels for each input. // then after converting the data, send it to the AudioWorkletNode that is listening to messages from the processors. this.port.postMessage(convertFloat32ToInt16(inputs[0][0])); @@ -7,9 +7,9 @@ class MicInputProcessor extends AudioWorkletProcessor { } } -const convertFloat32ToInt16 = (buffer: Float32Array): Int16Array => { - let float32BufferLength: number = buffer.length; - const int16ArrayBuffer: Int16Array = new Int16Array(float32BufferLength); +const convertFloat32ToInt16 = (buffer) => { + let float32BufferLength = buffer.length; + const int16ArrayBuffer = new Int16Array(float32BufferLength); // eslint-disable-next-line no-plusplus while (float32BufferLength--) { int16ArrayBuffer[float32BufferLength] = Math.min(1, buffer[float32BufferLength]) * 0x7fff; @@ -19,4 +19,3 @@ const convertFloat32ToInt16 = (buffer: Float32Array): Int16Array => { }; registerProcessor('MicInputProcessor', MicInputProcessor); -export default MicInputProcessor; diff --git a/remotion.config.ts b/remotion.config.ts index e45390988c..2dbb749826 100644 --- a/remotion.config.ts +++ b/remotion.config.ts @@ -1,32 +1,16 @@ import path from 'path'; import { Config } from '@remotion/cli/config'; -// eslint-disable-next-line import/no-extraneous-dependencies -import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin'; + +import getRemotionWebpackConfig from './src/utils/media/webpackConfig.mjs'; Config.setPublicDir(path.join(process.cwd(), 'public', 'publicMin')); -// @ts-ignore -Config.overrideWebpackConfig((config) => { - return { - ...config, - module: { - ...config.module, - rules: [ - ...(config.module?.rules ? config.module.rules : []), - { - test: /.s[ac]ss$/i, - use: [ - { loader: 'style-loader' }, - { loader: 'css-loader' }, - { loader: 'sass-loader', options: { sourceMap: true } }, - ], - }, - ], - }, - resolve: { - ...config.resolve, - plugins: [...(config.resolve?.plugins ?? []), new TsconfigPathsPlugin()], - }, - }; -}); +Config.overrideWebpackConfig((config) => + getRemotionWebpackConfig(config, { + stream: require.resolve('stream-browserify'), + zlib: require.resolve('browserify-zlib'), + fs: require.resolve('browserify-fs'), + path: require.resolve('path-browserify'), + }), +); diff --git a/scripts/media/deploy.mjs b/scripts/media/deploy.mjs index ac584c7a7f..de3d3e26c6 100644 --- a/scripts/media/deploy.mjs +++ b/scripts/media/deploy.mjs @@ -1,11 +1,16 @@ +import { createRequire } from 'module'; import path, { dirname } from 'path'; import { fileURLToPath } from 'url'; import { deployFunction, deploySite, getOrCreateBucket } from '@remotion/lambda'; // eslint-disable-next-line import/no-extraneous-dependencies import dotenv from 'dotenv'; -// eslint-disable-next-line import/no-extraneous-dependencies -import TsconfigPathsPlugin from 'tsconfig-paths-webpack-plugin'; +import requireNPM from 'require-npm'; + +import getRemotionWebpackConfig from '../../src/utils/media/webpackConfig.mjs'; + +const require = createRequire(import.meta.url); +requireNPM.decorate(require); const __filename = fileURLToPath(import.meta.url); const __dirname = dirname(__filename); @@ -48,28 +53,13 @@ const { serveUrl } = await deploySite({ console.log(`Webpack bundling progress: ${progress}%`); }, // eslint-disable-next-line react-func/max-lines-per-function - webpackOverride: (webpackConfig) => { - return { - ...webpackConfig, - resolve: { - ...webpackConfig.resolve, - plugins: [...(webpackConfig.resolve?.plugins ?? []), new TsconfigPathsPlugin()], - }, - module: { - ...webpackConfig.module, - rules: [ - ...(webpackConfig.module?.rules ? webpackConfig.module.rules : []), - { - test: /.s[ac]ss$/i, - use: [ - { loader: 'style-loader' }, - { loader: 'css-loader' }, - { loader: 'sass-loader', options: { sourceMap: true } }, - ], - }, - ], - }, - }; + webpackOverride: (config) => { + return getRemotionWebpackConfig(config, { + stream: require.resolve('stream-browserify'), + zlib: require.resolve('browserify-zlib'), + fs: require.resolve('browserify-fs'), + path: require.resolve('path-browserify'), + }); }, }, }); diff --git a/src/api.ts b/src/api.ts index 3f268a0cdc..f70a27c84c 100644 --- a/src/api.ts +++ b/src/api.ts @@ -1,6 +1,8 @@ /* eslint-disable max-lines */ import { camelizeKeys } from 'humps'; +import { NextApiRequest } from 'next'; +import { MushafLines, QuranFont } from '@/types/QuranReader'; import { SearchRequestParams, SearchMode } from '@/types/Search/SearchRequestParams'; import NewSearchResponse from '@/types/Search/SearchResponse'; import { @@ -28,6 +30,8 @@ import { makeByRangeVersesUrl, makeWordByWordTranslationsUrl, } from '@/utils/apiPaths'; +import generateSignature from '@/utils/auth/signature'; +import { isStaticBuild } from '@/utils/build'; import { SearchRequest, AdvancedCopyRequest, PagesLookUpRequest } from 'types/ApiRequests'; import { TranslationsResponse, @@ -48,7 +52,6 @@ import { WordByWordTranslationsResponse, } from 'types/ApiResponses'; import AudioData from 'types/AudioData'; -import { MushafLines, QuranFont } from 'types/QuranReader'; export const SEARCH_FETCH_OPTIONS = { headers: { @@ -59,15 +62,40 @@ export const SEARCH_FETCH_OPTIONS = { export const OFFLINE_ERROR = 'OFFLINE'; +export const X_AUTH_SIGNATURE = 'x-auth-signature'; +export const X_TIMESTAMP = 'x-timestamp'; +export const X_INTERNAL_CLIENT = 'x-internal-client'; + export const fetcher = async function fetcher( input: RequestInfo, - init?: RequestInit, + init: RequestInit = {}, ): Promise { // if the user is not online when making the API call if (typeof window !== 'undefined' && !window.navigator.onLine) { throw new Error(OFFLINE_ERROR); } - const res = await fetch(input, init); + + let reqInit = init; + if (isStaticBuild) { + const req: NextApiRequest = { + url: typeof input === 'string' ? input : input.url, + method: init.method || 'GET', + body: init.body, + headers: init.headers, + query: {}, + } as NextApiRequest; + + const { signature, timestamp } = generateSignature(req, req.url); + const headers = { + ...init.headers, + [X_AUTH_SIGNATURE]: signature, + [X_TIMESTAMP]: timestamp, + [X_INTERNAL_CLIENT]: process.env.INTERNAL_CLIENT_ID, + }; + reqInit = { ...init, headers }; + } + + const res = await fetch(input, reqInit); if (!res.ok || res.status === 500 || res.status === 404) { throw res; } @@ -75,11 +103,20 @@ export const fetcher = async function fetcher( return camelizeKeys(json); }; +/** + * Get the verses of a specific chapter. + * + * @param {string | number} id the ID of the chapter. + * @param {string} locale the locale. + * @param {Record} params optional parameters. + * + * @returns {Promise} + */ export const getChapterVerses = async ( id: string | number, locale: string, params?: Record, -): Promise => fetcher(makeVersesUrl(id, locale, params)); +): Promise => fetcher(makeVersesUrl(id, locale, params), {}); export const getRangeVerses = async ( locale: string, @@ -94,7 +131,7 @@ export const getRangeVerses = async ( * @returns {Promise} */ export const getAvailableTranslations = async (language: string): Promise => - fetcher(makeTranslationsUrl(language)); + fetcher(makeTranslationsUrl(language), {}); /** * Get the current available wbw translations with the name translated in the current language. @@ -115,19 +152,20 @@ export const getAvailableWordByWordTranslations = async ( * @returns {Promise} */ export const getAvailableLanguages = async (language: string): Promise => - fetcher(makeLanguagesUrl(language)); + fetcher(makeLanguagesUrl(language), {}); /** * Get list of available reciters. * * @param {string} locale the locale. + * @param {string[]} fields optional fields to include. * * @returns {Promise} */ export const getAvailableReciters = async ( locale: string, fields?: string[], -): Promise => fetcher(makeAvailableRecitersUrl(locale, fields)); +): Promise => fetcher(makeAvailableRecitersUrl(locale, fields), {}); export const getReciterData = async (reciterId: string, locale: string): Promise => fetcher(makeReciterUrl(reciterId, locale)); @@ -139,8 +177,10 @@ export const getReciterData = async (reciterId: string, locale: string): Promise * * @param {number} reciterId * @param {number} chapter the id of the chapter + * @param {boolean} segments flag to include segments. + * + * @returns {Promise} */ - export const getChapterAudioData = async ( reciterId: number, chapter: number, @@ -148,6 +188,7 @@ export const getChapterAudioData = async ( ): Promise => { const res = await fetcher( makeChapterAudioDataUrl(reciterId, chapter, segments), + {}, ); if (res.error) { diff --git a/src/components/Collection/CollectionList/CollectionList.tsx b/src/components/Collection/CollectionList/CollectionList.tsx index 1e7cd18069..3c8fca3568 100644 --- a/src/components/Collection/CollectionList/CollectionList.tsx +++ b/src/components/Collection/CollectionList/CollectionList.tsx @@ -116,7 +116,7 @@ const CollectionList = () => {
    - +
    {t('collection:all-saved-verses')}
    @@ -138,7 +138,7 @@ const CollectionList = () => { return (
    - +
    {collection.name}
    diff --git a/src/components/CommandBar/CommandBarBody/index.tsx b/src/components/CommandBar/CommandBarBody/index.tsx index 0d8c3d24d2..8b6eb35075 100644 --- a/src/components/CommandBar/CommandBarBody/index.tsx +++ b/src/components/CommandBar/CommandBarBody/index.tsx @@ -18,12 +18,12 @@ import useDebounce from '@/hooks/useDebounce'; import IconSearch from '@/icons/search.svg'; import { selectRecentNavigations } from '@/redux/slices/CommandBar/state'; import { selectIsCommandBarVoiceFlowStarted } from '@/redux/slices/voiceSearch'; +import { SearchNavigationResult, SearchNavigationType } from '@/types/SearchNavigationResult'; import SearchQuerySource from '@/types/SearchQuerySource'; import { makeSearchResultsUrl } from '@/utils/apiPaths'; import { areArraysEqual } from '@/utils/array'; import { logButtonClick, logTextSearchQuery } from '@/utils/eventLogger'; import { SearchResponse } from 'types/ApiResponses'; -import { SearchNavigationType } from 'types/SearchNavigationResult'; const NAVIGATE_TO = [ { @@ -62,7 +62,10 @@ const DEBOUNCING_PERIOD_MS = 1500; const CommandBarBody: React.FC = () => { const { t } = useTranslation('common'); - const recentNavigations = useSelector(selectRecentNavigations, areArraysEqual); + const recentNavigations = useSelector( + selectRecentNavigations, + areArraysEqual, + ) as SearchNavigationResult[]; const isVoiceSearchFlowStarted = useSelector(selectIsCommandBarVoiceFlowStarted, shallowEqual); const [searchQuery, setSearchQuery] = useState(null); // Debounce search query to avoid having to call the API on every type. The API will be called once the user stops typing. diff --git a/src/components/CommandBar/CommandsList/index.tsx b/src/components/CommandBar/CommandsList/index.tsx index 523b0e5ad6..503cb2cc25 100644 --- a/src/components/CommandBar/CommandsList/index.tsx +++ b/src/components/CommandBar/CommandsList/index.tsx @@ -87,7 +87,7 @@ const CommandsList: React.FC = ({ commandGroups: { groups, numberOfComman onUpKeyClicked, { enabled: numberOfCommands && selectedCommandIndex !== 0, - enableOnTags: ['INPUT'], + enableOnFormTags: ['INPUT'], }, [scrollToSelectedCommand], ); @@ -96,7 +96,7 @@ const CommandsList: React.FC = ({ commandGroups: { groups, numberOfComman onDownKeyClicked, { enabled: numberOfCommands && selectedCommandIndex !== numberOfCommands - 1, - enableOnTags: ['INPUT'], + enableOnFormTags: ['INPUT'], }, [scrollToSelectedCommand], ); @@ -114,7 +114,7 @@ const CommandsList: React.FC = ({ commandGroups: { groups, numberOfComman }); navigateToLink(navigateTo); }, - { enabled: selectedCommandIndex !== null, enableOnTags: ['INPUT'] }, + { enabled: selectedCommandIndex !== null, enableOnFormTags: ['INPUT'] }, [selectedCommandIndex, groups, navigateToLink], ); const onRemoveCommandClicked = ( diff --git a/src/components/CommandBar/index.tsx b/src/components/CommandBar/index.tsx index f167b03638..83354c9f3e 100644 --- a/src/components/CommandBar/index.tsx +++ b/src/components/CommandBar/index.tsx @@ -57,10 +57,15 @@ const CommandBar: React.FC = () => { }, [dispatch], ); - useHotkeys('cmd+k, ctrl+k, cmd+p, ctrl+p', toggleShowCommandBar, { enableOnTags: ['INPUT'] }, [ + useHotkeys( + 'meta+k, ctrl+k, meta+p, ctrl+p', + toggleShowCommandBar, + { enableOnFormTags: ['INPUT'] }, + [dispatch], + ); + useHotkeys('Escape', closeCommandBar, { enabled: isOpen, enableOnFormTags: ['INPUT'] }, [ dispatch, ]); - useHotkeys('Escape', closeCommandBar, { enabled: isOpen, enableOnTags: ['INPUT'] }, [dispatch]); return ( closeCommandBar()}> diff --git a/src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/AuthorDetail/index.tsx b/src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/AuthorDetail/index.tsx deleted file mode 100644 index 3f49068030..0000000000 --- a/src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/AuthorDetail/index.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; - -import styles from './AuthorDetail.module.scss'; - -import { CourseAuthor } from '@/types/auth/Course'; - -type Props = { - author: CourseAuthor; -}; - -const AuthorDetail: React.FC = ({ author }) => { - return ( - <> - {author.name} {author.biography} - - ); -}; - -export default AuthorDetail; diff --git a/src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/AuthorDetail/AuthorDetail.module.scss b/src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/AuthorsDetails/AuthorsDetails.module.scss similarity index 100% rename from src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/AuthorDetail/AuthorDetail.module.scss rename to src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/AuthorsDetails/AuthorsDetails.module.scss diff --git a/src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/AuthorsDetails/index.tsx b/src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/AuthorsDetails/index.tsx new file mode 100644 index 0000000000..37e9dd5743 --- /dev/null +++ b/src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/AuthorsDetails/index.tsx @@ -0,0 +1,27 @@ +import React from 'react'; + +import styles from './AuthorsDetails.module.scss'; + +import { CourseAuthor } from '@/types/auth/Course'; + +type Props = { + authors: { author: CourseAuthor }[]; +}; + +const AuthorsDetails: React.FC = ({ authors }) => { + return ( + <> + {authors.map((author) => { + const authorDetails = author.author; + return ( +
  • + {authorDetails.name}{' '} + {authorDetails.biography} +
  • + ); + })} + + ); +}; + +export default AuthorsDetails; diff --git a/src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/EditorsDetails/index.tsx b/src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/EditorsDetails/index.tsx new file mode 100644 index 0000000000..6abc2fe453 --- /dev/null +++ b/src/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/EditorsDetails/index.tsx @@ -0,0 +1,27 @@ +import React from 'react'; + +import useTranslation from 'next-translate/useTranslation'; + +import { CourseEditor } from '@/types/auth/Course'; + +type Props = { + editors: { editor: CourseEditor }[]; +}; + +const EditorsDetails: React.FC = ({ editors }) => { + const { t } = useTranslation('common'); + const editorNames = editors.map((author) => author.editor.name); + + let displayNames; + if (editorNames.length === 1) { + displayNames = editorNames[0]; + } else if (editorNames.length >= 2) { + // Take all names except the last one and join them with commas + const namesExceptLast = editorNames.slice(0, -1).join(', '); + // Add the last name with 'and' + displayNames = `${namesExceptLast} ${t('and')} ${editorNames[editorNames.length - 1]}`; + } + return {displayNames}; +}; + +export default EditorsDetails; diff --git a/src/components/Course/CourseDetails/index.tsx b/src/components/Course/CourseDetails/index.tsx index fe8be7a716..7f4c8b4a94 100644 --- a/src/components/Course/CourseDetails/index.tsx +++ b/src/components/Course/CourseDetails/index.tsx @@ -4,13 +4,14 @@ import Image from 'next/image'; import useTranslation from 'next-translate/useTranslation'; import styles from './CourseDetails.module.scss'; +import EditorsDetails from './Tabs/MainDetails/DetailSection/EditorsDetails'; import StartOrContinueLearning from '@/components/Course/Buttons/StartOrContinueLearning'; import ContentContainer from '@/components/Course/ContentContainer'; import StatusHeader from '@/components/Course/CourseDetails/StatusHeader'; import MainDetails from '@/components/Course/CourseDetails/Tabs/MainDetails'; import DetailSection from '@/components/Course/CourseDetails/Tabs/MainDetails/DetailSection'; -import AuthorDetail from '@/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/AuthorDetail'; +import AuthorsDetails from '@/components/Course/CourseDetails/Tabs/MainDetails/DetailSection/AuthorsDetails'; import Syllabus from '@/components/Course/CourseDetails/Tabs/Syllabus'; import TabSwitcherItem from '@/components/Course/CourseDetails/TabSwitcherItem'; import Button, { ButtonVariant } from '@/dls/Button/Button'; @@ -99,8 +100,14 @@ const CourseDetails: React.FC = ({ course }) => { )} } + description={} /> + {course?.editors?.length > 0 && ( + } + /> + )} {course.isUserEnrolled && (
    diff --git a/src/components/DeveloperUtility/FontAdjustment.tsx b/src/components/DeveloperUtility/FontAdjustment.tsx index 6a73e19538..086d7a7991 100644 --- a/src/components/DeveloperUtility/FontAdjustment.tsx +++ b/src/components/DeveloperUtility/FontAdjustment.tsx @@ -16,7 +16,7 @@ import { decreaseTranslationFontScale, increaseTranslationFontScale, } from '@/redux/slices/QuranReader/styles'; -import { QuranFont } from 'types/QuranReader'; +import { QuranFont } from '@/types/QuranReader'; /** * Adjusts the font type and styles diff --git a/src/components/DeveloperUtility/ReadingPreferenceAdjustment.tsx b/src/components/DeveloperUtility/ReadingPreferenceAdjustment.tsx index 43872b64ee..afdb124d74 100644 --- a/src/components/DeveloperUtility/ReadingPreferenceAdjustment.tsx +++ b/src/components/DeveloperUtility/ReadingPreferenceAdjustment.tsx @@ -7,7 +7,7 @@ import { selectReadingPreference, setReadingPreference, } from '@/redux/slices/QuranReader/readingPreferences'; -import { ReadingPreference } from 'types/QuranReader'; +import { ReadingPreference } from '@/types/QuranReader'; const ReadingPreferenceAdjustment = () => { const dispatch = useDispatch(); diff --git a/src/components/DeveloperUtility/TafsirsAdjustment.tsx b/src/components/DeveloperUtility/TafsirsAdjustment.tsx index 042c6aeb21..53f78aa99d 100644 --- a/src/components/DeveloperUtility/TafsirsAdjustment.tsx +++ b/src/components/DeveloperUtility/TafsirsAdjustment.tsx @@ -67,7 +67,7 @@ const TafsirsAdjustment = () => { multiple className={styles.select} onChange={onSelectedTafsirsChange} - defaultValue={selectedTafsirs} + defaultValue={selectedTafsirs as string[]} > {tafsirs.map((tafsir) => (