パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v1.4.1

quran

コーラン本文、訳文、オーディオURL、ページ、ジュズ、スーラ、アヤ、啓示の場所などの詳細情報。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
2730
いいね数
300
Pub ポイント
160

パッケージをインストール

flutter pub add quran

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

quran パッケージは、アラビア語本文、翻訳、オーディオ URL、およびスーラ、アヤ、ジュズ、啓示の場所などのメタデータを含む、コーランデータへの包括的なアクセスを提供します。Flutterアプリケーション向けに設計されており、開発者が構造的で信頼性の高いデータを活用して、イスラム学習ツール、祈りアプリ、またはデジタルコーランリーダーを構築できるようにしています。複数のプラットフォームをサポートしており、Android、iOS、Web、macOS、Windows、Linuxで一貫した機能を実現します。正確で整理されたコーランコンテンツが必要なアプリに最適です。

用途

  • デジタルコーランリーダー
  • イスラム教育アプリ
  • 祈りと内省のツール
  • コーランの翻訳比較
  • オーディオ朗読の統合

主な機能

  • アラビア語のテキストと翻訳
  • オーディオ URL のサポート
  • スーラおよびアヤのメタデータ
  • Juz と啓示の詳細
  • クロスプラットフォーム互換性

適している対象

  • イスラムアプリ開発者
  • 教育ソフトウェア作成者
  • 多言語クルアーンアプリ
  • モバイルおよびウェブ版コーランプラットフォーム

注意事項

  • オーディオ再生にはインターネット接続が必要です
  • データサイズはアプリのパフォーマンスに影響する可能性があります
  • 動的更新なしの静的コンテンツに限定

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

pub package npm package

Quran text (Arabic), audio URLs, and details of pages, juz, surah, ayah, place of revelation etc.

Getting Started

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 count
  • totalMadaniSurahs - The constant total of madani surahs
  • totalMakkiSurahs - The constant total of makki surahs
  • totalPagesCount - The most standard and common copy of Arabic only Quran total pages count
  • totalSurahCount - The constant total surah count
  • totalVerseCount - The constant total verse count

Functions:

Juz:

  • getJuzNumber(int surahNumber, int verseNumber) - Takes [surahNumber] & [verseNumber] and returns Juz number
  • getSurahAndVersesFromJuz(int juzNumber) - Takes [juzNumber] and returns a map containing Surah and Verse numbers

Surah:

  • getSurahName(int surahNumber) - Takes [surahNumber] and returns the Surah name
  • getSurahNameArabic(int surahNumber) - Takes [surahNumber] returns the Surah name in Arabic
  • getSurahNameEnglish(int surahNumber) - Takes [surahNumber] returns the Surah name in English
  • getSurahNameTurkish(int surahNumber) - Takes [surahNumber] returns the Surah name in Turkish
  • getSurahNameFrench(int surahNumber) - Takes [surahNumber] returns the Surah name in French
  • getPlaceOfRevelation(int surahNumber) - Takes [surahNumber] and returns the Place of Revelation (Makkah / Madinah) of that Surah
  • getVerseCount(int surahNumber) - Takes [surahNumber] and returns the count of total Verses in that Surah

Verse:

  • 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 page
  • getPageNumber(int surahNumber, int verseNumber) - Takes [surahNumber], [verseNumber] and returns the page number of the Quran
  • getSurahCountByPage(int pageNumber) - Takes [pageNumber] and returns total surahs count in that page
  • getSurahPages(int surahNumber) - Takes [surahNumber] and returns the list of page numbers of that surah
  • getVerseCountByPage(int pageNumber) - Takes [pageNumber] and returns total verses count in that page
  • getVersesTextByPage(int pageNumber, {bool verseEndSymbol, SurahSeperator surahSeperator, customSurahSeperator, bool includeBasmala}) - Takes [pageNumber], [verseEndSymbol], [surahSeperator], [customSurahSeperator] & [includeBasmala] (optional) and returns the list of verses in that page

URLs:

  • getAudioURLBySurah(int surahNumber, { Reciter reciter = Reciter.arAlafasy, int bitrate = 128 }) - Takes [surahNumber] and returns audio URL of that surah
  • getAudioURLByVerse(int surahNumber, int verseNumber, { Reciter reciter = Reciter.arAlafasy, int bitrate = 128 }) - Takes [surahNumber] & [verseNumber] and returns audio URL of that verse
  • getAudioURLByVerseNumber(int verseNumber, { Reciter reciter = Reciter.arAlafasy, int bitrate = 128 }) - Takes [verseNumber] and returns audio URL of that verse
  • getJuzURL(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).
Reciters

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:

  • Reciter.arAlafasy (Alafasy)
  • Reciter.arHusary (Husary)
  • Reciter.arAhmedAjamy (Ahmed al-Ajamy)
  • Reciter.arHudhaify (Hudhaify)
  • Reciter.arMaherMuaiqly (Maher Al Muaiqly)
  • Reciter.arMuhammadAyyoub (Muhammad Ayyoub)
  • Reciter.arMuhammadJibreel (Muhammad Jibreel)
  • Reciter.arMinshawi (Minshawi)
  • Reciter.arShaatree (Abu Bakr Ash-Shaatree)

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 text
  • searchWordsInTranslation(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 traslation

Translations:

  • English (Saheeh International) - Translation.enSaheeh
  • English (Clear Quran) - Translation.enClearQuran
  • French (Muhammad Hamidullah) - Translation.frHamidullah
  • Turkish - Translation.trSaheeh
  • Malayalam (Cheriyamundam Abdul Hameed and Kunhi Mohammed Parappoor) - Translation.mlAbdulHameed
  • Farsi - Translation.faHusseinDari
  • Portuguese - Translation.portuguese
  • Italian - Translation.itPiccardo
  • Dutch - Translation.nlSiregar
  • Russian - Translation.ruKuliev
  • Bengali - Translation.bengali
  • Chinese - Translation.chinese
  • Swedish - Translation.swedish
  • Spanish - Translation.spanish
  • Urdu - Translation.urdu
  • Indonesian - Translation.indonesian

Font Setup

It is recommended to use google_fonts package and use the following fonts for better Quranic text display:

  • Amiri - GoogleFonts.amiri()
  • Amiri Quran - GoogleFonts.amiriQuran()
Setup

Add the following dependencies in your pubspec.yaml:

dependencies:
    flutter:
        sdk: flutter
    google_fonts: ^2.1.0
    quran: ^1.2.3
Usage Example

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(),
),

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 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

Contributors

ﺭَﺑَّﻨَﺎ ﺗَﻘَﺒَّﻞْ ﻣِﻨَّﺎ 🤲 (Our Lord, accept this from us)

Include us in your sincere duas. Jazakallah Khairan.

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

このパッケージを使用しているプロジェクト