the-amazing-quran-translations
v1.0.0
Published
This repository contains translations of the holly Quran in json format, and a small node module to handle them
Downloads
5
Readme
The Amazing Quran | Translations
بسم الله الرحمن الرحيم
This node module allows you to easily retrieve surah or ayah from quran in several languages
No database is required, you just need to have node installed !
How to use ?
Installation
$> npm install the-amazing-quran-translations
Get Available Languages
getAvailableLanguages()
This function return an array of string containing the available languages
Get Surah
This function allows you to retrieve a surah from the Quran
getSurah(surahNumber, translations)
// translations is optional
// translation can be a String, an Object, or an Array of Object
// Object need to have this structure
// {
// languageName: String
// authorName: String [optional]
// }
Return value
This function return a surah object if the surah number is correct. If not, it return false. By default, it return the arabic version.
// surah object
{
surahNumber: String,
surahName: String,
translatedSurahNames: Object,
ayahs: Array[{ ayahNumber: String, ayahContent: String, translationName: string }]
}
Examples
var quranManager = require('the-amazing-quran-translations')();
// Get surah al fatiha in arabic
quranManager.getSurah(1);
// Get surah al fatiha in english
quranManager.getSurah(1, 'english');
// Get surah al fatiha in english french and german
quranManager.getSurah(1, 'english,french,german');
// Get surah al fatiha in english translated by Yusuf Ali
var foo = quranManager.getSurah(112, [{ languageName: 'french'}, {languageName: 'english', authorName: 'Yusuf_Ali'}, {languageName: 'chinese'}]);
console.log(foo);
// Will display :
{
surahNumber: '112',
surahName: 'الإخلاص',
translatedSurahNames:
{
french: 'Le monothéisme pur (Al-Ihlas)',
english: 'The Unity',
chinese: '忠 誠'
},
ayahs:
[ { ayahNumber: '1',
ayahContent: 'قُلْ هُوَ اللَّهُ أَحَدٌ',
french: 'Dis : "Il est Allah, Unique.',
english: 'Say: He is Allah, the One and Only;',
chinese: '你說:他是真主,是獨一的主;' },
{ ayahNumber: '2',
ayahContent: 'اللَّهُ الصَّمَدُ',
french: 'Allah, Le Seul à être imploré pour ce que nous désirons.',
english: 'Allah, the Eternal, Absolute;',
chinese: '真主是萬物所仰賴的;' },
{ ayahNumber: '3',
ayahContent: 'لَمْ يَلِدْ وَلَمْ يُولَدْ',
french: 'Il n´a jamais engendré, n´a pas été engendré non plus.',
english: 'He begetteth not, nor is He begotten;',
chinese: '他沒有生產,也沒有被生產;' },
{ ayahNumber: '4',
ayahContent: 'وَلَمْ يَكُنْ لَهُ كُفُوًا أَحَدٌ',
french: 'Et nul n´est égal à Lui".',
english: 'And there is none like unto Him.',
chinese: '沒有任何物可以做他的匹敵。' }
]
}
Get Ayah
This function allows you to retrieve an ayah from the Quran
getAyah(surahNumber, ayahNumber, translations)
// translations is optional
// translation can be a String, an Object, or an Array of Object
// Object need to have this structure
// {
// languageName: String
// authorName: String [optional]
// }
Return value
This function return an ayah object if the surah and ayah number are correct. If not, it return false. By default, it return the arabic version.
// ayah object
{
ayahNumber: String,
ayahContent: String,
translationName: String,
surah: Object { surahNumber: String, surahName: String, translatedSurahNames: Object }
}
Examples
var quranManager = require('the-amazing-quran-translations')();
// Get ayah number 2 from surah al fatiha in german
quranManager.getAyah(1, 2);
// Get ayah number 43 from surah 7 in arabic
var bar = quranManager.getAyah(7, 43, 'french');
console.log(bar);
// Will display
{ ayahNumber: '43',
ayahContent: 'وَنَزَعْنَا مَا فِي صُدُورِهِمْ مِنْ غِلٍّ تَجْرِي مِنْ تَحْتِهِمُ الْأَنْهَارُ ۖ وَقَالُوا الْحَمْدُ لِلَّهِ الَّذِي هَدَانَا لِهَٰذَا وَمَا كُنَّا لِنَهْتَدِيَ لَوْلَا أَنْ هَدَانَا اللَّهُ ۖ لَقَدْ جَاءَتْ رُسُلُ رَبِّنَا بِالْحَقِّ ۖ وَنُودُوا أَنْ تِلْكُمُ الْجَنَّةُ أُورِثْتُمُوهَا بِمَا كُنْتُمْ تَعْمَلُونَ',
french: 'Et Nous enlèverons toute la rancune de leurs poitrines, sous eux couleront les ruisseaux, et ils diront : "Louange à Allah qui nous a guidés à ceci. Nous n´aurions pas été guidés, si Allah ne nous avait pas guidés. Les messagers de notre Seigneur sont venus avec la vérité." Et on leur proclamera : "Voilà le Paradis qui vous a été donné en héritage pour ce que vous faisiez".',
surah:
{
surahNumber: '7',
surahName: 'الأعراف',
translatedSurahNames: { french: 'Al-Araf'
}
}
Source code
The source code is in the src directory.
Since the module is develop in ES6, a simple gulp task using Babel.js convert it in ES5.
Translations
All translations are in the translations directory.
The different translations of the Quran are sotred in JSON files. All JSON translations are based on the XML files download from http://qurandatabase.org
Next features
Here is a none exhaustive list of features that can be implemented
- add test cases
- get surah by name
- multiple translation of same language in one surah/ayah
- add the mekkah/medina surah information
- search function
- get the surah length
Permissions
This module is open source. You can use, share, copy, modify and distribute this app as you want as long as you don't have a bad purpose
Issues
If you find any issues on this project, please report on the issue section of github or send a mail to [email protected]