quran
코란 텍스트, 번역, 오디오 URL 및 페이지, 주즈, 수라, 아야, 계시 장소 등의 세부 정보.
Dart/Flutter용 코란
{"sdk":"flutter"}^6.0.0{"sdk":"flutter"}아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
Quran text (Arabic), audio URLs, and details of pages, juz, surah, ayah, place of revelation etc.
To use this plugin, add quran as a dependency in your pubspec.yaml file.
Constants:
basmala - The constant 'بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ'sajdah - The constant 'سَجْدَةٌ'totalJuzCount - The constant total juz counttotalMadaniSurahs - The constant total of madani surahstotalMakkiSurahs - The constant total of makki surahstotalPagesCount - The most standard and common copy of Arabic only Quran total pages counttotalSurahCount - The constant total surah counttotalVerseCount - The constant total verse countFunctions:
Juz:
getJuzNumber(int surahNumber, int verseNumber) - Takes [surahNumber] & [verseNumber] and returns Juz numbergetSurahAndVersesFromJuz(int juzNumber) - Takes [juzNumber] and returns a map containing Surah and Verse numbersSurah:
getSurahName(int surahNumber) - Takes [surahNumber] and returns the Surah namegetSurahNameArabic(int surahNumber) - Takes [surahNumber] returns the Surah name in ArabicgetSurahNameEnglish(int surahNumber) - Takes [surahNumber] returns the Surah name in EnglishgetSurahNameTurkish(int surahNumber) - Takes [surahNumber] returns the Surah name in TurkishgetSurahNameFrench(int surahNumber) - Takes [surahNumber] returns the Surah name in FrenchgetPlaceOfRevelation(int surahNumber) - Takes [surahNumber] and returns the Place of Revelation (Makkah / Madinah) of that SurahgetVerseCount(int surahNumber) - Takes [surahNumber] and returns the count of total Verses in that SurahVerse:
getVerse(int surahNumber, int verseNumber, {bool verseEndSymbol, bool includeBasmala}) - Takes [surahNumber], [verseNumber], [verseEndSymbol] (optional) & [includeBasmala] (optional) and returns the Verse in Arabic
getBasmala(int surahNumber) - Takes [surahNumber] and returns the Basmala prefixed to that Surah's first verse, or null for Surah 1 (its Basmala is verse 1 itself) and Surah 9 (no Basmala)
getVerseEndSymbol(int verseNumber, {bool arabicNumeral}) - Takes [verseNumber], [arabicNumeral] (optional) and returns '' symbol with verse number
isSajdahVerse(int surahNumber, int verseNumber) - Takes [surahNumber], [verseNumber] and returns true if verse is sajdah verse
getVerseTranslation(int surahNumber, int verseNumber, {bool verseEndSymbol, Translation translation}) - Takes [surahNumber], [verseNumber], [verseEndSymbol] (optional) & [translation] (optional) and returns verse translation
Random Verse - Use RandomVerse class to create a random verse. Example:
RandomVerse randomVerse = RandomVerse();
print(randomVerse.surahNumber);
print(randomVerse.verseNumber);
print(randomVerse.verse);
print(randomVerse.translation);
Page:
getPageData(int pageNumber) - Takes [pageNumber] and returns a list containing Surahs and the starting and ending Verse numbers in that pagegetPageNumber(int surahNumber, int verseNumber) - Takes [surahNumber], [verseNumber] and returns the page number of the QurangetSurahCountByPage(int pageNumber) - Takes [pageNumber] and returns total surahs count in that pagegetSurahPages(int surahNumber) - Takes [surahNumber] and returns the list of page numbers of that surahgetVerseCountByPage(int pageNumber) - Takes [pageNumber] and returns total verses count in that pagegetVersesTextByPage(int pageNumber, {bool verseEndSymbol, SurahSeperator surahSeperator, customSurahSeperator, bool includeBasmala}) - Takes [pageNumber], [verseEndSymbol], [surahSeperator], [customSurahSeperator] & [includeBasmala] (optional) and returns the list of verses in that pageURLs:
getAudioURLBySurah(int surahNumber, { Reciter reciter = Reciter.arAlafasy, int bitrate = 128 }) - Takes [surahNumber] and returns audio URL of that surahgetAudioURLByVerse(int surahNumber, int verseNumber, { Reciter reciter = Reciter.arAlafasy, int bitrate = 128 }) - Takes [surahNumber] & [verseNumber] and returns audio URL of that versegetAudioURLByVerseNumber(int verseNumber, { Reciter reciter = Reciter.arAlafasy, int bitrate = 128 }) - Takes [verseNumber] and returns audio URL of that versegetJuzURL(int juzNumber) - Takes [juzNumber] and returns Juz URL (from Quran.com)getSurahURL(int surahNumber) - Takes [surahNumber] and returns Surah URL (from Quran.com)getVerseURL(int surahNumber, int verseNumber) - Takes [surahNumber] & [verseNumber] and returns Verse URL (from Quran.com)Notes
- Defaults preserve existing behavior: Alafasy at 128 kbps.
- Common bitrates: 64, 128, 192 (availability may vary per reciter).
You can choose a reciter via the Reciter enum. Each has a human-friendly englishName for display. Examples:
getAudioURLBySurah(1, reciter: Reciter.arHusary); // Husary
getAudioURLByVerse(2, 255, reciter: Reciter.arAlafasy, bitrate: 64);
getAudioURLByVerseNumber(1234, reciter: Reciter.arShaatree, bitrate: 192);
Available reciters:
Search:
searchWords(List<String> words) - Takes a list of words [words] and returns a map containing no. of occurences and result of the word search in the arabic quran textsearchWordsInTranslation(List<String> words, {Translation translation}) - Takes a list of words [words] and [translation] (optional) and returns a map containing no. of occurences and result of the word search in the traslationTranslations:
Translation.enSaheehTranslation.enClearQuranTranslation.frHamidullahTranslation.trSaheehTranslation.mlAbdulHameedTranslation.faHusseinDariTranslation.portugueseTranslation.itPiccardoTranslation.nlSiregarTranslation.ruKulievTranslation.bengaliTranslation.chineseTranslation.swedishTranslation.spanishTranslation.urduTranslation.indonesianIt is recommended to use google_fonts package and use the following fonts for better Quranic text display:
GoogleFonts.amiri()GoogleFonts.amiriQuran()Add the following dependencies in your pubspec.yaml:
dependencies:
flutter:
sdk: flutter
google_fonts: ^2.1.0
quran: ^1.2.3
Setting font globally:
MaterialApp(
theme: ThemeData(
textTheme: GoogleFonts.amiriTextTheme(),
),
);
MaterialApp(
theme: ThemeData(
textTheme: GoogleFonts.amiriQuranTextTheme(),
),
);
For specific text:
Text(
quran.basmala,
style: GoogleFonts.amiri(),
),
Text(
quran.getVerse(18, 1),
style: GoogleFonts.amiriQuran(),
),
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:quran/quran.dart' as quran;
void main() {
runApp(MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("Quran Demo"),
),
body: SafeArea(
child: Padding(
padding: EdgeInsets.all(15.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("Juz Number: \n" + quran.getJuzNumber(18, 1).toString()),
Text("\nJuz URL: \n" + quran.getJuzURL(15)),
Text("\nSurah and Verses in Juz 15: \n" + quran.getSurahAndVersesFromJuz(15).toString()),
Text("\nSurah Name: \n" + quran.getSurahName(18)),
Text("\nSurah Name (English): \n" + quran.getSurahNameEnglish(18)),
Text("\nSurah URL: \n" + quran.getSurahURL(18)),
Text("\nTotal Verses: \n" + quran.getVerseCount(18).toString()),
Text("\nPlace of Revelation: \n" + quran.getPlaceOfRevelation(18)),
Text(
"\nBasmala: \n${quran.basmala}",
style: GoogleFonts.amiriQuran(),
),
Text(
"\nVerse 1: \n${quran.getVerse(18, 1)}",
style: GoogleFonts.amiriQuran(),
),
],
),
),
),
),
));
}
example
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:quran/quran.dart' as quran;
void main() {
runApp(
MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text(quran.getSurahName(18)),
),
body: SafeArea(
child: Padding(
padding: EdgeInsets.all(15.0),
child: ListView.builder(
itemCount: quran.getVerseCount(18),
itemBuilder: (context, index) {
return ListTile(
title: Text(
quran.getVerse(18, index + 1, verseEndSymbol: true),
textAlign: TextAlign.right,
style: GoogleFonts.amiri(),
),
);
},
),
),
),
),
),
);
}
example2
ﺭَﺑَّﻨَﺎ ﺗَﻘَﺒَّﻞْ ﻣِﻨَّﺎ 🤲 (Our Lord, accept this from us)
Include us in your sincere duas. Jazakallah Khairan.