Skip to content

Commit 1b7b620

Browse files
committed
tafsir in English, Russian, Urdu
1 parent 655a914 commit 1b7b620

9 files changed

Lines changed: 19060 additions & 6214 deletions

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -399,8 +399,8 @@ try Pause mode 2s, Hide Chapter Title, Shuffle
399399

400400
### Tafsir (Quran Commentary)
401401
- Mokhtasar (Mukhtasar) tafsir is available in the following languages:
402-
- Arabic, Assamese, Azerbaijani, Bengali, Bosnian, Chinese, English, French, Fulani, Hindi, Indonesian, Italian, Japanese, Khmer, Kurdish, Kyrgyz, Malayalam, Pashto, Persian, Serbian, Sinhalese, Spanish, Tagalog, Tamil, Telugu, Thai, Turkish, Uyghur, Uzbek, Vietnamese
403-
- all are from quranenc.com except English is from https://github.com/tafsircenter/tafsir-mcp Tafsir Center for Quranic Studies
402+
- Arabic, Assamese, Azerbaijani, Bengali, Bosnian, Chinese, English, French, Fulani, Hindi, Indonesian, Italian, Japanese, Khmer, Kurdish, Kyrgyz, Malayalam, Russian, Pashto, Persian, Serbian, Sinhalese, Spanish, Tagalog, Tamil, Telugu, Thai, Turkish, Urdu, Uyghur, Uzbek, Vietnamese
403+
- all are from quranenc.com except English, Russian and Urdu is https://mokhtasr.com/en
404404

405405
### Hadith hadethenc.com
406406
- takes up 203 MB but worth it for all the following languages:
@@ -534,8 +534,8 @@ download and in transcribe screen point it to use this whisper-cli.exe instead o
534534
<summary>Miscellaneous</summary>
535535

536536
- Substicher is a flutter app so small in size. It appears big but isn't all that huge.
537-
- 29 MB fonts, 65 MB LUTs, 36 MB DeepFilterNet3 (denoise), 17 MB adhan, 108 MB quran index & tafsir, 203 MB hadeeth
538-
- So Mac app size is 546 MB - 458 MB (assets) = 88 MB real size of flutter app
537+
- 29 MB fonts, 65 MB LUTs, 36 MB DeepFilterNet3 (denoise), 17 MB adhan, 115 MB quran index & tafsir, 203 MB hadeeth
538+
- So Mac app size is 578 MB - 465 MB (assets) = 113 MB real size of flutter app
539539
- Never will get a light theme nor support music
540540
- Never will support cover images, choose audiobooks with covers and not to use subtitles, use kid3 app (qt free cross-platform app) for embedding a cover image
541541
- Reason is most audiobook players don't support subtitles, and ones that do, do so due to video support and having a cover image in background intefers with subtitles in most cases

lib/data/tafsir_mokhtasar.dart

Lines changed: 6279 additions & 6165 deletions
Large diffs are not rendered by default.

lib/data/tafsir_mokhtasar_all.dart

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'tafsir_mokhtasar.dart';
2+
import 'tafsir_mokhtasar_arabic.dart';
23
import 'tafsir_mokhtasar_assamese.dart';
34
import 'tafsir_mokhtasar_azerbaijani.dart';
45
import 'tafsir_mokhtasar_bengali.dart';
@@ -16,6 +17,7 @@ import 'tafsir_mokhtasar_kyrgyz.dart';
1617
import 'tafsir_mokhtasar_malayalam.dart';
1718
import 'tafsir_mokhtasar_pashto.dart';
1819
import 'tafsir_mokhtasar_persian.dart';
20+
import 'tafsir_mokhtasar_russian.dart';
1921
import 'tafsir_mokhtasar_serbian.dart';
2022
import 'tafsir_mokhtasar_sinhalese.dart';
2123
import 'tafsir_mokhtasar_spanish.dart';
@@ -24,12 +26,14 @@ import 'tafsir_mokhtasar_tamil.dart';
2426
import 'tafsir_mokhtasar_telugu.dart';
2527
import 'tafsir_mokhtasar_thai.dart';
2628
import 'tafsir_mokhtasar_turkish.dart';
29+
import 'tafsir_mokhtasar_urdu.dart';
2730
import 'tafsir_mokhtasar_uyghur.dart';
2831
import 'tafsir_mokhtasar_uzbek.dart';
2932
import 'tafsir_mokhtasar_vietnamese.dart';
3033

3134
const List<String> mokhtasarLanguages = [
3235
'English',
36+
'Arabic',
3337
'Assamese',
3438
'Azerbaijani',
3539
'Bengali',
@@ -47,6 +51,7 @@ const List<String> mokhtasarLanguages = [
4751
'Malayalam',
4852
'Pashto',
4953
'Persian',
54+
'Russian',
5055
'Serbian',
5156
'Sinhalese',
5257
'Spanish',
@@ -55,13 +60,15 @@ const List<String> mokhtasarLanguages = [
5560
'Telugu',
5661
'Thai',
5762
'Turkish',
63+
'Urdu',
5864
'Uyghur',
5965
'Uzbek',
6066
'Vietnamese',
6167
];
6268

6369
String? getTafsirMokhtasarForLanguage(String language, int surah, int ayah) {
6470
switch (language) {
71+
case 'Arabic': return getTafsirMokhtasarArabic(surah, ayah);
6572
case 'Assamese': return getTafsirMokhtasarAssamese(surah, ayah);
6673
case 'Azerbaijani':return getTafsirMokhtasarAzerbaijani(surah, ayah);
6774
case 'Bengali': return getTafsirMokhtasarBengali(surah, ayah);
@@ -79,6 +86,7 @@ String? getTafsirMokhtasarForLanguage(String language, int surah, int ayah) {
7986
case 'Malayalam': return getTafsirMokhtasarMalayalam(surah, ayah);
8087
case 'Pashto': return getTafsirMokhtasarPashto(surah, ayah);
8188
case 'Persian': return getTafsirMokhtasarPersian(surah, ayah);
89+
case 'Russian': return getTafsirMokhtasarRussian(surah, ayah);
8290
case 'Serbian': return getTafsirMokhtasarSerbian(surah, ayah);
8391
case 'Sinhalese': return getTafsirMokhtasarSinhalese(surah, ayah);
8492
case 'Spanish': return getTafsirMokhtasarSpanish(surah, ayah);
@@ -87,9 +95,22 @@ String? getTafsirMokhtasarForLanguage(String language, int surah, int ayah) {
8795
case 'Telugu': return getTafsirMokhtasarTelugu(surah, ayah);
8896
case 'Thai': return getTafsirMokhtasarThai(surah, ayah);
8997
case 'Turkish': return getTafsirMokhtasarTurkish(surah, ayah);
98+
case 'Urdu': return getTafsirMokhtasarUrdu(surah, ayah);
9099
case 'Uyghur': return getTafsirMokhtasarUyghur(surah, ayah);
91100
case 'Uzbek': return getTafsirMokhtasarUzbek(surah, ayah);
92101
case 'Vietnamese': return getTafsirMokhtasarVietnamese(surah, ayah);
93102
default: return getTafsirMokhtasar(surah, ayah); // English
94103
}
95104
}
105+
106+
const Set<String> rtlMokhtasarLanguages = {
107+
'Arabic',
108+
'Kurdish',
109+
'Pashto',
110+
'Persian',
111+
'Urdu',
112+
'Uyghur',
113+
};
114+
115+
bool isMokhtasarRtl(String language) =>
116+
rtlMokhtasarLanguages.contains(language);

0 commit comments

Comments
 (0)