[Debian-islamic-commits] [SCM] Packaging for Zekr branch, master, updated. debian/0.7.6+repack-2-5-g1c19b11

أحمد المحمودي (Ahmed El-Mahmoudy) aelmahmoudy at sabily.org
Thu Aug 12 10:40:45 UTC 2010


The following commit has been merged in the master branch:
commit fc91f3614f7cf902a6b150aefab8412eb120fb27
Author: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy at sabily.org>
Date:   Thu Aug 12 11:53:22 2010 +0200

    Revert "New upstreaqm release 1.0.0"
    
    This reverts commit b0821271bb464d677ccb6d1f958754ff33c4b451.

diff --git a/debian/changelog b/debian/changelog
index e6bd4e7..d87a22c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,12 +1,3 @@
-zekr (1.0.0+repack-1) unstable; urgency=low
-
-  * New upstream release.
-  * debian/java_home
-    + put the sun JREs on top.
-
- -- Mohammad Derakhshani <mohammad at zekr.org>  Wed,  11 Aug 2010 11:58:07 -0300
-
-
 zekr (0.7.6+repack-2) unstable; urgency=low
 
   * debian/control: B-D on default-jdk rather than default-jdk-builddep
diff --git a/debian/java_home b/debian/java_home
index 69a6523..7504f35 100644
--- a/debian/java_home
+++ b/debian/java_home
@@ -2,10 +2,10 @@
 # compatible ZEKR_JAVA_HOME. This setting may be overridden on a per-user basis by
 # altering the ZEKR_JAVA_HOME setting in ~/.zekr/zekrrc.
 
-/usr/lib/jvm/java-6-sun
-/usr/lib/jvm/java-1.5.0-sun
 /usr/lib/jvm/java-6-openjdk
 /usr/lib/jvm/java-7-icedtea
+/usr/lib/jvm/java-6-sun
+/usr/lib/jvm/java-1.5.0-sun
 /usr/lib/jvm/default-java
 /usr/lib/jvm/java-gcj
 #/usr/lib/kaffe/pthreads
diff --git a/doc/changes.txt b/doc/changes.txt
index 0a25d42..cb92f01 100644
--- a/doc/changes.txt
+++ b/doc/changes.txt
@@ -712,11 +712,11 @@ Features/Enhancements:
 	Updated quran-simple from tanzil "Simple" to "Simple Enhanced" version to ease reading.
 	Added the following new patterns to search-info.properties:
 		- Diacritics (search.pattern.diacr): a single regular expression to match all diacritics of a language. Diacritics are inserted after a language's letter range (with * regex operator) so that it matches possible texts with diacritics in the target search text.
-		- Letter range (search.pattern.letter): a single regular expression to match all letters of a language. Letters are basic alphabet of a language, different from digits, marks and diacritics. Diacritics may be applied after each letter in order to search for possible strings with diacritics in the text.
+		- Letter range (search.pattern.letter): a single regular expression to match all letter of a language. Letters are basic alphabet of a language, different from digits, marks and diacritics. Diacritics may be applied after each letter in order to search for possible strings with diacritics in the text.
 		- Punctuation marks (search.pattern.punct): a single regular expression to match all punctuation marks of a language. \p{Punct} will match almost all European punctuations, and we should add more to this for non-European languages. This regex is used to insert before and after search keywords in order to work as a tokenizer (for example so that "salaam" search query matches text parts like: "salaam.").
 	Added QueryParserFactory and a new property to config.properties: view.search.advanced.queryParser. We use QueryParser by default as AnalyzingQueryParser doesn't recognize leading wildcards. User may change it himself. As a result of introducing new query parsers, we have now a new dependency: Added a new dependency: lucene-misc contrib project. This dependency is only used when parsers other than QueryParser are used.
 	Now supports punctuation removal in sura name filtering (in Goto dialog).
-	We now set default audio player volume for search result player audio player.
+	We now set default volume for search result player audio player.
 	Search results are now filtered. As a result, KASRA+SHADDA order is reversed in the final output to help Arabic newbie readers.
 	AudioCacheManagerTimerTask made inactive for now. It had no effect, as there was no offline caching for audio files.
 Bug fixes:
@@ -725,18 +725,3 @@ Bug fixes:
 	In recitation .properties files: audio.offlineBismillam should be changed to audio.offlineBismillah. Both these values are not recognized by Zekr for backward compatibility.
 	A bug in search caused Kasra+Shadda reverse ordering not to be recognized correctly.
 	Do not accept sura numbers below 1 in nav bar.
-
-Version 1.0.0 - [12-08-10]
-Features/Enhancements:
-	All 13px icons change to 16px size.
-	A number of icons changed to have a more harmonic icon set in Zekr.
-	Zoom/Unzoom will only work on Quran OR translation if applied in separate layout. Otherwise both Quran and translation text size is increased/decreased.
-	Zoom/Unzoom will not change sura name font size.
-	Prevent AudioPlayerForm to get out of view (some limitations are applied to its location).
-	Show only language in translation list menu. Show the same info at multi-translation configuration form.
-	Added a new property: trans.name.mode = english | localized. It then shows either translation English name or its localized name wherever a translation data is referenced (e.g. in multi-translation config form or in translation menu). 
-Bug fixes:
-	Save As button will now save search result if current view shows a search result.
-	Changing between Block/Line-by-Line mode in Translation-only layout will now work.
-	Save AudioPlayerForm new location as it closes. It now saves the new location before Zekr is closed (previously it wasn't saved when Zekr was closed and AudioPlayerForm was in open state).
-	A few changes and bug fixes in quran-properties-en.xml, thanks to Yahya Saturday.
diff --git a/doc/readme.txt b/doc/readme.txt
index 2443768..b1b3fe0 100644
--- a/doc/readme.txt
+++ b/doc/readme.txt
@@ -41,7 +41,7 @@ their corresponding licenses under doc directory:
     and commons-configuration-1.6):
     Apache License version 2.0, [zekr]/doc/apache-license-2.0.txt
 - Lucene libraries (lucene-core-3.0.0.jar, lucene-highlighter-3.0.0.jar,
-    lucene-snowball-3.0.0.jar, lucene-memory-3.0.0.jar, and lucene-misc-3.0.0.jar):
+    lucene-snowball-3.0.0.jar, lucene-memory-3.0.0.jar, and lucene-memory-3.0.0.jar):
     Apache License version 2.0, [zekr]/doc/apache-license-2.0.txt
 - log4j-1.2.8: Apache Software License version 1.1, [zekr]/doc/apache-software-license-1.1.txt
 - velocity-1.6.2: Apache License version 2.0, [zekr]/doc/apache-license-2.0.txt
diff --git a/readme.txt b/readme.txt
index 2443768..b1b3fe0 100644
--- a/readme.txt
+++ b/readme.txt
@@ -41,7 +41,7 @@ their corresponding licenses under doc directory:
     and commons-configuration-1.6):
     Apache License version 2.0, [zekr]/doc/apache-license-2.0.txt
 - Lucene libraries (lucene-core-3.0.0.jar, lucene-highlighter-3.0.0.jar,
-    lucene-snowball-3.0.0.jar, lucene-memory-3.0.0.jar, and lucene-misc-3.0.0.jar):
+    lucene-snowball-3.0.0.jar, lucene-memory-3.0.0.jar, and lucene-memory-3.0.0.jar):
     Apache License version 2.0, [zekr]/doc/apache-license-2.0.txt
 - log4j-1.2.8: Apache Software License version 1.1, [zekr]/doc/apache-software-license-1.1.txt
 - velocity-1.6.2: Apache License version 2.0, [zekr]/doc/apache-license-2.0.txt
diff --git a/res/audio/abdulbasit-64kbps-online.properties b/res/audio/abdulbasit-64kbps-online.properties
index 8c643d2..0fb82e9 100644
--- a/res/audio/abdulbasit-64kbps-online.properties
+++ b/res/audio/abdulbasit-64kbps-online.properties
@@ -16,14 +16,14 @@ audio.reciter.tr = Abdülbâsıt Abdüssamed
 
 audio.type = online
 
-# example of the generated path is: http://www.everyayah.com/data/AbdulSamad_64kbps_QuranExplorer.Com/001025.mp3 for sura 1, aya 25.
-audio.onlineUrl = http://www.everyayah.com/data/AbdulSamad_64kbps_QuranExplorer.Com/%1$03d%2$03d.mp3
+# example of the generated path is: http://everyayah.com/data/AbdulSamad_64kbps_QuranExplorer.Com/001025.mp3 for sura 1, aya 25.
+audio.onlineUrl = http://everyayah.com/data/AbdulSamad_64kbps_QuranExplorer.Com/%1$03d%2$03d.mp3
 audio.offlineUrl =
 
 audio.offlineAudhubillah =
 audio.offlineBismillam =
-audio.offlineSadaghallah =
+audio.offlineSaghaghallah =
 
-audio.onlineAudhubillah = http://www.everyayah.com/data/AbdulSamad_64kbps_QuranExplorer.Com/audhubillah.mp3
-audio.onlineBismillam = http://www.everyayah.com/data/AbdulSamad_64kbps_QuranExplorer.Com/bismillah.mp3
-audio.onlineSadaghallah =
+audio.onlineAudhubillah = http://everyayah.com/data/AbdulSamad_64kbps_QuranExplorer.Com/audhubillah.mp3
+audio.onlineBismillam = http://everyayah.com/data/AbdulSamad_64kbps_QuranExplorer.Com/bismillah.mp3
+audio.onlineSaghaghallah =
diff --git a/res/audio/afasy-128kbps-online.properties b/res/audio/afasy-128kbps-online.properties
index a80568a..d90904d 100644
--- a/res/audio/afasy-128kbps-online.properties
+++ b/res/audio/afasy-128kbps-online.properties
@@ -22,8 +22,8 @@ audio.offlineUrl =
 
 audio.offlineAudhubillah =
 audio.offlineBismillam =
-audio.offlineSadaghallah =
+audio.offlineSaghaghallah =
 
 audio.onlineAudhubillah = http://everyayah.com/data/Alafasy_128kbps/audhubillah.mp3
-audio.onlineBismillah = http://everyayah.com/data/Alafasy_128kbps/bismillah.mp3
-audio.onlineSadaghallah =
+audio.onlineBismillam = http://everyayah.com/data/Alafasy_128kbps/bismillah.mp3
+audio.onlineSaghaghallah =
diff --git a/res/audio/ajmy-64kbps-online.properties b/res/audio/ajmy-64kbps-online.properties
new file mode 100644
index 0000000..2e3459e
--- /dev/null
+++ b/res/audio/ajmy-64kbps-online.properties
@@ -0,0 +1,29 @@
+audio.id = ajmy-64kbps-online
+audio.version = 0.7.5
+audio.lastUpdate = 31-10-2009
+audio.quality = 64kbps
+
+audio.license = Unknown
+audio.language = ar
+audio.country = AF
+
+audio.reciter = Ahmad Al-Ajmy
+audio.reciter.ar = أحمد العجمي
+audio.reciter.en = Ahmad Al-Ajmy
+audio.reciter.fa = احمد عجمی
+audio.reciter.ru = Ахмад аль-Аджами
+audio.reciter.tr = Ahmed el-Acemî
+
+audio.type = online
+
+# example of the generated path is: http://everyayah.com/data/Ahmed_ibn_Ali_al-Ajamy_64kbps_QuranExplorer.Com/001025.mp3 for sura 1, aya 25.
+audio.onlineUrl = http://everyayah.com/data/Ahmed_ibn_Ali_al-Ajamy_64kbps_QuranExplorer.Com/%1$03d%2$03d.mp3
+audio.offlineUrl =
+
+audio.offlineAudhubillah =
+audio.offlineBismillam =
+audio.offlineSaghaghallah =
+
+audio.onlineAudhubillah = http://everyayah.com/data/Ahmed_ibn_Ali_al-Ajamy_64kbps_QuranExplorer.Com/audhubillah.mp3
+audio.onlineBismillam = http://everyayah.com/data/Ahmed_ibn_Ali_al-Ajamy_64kbps_QuranExplorer.Com/bismillah.mp3
+audio.onlineSaghaghallah =
diff --git a/res/audio/ghamdi-40kbps-online.properties b/res/audio/ghamdi-40kbps-online.properties
index 6839b5a..282069e 100644
--- a/res/audio/ghamdi-40kbps-online.properties
+++ b/res/audio/ghamdi-40kbps-online.properties
@@ -22,8 +22,8 @@ audio.offlineUrl =
 
 audio.offlineAudhubillah =
 audio.offlineBismillam =
-audio.offlineSadaghallah =
+audio.offlineSaghaghallah =
 
 audio.onlineAudhubillah = http://everyayah.com/data/Ghamadi_40kbps/audhubillah.mp3
 audio.onlineBismillam = http://everyayah.com/data/Ghamadi_40kbps/bismillah.mp3
-audio.onlineSadaghallah =
+audio.onlineSaghaghallah =
diff --git a/res/audio/huzaifi-32kbps-online.properties b/res/audio/huzaifi-32kbps-online.properties
new file mode 100644
index 0000000..af0bcb6
--- /dev/null
+++ b/res/audio/huzaifi-32kbps-online.properties
@@ -0,0 +1,29 @@
+audio.id = huzaifi-32kbps-online
+audio.version = 0.7.5
+audio.lastUpdate = 31-10-2009
+audio.quality = 32kbps
+
+audio.license = Unknown
+audio.language = ar
+audio.country = SA
+
+audio.reciter = Ali Al-Huzaifi
+audio.reciter.ar = علي الحذيفي
+audio.reciter.en = Ali Al-Huzaifi
+audio.reciter.fa = علی حذیفی
+audio.reciter.ru = Али аль-Хузайфи
+audio.reciter.tr = Ali el-Huzeyfî
+
+audio.type = online
+
+# example of the generated path is: http://everyayah.com/data/Hudhaify_32kbps/001025.mp3 for sura 1, aya 25.
+audio.onlineUrl = http://everyayah.com/data/Hudhaify_32kbps/%1$03d%2$03d.mp3
+audio.offlineUrl =
+
+audio.offlineAudhubillah =
+audio.offlineBismillam =
+audio.offlineSaghaghallah =
+
+audio.onlineAudhubillah = http://everyayah.com/data/Hudhaify_32kbps/audhubillah.mp3
+audio.onlineBismillam = http://everyayah.com/data/Hudhaify_32kbps/bismillah.mp3
+audio.onlineSaghaghallah =
diff --git a/res/audio/minshawi-16kbps-online.properties b/res/audio/minshawi-16kbps-online.properties
index b54a7c4..9496045 100644
--- a/res/audio/minshawi-16kbps-online.properties
+++ b/res/audio/minshawi-16kbps-online.properties
@@ -17,15 +17,14 @@ audio.reciter.tr = Muhammed Sıddık el-Minşâvî
 # offline, online, or offline-online (first checks for offline, if not available, plays online)
 audio.type = online
 
-# example of the generated path is: http://www.everyayah.com/data/Menshawi_32kbps/001025.mp3 for sura 1, aya 25.
-audio.onlineUrl = http://www.everyayah.com/data/Menshawi_16kbps/%1$03d%2$03d.mp3
+# example of the generated path is: http://everyayah.com/data/Menshawi_32kbps/001025.mp3 for sura 1, aya 25.
+audio.onlineUrl = http://everyayah.com/data/Menshawi_16kbps/%1$03d%2$03d.mp3
 audio.offlineUrl =
 
 audio.offlineAudhubillah =
-audio.offlineBismillah =
-audio.offlineSadaghallah =
+audio.offlineBismillam =
+audio.offlineSaghaghallah =
 
-audio.onlineAudhubillah = http://www.everyayah.com/data/Menshawi_16kbps/000000.mp3
-audio.onlineBismillah = http://www.everyayah.com/data/Menshawi_16kbps/001001.mp3
-audio.onlineBismillam = http://www.everyayah.com/data/Menshawi_16kbps/001001.mp3
-audio.onlineSadaghallah = http://www.everyayah.com/data/Menshawi_16kbps/115001.mp3
+audio.onlineAudhubillah = http://everyayah.com/data/Menshawi_16kbps/000000.mp3
+audio.onlineBismillam = http://everyayah.com/data/Menshawi_16kbps/001001.mp3
+audio.onlineSaghaghallah = http://everyayah.com/data/Menshawi_16kbps/115001.mp3
diff --git a/res/audio/muaiqly-48kbps-online.properties b/res/audio/muaiqly-48kbps-online.properties
new file mode 100644
index 0000000..f2fd892
--- /dev/null
+++ b/res/audio/muaiqly-48kbps-online.properties
@@ -0,0 +1,26 @@
+audio.id = muaiqly-48kbps-online
+audio.version = 0.7.5
+audio.lastUpdate = 18-02-2010
+audio.quality = 48kbps
+
+audio.license = Unknown
+audio.language = ar
+audio.country = SA
+
+audio.reciter = Maher Al-Muaiqly
+audio.reciter.fa = ماهر معیقلی
+audio.reciter.ar = ماهر المعيقلي
+audio.reciter.en = Maher Al-Muaiqly
+
+audio.type = online
+
+audio.onlineUrl = http://e-quran.org/rec/muaiqly-48kbps/%1$03d/%1$03d%2$03d.mp3
+audio.offlineUrl =
+
+audio.offlineAudhubillah =
+audio.offlineBismillam =
+audio.offlineSaghaghallah =
+
+audio.onlineAudhubillah = http://e-quran.org/rec/muaiqly-48kbps/audhubillah.mp3
+audio.onlineBismillam = http://e-quran.org/rec/muaiqly-48kbps/bismillah.mp3
+audio.onlineSaghaghallah =
diff --git a/res/audio/shatri-128kbps-online.properties b/res/audio/shatri-128kbps-online.properties
index d22178a..4ba689d 100644
--- a/res/audio/shatri-128kbps-online.properties
+++ b/res/audio/shatri-128kbps-online.properties
@@ -1,30 +1,29 @@
 audio.id = shatri-128kbps-online
 audio.version = 0.7.5
-audio.lastUpdate = 16-06-2010
+audio.lastUpdate = 31-10-2009
 audio.quality = 128kbps
 
 audio.license = Unknown
 audio.language = ar
 audio.country = SA
 
-audio.reciter = Abu Bakr Ash-Shatri
+audio.reciter = Abu Bakr Al-Shatri
 audio.reciter.ar = ابوبكر الشاطري
-audio.reciter.en = Abu Bakr Ash-Shatri
+audio.reciter.en = Abu Bakr Al-Shatri
 audio.reciter.fa = ابوبكر شاطری
 audio.reciter.ru = Абу Бакр аш-Шатри
 audio.reciter.tr = Ebu Bekir eş-Şâtırî
 
 audio.type = online
 
-# example of the generated path is: http://www.everyayah.com/data/Abu%%20Bakr%%20Ash-Shaatree_128kbps/001025.mp3 for sura 1, aya 25.
-audio.onlineUrl = http://www.everyayah.com/data/Abu%%20Bakr%%20Ash-Shaatree_128kbps/%1$03d%2$03d.mp3
+# example of the generated path is: http://everyayah.com/data/Abu%%20Bakr%%20Ash-Shaatree_128kbps/001025.mp3 for sura 1, aya 25.
+audio.onlineUrl = http://everyayah.com/data/Abu%%20Bakr%%20Ash-Shaatree_128kbps/%1$03d%2$03d.mp3
 audio.offlineUrl =
 
 audio.offlineAudhubillah =
-audio.offlineBismillah =
-audio.offlineSadaghallah =
+audio.offlineBismillam =
+audio.offlineSaghaghallah =
 
-audio.onlineAudhubillah = http://www.everyayah.com/data/Abu%20Bakr%20Ash-Shaatree_128kbps/audhubillah.mp3
-audio.onlineBismillah = http://www.everyayah.com/data/Abu%20Bakr%20Ash-Shaatree_128kbps/bismillah.mp3
-audio.onlineBismillam = http://www.everyayah.com/data/Abu%20Bakr%20Ash-Shaatree_128kbps/bismillah.mp3
-audio.onlineSadaghallah =
+audio.onlineAudhubillah = http://everyayah.com/data/Abu%20Bakr%20Ash-Shaatree_128kbps/audhubillah.mp3
+audio.onlineBismillam = http://everyayah.com/data/Abu%20Bakr%20Ash-Shaatree_128kbps/bismillah.mp3
+audio.onlineSaghaghallah =
diff --git a/res/audio/shuraim-128kbps-online.properties b/res/audio/shuraim-128kbps-online.properties
index f579cbf..af8afb6 100644
--- a/res/audio/shuraim-128kbps-online.properties
+++ b/res/audio/shuraim-128kbps-online.properties
@@ -16,15 +16,14 @@ audio.reciter.tr = Suûd eş-Şüreym
 
 audio.type = online
 
-# example of the generated path is: http://www.everyayah.com/data/Saood%%20bin%%20Ibraaheem%%20Ash-Shuraym_128kbps/001025.mp3 for sura 1, aya 25.
-audio.onlineUrl = http://www.everyayah.com/data/Saood%%20bin%%20Ibraaheem%%20Ash-Shuraym_128kbps/%1$03d%2$03d.mp3
+# example of the generated path is: http://everyayah.com/data/Saood%%20bin%%20Ibraaheem%%20Ash-Shuraym_128kbps/001025.mp3 for sura 1, aya 25.
+audio.onlineUrl = http://everyayah.com/data/Saood%%20bin%%20Ibraaheem%%20Ash-Shuraym_128kbps/%1$03d%2$03d.mp3
 audio.offlineUrl =
 
 audio.offlineAudhubillah =
 audio.offlineBismillam =
-audio.offlineSadaghallah =
+audio.offlineSaghaghallah =
 
-audio.onlineAudhubillah = http://www.everyayah.com/data/Saood%20bin%20Ibraaheem%20Ash-Shuraym_128kbps/audhubillah.mp3
-audio.onlineBismillah = http://www.everyayah.com/data/Saood%20bin%20Ibraaheem%20Ash-Shuraym_128kbps/bismillah.mp3
-audio.onlineBismillam = http://www.everyayah.com/data/Saood%20bin%20Ibraaheem%20Ash-Shuraym_128kbps/bismillah.mp3
-audio.onlineSadaghallah =
+audio.onlineAudhubillah = http://everyayah.com/data/Saood%20bin%20Ibraaheem%20Ash-Shuraym_128kbps/audhubillah.mp3
+audio.onlineBismillam = http://everyayah.com/data/Saood%20bin%20Ibraaheem%20Ash-Shuraym_128kbps/bismillah.mp3
+audio.onlineSaghaghallah =
diff --git a/res/audio/sudais-192kbps-online.properties b/res/audio/sudais-192kbps-online.properties
index 8093c4b..277ccc4 100644
--- a/res/audio/sudais-192kbps-online.properties
+++ b/res/audio/sudais-192kbps-online.properties
@@ -16,15 +16,14 @@ audio.reciter.tr = Abdurrahman es-Südeys
 
 audio.type = online
 
-# example of the generated path is: http://www.everyayah.com/data/Abdurrahmaan_As-Sudais_192kbps/001025.mp3 for sura 1, aya 25.
-audio.onlineUrl = http://www.everyayah.com/data/Abdurrahmaan_As-Sudais_192kbps/%1$03d%2$03d.mp3
+# example of the generated path is: http://everyayah.com/data/Abdurrahmaan_As-Sudais_192kbps/001025.mp3 for sura 1, aya 25.
+audio.onlineUrl = http://everyayah.com/data/Abdurrahmaan_As-Sudais_192kbps/%1$03d%2$03d.mp3
 audio.offlineUrl =
 
 audio.offlineAudhubillah =
-audio.offlineBismillah =
-audio.offlineSadaghallah =
+audio.offlineBismillam =
+audio.offlineSaghaghallah =
 
-audio.onlineAudhubillah = http://www.everyayah.com/data/Abdurrahmaan_As-Sudais_192kbps/audhubillah.mp3
-audio.onlineBismillah = http://www.everyayah.com/data/Abdurrahmaan_As-Sudais_192kbps/bismillah.mp3
-audio.onlineBismillam = http://www.everyayah.com/data/Abdurrahmaan_As-Sudais_192kbps/bismillah.mp3
-audio.onlineSadaghallah =
+audio.onlineAudhubillah = http://everyayah.com/data/Abdurrahmaan_As-Sudais_192kbps/audhubillah.mp3
+audio.onlineBismillam = http://everyayah.com/data/Abdurrahmaan_As-Sudais_192kbps/bismillah.mp3
+audio.onlineSaghaghallah =
diff --git a/res/config/config.properties b/res/config/config.properties
index 7601682..21b7e14 100644
--- a/res/config/config.properties
+++ b/res/config/config.properties
@@ -1,5 +1,5 @@
 # Zekr configuration file
-version = 1.0.0
+version = 0.7.6
 
 # Quran
 quran.text.delim = \\r\\n
@@ -11,8 +11,6 @@ lang.default = en_US
 # Translation
 trans.default = transliteration-en
 trans.custom =
-# can be: english or localized
-trans.name.mode = localized
 
 # Revelation data
 revel.default = ibn-abbas
diff --git a/res/config/search-info.properties b/res/config/search-info.properties
index b37bf8a..f7d158d 100644
--- a/res/config/search-info.properties
+++ b/res/config/search-info.properties
@@ -1,5 +1,5 @@
 # Zekr replace patterns and stop words to be used in search
-search.version = 1.0.0
+search.version = 0.7.6
 
 # Generic patterns
 search.pattern.replace = [\u00e0-\u00e5\u0100-\u0105]=a,[\u00e8-\u00eb\u0112-\u011b]=e,[\u00ec-\u00ef\u0128-\u0131]=i
diff --git a/res/config/shortcut.xml b/res/config/shortcut.xml
index 0d2bf70..3009c4c 100644
--- a/res/config/shortcut.xml
+++ b/res/config/shortcut.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<shortcut version="1.0.0">
+<shortcut version="0.7.6">
 <![CDATA[
 - if shortcut for right-to-left mode is different, specify rtlKey for mapping element.
 - use 'Alt', 'Ctrl', and 'Shift' modifiers only. Ctrl is treated as Cmd on Mac systems.
diff --git a/res/image/icon/about13.png b/res/image/icon/about13.png
new file mode 100644
index 0000000..43ae70e
Binary files /dev/null and b/res/image/icon/about13.png differ
diff --git a/res/image/icon/add13.png b/res/image/icon/add13.png
new file mode 100644
index 0000000..d7bce97
Binary files /dev/null and b/res/image/icon/add13.png differ
diff --git a/res/image/icon/audio/online-recitation13.png b/res/image/icon/audio/online-recitation13.png
new file mode 100644
index 0000000..044f953
Binary files /dev/null and b/res/image/icon/audio/online-recitation13.png differ
diff --git a/res/image/icon/audio/player-next13.png b/res/image/icon/audio/player-next13.png
new file mode 100644
index 0000000..de81602
Binary files /dev/null and b/res/image/icon/audio/player-next13.png differ
diff --git a/res/image/icon/audio/player-pause13.png b/res/image/icon/audio/player-pause13.png
new file mode 100644
index 0000000..76f62e8
Binary files /dev/null and b/res/image/icon/audio/player-pause13.png differ
diff --git a/res/image/icon/audio/player-play-rtl13.png b/res/image/icon/audio/player-play-rtl13.png
new file mode 100644
index 0000000..4cd0a7b
Binary files /dev/null and b/res/image/icon/audio/player-play-rtl13.png differ
diff --git a/res/image/icon/audio/player-play-rtl16.png b/res/image/icon/audio/player-play-rtl16.png
index 4ea2f24..8e74871 100644
Binary files a/res/image/icon/audio/player-play-rtl16.png and b/res/image/icon/audio/player-play-rtl16.png differ
diff --git a/res/image/icon/audio/player-play13.png b/res/image/icon/audio/player-play13.png
new file mode 100644
index 0000000..55de42c
Binary files /dev/null and b/res/image/icon/audio/player-play13.png differ
diff --git a/res/image/icon/audio/player-playlist13.png b/res/image/icon/audio/player-playlist13.png
new file mode 100644
index 0000000..d61d1e5
Binary files /dev/null and b/res/image/icon/audio/player-playlist13.png differ
diff --git a/res/image/icon/audio/player-prev13.png b/res/image/icon/audio/player-prev13.png
new file mode 100644
index 0000000..ab2b25b
Binary files /dev/null and b/res/image/icon/audio/player-prev13.png differ
diff --git a/res/image/icon/audio/player-stop13.png b/res/image/icon/audio/player-stop13.png
new file mode 100644
index 0000000..3af47ac
Binary files /dev/null and b/res/image/icon/audio/player-stop13.png differ
diff --git a/res/image/icon/audio/recitation-pack13.png b/res/image/icon/audio/recitation-pack13.png
new file mode 100644
index 0000000..9c5bfd7
Binary files /dev/null and b/res/image/icon/audio/recitation-pack13.png differ
diff --git a/res/image/icon/blank.gif b/res/image/icon/blank.gif
new file mode 100644
index 0000000..4bcc753
Binary files /dev/null and b/res/image/icon/blank.gif differ
diff --git a/res/image/icon/book-blue13.png b/res/image/icon/book-blue13.png
new file mode 100644
index 0000000..3d71f76
Binary files /dev/null and b/res/image/icon/book-blue13.png differ
diff --git a/res/image/icon/book-red13.png b/res/image/icon/book-red13.png
new file mode 100644
index 0000000..78b73f8
Binary files /dev/null and b/res/image/icon/book-red13.png differ
diff --git a/res/image/icon/book13.png b/res/image/icon/book13.png
new file mode 100644
index 0000000..c86babd
Binary files /dev/null and b/res/image/icon/book13.png differ
diff --git a/res/image/icon/bookmark/add-bookmark13.png b/res/image/icon/bookmark/add-bookmark13.png
new file mode 100644
index 0000000..d7bce97
Binary files /dev/null and b/res/image/icon/bookmark/add-bookmark13.png differ
diff --git a/res/image/icon/bookmark/bookmark-item.png b/res/image/icon/bookmark/bookmark-item.png
new file mode 100644
index 0000000..d8d1be6
Binary files /dev/null and b/res/image/icon/bookmark/bookmark-item.png differ
diff --git a/res/image/icon/bookmark/bookmark-item13.png b/res/image/icon/bookmark/bookmark-item13.png
new file mode 100644
index 0000000..8143a13
Binary files /dev/null and b/res/image/icon/bookmark/bookmark-item13.png differ
diff --git a/res/image/icon/bookmark/edit-bookmark13.png b/res/image/icon/bookmark/edit-bookmark13.png
new file mode 100644
index 0000000..d979303
Binary files /dev/null and b/res/image/icon/bookmark/edit-bookmark13.png differ
diff --git a/res/image/icon/bookmark/find-ref13.png b/res/image/icon/bookmark/find-ref13.png
new file mode 100644
index 0000000..b2c145b
Binary files /dev/null and b/res/image/icon/bookmark/find-ref13.png differ
diff --git a/res/image/icon/bookmark/folder-close.png b/res/image/icon/bookmark/folder-close.png
new file mode 100644
index 0000000..901edc9
Binary files /dev/null and b/res/image/icon/bookmark/folder-close.png differ
diff --git a/res/image/icon/bookmark/folder-close13.png b/res/image/icon/bookmark/folder-close13.png
new file mode 100644
index 0000000..5f4737d
Binary files /dev/null and b/res/image/icon/bookmark/folder-close13.png differ
diff --git a/res/image/icon/bookmark/folder-open.png b/res/image/icon/bookmark/folder-open.png
new file mode 100644
index 0000000..1e074cd
Binary files /dev/null and b/res/image/icon/bookmark/folder-open.png differ
diff --git a/res/image/icon/bookmark/folder-open13.png b/res/image/icon/bookmark/folder-open13.png
new file mode 100644
index 0000000..e806e50
Binary files /dev/null and b/res/image/icon/bookmark/folder-open13.png differ
diff --git a/res/image/icon/bookmark/manage-bookmark-sets13.png b/res/image/icon/bookmark/manage-bookmark-sets13.png
new file mode 100644
index 0000000..e668ff4
Binary files /dev/null and b/res/image/icon/bookmark/manage-bookmark-sets13.png differ
diff --git a/res/image/icon/check-4-update13.png b/res/image/icon/check-4-update13.png
new file mode 100644
index 0000000..709ecd3
Binary files /dev/null and b/res/image/icon/check-4-update13.png differ
diff --git a/res/image/icon/config13.png b/res/image/icon/config13.png
new file mode 100644
index 0000000..43f05a7
Binary files /dev/null and b/res/image/icon/config13.png differ
diff --git a/res/image/icon/config_trans_list13.png b/res/image/icon/config_trans_list13.png
new file mode 100644
index 0000000..3922a1c
Binary files /dev/null and b/res/image/icon/config_trans_list13.png differ
diff --git a/res/image/icon/config_trans_list16.png b/res/image/icon/config_trans_list16.png
new file mode 100644
index 0000000..6e756cc
Binary files /dev/null and b/res/image/icon/config_trans_list16.png differ
diff --git a/res/image/icon/down_arrow.gif b/res/image/icon/down_arrow.gif
new file mode 100644
index 0000000..56bb6cf
Binary files /dev/null and b/res/image/icon/down_arrow.gif differ
diff --git a/res/image/icon/edit16.png b/res/image/icon/edit16.png
new file mode 100644
index 0000000..b435e77
Binary files /dev/null and b/res/image/icon/edit16.png differ
diff --git a/res/image/icon/exit13.png b/res/image/icon/exit13.png
new file mode 100644
index 0000000..04fb611
Binary files /dev/null and b/res/image/icon/exit13.png differ
diff --git a/res/image/icon/export13.png b/res/image/icon/export13.png
new file mode 100644
index 0000000..3ecc673
Binary files /dev/null and b/res/image/icon/export13.png differ
diff --git a/res/image/icon/fullscreen13.png b/res/image/icon/fullscreen13.png
new file mode 100644
index 0000000..b2f7091
Binary files /dev/null and b/res/image/icon/fullscreen13.png differ
diff --git a/res/image/icon/general-edit13.png b/res/image/icon/general-edit13.png
new file mode 100644
index 0000000..94972cc
Binary files /dev/null and b/res/image/icon/general-edit13.png differ
diff --git a/res/image/icon/goto13.png b/res/image/icon/goto13.png
new file mode 100644
index 0000000..f72c9fc
Binary files /dev/null and b/res/image/icon/goto13.png differ
diff --git a/res/image/icon/help13.png b/res/image/icon/help13.png
new file mode 100644
index 0000000..623d7c8
Binary files /dev/null and b/res/image/icon/help13.png differ
diff --git a/res/image/icon/homepage13.png b/res/image/icon/homepage13.png
new file mode 100644
index 0000000..6788f60
Binary files /dev/null and b/res/image/icon/homepage13.png differ
diff --git a/res/image/icon/layout13.png b/res/image/icon/layout13.png
new file mode 100644
index 0000000..fa7c6e2
Binary files /dev/null and b/res/image/icon/layout13.png differ
diff --git a/res/image/icon/locale13.png b/res/image/icon/locale13.png
new file mode 100644
index 0000000..9c5a2bd
Binary files /dev/null and b/res/image/icon/locale13.png differ
diff --git a/res/image/icon/mixed13.png b/res/image/icon/mixed13.png
new file mode 100644
index 0000000..2e9278d
Binary files /dev/null and b/res/image/icon/mixed13.png differ
diff --git a/res/image/icon/options32.png b/res/image/icon/options32.png
new file mode 100644
index 0000000..1141564
Binary files /dev/null and b/res/image/icon/options32.png differ
diff --git a/res/image/icon/print13.png b/res/image/icon/print13.png
new file mode 100644
index 0000000..da61dba
Binary files /dev/null and b/res/image/icon/print13.png differ
diff --git a/res/image/icon/reload13.png b/res/image/icon/reload13.png
new file mode 100644
index 0000000..b9980ac
Binary files /dev/null and b/res/image/icon/reload13.png differ
diff --git a/res/image/icon/separate13.png b/res/image/icon/separate13.png
new file mode 100644
index 0000000..f0427cd
Binary files /dev/null and b/res/image/icon/separate13.png differ
diff --git a/res/image/icon/text_block13.png b/res/image/icon/text_block13.png
new file mode 100644
index 0000000..a9bd2fc
Binary files /dev/null and b/res/image/icon/text_block13.png differ
diff --git a/res/image/icon/text_linebyline13.png b/res/image/icon/text_linebyline13.png
new file mode 100644
index 0000000..69a3d57
Binary files /dev/null and b/res/image/icon/text_linebyline13.png differ
diff --git a/res/image/icon/theme13.png b/res/image/icon/theme13.png
new file mode 100644
index 0000000..c71dd3b
Binary files /dev/null and b/res/image/icon/theme13.png differ
diff --git a/res/image/icon/trans-invalid13.png b/res/image/icon/trans-invalid13.png
new file mode 100644
index 0000000..f3c56b1
Binary files /dev/null and b/res/image/icon/trans-invalid13.png differ
diff --git a/res/image/icon/trans-unknown13.png b/res/image/icon/trans-unknown13.png
new file mode 100644
index 0000000..9cd7248
Binary files /dev/null and b/res/image/icon/trans-unknown13.png differ
diff --git a/res/image/icon/trans-valid13.png b/res/image/icon/trans-valid13.png
new file mode 100644
index 0000000..730900f
Binary files /dev/null and b/res/image/icon/trans-valid13.png differ
diff --git a/res/image/icon/trans13.png b/res/image/icon/trans13.png
new file mode 100644
index 0000000..7bec9d6
Binary files /dev/null and b/res/image/icon/trans13.png differ
diff --git a/res/image/icon/trans18.gif b/res/image/icon/trans18.gif
new file mode 100644
index 0000000..aed6218
Binary files /dev/null and b/res/image/icon/trans18.gif differ
diff --git a/res/image/icon/trans_list16.png b/res/image/icon/trans_list16.png
new file mode 100644
index 0000000..623d485
Binary files /dev/null and b/res/image/icon/trans_list16.png differ
diff --git a/res/image/icon/up_arrow.gif b/res/image/icon/up_arrow.gif
new file mode 100644
index 0000000..0418010
Binary files /dev/null and b/res/image/icon/up_arrow.gif differ
diff --git a/res/image/icon/wizard13.png b/res/image/icon/wizard13.png
new file mode 100644
index 0000000..407ade2
Binary files /dev/null and b/res/image/icon/wizard13.png differ
diff --git a/res/image/sura-header.png b/res/image/sura-header.png
new file mode 100644
index 0000000..da67579
Binary files /dev/null and b/res/image/sura-header.png differ
diff --git a/res/resource-path.properties b/res/resource-path.properties
index f0480d3..ee5bc20 100644
--- a/res/resource-path.properties
+++ b/res/resource-path.properties
@@ -22,56 +22,51 @@ icon.form128 = $ICON_DIR/open-book-128.png
 icon.form256 = $ICON_DIR/open-book-256.png
 icon.error16 = $ICON_DIR/error16.gif
 icon.error32 = $ICON_DIR/error32.png
-icon.about16 = $ICON_DIR/about-zekr16.png
-icon.about32 = $ICON_DIR/about-zekr32.png
-icon.about48 = $ICON_DIR/open-book-48.png
-icon.about128 = $ICON_DIR/open-book-128.png
-icon.about256 = $ICON_DIR/open-book-256.png
 
 #set ( $FLAG_DIR = "$ICON_DIR/flag" )
 icon.flag.baseDir = $FLAG_DIR/
 icon.flag.default = $FLAG_DIR/flag13.png
 
 /* Menu Items */
-icon.menu.exit = $ICON_DIR/exit16.png
-icon.menu.print = $ICON_DIR/print16.png
-icon.menu.save = $ICON_DIR/save16.png
-icon.menu.reload = $ICON_DIR/reload16.png
-icon.menu.addTrans = $ICON_DIR/add-trans16.png
-icon.menu.transList = $ICON_DIR/trans-list16.png
-icon.menu.theme = $ICON_DIR/theme16.png
-icon.menu.configTransList = $ICON_DIR/config-trans-list16.png
-
-icon.menu.about = $ICON_DIR/about-zekr16.png
-icon.menu.homepage = $ICON_DIR/homepage16.png
-icon.menu.check4Update = $ICON_DIR/check-4-update-menu16.png
-icon.menu.onlineHelp = $ICON_DIR/help16.png
-
-icon.menu.layout = $ICON_DIR/layout16.png
-icon.menu.separate = $ICON_DIR/separate16.png
-icon.menu.mixed = $ICON_DIR/mixed16.png
-icon.menu.quranOnly = $ICON_DIR/quran-only16.png
-icon.menu.transOnly = $ICON_DIR/trans-only16.png
-icon.menu.textLineByLine = $ICON_DIR/text-line16.png
-icon.menu.textBlock = $ICON_DIR/text-block16.png
-
-icon.menu.randomAya = $ICON_DIR/wizard16.png
-icon.menu.goto = $ICON_DIR/goto16.png
+icon.menu.exit = $ICON_DIR/exit13.png
+icon.menu.print = $ICON_DIR/print13.png
+icon.menu.export = $ICON_DIR/export13.png
+icon.menu.reload = $ICON_DIR/reload13.png
+icon.menu.locale = $ICON_DIR/locale13.png
+icon.menu.translation = $ICON_DIR/trans13.png
+icon.menu.theme = $ICON_DIR/theme13.png
+icon.menu.configTransList = $ICON_DIR/config_trans_list13.png
+
+icon.menu.about = $ICON_DIR/about13.png
+icon.menu.homepage = $ICON_DIR/homepage13.png
+icon.menu.check4Update = $ICON_DIR/check-4-update13.png
+icon.menu.onlineHelp = $ICON_DIR/help13.png
+
+icon.menu.layout = $ICON_DIR/layout13.png
+icon.menu.separate = $ICON_DIR/separate13.png
+icon.menu.mixed = $ICON_DIR/mixed13.png
+icon.menu.quranOnly = $ICON_DIR/book-blue13.png
+icon.menu.transOnly = $ICON_DIR/book-red13.png
+icon.menu.text_linebyline = $ICON_DIR/text_linebyline13.png
+icon.menu.text_block = $ICON_DIR/text_block13.png
+
+icon.menu.randomAya = $ICON_DIR/wizard13.png
+icon.menu.goto = $ICON_DIR/goto13.png
 icon.goto.form16 = $ICON_DIR/goto16.png
 icon.goto.form32 = $ICON_DIR/goto32.png
 
 #set ( $AUDIO_DIR = "$ICON_DIR/audio" )
-icon.menu.addOnlineRecitation = $AUDIO_DIR/online-recitation16.png
-icon.menu.addOfflineRecitation = $AUDIO_DIR/offline-recitation16.png
-icon.menu.play = $AUDIO_DIR/player-play16.png
-icon.menu.playRtl = $AUDIO_DIR/player-play-rtl16.png
-icon.menu.pause = $AUDIO_DIR/player-pause16.png
-icon.menu.stop = $AUDIO_DIR/player-stop16.png
-icon.menu.playlist = $AUDIO_DIR/player-playlist16.png
-icon.menu.onlineRecitationPack = $AUDIO_DIR/online-recitation16.png
-icon.menu.offlineRecitationPack = $AUDIO_DIR/offline-recitation16.png
-icon.menu.playerNext = $AUDIO_DIR/player-next16.png
-icon.menu.playerPrev = $AUDIO_DIR/player-prev16.png
+icon.menu.addOnlineRecitation = $AUDIO_DIR/online-recitation13.png
+icon.menu.addRecitationPack = $AUDIO_DIR/recitation-pack13.png
+icon.menu.play = $AUDIO_DIR/player-play13.png
+icon.menu.playRtl = $AUDIO_DIR/player-play-rtl13.png
+icon.menu.pause = $AUDIO_DIR/player-pause13.png
+icon.menu.stop = $AUDIO_DIR/player-stop13.png
+icon.menu.playlist = $AUDIO_DIR/player-playlist13.png
+icon.menu.onlineRecitationPack = $AUDIO_DIR/online-recitation13.png
+icon.menu.offlineRecitationPack = $AUDIO_DIR/recitation-pack13.png
+icon.menu.playerNext = $AUDIO_DIR/player-next13.png
+icon.menu.playerPrev = $AUDIO_DIR/player-prev13.png
 
 icon.player.play = $AUDIO_DIR/player-play22.png
 icon.player.playRtl = $AUDIO_DIR/player-play-rtl22.png
@@ -91,21 +86,21 @@ theme.icon.playRtl = $AUDIO_DIR/player-play-rtl16.gif
 theme.icon.pause = $AUDIO_DIR/player-pause16.gif
 theme.icon.stop = $AUDIO_DIR/player-stop16.gif
 
-icon.menu.options = $ICON_DIR/config16.png
-icon.menu.addResource = $ICON_DIR/add-resource16.png
+icon.menu.options = $ICON_DIR/config13.png
+icon.menu.add = $ICON_DIR/add13.png
 
 #set ( $BOOKMARK = "$ICON_DIR/bookmark" )
-icon.menu.bookmark.edit = $BOOKMARK/edit-bookmark16.png
-icon.menu.bookmark.manage = $BOOKMARK/manage-bookmark-sets16.png
-icon.menu.bookmark.closeFolder = $BOOKMARK/folder-close16.png
-icon.menu.bookmark.openFolder = $BOOKMARK/folder-open16.png
-icon.menu.bookmark.item = $BOOKMARK/bookmark-item16.png
-icon.menu.bookmark.findRef = $BOOKMARK/find-ref16.png
-icon.menu.bookmark.add = $BOOKMARK/add-bookmark16.png
-
-icon.bookmark.closeFolder = $BOOKMARK/folder-close16.png
-icon.bookmark.openFolder = $BOOKMARK/folder-open16.png
-icon.bookmark.item = $BOOKMARK/bookmark-item16.png
+icon.menu.bookmark.edit = $BOOKMARK/edit-bookmark13.png
+icon.menu.bookmark.manage = $BOOKMARK/manage-bookmark-sets13.png
+icon.menu.bookmark.closeFolder = $BOOKMARK/folder-close13.png
+icon.menu.bookmark.openFolder = $BOOKMARK/folder-open13.png
+icon.menu.bookmark.item = $BOOKMARK/bookmark-item13.png
+icon.menu.bookmark.findRef = $BOOKMARK/find-ref13.png
+icon.menu.bookmark.add = $BOOKMARK/add-bookmark13.png
+
+icon.bookmark.closeFolder = $BOOKMARK/folder-close.png
+icon.bookmark.openFolder = $BOOKMARK/folder-open.png
+icon.bookmark.item = $BOOKMARK/bookmark-item.png
 icon.bookmark.newItem = $BOOKMARK/new-item.png
 icon.bookmark.newFolder = $BOOKMARK/new-folder.png
 icon.bookmark.goto = $BOOKMARK/goto-bookmark16.png
@@ -118,11 +113,12 @@ icon.bookmark.edit32 = $BOOKMARK/edit-bookmark32.png
 icon.bookmark.manage16 = $BOOKMARK/manage-bookmark-sets16.png
 icon.bookmark.manage32 = $BOOKMARK/manage-bookmark-sets32.png
 
-icon.menu.transUnknown = $ICON_DIR/trans-unknown16.png
-icon.menu.transInvalid = $ICON_DIR/trans-invalid16.png
-icon.menu.transValid = $ICON_DIR/trans-valid16.png
+icon.menu.book = $ICON_DIR/book13.png
+icon.menu.transUnknown = $ICON_DIR/trans-unknown13.png
+icon.menu.transInvalid = $ICON_DIR/trans-invalid13.png
+icon.menu.transValid = $ICON_DIR/trans-valid13.png
 
-icon.menu.fullScreen = $ICON_DIR/fullscreen16.png
+icon.menu.fullScreen = $ICON_DIR/fullscreen13.png
 
 icon.toolbar.fullScreen = $ICON_DIR/fullscreen24.png
 
@@ -135,6 +131,7 @@ icon.audio = $ICON_DIR/config-audio32.png
 icon.font = $ICON_DIR/font.png
 icon.add = $ICON_DIR/add16.png
 icon.remove = $ICON_DIR/remove16.png
+icon.edit = $ICON_DIR/general-edit16.png
 
 icon.paging = $ICON_DIR/paging.png
 
@@ -157,12 +154,12 @@ icon.down = $ICON_DIR/down.png
 icon.ascending = $ICON_DIR/sort-asc.png
 icon.descending = $ICON_DIR/sort-des.png
 
-icon.translate = $ICON_DIR/trans16.png
+icon.translate = $ICON_DIR/trans18.gif
 
 icon.goUp = $ICON_DIR/go_up16.png
 icon.goDown = $ICON_DIR/go_down16.png
 
-icon.configTransList = $ICON_DIR/trans-list16.png
+icon.configTransList = $ICON_DIR/trans_list16.png
 
 /* config */
 #set ( $CONFIG_DIR = "$RES_DIR/config" )
diff --git a/res/text/metadata/quran-properties-bg.xml b/res/text/metadata/quran-properties-bg.xml
index 35ae6b2..4a27c0b 100644
--- a/res/text/metadata/quran-properties-bg.xml
+++ b/res/text/metadata/quran-properties-bg.xml
@@ -1,119 +1,119 @@
-<?xml version="1.0" encoding="utf-8"?>
-<quran author="Yahya Saturday (Яхия Съботинов)" version="0.7.6-1.2">
-	<sura-detail>
-		<sura index="1" name="Откриване" tname="Ал-Фӓтих̣ах̃" />
-		<sura index="2" name="Кравата" tname="Ал-Бак͡ьарах̃" />
-		<sura index="3" name="Родът на Имран" tname="'Ӓли ˁИмрӓн" />
-		<sura index="4" name="Жените" tname="Ан-Нисӓ'" />
-		<sura index="5" name="Трапезата" tname="Ал-Мӓ'идах̃" />
-		<sura index="6" name="Добитъкът" tname="Ал-'Анˁӓм" />
-		<sura index="7" name="Стената" tname="Ал-'Аˁрӓф" />
-		<sura index="8" name="Придобитото във война" tname="Ал-'Анфӓл" />
-		<sura index="9" name="Покаянието" tname="Ат-Таўбах̃" />
-		<sura index="10" name="Юнус" tname="Йӱнус" />
-		<sura index="11" name="Худ" tname="Хӱд" />
-		<sura index="12" name="Юсуф" tname="Йӱсуф" />
-		<sura index="13" name="Гърмът" tname="Ар-Раˁд" />
-		<sura index="14" name="Ибрахим" tname="'Ибрӓхӥм" />
-		<sura index="15" name="Ал-Хиджр" tname="Ал-Х̣ид͡жр" />
-		<sura index="16" name="Пчелите" tname="Ан-Нах̣л" />
-		<sura index="17" name="Нощното пътешествие" tname="Ал-'Исрӓ'" />
-		<sura index="18" name="Пещерата" tname="Ал-Кахф" />
-		<sura index="19" name="Мариам" tname="Марйам" />
-		<sura index="20" name="Та-Ха" tname="Т̣ӓ-Хӓ" />
-		<sura index="21" name="Пророците" tname="Ал-'Ам̃бийӓ'" />
-		<sura index="22" name="Поклонението Хадж" tname="Ал-Х̣ад͡ж͡ж" />
-		<sura index="23" name="Вярващите" tname="Ал-Му'минӱн" />
-		<sura index="24" name="Светлината" tname="Ан-Нӱр" />
-		<sura index="25" name="Разграничаването" tname="Ал-Фурк͡ьӓн" />
-		<sura index="26" name="Поетите" tname="Аш-Шуˁарӓ'" />
-		<sura index="27" name="Мравките" tname="Ан-Намл" />
-		<sura index="28" name="Разказът" tname="Ал-К͡ьас̣ас̣" />
-		<sura index="29" name="Паякът" tname="Ал-ˁАнкабӱт" />
-		<sura index="30" name="Ромеите" tname="Ар-Рӱм" />
-		<sura index="31" name="Лукман" tname="Лук͡ьмӓн" />
-		<sura index="32" name="Поклонът" tname="Ас-Сад͡ждах̃" />
-		<sura index="33" name="Съюзените племена" tname="Ал-'Ах̣зӓб" />
-		<sura index="34" name="Саба" tname="Саба'" />
-		<sura index="35" name="Твореца" tname="Фӓт̣ир" />
-		<sura index="36" name="Йа-Син" tname="Йӓ-Сӥн" />
-		<sura index="37" name="Строените в редици" tname="Ас̣-С̣ӓффӓт" />
-		<sura index="38" name="Сад" tname="С̣ӓд" />
-		<sura index="39" name="Тълпите" tname="Аз-Зумар" />
-		<sura index="40" name="Опрощаващия" tname="Г͡хӓфир" />
-		<sura index="41" name="Разяснените" tname="Фус̣с̣илат" />
-		<sura index="42" name="Съвещаването" tname="Аш-Шӱраа́" />
-		<sura index="43" name="Украсата" tname="Аз-Зук͡хруф" />
-		<sura index="44" name="Димът" tname="Ад-Дук͡хӓн" />
-		<sura index="45" name="Коленопреклонната" tname="Ал-Д͡жӓс̱ийах̃" />
-		<sura index="46" name="Пясъчните хълмове" tname="Ал-'Ах̣к͡ьӓф" />
-		<sura index="47" name="Мухаммад" tname="Мух̣аммад" />
-		<sura index="48" name="Победата" tname="Ал-Фатх̣" />
-		<sura index="49" name="Стаите" tname="Ал-Х̣уд͡журӓт" />
-		<sura index="50" name="Каф" tname="К͡ьӓф" />
-		<sura index="51" name="Отвяващите" tname="Аз̱-З̱ӓрийӓт" />
-		<sura index="52" name="Планината" tname="Ат̣-Т̣ӱр" />
-		<sura index="53" name="Звездата" tname="Ан-Над͡жм" />
-		<sura index="54" name="Луната" tname="Ал-К͡ьамар" />
-		<sura index="55" name="Всемилостивия" tname="Ар-Рах̣мӓн" />
-		<sura index="56" name="Събитието" tname="Ал-Ўӓк͡ьиˁах̃" />
-		<sura index="57" name="Желязото" tname="Ал-Х̣адӥд" />
-		<sura index="58" name="Спорът" tname="Ал-Муд͡жӓдалах̃" />
-		<sura index="59" name="Изселването" tname="Ал-Х̣ашр" />
-		<sura index="60" name="Изпитваната" tname="Ал-Мумтах̣анах̃" />
-		<sura index="61" name="Редицата" tname="Ас̣-С̣афф" />
-		<sura index="62" name="Петъкът" tname="Ал-Д͡жумуˁах̃" />
-		<sura index="63" name="Лицемерите" tname="Ал-Мунӓфик͡ьӱн" />
-		<sura index="64" name="Разкриването на заблудата" tname="Ат-Таг͡хӓбун" />
-		<sura index="65" name="Разводът" tname="Ат̣-Т̣алӓк͡ь" />
-		<sura index="66" name="Възбраната" tname="Ат-Тах̣рӥм" />
-		<sura index="67" name="Владението" tname="Ал-Мулк" />
-		<sura index="68" name="Калемът" tname="Ал-К͡ьалам" />
-		<sura index="69" name="Неизбежното" tname="Ал-Х̣ӓк͡к͡ьах̃" />
-		<sura index="70" name="Небесните стъпала" tname="Ал-Маˁӓрид͡ж" />
-		<sura index="71" name="Нух" tname="Нӱх̣" />
-		<sura index="72" name="Джиновете" tname="Ал-Д͡жинн" />
-		<sura index="73" name="Загръщащият се" tname="Ал-Муззаммил" />
-		<sura index="74" name="Обвиващият се" tname="Ал-Муддас̱с̱ир" />
-		<sura index="75" name="Възкресението" tname="Ал-К͡ьийӓмах̃" />
-		<sura index="76" name="Човекът" tname="Ал-'Инсӓн" />
-		<sura index="77" name="Изпращаните" tname="Ал-Мурсалӓт" />
-		<sura index="78" name="Вестта" tname="Ан-Наба'" />
-		<sura index="79" name="Изтръгващите" tname="Ан-Нӓзиˁӓт" />
-		<sura index="80" name="Той се намръщи" tname="ˁАбаса" />
-		<sura index="81" name="Обвиването" tname="Ат-Такўӥр" />
-		<sura index="82" name="Разкъсването" tname="Ал-'Инфит̣ӓр" />
-		<sura index="83" name="Ощетяващите" tname="Ал-Мут̣аффифӥн" />
-		<sura index="84" name="Разцепването" tname="Ал-'Иншик͡ьӓк͡ь" />
-		<sura index="85" name="Съзвездията" tname="Ал-Бурӱд͡ж" />
-		<sura index="86" name="Вечерницата" tname="Ат̣-Т̣ӓрик͡ь" />
-		<sura index="87" name="Всевишния" tname="Ал-'Аˁлаа́" />
-		<sura index="88" name="Всепокриващият ден" tname="Ал-Г͡хӓшийах̃" />
-		<sura index="89" name="Зората" tname="Ал-Фад͡жр" />
-		<sura index="90" name="Градът" tname="Ал-Балад" />
-		<sura index="91" name="Слънцето" tname="Аш-Шамс" />
-		<sura index="92" name="Нощта" tname="Ал-Лайл" />
-		<sura index="93" name="Утрото" tname="Ад̣-Д̣ух̣аа́" />
-		<sura index="94" name="Разтварянето" tname="Ал-'Инширӓх̣" /><!-- الْإِنْشِرَاح по Цв. Теофанов (Аш-Шарх̣ по Zekr) -->
-		<sura index="95" name="Смоковницата" tname="Ат-Тӥн" />
-		<sura index="96" name="Съсирекът" tname="Ал-ˁАлак͡ь" />
-		<sura index="97" name="Могъществото" tname="Ал-К͡ьадр" />
-		<sura index="98" name="Ясният знак" tname="Ал-Баййинах̃" />
-		<sura index="99" name="Земетръсът" tname="Аз-Залзалах̃" />
-		<sura index="100" name="Препускащите" tname="Ал-ˁӒдийӓт" />
-		<sura index="101" name="Бедствието" tname="Ал-К͡ьӓриˁах̃" />
-		<sura index="102" name="Преумножаването" tname="Ат-Такӓс̱ур" />
-		<sura index="103" name="Следобедът" tname="Ал-ˁАс̣р" />
-		<sura index="104" name="Клеветникът" tname="Ал-Хумазах̃" />
-		<sura index="105" name="Слонът" tname="Ал-Фӥл" />
-		<sura index="106" name="Курайш" tname="К͡ьурайш" />
-		<sura index="107" name="Услугите" tname="Ал-Мӓˁӱн" />
-		<sura index="108" name="Ал-Каусар" tname="Ал-Каўс̱ар" />
-		<sura index="109" name="Неверниците" tname="Ал-Кӓфирӱн" />
-		<sura index="110" name="Подкрепата" tname="Ан-Нас̣р" />
-		<sura index="111" name="Сплетените влакна" tname="Ал-Масад" />
-		<sura index="112" name="Пречистването" tname="Ал-'Ик͡хлӓс̣" />
-		<sura index="113" name="Разсъмването" tname="Ал-Фалак͡ь" />
-		<sura index="114" name="Хората" tname="Ан-Нӓс" />
-	</sura-detail>
-</quran>
+<?xml version="1.0" encoding="utf-8"?>
+<quran author="Yahya Saturday (Яхия Съботинов)" version="0.7.5-1.1">
+	<sura-detail>
+		<sura index="1" name="Откриване" tname="Ал-Фӓтих̣ах̃" />
+		<sura index="2" name="Кравата" tname="Ал-Бак͡ьарах̃" />
+		<sura index="3" name="Родът на Имран" tname="'Ӓли ˁИмрӓн" />
+		<sura index="4" name="Жените" tname="Ан-Нисӓ'" />
+		<sura index="5" name="Трапезата" tname="Ал-Мӓ'идах̃" />
+		<sura index="6" name="Добитъкът" tname="Ал-'Анˁӓм" />
+		<sura index="7" name="Стената" tname="Ал-'Аˁрӓф" />
+		<sura index="8" name="Придобитото във война" tname="Ал-'Анфӓл" />
+		<sura index="9" name="Покаянието" tname="Ат-Таўбах̃" />
+		<sura index="10" name="Юнус" tname="Йӱнус" />
+		<sura index="11" name="Худ" tname="Хӱд" />
+		<sura index="12" name="Юсуф" tname="Йӱсуф" />
+		<sura index="13" name="Гърмът" tname="Ар-Раˁд" />
+		<sura index="14" name="Ибрахим" tname="'Ибрӓхӥм" />
+		<sura index="15" name="Ал-Хиджр" tname="Ал-Х̣ид͡жр" />
+		<sura index="16" name="Пчелите" tname="Ан-Нах̣л" />
+		<sura index="17" name="Нощното пътешествие" tname="Ал-'Исрӓ'" />
+		<sura index="18" name="Пещерата" tname="Ал-Кахф" />
+		<sura index="19" name="Мариам" tname="Марйам" />
+		<sura index="20" name="Та-Ха" tname="Т̣ӓ-Хӓ" />
+		<sura index="21" name="Пророците" tname="Ал-'Ам̃бийӓ'" />
+		<sura index="22" name="Поклонението хадж" tname="Ал-Х̣ад͡ж͡ж" />
+		<sura index="23" name="Вярващите" tname="Ал-Му'минӱн" />
+		<sura index="24" name="Светлината" tname="Ан-Нӱр" />
+		<sura index="25" name="Разграничаването" tname="Ал-Фурк͡ьӓн" />
+		<sura index="26" name="Поетите" tname="Аш-Шуˁарӓ'" />
+		<sura index="27" name="Мравките" tname="Ан-Намл" />
+		<sura index="28" name="Разказът" tname="Ал-К͡ьас̣ас̣" />
+		<sura index="29" name="Паякът" tname="Ал-ˁАнкабӱт" />
+		<sura index="30" name="Ромеите" tname="Ар-Рӱм" />
+		<sura index="31" name="Лукман" tname="Лук͡ьмӓн" />
+		<sura index="32" name="Поклонът" tname="Ас-Сад͡ждах̃" />
+		<sura index="33" name="Съюзените племена" tname="Ал-'Ах̣зӓб" />
+		<sura index="34" name="Саба" tname="Саба'" />
+		<sura index="35" name="Твореца" tname="Фӓт̣ир" />
+		<sura index="36" name="Йа-Син" tname="Йӓ-Сӥн" />
+		<sura index="37" name="Строените в редици" tname="Ас̣-С̣ӓффӓт" />
+		<sura index="38" name="Сад" tname="С̣ӓд" />
+		<sura index="39" name="Тълпите" tname="Аз-Зумар" />
+		<sura index="40" name="Опрощаващия" tname="Г͡хӓфир" />
+		<sura index="41" name="Разяснените" tname="Фус̣с̣илат" />
+		<sura index="42" name="Съвещаването" tname="Аш-Шӱра́а" />
+		<sura index="43" name="Украсата" tname="Аз-Зук͡хруф" />
+		<sura index="44" name="Димът" tname="Ад-Дук͡хӓн" />
+		<sura index="45" name="Коленопреклонната" tname="Ал-Д͡жӓс̱ийах̃" />
+		<sura index="46" name="Пясъчните хълмове" tname="Ал-'Ах̣к͡ьӓф" />
+		<sura index="47" name="Мухаммад" tname="Мух̣аммад" />
+		<sura index="48" name="Победата" tname="Ал-Фатх̣" />
+		<sura index="49" name="Стаите" tname="Ал-Х̣уд͡журӓт" />
+		<sura index="50" name="Каф" tname="К͡ьӓф" />
+		<sura index="51" name="Отвяващите" tname="Аз̱-З̱ӓрийӓт" />
+		<sura index="52" name="Планината" tname="Ат̣-Т̣ӱр" />
+		<sura index="53" name="Звездата" tname="Ан-Над͡жм" />
+		<sura index="54" name="Луната" tname="Ал-К͡ьамар" />
+		<sura index="55" name="Всемилостивия" tname="Ар-Рах̣мӓн" />
+		<sura index="56" name="Събитието" tname="Ал-Ўӓк͡ьиˁах̃" />
+		<sura index="57" name="Желязото" tname="Ал-Х̣адӥд" />
+		<sura index="58" name="Спорът" tname="Ал-Муд͡жӓдалах̃" />
+		<sura index="59" name="Изселването" tname="Ал-Х̣ашр" />
+		<sura index="60" name="Изпитваната" tname="Ал-Мумтах̣анах̃" />
+		<sura index="61" name="Редицата" tname="Ас̣-С̣афф" />
+		<sura index="62" name="Петъкът" tname="Ал-Д͡жумуˁах̃" />
+		<sura index="63" name="Лицемерите" tname="Ал-Мунӓфик͡ьӱн" />
+		<sura index="64" name="Разкриването на заблудата" tname="Ат-Таг͡хӓбун" />
+		<sura index="65" name="Разводът" tname="Ат̣-Т̣алӓк͡ь" />
+		<sura index="66" name="Възбраната" tname="Ат-Тах̣рӥм" />
+		<sura index="67" name="Владението" tname="Ал-Мулк" />
+		<sura index="68" name="Калемът" tname="Ал-К͡ьалам" />
+		<sura index="69" name="Неизбежното" tname="Ал-Х̣ӓк͡к͡ьах̃" />
+		<sura index="70" name="Небесните стъпала" tname="Ал-Маˁӓрид͡ж" />
+		<sura index="71" name="Нух" tname="Нӱх̣" />
+		<sura index="72" name="Джиновете" tname="Ал-Д͡жинн" />
+		<sura index="73" name="Загръщащият се" tname="Ал-Муззаммил" />
+		<sura index="74" name="Обвиващият се" tname="Ал-Муддас̱с̱ир" />
+		<sura index="75" name="Възкресението" tname="Ал-К͡ьийӓмах̃" />
+		<sura index="76" name="Човекът" tname="Ал-'Инсӓн" />
+		<sura index="77" name="Изпращаните" tname="Ал-Мурсалӓт" />
+		<sura index="78" name="Вестта" tname="Ан-Наба'" />
+		<sura index="79" name="Изтръгващите" tname="Ан-Нӓзиˁӓт" />
+		<sura index="80" name="Той се намръщи" tname="ˁАбаса" />
+		<sura index="81" name="Обвиването" tname="Ат-Такўӥр" />
+		<sura index="82" name="Разкъсването" tname="Ал-'Инфит̣ӓр" />
+		<sura index="83" name="Ощетяващите" tname="Ал-Мут̣аффифӥн" />
+		<sura index="84" name="Разцепването" tname="Ал-'Иншик͡ьӓк͡ь" />
+		<sura index="85" name="Съзвездията" tname="Ал-Бурӱд͡ж" />
+		<sura index="86" name="Вечерницата" tname="Ат̣-Т̣ӓрик͡ь" />
+		<sura index="87" name="Всевишния" tname="Ал-'Аˁла́а" />
+		<sura index="88" name="Всепокриващият ден" tname="Ал-Г͡хӓшийах̃" />
+		<sura index="89" name="Зората" tname="Ал-Фад͡жр" />
+		<sura index="90" name="Градът" tname="Ал-Балад" />
+		<sura index="91" name="Слънцето" tname="Аш-Шамс" />
+		<sura index="92" name="Нощта" tname="Ал-Лайл" />
+		<sura index="93" name="Утрото" tname="Ад̣-Д̣ух̣а́а" />
+		<sura index="94" name="Разтварянето" tname="Ал-'Инширӓх̣" /><!-- الْإِنْشِرَاح по Цв. Теофанов (Аш-Шарх̣ по Zekr) -->
+		<sura index="95" name="Смоковницата" tname="Ат-Тӥн" />
+		<sura index="96" name="Съсирекът" tname="Ал-ˁАлак͡ь" />
+		<sura index="97" name="Могъществото" tname="Ал-К͡ьадр" />
+		<sura index="98" name="Ясният знак" tname="Ал-Баййинах̃" />
+		<sura index="99" name="Земетръсът" tname="Аз-Залзалах̃" />
+		<sura index="100" name="Препускащите" tname="Ал-ˁӒдийӓт" />
+		<sura index="101" name="Бедствието" tname="Ал-К͡ьӓриˁах̃" />
+		<sura index="102" name="Преумножаването" tname="Ат-Такӓс̱ур" />
+		<sura index="103" name="Следобедът" tname="Ал-ˁАс̣р" />
+		<sura index="104" name="Клеветникът" tname="Ал-Хумазах̃" />
+		<sura index="105" name="Слонът" tname="Ал-Фӥл" />
+		<sura index="106" name="Курайш" tname="К͡ьурайш" />
+		<sura index="107" name="Услугите" tname="Ал-Мӓˁӱн" />
+		<sura index="108" name="Ал-Каусар" tname="Ал-Каўс̱ар" />
+		<sura index="109" name="Неверниците" tname="Ал-Кӓфирӱн" />
+		<sura index="110" name="Подкрепата" tname="Ан-Нас̣р" />
+		<sura index="111" name="Сплетените влакна" tname="Ал-Масад" />
+		<sura index="112" name="Пречистването" tname="Ал-'Ик͡хлӓс̣" />
+		<sura index="113" name="Разсъмването" tname="Ал-Фалак͡ь" />
+		<sura index="114" name="Хората" tname="Ан-Нӓс" />
+	</sura-detail>
+</quran>
diff --git a/res/text/metadata/quran-properties-en.xml b/res/text/metadata/quran-properties-en.xml
index 816c95d..de0d10f 100644
--- a/res/text/metadata/quran-properties-en.xml
+++ b/res/text/metadata/quran-properties-en.xml
@@ -36,21 +36,21 @@
 		<sura index="33" name="The Clans" tname="Al-Ahzaab" />
 		<sura index="34" name="Sheba" tname="Saba" />
 		<sura index="35" name="The Originator" tname="Faatir" />
-		<sura index="36" name="Yaa-Seen" tname="Yaseen" />
-		<sura index="37" name="Those Drawn Up in Ranks" tname="As-Saaffaat" />
-		<sura index="38" name="The Letter Saad" tname="Saad" />
+		<sura index="36" name="Yaseen" tname="Yaseen" />
+		<sura index="37" name="Those drawn up in Ranks" tname="As-Saaffaat" />
+		<sura index="38" name="The letter Saad" tname="Saad" />
 		<sura index="39" name="The Groups" tname="Az-Zumar" />
 		<sura index="40" name="The Forgiver" tname="Ghaafir" />
-		<sura index="41" name="Explained in Detail" tname="Fussilat" />
+		<sura index="41" name="Explained in detail" tname="Fussilat" />
 		<sura index="42" name="Consultation" tname="Ash-Shura" />
-		<sura index="43" name="Ornaments of Gold" tname="Az-Zukhruf" />
+		<sura index="43" name="Ornaments of gold" tname="Az-Zukhruf" />
 		<sura index="44" name="The Smoke" tname="Ad-Dukhaan" />
 		<sura index="45" name="Crouching" tname="Al-Jaathiya" />
 		<sura index="46" name="The Dunes" tname="Al-Ahqaf" />
 		<sura index="47" name="Muhammad" tname="Muhammad" />
 		<sura index="48" name="The Victory" tname="Al-Fath" />
 		<sura index="49" name="The Inner Apartments" tname="Al-Hujuraat" />
-		<sura index="50" name="The Letter Qaaf" tname="Qaaf" />
+		<sura index="50" name="The letter Qaaf" tname="Qaaf" />
 		<sura index="51" name="The Winnowing Winds" tname="Adh-Dhaariyat" />
 		<sura index="52" name="The Mount" tname="At-Tur" />
 		<sura index="53" name="The Star" tname="An-Najm" />
@@ -60,7 +60,7 @@
 		<sura index="57" name="The Iron" tname="Al-Hadid" />
 		<sura index="58" name="The Pleading Woman" tname="Al-Mujaadila" />
 		<sura index="59" name="The Exile" tname="Al-Hashr" />
-		<sura index="60" name="She That Is to Be Examined" tname="Al-Mumtahana" />
+		<sura index="60" name="She that is to be examined" tname="Al-Mumtahana" />
 		<sura index="61" name="The Ranks" tname="As-Saff" />
 		<sura index="62" name="Friday" tname="Al-Jumu'a" />
 		<sura index="63" name="The Hypocrites" tname="Al-Munaafiqoon" />
@@ -71,16 +71,16 @@
 		<sura index="68" name="The Pen" tname="Al-Qalam" />
 		<sura index="69" name="The Reality" tname="Al-Haaqqa" />
 		<sura index="70" name="The Ascending Stairways" tname="Al-Ma'aarij" />
-		<sura index="71" name="Noah" tname="Nooh" />
-		<sura index="72" name="The Jinn" tname="Al-Jinn" />
+		<sura index="71" name="Nooh" tname="Nooh" />
+		<sura index="72" name="the Jinn" tname="Al-Jinn" />
 		<sura index="73" name="The Enshrouded One" tname="Al-Muzzammil" />
 		<sura index="74" name="The Cloaked One" tname="Al-Muddaththir" />
 		<sura index="75" name="The Resurrection" tname="Al-Qiyaama" />
 		<sura index="76" name="Man" tname="Al-Insaan" />
 		<sura index="77" name="The Emissaries" tname="Al-Mursalaat" />
 		<sura index="78" name="The Announcement" tname="An-Naba" />
-		<sura index="79" name="Those Who Drag Forth" tname="An-Naazi'aat" />
-		<sura index="80" name="He Frowned" tname="Abasa" />
+		<sura index="79" name="Those who drag forth" tname="An-Naazi'aat" />
+		<sura index="80" name="He frowned" tname="Abasa" />
 		<sura index="81" name="The Overthrowing" tname="At-Takwir" />
 		<sura index="82" name="The Cleaving" tname="Al-Infitaar" />
 		<sura index="83" name="Defrauding" tname="Al-Mutaffifin" />
@@ -116,4 +116,4 @@
 		<sura index="113" name="The Dawn" tname="Al-Falaq" />
 		<sura index="114" name="Mankind" tname="An-Naas" />
 	</sura-detail>
-</quran>
+</quran>
\ No newline at end of file
diff --git a/res/text/metadata/quran-properties-extendedenglish.xml b/res/text/metadata/quran-properties-extendedenglish.xml
index 09aac87..f8f6765 100644
--- a/res/text/metadata/quran-properties-extendedenglish.xml
+++ b/res/text/metadata/quran-properties-extendedenglish.xml
@@ -1,170 +1,170 @@
-<?xml version="1.0" encoding="utf-8"?>
-<quran author="Yahya Saturday (Яхия Съботинов)" version="0.7.6-2.2">
-	<sura-detail>
-		<sura index="1" ayaCount="7" name="الْفَاتِحَة" en="The Opening" tname="Al-Fātiḥaħ" descent="makki" />
-		<sura index="2" ayaCount="286" name="الْبَقَرَة" en="The Cow" tname="Al-Baqaraħ" descent="madani" />
-		<sura index="3" ayaCount="200" name="آلِ عِمْرَان" en="The Family of Imraan" tname="'Āli `Imrān" descent="madani" />
-		<sura index="4" ayaCount="176" name="النِّسَآء" en="The Women" tname="An-Nisā'" descent="madani" />
-		<sura index="5" ayaCount="120" name="الْمَآئِدَة" en="The Table" tname="Al-Mā'idaħ" descent="madani" />
-		<sura index="6" ayaCount="165" name="الْأَنْعَام" en="The Cattle" tname="Al-'An`ām" descent="makki" />
-		<sura index="7" ayaCount="206" name="الْأَعْرَاف" en="The Heights" tname="Al-'A`rāf" descent="makki" />
-		<sura index="8" ayaCount="75" name="الْأَنْفَال" en="The Spoils of War" tname="Al-'Anfāl" descent="madani" />
-		<sura index="9" ayaCount="129" name="التَّوْبَة" en="The Repentance" tname="At-Tawbaħ" descent="madani" />
-		<sura index="10" ayaCount="109" name="يُونُس" en="Jonas" tname="Yūnus" descent="makki" />
-		<sura index="11" ayaCount="123" name="هُود" en="Hud" tname="Hūd" descent="makki" />
-		<sura index="12" ayaCount="111" name="يُوسُف" en="Joseph" tname="Yūsuf" descent="makki" />
-		<sura index="13" ayaCount="43" name="الرَّعْد" en="The Thunder" tname="Ar-Ra`d" descent="madani" />
-		<sura index="14" ayaCount="52" name="إِبْرَاهِيم" en="Abraham" tname="'Ibrāhīm" descent="makki" />
-		<sura index="15" ayaCount="99" name="الْحِجْر" en="The Rock" tname="Al-Ḥijr" descent="makki" />
-		<sura index="16" ayaCount="128" name="النَّحْل" en="The Bee" tname="An-Naḥl" descent="makki" />
-		<sura index="17" ayaCount="111" name="الْإِسْرَآء" en="The Night Journey" tname="Al-'Isrā'" descent="makki" />
-		<sura index="18" ayaCount="110" name="الْكَهْف" en="The Cave" tname="Al-Kahf" descent="makki" />
-		<sura index="19" ayaCount="98" name="مَرْيَم" en="Mary" tname="Maryam" descent="makki" />
-		<sura index="20" ayaCount="135" name="طٰهٰ" en="Taa-Haa" tname="Ṭā-Hā" descent="makki" />
-		<sura index="21" ayaCount="112" name="الْأَنْبِيَآء" en="The Prophets" tname="Al-'Aɱbiyā'" descent="makki" />
-		<sura index="22" ayaCount="78" name="الْحَجّ" en="The Pilgrimage" tname="Al-Ḥajj" descent="madani" />
-		<sura index="23" ayaCount="118" name="الْمُؤْمِنُون" en="The Believers" tname="Al-Mu'minūn" descent="makki" />
-		<sura index="24" ayaCount="64" name="النُّور" en="The Light" tname="An-Nūr" descent="madani" />
-		<sura index="25" ayaCount="77" name="الْفُرْقَان" en="The Criterion" tname="Al-Furqān" descent="makki" />
-		<sura index="26" ayaCount="227" name="الشُّعَرَآء" en="The Poets" tname="Ash-Shu`arā'" descent="makki" />
-		<sura index="27" ayaCount="93" name="النَّمْل" en="The Ant" tname="An-Naml" descent="makki" />
-		<sura index="28" ayaCount="88" name="الْقَصَص" en="The Stories" tname="Al-Qaṣaṣ" descent="makki" />
-		<sura index="29" ayaCount="69" name="الْعَنْكَبُوت" en="The Spider" tname="Al-`Ankabūt" descent="makki" />
-		<sura index="30" ayaCount="60" name="الرُّوم" en="The Romans" tname="Ar-Rūm" descent="makki" />
-		<sura index="31" ayaCount="34" name="لُقْمَان" en="Luqman" tname="Luqmān" descent="makki" />
-		<sura index="32" ayaCount="30" name="السَّجْدَة" en="The Prostration" tname="As-Sajdaħ" descent="makki" />
-		<sura index="33" ayaCount="73" name="الْأَحْزَاب" en="The Clans" tname="Al-'Aḥzāb" descent="madani" />
-		<sura index="34" ayaCount="54" name="سَبَأ" en="Sheba" tname="Saba'" descent="makki" />
-		<sura index="35" ayaCount="45" name="فَاطِر" en="The Originator" tname="Fāṭir" descent="makki" />
-		<sura index="36" ayaCount="83" name="يٰسٓ" en="Yaa-Seen" tname="Yā-Sīn" descent="makki" />
-		<sura index="37" ayaCount="182" name="الصَّافَّات" en="Those Drawn Up in Ranks" tname="Aṣ-Ṣāffāt" descent="makki" />
-		<sura index="38" ayaCount="88" name="صٓ" en="The Letter Saad" tname="Ṣād" descent="makki" />
-		<sura index="39" ayaCount="75" name="الزُّمَر" en="The Groups" tname="Az-Zumar" descent="makki" />
-		<sura index="40" ayaCount="85" name="غَافِر" en="The Forgiver" tname="Ghāfir" descent="makki" />
-		<sura index="41" ayaCount="54" name="فُصِّلَت" en="Explained in Detail" tname="Fuṣṣilat" descent="makki" />
-		<sura index="42" ayaCount="53" name="الشُّورَىٰ" en="Consultation" tname="Ash-Shūraá" descent="makki" />
-		<sura index="43" ayaCount="89" name="الزُّخْرُف" en="Ornaments of Gold" tname="Az-Zukhruf" descent="makki" />
-		<sura index="44" ayaCount="59" name="الدُّخَان" en="The Smoke" tname="Ad-Dukhān" descent="makki" />
-		<sura index="45" ayaCount="37" name="الْجَاثِيَة" en="Crouching" tname="Al-Jāthiyaħ" descent="makki" />
-		<sura index="46" ayaCount="35" name="الْأَحْقَاف" en="The Dunes" tname="Al-'Aḥqāf" descent="makki" />
-		<sura index="47" ayaCount="38" name="مُحَمَّد" en="Muhammad" tname="Muḥammad" descent="madani" />
-		<sura index="48" ayaCount="29" name="الْفَتْح" en="The Victory" tname="Al-Fatḥ" descent="madani" />
-		<sura index="49" ayaCount="18" name="الْحُجُرَات" en="The Inner Apartments" tname="Al-Ḥujurāt" descent="madani" />
-		<sura index="50" ayaCount="45" name="قٓ" en="The Letter Qaaf" tname="Qāf" descent="makki" />
-		<sura index="51" ayaCount="60" name="الذَّارِيَات" en="The Winnowing Winds" tname="Adh-Dhāriyāt" descent="makki" />
-		<sura index="52" ayaCount="49" name="الطُّور" en="The Mount" tname="Aṭ-Ṭūr" descent="makki" />
-		<sura index="53" ayaCount="62" name="النَّجْم" en="The Star" tname="An-Najm" descent="makki" />
-		<sura index="54" ayaCount="55" name="الْقَمَر" en="The Moon" tname="Al-Qamar" descent="makki" />
-		<sura index="55" ayaCount="78" name="الرَّحْمَٰن" en="The Beneficent" tname="Ar-Raḥmān" descent="madani" />
-		<sura index="56" ayaCount="96" name="الْوَاقِعَة" en="The Inevitable" tname="Al-Wāqi`aħ" descent="makki" />
-		<sura index="57" ayaCount="29" name="الْحَدِيد" en="The Iron" tname="Al-Ḥadīd" descent="madani" />
-		<sura index="58" ayaCount="22" name="الْمُجَادَلَة" en="The Pleading Woman" tname="Al-Mujādalaħ" descent="madani" />
-		<sura index="59" ayaCount="24" name="الْحَشْر" en="The Exile" tname="Al-Ḥashr" descent="madani" />
-		<sura index="60" ayaCount="13" name="الْمُمْتَحِنَة" en="She That Is to Be Examined" tname="Al-Mumtaḥanaħ" descent="madani" />
-		<sura index="61" ayaCount="14" name="الصَّفّ" en="The Ranks" tname="Aṣ-Ṣaff" descent="madani" />
-		<sura index="62" ayaCount="11" name="الْجُمُعَة" en="Friday" tname="Al-Jumu`aħ" descent="madani" />
-		<sura index="63" ayaCount="11" name="الْمُنَافِقُون" en="The Hypocrites" tname="Al-Munāfiqūn" descent="madani" />
-		<sura index="64" ayaCount="18" name="التَّغَابُن" en="Mutual Disillusion" tname="At-Taghābun" descent="madani" />
-		<sura index="65" ayaCount="12" name="الطَّلَاق" en="Divorce" tname="Aṭ-Ṭalāq" descent="madani" />
-		<sura index="66" ayaCount="12" name="التَّحْرِيم" en="The Prohibition" tname="At-Taḥrīm" descent="madani" />
-		<sura index="67" ayaCount="30" name="الْمُلْك" en="The Sovereignty" tname="Al-Mulk" descent="makki" />
-		<sura index="68" ayaCount="52" name="الْقَلَم" en="The Pen" tname="Al-Qalam" descent="makki" />
-		<sura index="69" ayaCount="52" name="الْحَاقَّة" en="The Reality" tname="Al-Ḥāqqaħ" descent="makki" />
-		<sura index="70" ayaCount="44" name="الْمَعَارِج" en="The Ascending Stairways" tname="Al-Ma`ārij" descent="makki" />
-		<sura index="71" ayaCount="28" name="نُوح" en="Noah" tname="Nūḥ" descent="makki" />
-		<sura index="72" ayaCount="28" name="الْجِنّ" en="The Jinn" tname="Al-Jinn" descent="makki" />
-		<sura index="73" ayaCount="20" name="الْمُزَّمِّل" en="The Enshrouded One" tname="Al-Muzzammil" descent="makki" />
-		<sura index="74" ayaCount="56" name="الْمُدَّثِّر" en="The Cloaked One" tname="Al-Muddaththir" descent="makki" />
-		<sura index="75" ayaCount="40" name="الْقِيَامَة" en="The Resurrection" tname="Al-Qiyāmaħ" descent="makki" />
-		<sura index="76" ayaCount="31" name="الْإِنْسَان" en="Man" tname="Al-'Insān" descent="madani" />
-		<sura index="77" ayaCount="50" name="الْمُرْسَلَات" en="The Emissaries" tname="Al-Mursalāt" descent="makki" />
-		<sura index="78" ayaCount="40" name="النَّبَأ" en="The Announcement" tname="An-Naba'" descent="makki" />
-		<sura index="79" ayaCount="46" name="النَّازِعَات" en="Those Who Drag Forth" tname="An-Nāzi`āt" descent="makki" />
-		<sura index="80" ayaCount="42" name="عَبَسَ" en="He Frowned" tname="`Abasa" descent="makki" />
-		<sura index="81" ayaCount="29" name="التَّکْوِير" en="The Overthrowing" tname="At-Takwīr" descent="makki" />
-		<sura index="82" ayaCount="19" name="الْإِنْفِطَار" en="The Cleaving" tname="Al-'Infiṭār" descent="makki" />
-		<sura index="83" ayaCount="36" name="الْمُطَفِّفِين" en="Defrauding" tname="Al-Muṭaffifīn" descent="makki" />
-		<sura index="84" ayaCount="25" name="الْإِنْشِقَاق" en="The Splitting Open" tname="Al-'Inshiqāq" descent="makki" />
-		<sura index="85" ayaCount="22" name="الْبُرُوج" en="The Constellations" tname="Al-Burūj" descent="makki" />
-		<sura index="86" ayaCount="17" name="الطَّارِق" en="The Morning Star" tname="Aṭ-Ṭāriq" descent="makki" />
-		<sura index="87" ayaCount="19" name="الْأَعْلَیٰ" en="The Most High" tname="Al-'A`laá" descent="makki" />
-		<sura index="88" ayaCount="26" name="الْغَاشِيَة" en="The Overwhelming" tname="Al-Ghāshiyaħ" descent="makki" />
-		<sura index="89" ayaCount="30" name="الْفَجْر" en="The Dawn" tname="Al-Fajr" descent="makki" />
-		<sura index="90" ayaCount="20" name="الْبَلَد" en="The City" tname="Al-Balad" descent="makki" />
-		<sura index="91" ayaCount="15" name="الشَّمْس" en="The Sun" tname="Ash-Shams" descent="makki" />
-		<sura index="92" ayaCount="21" name="اللَّيْل" en="The Night" tname="Al-Layl" descent="makki" />
-		<sura index="93" ayaCount="11" name="الضُّحَیٰ" en="The Morning Hours" tname="Aḍ-Ḍuḥaá" descent="makki" />
-		<sura index="94" ayaCount="8" name="الشَّرْح" en="The Consolation" tname="Ash-Sharḥ" descent="makki" />
-		<sura index="95" ayaCount="8" name="التِّين" en="The Fig" tname="At-Tīn" descent="makki" />
-		<sura index="96" ayaCount="19" name="الْعَلَق" en="The Clot" tname="Al-`Alaq" descent="makki" />
-		<sura index="97" ayaCount="5" name="الْقَدْر" en="The Power, Fate" tname="Al-Qadr" descent="makki" />
-		<sura index="98" ayaCount="8" name="الْبَيِّنَة" en="The Evidence" tname="Al-Bayyinaħ" descent="madani" />
-		<sura index="99" ayaCount="8" name="الزَّلْزَلَة" en="The Earthquake" tname="Az-Zalzalaħ" descent="madani" />
-		<sura index="100" ayaCount="11" name="الْعَادِيَات" en="The Chargers" tname="Al-`Ādiyāt" descent="makki" />
-		<sura index="101" ayaCount="11" name="الْقَارِعَة" en="The Calamity" tname="Al-Qāri`aħ" descent="makki" />
-		<sura index="102" ayaCount="8" name="التَّكَاثُر" en="Competition" tname="At-Takāthur" descent="makki" />
-		<sura index="103" ayaCount="3" name="الْعَصْر" en="The Declining Day, Epoch" tname="Al-`Aṣr" descent="makki" />
-		<sura index="104" ayaCount="9" name="الْهُمَزَة" en="The Traducer" tname="Al-Humazaħ" descent="makki" />
-		<sura index="105" ayaCount="5" name="الْفِيل" en="The Elephant" tname="Al-Fīl" descent="makki" />
-		<sura index="106" ayaCount="4" name="قُرَيْش" en="Quraysh" tname="Quraysh" descent="makki" />
-		<sura index="107" ayaCount="7" name="الْمَاعُون" en="Almsgiving" tname="Al-Mā`ūn" descent="makki" />
-		<sura index="108" ayaCount="3" name="الْكَوْثَر" en="Abundance" tname="Al-Kawthar" descent="makki" />
-		<sura index="109" ayaCount="6" name="الْكَافِرُون" en="The Disbelievers" tname="Al-Kāfirūn" descent="makki" />
-		<sura index="110" ayaCount="3" name="النَّصْر" en="Divine Support" tname="An-Naṣr" descent="madani" />
-		<sura index="111" ayaCount="5" name="الْمَسَد" en="The Palm Fibre" tname="Al-Masad" descent="makki" />
-		<sura index="112" ayaCount="4" name="الْإِخْلَاص" en="Sincerity" tname="Al-'Ikhlāṣ" descent="makki" />
-		<sura index="113" ayaCount="5" name="الْفَلَق" en="The Dawn" tname="Al-Falaq" descent="makki" />
-		<sura index="114" ayaCount="6" name="النَّاس" en="Mankind" tname="An-Nās" descent="makki" />
-	</sura-detail>
-	<juz-detail>
-		<juz index="1" sura="1" aya="1" />
-		<juz index="2" sura="2" aya="142" />
-		<juz index="3" sura="2" aya="253" />
-		<juz index="4" sura="3" aya="93" />
-		<juz index="5" sura="4" aya="24" />
-		<juz index="6" sura="4" aya="148" />
-		<juz index="7" sura="5" aya="82" />
-		<juz index="8" sura="6" aya="111" />
-		<juz index="9" sura="7" aya="88" />
-		<juz index="10" sura="8" aya="41" />
-		<juz index="11" sura="9" aya="93" />
-		<juz index="12" sura="11" aya="6" />
-		<juz index="13" sura="12" aya="53" />
-		<juz index="14" sura="15" aya="1" />
-		<juz index="15" sura="17" aya="1" />
-		<juz index="16" sura="18" aya="75" />
-		<juz index="17" sura="21" aya="1" />
-		<juz index="18" sura="23" aya="1" />
-		<juz index="19" sura="25" aya="21" />
-		<juz index="20" sura="27" aya="56" />
-		<juz index="21" sura="29" aya="46" />
-		<juz index="22" sura="33" aya="31" />
-		<juz index="23" sura="36" aya="28" />
-		<juz index="24" sura="39" aya="32" />
-		<juz index="25" sura="41" aya="47" />
-		<juz index="26" sura="46" aya="1" />
-		<juz index="27" sura="51" aya="31" />
-		<juz index="28" sura="58" aya="1" />
-		<juz index="29" sura="67" aya="1" />
-		<juz index="30" sura="78" aya="1" />
-	</juz-detail>
-	<sajda-detail>
-		<!-- Mustahab Sajda -->
-		<sajda index="1" sura="7" aya="206" type="recommended" />
-		<sajda index="2" sura="13" aya="15" type="recommended" />
-		<sajda index="3" sura="16" aya="50" type="recommended" />
-		<sajda index="4" sura="17" aya="109" type="recommended" />
-		<sajda index="5" sura="19" aya="58" type="recommended" />
-		<sajda index="6" sura="22" aya="18" type="recommended" />
-		<sajda index="7" sura="22" aya="77" type="recommended" />
-		<sajda index="8" sura="25" aya="60" type="recommended" />
-		<sajda index="9" sura="27" aya="26" type="recommended" />
-		<sajda index="11" sura="38" aya="24" type="recommended" />
-		<sajda index="14" sura="84" aya="21" type="recommended" />
-		<!-- Wajib Sajda -->
-		<sajda index="10" sura="32" aya="15" type="mandatory" /><!-- سجدة -->
-		<sajda index="12" sura="41" aya="38" type="mandatory" /><!-- فصلت -->
-		<sajda index="13" sura="53" aya="62" type="mandatory" /><!-- نجم -->
-		<sajda index="15" sura="96" aya="19" type="mandatory" /><!-- علق -->
-	</sajda-detail>
-</quran>
+<?xml version="1.0" encoding="utf-8"?>
+<quran author="Yahya Saturday (Яхия Съботинов)" version="0.7.5-2.1">
+	<sura-detail>
+		<sura index="1" ayaCount="7" name="الْفَاتِحَة" en="The Opening" tname="Al-Fātiḥaħ" descent="makki" />
+		<sura index="2" ayaCount="286" name="الْبَقَرَة" en="The Cow" tname="Al-Baqaraħ" descent="madani" />
+		<sura index="3" ayaCount="200" name="آلِ عِمْرَان" en="The Family of Imraan" tname="'Āli `Imrān" descent="madani" />
+		<sura index="4" ayaCount="176" name="النِّسَآء" en="The Women" tname="An-Nisā'" descent="madani" />
+		<sura index="5" ayaCount="120" name="الْمَآئِدَة" en="The Table" tname="Al-Mā'idaħ" descent="madani" />
+		<sura index="6" ayaCount="165" name="الْأَنْعَام" en="The Cattle" tname="Al-'An`ām" descent="makki" />
+		<sura index="7" ayaCount="206" name="الْأَعْرَاف" en="The Heights" tname="Al-'A`rāf" descent="makki" />
+		<sura index="8" ayaCount="75" name="الْأَنْفَال" en="The Spoils of War" tname="Al-'Anfāl" descent="madani" />
+		<sura index="9" ayaCount="129" name="التَّوْبَة" en="The Repentance" tname="At-Tawbaħ" descent="madani" />
+		<sura index="10" ayaCount="109" name="يُونُس" en="Jonas" tname="Yūnus" descent="makki" />
+		<sura index="11" ayaCount="123" name="هُود" en="Hud" tname="Hūd" descent="makki" />
+		<sura index="12" ayaCount="111" name="يُوسُف" en="Joseph" tname="Yūsuf" descent="makki" />
+		<sura index="13" ayaCount="43" name="الرَّعْد" en="The Thunder" tname="Ar-Ra`d" descent="madani" />
+		<sura index="14" ayaCount="52" name="إِبْرَاهِيم" en="Abraham" tname="'Ibrāhīm" descent="makki" />
+		<sura index="15" ayaCount="99" name="الْحِجْر" en="The Rock" tname="Al-Ḥijr" descent="makki" />
+		<sura index="16" ayaCount="128" name="النَّحْل" en="The Bee" tname="An-Naḥl" descent="makki" />
+		<sura index="17" ayaCount="111" name="الْإِسْرَآء" en="The Night Journey" tname="Al-'Isrā'" descent="makki" />
+		<sura index="18" ayaCount="110" name="الْكَهْف" en="The Cave" tname="Al-Kahf" descent="makki" />
+		<sura index="19" ayaCount="98" name="مَرْيَم" en="Mary" tname="Maryam" descent="makki" />
+		<sura index="20" ayaCount="135" name="طٰهٰ" en="Taa-Haa" tname="Ṭā-Hā" descent="makki" />
+		<sura index="21" ayaCount="112" name="الْأَنْبِيَآء" en="The Prophets" tname="Al-'Aɱbiyā'" descent="makki" />
+		<sura index="22" ayaCount="78" name="الْحَجّ" en="The Pilgrimage" tname="Al-Ḥajj" descent="madani" />
+		<sura index="23" ayaCount="118" name="الْمُؤْمِنُون" en="The Believers" tname="Al-Mu'minūn" descent="makki" />
+		<sura index="24" ayaCount="64" name="النُّور" en="The Light" tname="An-Nūr" descent="madani" />
+		<sura index="25" ayaCount="77" name="الْفُرْقَان" en="The Criterion" tname="Al-Furqān" descent="makki" />
+		<sura index="26" ayaCount="227" name="الشُّعَرَآء" en="The Poets" tname="Ash-Shu`arā'" descent="makki" />
+		<sura index="27" ayaCount="93" name="النَّمْل" en="The Ant" tname="An-Naml" descent="makki" />
+		<sura index="28" ayaCount="88" name="الْقَصَص" en="The Stories" tname="Al-Qaṣaṣ" descent="makki" />
+		<sura index="29" ayaCount="69" name="الْعَنْكَبُوت" en="The Spider" tname="Al-`Ankabūt" descent="makki" />
+		<sura index="30" ayaCount="60" name="الرُّوم" en="The Romans" tname="Ar-Rūm" descent="makki" />
+		<sura index="31" ayaCount="34" name="لُقْمَان" en="Luqman" tname="Luqmān" descent="makki" />
+		<sura index="32" ayaCount="30" name="السَّجْدَة" en="The Prostration" tname="As-Sajdaħ" descent="makki" />
+		<sura index="33" ayaCount="73" name="الْأَحْزَاب" en="The Clans" tname="Al-'Aḥzāb" descent="madani" />
+		<sura index="34" ayaCount="54" name="سَبَأ" en="Sheba" tname="Saba'" descent="makki" />
+		<sura index="35" ayaCount="45" name="فَاطِر" en="The Originator" tname="Fāṭir" descent="makki" />
+		<sura index="36" ayaCount="83" name="يٰسٓ" en="Yaa-Seen" tname="Yā-Sīn" descent="makki" />
+		<sura index="37" ayaCount="182" name="الصَّافَّات" en="Those Drawn Up in Ranks" tname="Aṣ-Ṣāffāt" descent="makki" />
+		<sura index="38" ayaCount="88" name="صٓ" en="The Letter Saad" tname="Ṣād" descent="makki" />
+		<sura index="39" ayaCount="75" name="الزُّمَر" en="The Groups" tname="Az-Zumar" descent="makki" />
+		<sura index="40" ayaCount="85" name="غَافِر" en="The Forgiver" tname="Ghāfir" descent="makki" />
+		<sura index="41" ayaCount="54" name="فُصِّلَت" en="Explained in Detail" tname="Fuṣṣilat" descent="makki" />
+		<sura index="42" ayaCount="53" name="الشُّورَىٰ" en="Consultation" tname="Ash-Shūráa" descent="makki" />
+		<sura index="43" ayaCount="89" name="الزُّخْرُف" en="Ornaments of Gold" tname="Az-Zukhruf" descent="makki" />
+		<sura index="44" ayaCount="59" name="الدُّخَان" en="The Smoke" tname="Ad-Dukhān" descent="makki" />
+		<sura index="45" ayaCount="37" name="الْجَاثِيَة" en="Crouching" tname="Al-Jāthiyaħ" descent="makki" />
+		<sura index="46" ayaCount="35" name="الْأَحْقَاف" en="The Dunes" tname="Al-'Aḥqāf" descent="makki" />
+		<sura index="47" ayaCount="38" name="مُحَمَّد" en="Muhammad" tname="Muḥammad" descent="madani" />
+		<sura index="48" ayaCount="29" name="الْفَتْح" en="The Victory" tname="Al-Fatḥ" descent="madani" />
+		<sura index="49" ayaCount="18" name="الْحُجُرَات" en="The Inner Apartments" tname="Al-Ḥujurāt" descent="madani" />
+		<sura index="50" ayaCount="45" name="قٓ" en="The Letter Qaaf" tname="Qāf" descent="makki" />
+		<sura index="51" ayaCount="60" name="الذَّارِيَات" en="The Winnowing Winds" tname="Adh-Dhāriyāt" descent="makki" />
+		<sura index="52" ayaCount="49" name="الطُّور" en="The Mount" tname="Aṭ-Ṭūr" descent="makki" />
+		<sura index="53" ayaCount="62" name="النَّجْم" en="The Star" tname="An-Najm" descent="makki" />
+		<sura index="54" ayaCount="55" name="الْقَمَر" en="The Moon" tname="Al-Qamar" descent="makki" />
+		<sura index="55" ayaCount="78" name="الرَّحْمَٰن" en="The Beneficent" tname="Ar-Raḥmān" descent="madani" />
+		<sura index="56" ayaCount="96" name="الْوَاقِعَة" en="The Inevitable" tname="Al-Wāqi`aħ" descent="makki" />
+		<sura index="57" ayaCount="29" name="الْحَدِيد" en="The Iron" tname="Al-Ḥadīd" descent="madani" />
+		<sura index="58" ayaCount="22" name="الْمُجَادَلَة" en="The Pleading Woman" tname="Al-Mujādalaħ" descent="madani" />
+		<sura index="59" ayaCount="24" name="الْحَشْر" en="The Exile" tname="Al-Ḥashr" descent="madani" />
+		<sura index="60" ayaCount="13" name="الْمُمْتَحِنَة" en="She That Is to Be Examined" tname="Al-Mumtaḥanaħ" descent="madani" />
+		<sura index="61" ayaCount="14" name="الصَّفّ" en="The Ranks" tname="Aṣ-Ṣaff" descent="madani" />
+		<sura index="62" ayaCount="11" name="الْجُمُعَة" en="Friday" tname="Al-Jumu`aħ" descent="madani" />
+		<sura index="63" ayaCount="11" name="الْمُنَافِقُون" en="The Hypocrites" tname="Al-Munāfiqūn" descent="madani" />
+		<sura index="64" ayaCount="18" name="التَّغَابُن" en="Mutual Disillusion" tname="At-Taghābun" descent="madani" />
+		<sura index="65" ayaCount="12" name="الطَّلَاق" en="Divorce" tname="Aṭ-Ṭalāq" descent="madani" />
+		<sura index="66" ayaCount="12" name="التَّحْرِيم" en="The Prohibition" tname="At-Taḥrīm" descent="madani" />
+		<sura index="67" ayaCount="30" name="الْمُلْك" en="The Sovereignty" tname="Al-Mulk" descent="makki" />
+		<sura index="68" ayaCount="52" name="الْقَلَم" en="The Pen" tname="Al-Qalam" descent="makki" />
+		<sura index="69" ayaCount="52" name="الْحَاقَّة" en="The Reality" tname="Al-Ḥāqqaħ" descent="makki" />
+		<sura index="70" ayaCount="44" name="الْمَعَارِج" en="The Ascending Stairways" tname="Al-Ma`ārij" descent="makki" />
+		<sura index="71" ayaCount="28" name="نُوح" en="Noah" tname="Nūḥ" descent="makki" />
+		<sura index="72" ayaCount="28" name="الْجِنّ" en="The Jinn" tname="Al-Jinn" descent="makki" />
+		<sura index="73" ayaCount="20" name="الْمُزَّمِّل" en="The Enshrouded One" tname="Al-Muzzammil" descent="makki" />
+		<sura index="74" ayaCount="56" name="الْمُدَّثِّر" en="The Cloaked One" tname="Al-Muddaththir" descent="makki" />
+		<sura index="75" ayaCount="40" name="الْقِيَامَة" en="The Resurrection" tname="Al-Qiyāmaħ" descent="makki" />
+		<sura index="76" ayaCount="31" name="الْإِنْسَان" en="Man" tname="Al-'Insān" descent="madani" />
+		<sura index="77" ayaCount="50" name="الْمُرْسَلَات" en="The Emissaries" tname="Al-Mursalāt" descent="makki" />
+		<sura index="78" ayaCount="40" name="النَّبَأ" en="The Announcement" tname="An-Naba'" descent="makki" />
+		<sura index="79" ayaCount="46" name="النَّازِعَات" en="Those Who Drag Forth" tname="An-Nāzi`āt" descent="makki" />
+		<sura index="80" ayaCount="42" name="عَبَسَ" en="He Frowned" tname="`Abasa" descent="makki" />
+		<sura index="81" ayaCount="29" name="التَّکْوِير" en="The Overthrowing" tname="At-Takwīr" descent="makki" />
+		<sura index="82" ayaCount="19" name="الْإِنْفِطَار" en="The Cleaving" tname="Al-'Infiṭār" descent="makki" />
+		<sura index="83" ayaCount="36" name="الْمُطَفِّفِين" en="Defrauding" tname="Al-Muṭaffifīn" descent="makki" />
+		<sura index="84" ayaCount="25" name="الْإِنْشِقَاق" en="The Splitting Open" tname="Al-'Inshiqāq" descent="makki" />
+		<sura index="85" ayaCount="22" name="الْبُرُوج" en="The Constellations" tname="Al-Burūj" descent="makki" />
+		<sura index="86" ayaCount="17" name="الطَّارِق" en="The Morning Star" tname="Aṭ-Ṭāriq" descent="makki" />
+		<sura index="87" ayaCount="19" name="الْأَعْلَیٰ" en="The Most High" tname="Al-'A`láa" descent="makki" />
+		<sura index="88" ayaCount="26" name="الْغَاشِيَة" en="The Overwhelming" tname="Al-Ghāshiyaħ" descent="makki" />
+		<sura index="89" ayaCount="30" name="الْفَجْر" en="The Dawn" tname="Al-Fajr" descent="makki" />
+		<sura index="90" ayaCount="20" name="الْبَلَد" en="The City" tname="Al-Balad" descent="makki" />
+		<sura index="91" ayaCount="15" name="الشَّمْس" en="The Sun" tname="Ash-Shams" descent="makki" />
+		<sura index="92" ayaCount="21" name="اللَّيْل" en="The Night" tname="Al-Layl" descent="makki" />
+		<sura index="93" ayaCount="11" name="الضُّحَیٰ" en="The Morning Hours" tname="Aḍ-Ḍuḥáa" descent="makki" />
+		<sura index="94" ayaCount="8" name="الشَّرْح" en="The Consolation" tname="Ash-Sharḥ" descent="makki" />
+		<sura index="95" ayaCount="8" name="التِّين" en="The Fig" tname="At-Tīn" descent="makki" />
+		<sura index="96" ayaCount="19" name="الْعَلَق" en="The Clot" tname="Al-`Alaq" descent="makki" />
+		<sura index="97" ayaCount="5" name="الْقَدْر" en="The Power, Fate" tname="Al-Qadr" descent="makki" />
+		<sura index="98" ayaCount="8" name="الْبَيِّنَة" en="The Evidence" tname="Al-Bayyinaħ" descent="madani" />
+		<sura index="99" ayaCount="8" name="الزَّلْزَلَة" en="The Earthquake" tname="Az-Zalzalaħ" descent="madani" />
+		<sura index="100" ayaCount="11" name="الْعَادِيَات" en="The Chargers" tname="Al-`Ādiyāt" descent="makki" />
+		<sura index="101" ayaCount="11" name="الْقَارِعَة" en="The Calamity" tname="Al-Qāri`aħ" descent="makki" />
+		<sura index="102" ayaCount="8" name="التَّكَاثُر" en="Competition" tname="At-Takāthur" descent="makki" />
+		<sura index="103" ayaCount="3" name="الْعَصْر" en="The Declining Day, Epoch" tname="Al-`Aṣr" descent="makki" />
+		<sura index="104" ayaCount="9" name="الْهُمَزَة" en="The Traducer" tname="Al-Humazaħ" descent="makki" />
+		<sura index="105" ayaCount="5" name="الْفِيل" en="The Elephant" tname="Al-Fīl" descent="makki" />
+		<sura index="106" ayaCount="4" name="قُرَيْش" en="Quraysh" tname="Quraysh" descent="makki" />
+		<sura index="107" ayaCount="7" name="الْمَاعُون" en="Almsgiving" tname="Al-Mā`ūn" descent="makki" />
+		<sura index="108" ayaCount="3" name="الْكَوْثَر" en="Abundance" tname="Al-Kawthar" descent="makki" />
+		<sura index="109" ayaCount="6" name="الْكَافِرُون" en="The Disbelievers" tname="Al-Kāfirūn" descent="makki" />
+		<sura index="110" ayaCount="3" name="النَّصْر" en="Divine Support" tname="An-Naṣr" descent="madani" />
+		<sura index="111" ayaCount="5" name="الْمَسَد" en="The Palm Fibre" tname="Al-Masad" descent="makki" />
+		<sura index="112" ayaCount="4" name="الْإِخْلَاص" en="Sincerity" tname="Al-'Ikhlāṣ" descent="makki" />
+		<sura index="113" ayaCount="5" name="الْفَلَق" en="The Dawn" tname="Al-Falaq" descent="makki" />
+		<sura index="114" ayaCount="6" name="النَّاس" en="Mankind" tname="An-Nās" descent="makki" />
+	</sura-detail>
+	<juz-detail>
+		<juz index="1" sura="1" aya="1" />
+		<juz index="2" sura="2" aya="142" />
+		<juz index="3" sura="2" aya="253" />
+		<juz index="4" sura="3" aya="93" />
+		<juz index="5" sura="4" aya="24" />
+		<juz index="6" sura="4" aya="148" />
+		<juz index="7" sura="5" aya="82" />
+		<juz index="8" sura="6" aya="111" />
+		<juz index="9" sura="7" aya="88" />
+		<juz index="10" sura="8" aya="41" />
+		<juz index="11" sura="9" aya="93" />
+		<juz index="12" sura="11" aya="6" />
+		<juz index="13" sura="12" aya="53" />
+		<juz index="14" sura="15" aya="1" />
+		<juz index="15" sura="17" aya="1" />
+		<juz index="16" sura="18" aya="75" />
+		<juz index="17" sura="21" aya="1" />
+		<juz index="18" sura="23" aya="1" />
+		<juz index="19" sura="25" aya="21" />
+		<juz index="20" sura="27" aya="56" />
+		<juz index="21" sura="29" aya="46" />
+		<juz index="22" sura="33" aya="31" />
+		<juz index="23" sura="36" aya="28" />
+		<juz index="24" sura="39" aya="32" />
+		<juz index="25" sura="41" aya="47" />
+		<juz index="26" sura="46" aya="1" />
+		<juz index="27" sura="51" aya="31" />
+		<juz index="28" sura="58" aya="1" />
+		<juz index="29" sura="67" aya="1" />
+		<juz index="30" sura="78" aya="1" />
+	</juz-detail>
+	<sajda-detail>
+		<!-- Mustahab Sajda -->
+		<sajda index="1" sura="7" aya="206" type="recommended" />
+		<sajda index="2" sura="13" aya="15" type="recommended" />
+		<sajda index="3" sura="16" aya="50" type="recommended" />
+		<sajda index="4" sura="17" aya="109" type="recommended" />
+		<sajda index="5" sura="19" aya="58" type="recommended" />
+		<sajda index="6" sura="22" aya="18" type="recommended" />
+		<sajda index="7" sura="22" aya="77" type="recommended" />
+		<sajda index="8" sura="25" aya="60" type="recommended" />
+		<sajda index="9" sura="27" aya="26" type="recommended" />
+		<sajda index="11" sura="38" aya="24" type="recommended" />
+		<sajda index="14" sura="84" aya="21" type="recommended" />
+		<!-- Wajib Sajda -->
+		<sajda index="10" sura="32" aya="15" type="mandatory" /><!-- سجدة -->
+		<sajda index="12" sura="41" aya="38" type="mandatory" /><!-- فصلت -->
+		<sajda index="13" sura="53" aya="62" type="mandatory" /><!-- نجم -->
+		<sajda index="15" sura="96" aya="19" type="mandatory" /><!-- علق -->
+	</sajda-detail>
+</quran>
diff --git a/res/ui/js/common.js b/res/ui/js/common.js
index 553e69b..0721f32 100644
--- a/res/ui/js/common.js
+++ b/res/ui/js/common.js
@@ -34,9 +34,9 @@ function play(loc, isPlay) {
     }
 }
 
-function zoom(z, trans) {
+function zoom(z) {
     if (javaFunction) {
-        javaFunction('ZEKR::ZOOM', z, trans);
+        javaFunction('ZEKR::ZOOM', z);
     }
 }
 
diff --git a/res/ui/theme/sky/css/common-style.css b/res/ui/theme/sky/css/common-style.css
index d6af2fe..2072df3 100644
--- a/res/ui/theme/sky/css/common-style.css
+++ b/res/ui/theme/sky/css/common-style.css
@@ -52,10 +52,8 @@ div.bodyTop {
 
 .suraName {
 	font-weight: bold;
-	/*padding-top: 6px;
-	font-size: .75em;*/
-	padding-top: 7px;
-	font-size: 12.5pt;
+	padding-top: 6px;
+	font-size: .75em;
 	height: 40px;
 	background: url(${APP_PATH}res/image/sura-header.png) no-repeat center center;
 }
diff --git a/res/ui/theme/sky/page.vm b/res/ui/theme/sky/page.vm
index 421196f..760dd0a 100644
--- a/res/ui/theme/sky/page.vm
+++ b/res/ui/theme/sky/page.vm
@@ -9,12 +9,11 @@
 	#set($TD_CLASS="trans")
 	#set($BODY_ID="transBody")
 	#set($DIR=${TRANS_DIRECTION})
-	#set($IS_TRANS="true")
 #else
 	#set($TD_CLASS="quran")
 	#set($BODY_ID="quranBody")
 	#set($DIR="rtl")
-	#set($IS_TRANS="false")
+	#set($IS_QURAN="true")
 #end
 #if($DIRECTION == "rtl")
 	#set($LEAD="right")
@@ -43,9 +42,9 @@ window.res = null;
 		<button type="button" onclick="navtoSuraAya()">&nbsp;$DICT.getMeaning('GO')&nbsp;</button>
 		</td>
 		<td align="center" width="8%" nowrap="nowrap">
-			<img alt="-" tabindex="0" class="handCursor" title="$DICT.getMeaning('SMALLER')" border="0" src="res/image/icon/zoom-out16.png" onclick="zoom(-1, $IS_TRANS)">
+			<img alt="-" tabindex="0" class="handCursor" title="$DICT.getMeaning('SMALLER')" border="0" src="res/image/icon/zoom-out16.png" onclick="zoom(-1)">
 			|
-			<img alt="+" tabindex="0" class="handCursor" title="$DICT.getMeaning('LARGER')" border="0" src="res/image/icon/zoom-in16.png" onclick="zoom(1, $IS_TRANS)">
+			<img alt="+" tabindex="0" class="handCursor" title="$DICT.getMeaning('LARGER')" border="0" src="res/image/icon/zoom-in16.png" onclick="zoom(1)">
 		</td>
 		</tr>
 	</table>
diff --git a/res/ui/theme/sky/search-result.vm b/res/ui/theme/sky/search-result.vm
index 49422c7..780ffa4 100644
--- a/res/ui/theme/sky/search-result.vm
+++ b/res/ui/theme/sky/search-result.vm
@@ -22,10 +22,10 @@ res = new SearchResult();
 	<table width="100%" style="padding: 0px; margin: 0px" cellspacing="0" cellpadding="0">
 		<tr><td align="$LEAD" width="40%">
 			<button title="$DICT.getMeaning('PREV_AYA')" style="padding: 0px 10px 0px 10px;" onclick="res.prev()">
-			<img src="res/image/icon/up-arrow16.gif" style="margin: 1px" alt="$DICT.getMeaning('PREV_AYA')" />
+			<img src="res/image/icon/up_arrow.gif" style="margin: 1px" alt="$DICT.getMeaning('PREV_AYA')" />
 			</button>&nbsp;
 			<button title="$DICT.getMeaning('NEXT_AYA')" style="padding: 0px 10px 0px 10px;" onclick="res.next()">
-			<img src="res/image/icon/down-arrow16.gif" style="margin: 1px" alt="$DICT.getMeaning('NEXT_AYA')"/>
+			<img src="res/image/icon/down_arrow.gif" style="margin: 1px" alt="$DICT.getMeaning('NEXT_AYA')"/>
 			</button>
 		</td><td align="center">
 		<font size="-1">$PAGE_NUM_MSG</font>
diff --git a/res/ui/theme/uthman-taha/search-result.vm b/res/ui/theme/uthman-taha/search-result.vm
index 49422c7..780ffa4 100644
--- a/res/ui/theme/uthman-taha/search-result.vm
+++ b/res/ui/theme/uthman-taha/search-result.vm
@@ -22,10 +22,10 @@ res = new SearchResult();
 	<table width="100%" style="padding: 0px; margin: 0px" cellspacing="0" cellpadding="0">
 		<tr><td align="$LEAD" width="40%">
 			<button title="$DICT.getMeaning('PREV_AYA')" style="padding: 0px 10px 0px 10px;" onclick="res.prev()">
-			<img src="res/image/icon/up-arrow16.gif" style="margin: 1px" alt="$DICT.getMeaning('PREV_AYA')" />
+			<img src="res/image/icon/up_arrow.gif" style="margin: 1px" alt="$DICT.getMeaning('PREV_AYA')" />
 			</button>&nbsp;
 			<button title="$DICT.getMeaning('NEXT_AYA')" style="padding: 0px 10px 0px 10px;" onclick="res.next()">
-			<img src="res/image/icon/down-arrow16.gif" style="margin: 1px" alt="$DICT.getMeaning('NEXT_AYA')"/>
+			<img src="res/image/icon/down_arrow.gif" style="margin: 1px" alt="$DICT.getMeaning('NEXT_AYA')"/>
 			</button>
 		</td><td align="center">
 		<font size="-1">$PAGE_NUM_MSG</font>
diff --git a/src/net/sf/zekr/common/config/ApplicationConfig.java b/src/net/sf/zekr/common/config/ApplicationConfig.java
index c4676f9..68cc017 100644
--- a/src/net/sf/zekr/common/config/ApplicationConfig.java
+++ b/src/net/sf/zekr/common/config/ApplicationConfig.java
@@ -257,7 +257,7 @@ public class ApplicationConfig implements ConfigNaming {
 
 			searchInfo.setDefaultStopWord(defaultStopWord);
 			for (Iterator<String> iterator = stopWordConf.getKeys(); iterator.hasNext();) {
-				String langCode = iterator.next();
+				String langCode = (String) iterator.next();
 				if (langCode.length() <= 0) {
 					continue;
 				}
@@ -266,8 +266,8 @@ public class ApplicationConfig implements ConfigNaming {
 			}
 
 			searchInfo.setDefaultReplacePattern(defaultReplacePattern);
-			for (Iterator<String> iterator = replacePatternConf.getKeys(); iterator.hasNext();) {
-				String langCode = iterator.next();
+			for (Iterator iterator = replacePatternConf.getKeys(); iterator.hasNext();) {
+				String langCode = (String) iterator.next();
 				if (langCode.length() <= 0) {
 					continue;
 				}
@@ -279,7 +279,7 @@ public class ApplicationConfig implements ConfigNaming {
 				searchInfo.setDefaultPunctuation(Pattern.compile(defaultPunctuation));
 			}
 			for (Iterator<String> iterator = punctuationConf.getKeys(); iterator.hasNext();) {
-				String langCode = iterator.next();
+				String langCode = (String) iterator.next();
 				if (langCode.length() <= 0) {
 					continue;
 				}
@@ -291,7 +291,7 @@ public class ApplicationConfig implements ConfigNaming {
 				searchInfo.setDefaultDiacritic(Pattern.compile(defaultDiacritics));
 			}
 			for (Iterator<String> iterator = diacriticsConf.getKeys(); iterator.hasNext();) {
-				String langCode = iterator.next();
+				String langCode = (String) iterator.next();
 				if (langCode.length() <= 0) {
 					continue;
 				}
@@ -300,7 +300,7 @@ public class ApplicationConfig implements ConfigNaming {
 			}
 
 			for (Iterator<String> iterator = letterConf.getKeys(); iterator.hasNext();) {
-				String langCode = iterator.next();
+				String langCode = (String) iterator.next();
 				if (langCode.length() <= 0) {
 					continue;
 				}
@@ -688,12 +688,13 @@ public class ApplicationConfig implements ConfigNaming {
 		if (translation.getDefault() == null) {
 			logger.error(new ZekrBaseException("Could not find default translation: " + def));
 			logger.warn("Will use any English or other translations found.");
-			for (TranslationData translationData : translation.getAllTranslation()) {
-				if (translationData.locale.getLanguage().equalsIgnoreCase("en")) {
-					logger.info("Trying to set default translation to: " + translationData.getId());
+			for (Iterator iter = translation.getAllTranslation().iterator(); iter.hasNext();) {
+				TranslationData transData = (TranslationData) iter.next();
+				if (transData.locale.getLanguage().equalsIgnoreCase("en")) {
+					logger.info("Trying to set default translation to: " + transData.getId());
 					try {
-						translationData.load();
-						translation.setDefault(translationData);
+						transData.load();
+						translation.setDefault(transData);
 						props.setProperty("trans.default", translation.getDefault().id);
 						break;
 					} catch (TranslationException e) {
@@ -840,8 +841,8 @@ public class ApplicationConfig implements ConfigNaming {
 
 					td = new ThemeData();
 					td.props = new LinkedHashMap<String, String>(); // order is important for options table!
-					for (Iterator<String> iter = pc.getKeys(); iter.hasNext();) {
-						String key = iter.next();
+					for (Iterator iter = pc.getKeys(); iter.hasNext();) {
+						String key = (String) iter.next();
 						td.props.put(key, CollectionUtils.toString(pc.getList(key), ", "));
 					}
 					td.author = pc.getString("author");
@@ -1007,14 +1008,12 @@ public class ApplicationConfig implements ConfigNaming {
 		audioData.onlineAudhubillah = pc.getString("audio.onlineAudhubillah");
 		// keep backward compatibility for old typo in files (bismillam instead of bismillah)
 		audioData.onlineBismillah = pc.getString("audio.onlineBismillah", pc.getString("audio.onlineBismillam"));
-		// keep backward compatibility for old typo in files (saghaghallah instead of sadaghallah)
-		audioData.onlineSadaghallah = pc.getString("audio.onlineSadaghallah", pc.getString("audio.onlineSaghaghallah"));
+		audioData.onlineSadaghallah = pc.getString("audio.onlineSaghaghallah");
 
 		audioData.offlineAudhubillah = pc.getString("audio.offlineAudhubillah");
 		// keep backward compatibility for old typo in files (bismillam instead of bismillah)
 		audioData.offlineBismillah = pc.getString("audio.offlineBismillah", pc.getString("audio.offlineBismillam"));
-		// keep backward compatibility for old typo in files (saghaghallah instead of sadaghallah)
-		audioData.offlineSadaghallah = pc.getString("audio.offlineSadaghallah", pc.getString("audio.offlineSaghaghallah"));
+		audioData.offlineSadaghallah = pc.getString("audio.offlineSaghaghallah");
 		return audioData;
 	}
 
diff --git a/src/net/sf/zekr/common/config/GlobalConfig.java b/src/net/sf/zekr/common/config/GlobalConfig.java
index cecf8df..86b3a7e 100644
--- a/src/net/sf/zekr/common/config/GlobalConfig.java
+++ b/src/net/sf/zekr/common/config/GlobalConfig.java
@@ -82,7 +82,7 @@ public class GlobalConfig {
 	 */
 	public static final String USER_LANGUAGE = System.getProperty("user.language");
 
-	public static final int MAX_MENU_STRING_LENGTH = 45;
+	public static final int MAX_MENU_STRING_LENGTH = 40;
 
 	/**
 	 * A unique number for each build. It contains full date plus hour. For example <tt>2008021020</tt> is used
diff --git a/src/net/sf/zekr/common/config/version.properties b/src/net/sf/zekr/common/config/version.properties
index ee3c84c..54ebe98 100644
--- a/src/net/sf/zekr/common/config/version.properties
+++ b/src/net/sf/zekr/common/config/version.properties
@@ -1,5 +1,5 @@
-zekr.version = 1.0.0
-zekr.build.number = 2010081200
+zekr.version = 0.7.6
+zekr.build.number = 2010061700
 zekr.build.status = FINAL
 
 zekr.update.address = http://zekr.org/update
diff --git a/res/bookmark/.DONOTDELETE b/src/net/sf/zekr/common/util/RangeUtils.java
similarity index 100%
copy from res/bookmark/.DONOTDELETE
copy to src/net/sf/zekr/common/util/RangeUtils.java
diff --git a/src/net/sf/zekr/engine/audio/AudioCacheManager.java b/src/net/sf/zekr/engine/audio/AudioCacheManager.java
index 434d952..8eb0e87 100644
--- a/src/net/sf/zekr/engine/audio/AudioCacheManager.java
+++ b/src/net/sf/zekr/engine/audio/AudioCacheManager.java
@@ -174,7 +174,7 @@ public class AudioCacheManager {
 				}
 			}, null);
 
-			List<File> fileList = new ArrayList<File>();
+			List fileList = new ArrayList();
 			for (File dir : audioDirectoryList) {
 				fileList.addAll(Arrays.asList(dir.listFiles()));
 			}
@@ -188,7 +188,7 @@ public class AudioCacheManager {
 							+ " were deleted.");
 					break;
 				}
-				File file = fileList.get(i);
+				File file = (File) fileList.get(i);
 				deleteSize += file.length();
 				logger.debug("Delete: " + file);
 				file.delete();
diff --git a/src/net/sf/zekr/engine/audio/PlaylistProvider.java b/src/net/sf/zekr/engine/audio/PlaylistProvider.java
new file mode 100644
index 0000000..47d38e6
--- /dev/null
+++ b/src/net/sf/zekr/engine/audio/PlaylistProvider.java
@@ -0,0 +1,99 @@
+///*
+// *               In the name of Allah
+// * This file is part of The Zekr Project. Use is subject to
+// * license terms.
+// *
+// * Author:         Mohsen Saboorian
+// * Start Date:     Sep 3, 2007
+// */
+//package net.sf.zekr.engine.audio;
+//
+//import net.sf.zekr.common.config.ApplicationConfig;
+//import net.sf.zekr.common.resource.IQuranPage;
+//import net.sf.zekr.common.resource.QuranPropertiesUtils;
+//
+///**
+// * @author Mohsen Saboorian
+// */
+//public abstract class PlaylistProvider implements IPlaylistProvider {
+//	protected AudioData audioData;
+//	protected int pageNum;
+//
+//	public PlaylistProvider(AudioData audioData, int pageNum) {
+//		this.audioData = audioData;
+//		this.pageNum = pageNum;
+//	}
+//
+//	public abstract String providePlaylist() throws PlaylistProvisionException;
+//
+//	/**
+//	 * Default getItem behavior is implemented in this class, and can be overridden for special playlists.<br>
+//	 * If audio data is in sura mode, this method does <code>return aya - 1;</code>, regardless of sura/aya
+//	 * number, since in sura mode every sura has a corresponding playlist in which each playling item (counted
+//	 * from 0) is mapped exactly to its corresponding aya (counted from 1).<br>
+//	 * For audio data in collection mode assumption is that sura items are located regularly one sura after the
+//	 * other in natural Quran order. So exact number of an item for sura <i>i</i> is equal to aggregative sum
+//	 * of aya count from sura 1 to sura i - 1 plus aya parameter - 1:<br>
+//	 * (for sura: 1 to sura parameter) &#8721;(<i>aya count</i>) + <i>aya parameter</i> - 1</i>
+//	 * 
+//	 * @param sura sura number in which corresponding aya should be returned as a playlist item. This parameter
+//	 *           is 1-based.
+//	 * @param aya aya number to be resolved to an item. This parameter is 1-based.
+//	 * @return playlist item to be played, corresponding to the given sura/aya number. This number is 0-based.
+//	 * @deprecated since {@link AudioData#SURA_PLAYLIST} is deprecated.
+//	 */
+//	public int getItem(int sura, int aya) {
+//		if (audioData.getPlaylistMode().equals(AudioData.SURA_PLAYLIST)) {
+//			return aya - 1;
+//		} else {
+//			return QuranPropertiesUtils.getAggregateAyaCount(pageNum) + aya - 1;
+//		}
+//	}
+//
+//	/*
+//	 * (non-Javadoc)
+//	 * 
+//	 * @see net.sf.zekr.engine.audio.IPlaylistProvider#getAudioData()
+//	 */
+//	public AudioData getAudioData() {
+//		return audioData;
+//	}
+//
+//	/**
+//	 * Default implementation for special audio item index lookup. This implementation assumes that special
+//	 * items are located at the end of playlist (if any): <code>SPECIAL_PRESTART</code>,
+//	 * <code>SPECIAL_START</code>, and <code>SPECIAL_END</code> respectively.
+//	 * 
+//	 * @param name the name of special audio item
+//	 * @return special audio item index, or -1 if there is no such item for the playlist
+//	 */
+//	public int getSpecialItem(String name) {
+//		int index = 0;
+//		//		if (audioData.getPlaylistMode().equals(AudioData.COLLECTION_PLAYLIST)) {
+//		//			index = QuranPropertiesUtils.QURAN_AYA_COUNT;
+//		//		} else {
+//		//			index = QuranPropertiesUtils.getSura(pageNum).getAyaCount();
+//		//		}
+//		IQuranPage p = ApplicationConfig.getInstance().getQuranPaging().getDefault().getQuranPage(pageNum);
+//		int from = QuranPropertiesUtils.getAbsoluteLocation(p.getFrom());
+//		int to = QuranPropertiesUtils.getAbsoluteLocation(p.getTo());
+//		index = from - to;
+//		if (SPECIAL_PRESTART.equals(name)) {
+//			if (audioData.getPrestartFileName() != null)
+//				return index;
+//			else
+//				return -1;
+//		} else if (SPECIAL_START.equals(name)) {
+//			if (audioData.getStartFileName() != null)
+//				return index + 1;
+//			else
+//				return -1;
+//		} else if (SPECIAL_END.equals(name)) {
+//			if (audioData.getEndFileName() != null)
+//				return index + 2;
+//			else
+//				return -1;
+//		}
+//		return -1;
+//	}
+//}
diff --git a/src/net/sf/zekr/engine/audio/ui/AudioPlayerForm.java b/src/net/sf/zekr/engine/audio/ui/AudioPlayerForm.java
index 5926b4a..0a0999c 100644
--- a/src/net/sf/zekr/engine/audio/ui/AudioPlayerForm.java
+++ b/src/net/sf/zekr/engine/audio/ui/AudioPlayerForm.java
@@ -20,7 +20,6 @@ import net.sf.zekr.engine.audio.PlayableObject;
 import net.sf.zekr.engine.audio.PlayerController;
 import net.sf.zekr.ui.BaseForm;
 import net.sf.zekr.ui.QuranForm;
-import net.sf.zekr.ui.helper.FormUtils;
 
 import org.apache.commons.configuration.PropertiesConfiguration;
 import org.eclipse.swt.SWT;
@@ -36,7 +35,6 @@ import org.eclipse.swt.events.ShellAdapter;
 import org.eclipse.swt.events.ShellEvent;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
@@ -59,7 +57,6 @@ import org.eclipse.swt.widgets.Widget;
  * @author Mohsen Saboorian
  */
 public class AudioPlayerForm extends BaseForm {
-	private static final int WINDOW_VISIBILITY_THRESHOLD = 60;
 	public static final String FORM_ID = "AUDIO_PLAYER_FORM";
 	public static final int MAX_SEEK_VALUE = 1000;
 	public static final int MAX_VOLUME_VALUE = 100;
@@ -121,38 +118,24 @@ public class AudioPlayerForm extends BaseForm {
 		init();
 	}
 
-	@SuppressWarnings("rawtypes")
+	@SuppressWarnings("unchecked")
 	private void init() {
 		shell = createShell(parent, SWT.CLOSE /*| SWT.ON_TOP */| SWT.TOOL
 				| (isRtl ? SWT.RIGHT_TO_LEFT : SWT.LEFT_TO_RIGHT));
 		List shellLocationList = config.getProps().getList("audio.controller.location");
 		if (shellLocationList.size() > 1) {
-			shellLocation = new Point(Integer.parseInt(shellLocationList.get(0).toString()),
-					Integer.parseInt(shellLocationList.get(1).toString()));
+			shellLocation = new Point(Integer.parseInt(shellLocationList.get(0).toString()), Integer
+					.parseInt(shellLocationList.get(1).toString()));
 		}
 		shell.addShellListener(new ShellAdapter() {
 			@Override
 			public void shellClosed(ShellEvent e) {
 				Point location = shell.getLocation();
-				Rectangle bounds = shell.getBounds();
-				// make sure player form is visible
-				Point screen = FormUtils.getScreenSize(display);
-				if (bounds.width + bounds.x < WINDOW_VISIBILITY_THRESHOLD) {
-					location.x = WINDOW_VISIBILITY_THRESHOLD - bounds.width;
-				} else if (screen.x - location.x < WINDOW_VISIBILITY_THRESHOLD) {
-					location.x = screen.x - WINDOW_VISIBILITY_THRESHOLD;
-				}
-				if (bounds.height + bounds.y < WINDOW_VISIBILITY_THRESHOLD) {
-					location.y = WINDOW_VISIBILITY_THRESHOLD - bounds.height;
-				} else if (screen.y - location.y < WINDOW_VISIBILITY_THRESHOLD) {
-					location.y = screen.y - WINDOW_VISIBILITY_THRESHOLD;
-				}
-
 				config.getProps().setProperty("audio.controller.location", new Object[] { location.x, location.y });
-				// config.getProps().setProperty("audio.controller.show", "false");
+				config.getProps().setProperty("audio.controller.show", "false");
 			}
 		});
-		// config.getProps().setProperty("audio.controller.show", "true");
+		config.getProps().setProperty("audio.controller.show", "true");
 
 		FillLayout fl = new FillLayout();
 		shell.setLayout(fl);
@@ -202,8 +185,8 @@ public class AudioPlayerForm extends BaseForm {
 		prevAyaImage = new Image(display, resource.getString("icon.player.prevAya"));
 		nextAyaImage = new Image(display, resource.getString("icon.player.nextAya"));
 
-		File playImageFile = new File(isRtl ? resource.getString("icon.player.playRtl")
-				: resource.getString("icon.player.play"));
+		File playImageFile = new File(isRtl ? resource.getString("icon.player.playRtl") : resource
+				.getString("icon.player.play"));
 		File pauseImageFile = new File(resource.getString("icon.player.pause"));
 		File stopImageFile = new File(resource.getString("icon.player.stop"));
 		playImage = new Image(display, playImageFile.getAbsolutePath());
diff --git a/src/net/sf/zekr/engine/template/TranslationViewTemplate.java b/src/net/sf/zekr/engine/template/TranslationViewTemplate.java
index ac125be..89d7643 100644
--- a/src/net/sf/zekr/engine/template/TranslationViewTemplate.java
+++ b/src/net/sf/zekr/engine/template/TranslationViewTemplate.java
@@ -20,7 +20,7 @@ public class TranslationViewTemplate extends AbstractPageViewTemplate {
 
 	public TranslationViewTemplate(IQuranText trans, IUserView userView) {
 		super(trans, userView);
-		engine.put("TEXT_LAYOUT", config.getViewProp("view.transLayout"));
+		engine.put("TEXT_LAYOUT", config.getViewProp("view.quranLayout"));
 		engine.put("TRANSLATION", "true");
 		engine.put("AYA_LIST", new Page(trans, quranPage).getAyaList());
 	}
diff --git a/src/net/sf/zekr/engine/translation/TranslationData.java b/src/net/sf/zekr/engine/translation/TranslationData.java
index a73a765..4e6ccbe 100644
--- a/src/net/sf/zekr/engine/translation/TranslationData.java
+++ b/src/net/sf/zekr/engine/translation/TranslationData.java
@@ -17,14 +17,9 @@ import java.util.Locale;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 
-import org.apache.commons.lang.StringUtils;
-
-import net.sf.zekr.common.config.ApplicationConfig;
-import net.sf.zekr.common.config.GlobalConfig;
 import net.sf.zekr.common.resource.AbstractQuranText;
 import net.sf.zekr.common.resource.QuranProperties;
 import net.sf.zekr.common.util.CryptoUtils;
-import net.sf.zekr.common.util.I18N;
 import net.sf.zekr.engine.common.Signable;
 import net.sf.zekr.engine.log.Logger;
 
@@ -276,12 +271,4 @@ public class TranslationData extends AbstractQuranText implements Signable {
 	public int getMode() {
 		throw new UnsupportedOperationException("Method not implemented.");
 	}
-
-	public String getName(String transNameMode, boolean rtl) {
-		String s = "english".equals(transNameMode) ? name : localizedName;
-		s = StringUtils.abbreviate((rtl ? I18N.RLE + "" : "") + "[" + locale.getLanguage() + "]" + " "
-				+ (rtl ? I18N.RLM + "" : "") + s, GlobalConfig.MAX_MENU_STRING_LENGTH);
-
-		return s;
-	}
 }
diff --git a/src/net/sf/zekr/engine/translation/ui/CustomTranslationListForm.java b/src/net/sf/zekr/engine/translation/ui/CustomTranslationListForm.java
index f500d8c..4714b7d 100644
--- a/src/net/sf/zekr/engine/translation/ui/CustomTranslationListForm.java
+++ b/src/net/sf/zekr/engine/translation/ui/CustomTranslationListForm.java
@@ -15,7 +15,6 @@ import java.util.Iterator;
 import net.sf.zekr.common.ZekrMessageException;
 import net.sf.zekr.common.config.ApplicationConfig;
 import net.sf.zekr.common.config.GlobalConfig;
-import net.sf.zekr.common.util.I18N;
 import net.sf.zekr.engine.translation.TranslationData;
 import net.sf.zekr.ui.BaseForm;
 import net.sf.zekr.ui.MessageBoxUtils;
@@ -23,7 +22,6 @@ import net.sf.zekr.ui.helper.EventProtocol;
 import net.sf.zekr.ui.helper.EventUtils;
 import net.sf.zekr.ui.helper.FormUtils;
 
-import org.apache.commons.lang.StringUtils;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.MouseAdapter;
 import org.eclipse.swt.events.MouseEvent;
@@ -60,7 +58,6 @@ public class CustomTranslationListForm extends BaseForm {
 	private java.util.List<String> sourceData = new ArrayList<String>();
 	private java.util.List<String> targetData = new ArrayList<String>();
 	private boolean okayed = false;
-	private boolean rtl;
 
 	public CustomTranslationListForm(Shell parent) {
 		try {
@@ -72,8 +69,6 @@ public class CustomTranslationListForm extends BaseForm {
 			shell.setText(meaning("TITLE"));
 			shell.setImage(new Image(display, resource.getString("icon.configTransList")));
 
-			rtl = lang.isRtl();
-
 			init();
 		} catch (RuntimeException re) {
 			FormUtils.disposeGracefully(shell);
@@ -132,10 +127,9 @@ public class CustomTranslationListForm extends BaseForm {
 		String[] sourceItems = new String[transCollection.size()];
 
 		int i = 0;
-		String transNameMode = config.getProps().getString("trans.name.mode", "english");
 		for (Iterator<TranslationData> iter = transCollection.iterator(); iter.hasNext(); i++) {
 			TranslationData td = iter.next();
-			sourceItems[i] = td.getName(transNameMode, rtl);
+			sourceItems[i] = td.localizedName + " - " + td.locale;
 			sourceData.add(td.id);
 		}
 		sourceList.setItems(sourceItems);
@@ -215,7 +209,7 @@ public class CustomTranslationListForm extends BaseForm {
 		String[] targetItems = new String[customList.size()];
 		for (i = 0; i < customList.size(); i++) {
 			TranslationData td = customList.get(i);
-			targetItems[i] = td.getName(transNameMode, rtl);
+			targetItems[i] = td.localizedName + " - " + td.locale;
 			targetData.add(td.id);
 		}
 		targetList.setItems(targetItems);
diff --git a/src/net/sf/zekr/ui/AboutForm.java b/src/net/sf/zekr/ui/AboutForm.java
index 344e5ee..ccf0606 100644
--- a/src/net/sf/zekr/ui/AboutForm.java
+++ b/src/net/sf/zekr/ui/AboutForm.java
@@ -58,11 +58,11 @@ public class AboutForm extends BaseForm {
 		GridData gd;
 
 		shell = createShell(parent, SWT.DIALOG_TRIM | SWT.APPLICATION_MODAL);
-		shell.setImages(new Image[] { new Image(display, resource.getString("icon.about16")),
-				new Image(display, resource.getString("icon.about32")),
-				new Image(display, resource.getString("icon.about48")),
-				new Image(display, resource.getString("icon.about128")),
-				new Image(display, resource.getString("icon.about256")) });
+		shell.setImages(new Image[] { new Image(display, resource.getString("icon.form16")),
+				new Image(display, resource.getString("icon.form32")),
+				new Image(display, resource.getString("icon.form48")),
+				new Image(display, resource.getString("icon.form128")),
+				new Image(display, resource.getString("icon.form256")) });
 		shell.setText(meaning("TITLE"));
 		shell.setLayout(new FillLayout());
 
diff --git a/src/net/sf/zekr/ui/AudioPlayerUiController.java b/src/net/sf/zekr/ui/AudioPlayerUiController.java
index 6642385..6f5fc39 100644
--- a/src/net/sf/zekr/ui/AudioPlayerUiController.java
+++ b/src/net/sf/zekr/ui/AudioPlayerUiController.java
@@ -251,15 +251,14 @@ public class AudioPlayerUiController {
 	}
 
 	public void toggleAudioControllerForm(boolean open) {
-		config.getProps().setProperty("audio.controller.show", open);
-		// quranForm.qmf.toggleAudioPanelState(open);
 		if (open) {
 			audioControllerForm = new AudioPlayerForm(quranForm, quranForm.getShell());
+			config.getProps().setProperty("audio.controller.show", open);
 			audioControllerForm.getShell().addDisposeListener(new DisposeListener() {
 				public void widgetDisposed(DisposeEvent e) {
 					if (!quranForm.isDisposed()) {
-						// Point location = audioControllerForm.getShell().getLocation();
-						// config.getProps().setProperty("audio.controller.location", new Object[] { location.x, location.y });
+						Point location = audioControllerForm.getShell().getLocation();
+						config.getProps().setProperty("audio.controller.location", new Object[] { location.x, location.y });
 						quranForm.qmf.toggleAudioPanelState(false);
 					}
 				}
@@ -332,7 +331,7 @@ public class AudioPlayerUiController {
 	 * 
 	 * @param seekPercent should be a float number between 0.0 and 1.0
 	 */
-	@SuppressWarnings("rawtypes")
+	@SuppressWarnings("unchecked")
 	public void seek(float seekPercent) {
 		Map audioInfo = playerController.getCurrentAudioInfo();
 		// boolean posValueJump;
diff --git a/src/net/sf/zekr/ui/BrowserCallbackHandler.java b/src/net/sf/zekr/ui/BrowserCallbackHandler.java
index 66dbc3c..7c64a98 100644
--- a/src/net/sf/zekr/ui/BrowserCallbackHandler.java
+++ b/src/net/sf/zekr/ui/BrowserCallbackHandler.java
@@ -12,8 +12,6 @@ import java.io.IOException;
 import java.util.Map;
 import java.util.Map.Entry;
 
-import javax.security.auth.login.AppConfigurationEntry;
-
 import net.sf.zekr.common.config.ApplicationConfig;
 import net.sf.zekr.common.config.IUserView;
 import net.sf.zekr.common.resource.FilteredQuranText;
@@ -83,8 +81,8 @@ public class BrowserCallbackHandler {
 			if (isQuranTarget) {
 				logger.info("Show translation: (" + sura + ", " + aya + ")");
 				TranslationData td = config.getTranslation().getDefault();
-				pe = new PopupBox(form.shell, form.meaning("TRANSLATION_SCOPE"), td.get(sura, aya),
-						FormUtils.toSwtDirection(td.direction));
+				pe = new PopupBox(form.shell, form.meaning("TRANSLATION_SCOPE"), td.get(sura, aya), FormUtils
+						.toSwtDirection(td.direction));
 			} else {
 				logger.info("Show quran: (" + sura + ", " + aya + ")");
 				try {
@@ -118,34 +116,23 @@ public class BrowserCallbackHandler {
 			}
 		} else if ("ZEKR::ZOOM".equals(method)) {
 			int zoom = (int) Double.parseDouble(args[1].toString());
-			String layout = config.getViewLayout();
-			boolean onlyTrans = false;
-			boolean onlyQuran = false;
-			if (ApplicationConfig.SEPARATE_LAYOUT.equals(layout)) {
-				onlyTrans = Boolean.parseBoolean(args[2].toString());
-				onlyQuran = !Boolean.parseBoolean(args[2].toString());
-			}
 
 			ThemeData themeData = config.getTheme().getCurrent();
 			Map<String, String> props = themeData.props;
 
-			if (!onlyQuran) {
-				for (Entry<String, String> entry : props.entrySet()) {
-					String key = entry.getKey();
-					if (key.startsWith("trans_") && key.endsWith("fontSize")) {
-						int transFontSize = MapUtils.getIntValue(props, key, 10);
-						transFontSize += zoom;
-						props.put(key, String.valueOf(transFontSize));
-					}
+			for (Entry<String, String> entry : props.entrySet()) {
+				String key = entry.getKey();
+				if (key.startsWith("trans_") && key.endsWith("fontSize")) {
+					int transFontSize = MapUtils.getIntValue(props, key, 10);
+					transFontSize += zoom;
+					props.put(key, String.valueOf(transFontSize));
 				}
 			}
 
-			if (!onlyTrans) {
-				String quranFontSizeKey = "quran_fontSize";
-				int quranFontSize = MapUtils.getIntValue(props, quranFontSizeKey, 10);
-				quranFontSize += zoom;
-				props.put(quranFontSizeKey, String.valueOf(quranFontSize));
-			}
+			String quranFontSizeKey = "quran_fontSize";
+			int quranFontSize = MapUtils.getIntValue(props, quranFontSizeKey, 10);
+			quranFontSize += zoom;
+			props.put(quranFontSizeKey, String.valueOf(quranFontSize));
 
 			EventUtils.sendEvent(EventProtocol.REFRESH_VIEW);
 		}
diff --git a/src/net/sf/zekr/ui/GotoForm.java b/src/net/sf/zekr/ui/GotoForm.java
index d7aa0ae..b591d20 100644
--- a/src/net/sf/zekr/ui/GotoForm.java
+++ b/src/net/sf/zekr/ui/GotoForm.java
@@ -467,6 +467,8 @@ public class GotoForm extends BaseForm implements FocusListener {
 						RevelationData revel = revelOrder;
 						if (revel != null) {
 							gotoSura(revel.getSuraOfOrder(order + 1));
+						} else {
+							gotoSura(order + 1);
 						}
 					}
 				}
diff --git a/src/net/sf/zekr/ui/QuranForm.java b/src/net/sf/zekr/ui/QuranForm.java
index 8addf0a..84d00d9 100644
--- a/src/net/sf/zekr/ui/QuranForm.java
+++ b/src/net/sf/zekr/ui/QuranForm.java
@@ -188,7 +188,7 @@ public class QuranForm extends BaseForm {
 	protected boolean pageChanged;
 
 	/** The current Quran URI loaded in the browser */
-	String quranUri;
+	private String quranUri;
 
 	/** The current Translation URI loaded in the browser */
 	private String transUri;
@@ -1433,7 +1433,7 @@ public class QuranForm extends BaseForm {
 		try {
 			if (pageChanged) {
 				quranBrowser.addProgressListener(qpl);
-				logger.info("Set Qur'an location to " + uvc.getLocation());
+				logger.info("Set Quran location to " + uvc.getLocation());
 				if (viewLayout == MIXED) {
 					quranUri = HtmlRepository.getMixedUri(uvc.getLocation());
 				} else if (viewLayout == MULTI_TRANS) {
@@ -1634,7 +1634,7 @@ public class QuranForm extends BaseForm {
 			pageNo = pageNo == 0 ? 1 : pageNo;
 			logger.info("Navigate to page #" + pageNo + " of advanced search result.");
 			Browser searchBrowser = viewLayout == TRANS_ONLY ? transBrowser : quranBrowser;
-			searchBrowser.setUrl(quranUri = HtmlRepository.getAdvancedSearchQuranUri(asr, pageNo - 1));
+			searchBrowser.setUrl(HtmlRepository.getAdvancedSearchQuranUri(asr, pageNo - 1));
 			pageChanged = true;
 		} catch (HtmlGenerationException e) {
 			logger.log(e);
@@ -1672,7 +1672,7 @@ public class QuranForm extends BaseForm {
 			pageNo = pageNo == 0 ? 1 : pageNo;
 			logger.info("Navigate to page #" + pageNo + " of search result.");
 			Browser searchBrowser = viewLayout == TRANS_ONLY ? transBrowser : quranBrowser;
-			searchBrowser.setUrl(quranUri = HtmlRepository.getAdvancedSearchQuranUri(sr, pageNo - 1));
+			searchBrowser.setUrl(HtmlRepository.getAdvancedSearchQuranUri(sr, pageNo - 1));
 			pageChanged = true;
 		} catch (HtmlGenerationException e) {
 			logger.log(e);
@@ -1871,9 +1871,9 @@ public class QuranForm extends BaseForm {
 	}
 
 	public void close() {
-		closeAudioSilently(); // the next line will save config file, so this call should precede saveConfigProps()
 		saveConfigProps();
 		config.updateFile();
+		closeAudioSilently();
 		if (clearOnExit) {
 			logger.info("Clear cache directory.");
 			config.getRuntime().clearCache();
diff --git a/src/net/sf/zekr/ui/QuranFormMenuFactory.java b/src/net/sf/zekr/ui/QuranFormMenuFactory.java
index 6be6ca6..1acb83f 100644
--- a/src/net/sf/zekr/ui/QuranFormMenuFactory.java
+++ b/src/net/sf/zekr/ui/QuranFormMenuFactory.java
@@ -155,7 +155,7 @@ public class QuranFormMenuFactory {
 
 		// save as...
 		saveAsItem = createMenuItem(SWT.PUSH, fileMenu, lang.getMeaning("SAVE_AS") + "...", "savePageAs",
-				"icon.menu.save");
+				"icon.menu.export");
 		// disabled exporting if HTTP server is enabled
 		saveAsItem.setEnabled(!config.isHttpServerEnabled());
 
@@ -180,7 +180,7 @@ public class QuranFormMenuFactory {
 		// separator
 		new MenuItem(viewMenu, SWT.SEPARATOR);
 		transName = createMenuItem(SWT.CASCADE | direction, viewMenu, lang.getMeaning("TRANSLATION"),
-				"icon.menu.transList");
+				"icon.menu.translation");
 		transMenu = new Menu(shell, SWT.DROP_DOWN | direction);
 		transName.setMenu(transMenu);
 		createOrUpdateTranslationMenu();
@@ -191,10 +191,11 @@ public class QuranFormMenuFactory {
 		viewModeMenu = new Menu(shell, SWT.DROP_DOWN | direction);
 		viewMode.setMenu(viewModeMenu);
 		MenuItem suraViewMode = createMenuItem(SWT.RADIO, viewModeMenu, lang.getMeaningById("PAGING_MODE", "SURA"), null);
-		MenuItem fixedAyaViewMode = createMenuItem(SWT.RADIO, viewModeMenu,
-				lang.getMeaningById("PAGING_MODE", "CONST_AYA") + "...", null);
-		MenuItem hizbViewMode = createMenuItem(SWT.RADIO, viewModeMenu,
-				lang.getMeaningById("PAGING_MODE", "HIZB_QUARTER"), null);
+		MenuItem fixedAyaViewMode = createMenuItem(SWT.RADIO, viewModeMenu, lang.getMeaningById("PAGING_MODE",
+				"CONST_AYA")
+				+ "...", null);
+		MenuItem hizbViewMode = createMenuItem(SWT.RADIO, viewModeMenu, lang
+				.getMeaningById("PAGING_MODE", "HIZB_QUARTER"), null);
 		MenuItem juzViewMode = createMenuItem(SWT.RADIO, viewModeMenu, lang.getMeaningById("PAGING_MODE", "JUZ"), null);
 		MenuItem customViewMode = createMenuItem(SWT.RADIO, viewModeMenu, lang.getMeaningById("PAGING_MODE", "CUSTOM")
 				+ "...", null);
@@ -381,11 +382,11 @@ public class QuranFormMenuFactory {
 			}
 		};
 
-		quranBlockLayoutItem = createMenuItem(SWT.RADIO, quranViewMenu, lang.getMeaning("BLOCK"), "icon.menu.textBlock");
+		quranBlockLayoutItem = createMenuItem(SWT.RADIO, quranViewMenu, lang.getMeaning("BLOCK"), "icon.menu.text_block");
 		quranBlockLayoutItem.addListener(SWT.Selection, blockListener);
 		quranBlockLayoutItem.setData("quran");
 
-		transBlockLayoutItem = createMenuItem(SWT.RADIO, transViewMenu, lang.getMeaning("BLOCK"), "icon.menu.textBlock");
+		transBlockLayoutItem = createMenuItem(SWT.RADIO, transViewMenu, lang.getMeaning("BLOCK"), "icon.menu.text_block");
 		transBlockLayoutItem.addListener(SWT.Selection, blockListener);
 		transBlockLayoutItem.setData("trans");
 
@@ -413,12 +414,12 @@ public class QuranFormMenuFactory {
 		};
 
 		quranLineLayoutItem = createMenuItem(SWT.RADIO, quranViewMenu, lang.getMeaning("LINE_BY_LINE"),
-				"icon.menu.textLineByLine");
+				"icon.menu.text_linebyline");
 		quranLineLayoutItem.addListener(SWT.Selection, inlineListener);
 		quranLineLayoutItem.setData("quran");
 
 		transLineLayoutItem = createMenuItem(SWT.RADIO, transViewMenu, lang.getMeaning("LINE_BY_LINE"),
-				"icon.menu.textLineByLine");
+				"icon.menu.text_linebyline");
 		transLineLayoutItem.addListener(SWT.Selection, inlineListener);
 		transLineLayoutItem.setData("trans");
 
@@ -543,12 +544,12 @@ public class QuranFormMenuFactory {
 		tools.setMenu(toolsMenu);
 
 		Menu addMenu = new Menu(shell, SWT.DROP_DOWN | direction);
-		MenuItem addItem = createMenuItem(SWT.CASCADE, toolsMenu, lang.getMeaning("ADD"), "icon.menu.addResource");
+		MenuItem addItem = createMenuItem(SWT.CASCADE, toolsMenu, lang.getMeaning("ADD"), "icon.menu.add");
 		addItem.setMenu(addMenu);
 
 		// cascading menu for add...
 		MenuItem transAddItem = createMenuItem(SWT.PUSH, addMenu, lang.getMeaning("TRANSLATION") + "...",
-				"icon.menu.addTrans");
+				"icon.menu.translation");
 		transAddItem.addListener(SWT.Selection, new Listener() {
 			public void handleEvent(Event e) {
 				importTrans();
@@ -571,7 +572,7 @@ public class QuranFormMenuFactory {
 		});
 
 		MenuItem recitationPackAddItem = createMenuItem(SWT.PUSH, addMenu, lang.getMeaning("RECITATION")
-				+ " (*.recit.zip) ...", "icon.menu.addOfflineRecitation");
+				+ " (*.recit.zip) ...", "icon.menu.addRecitationPack");
 		recitationPackAddItem.addListener(SWT.Selection, new Listener() {
 			public void handleEvent(Event e) {
 				importRecitationPack();
@@ -676,14 +677,14 @@ public class QuranFormMenuFactory {
 
 	private boolean setFixedAyaMode() {
 		int aypp = config.getProps().getInt("view.pagingMode.ayaPerPage", 20);
-		String ayaStr = MessageBoxUtils.textBoxPrompt(lang.getMeaning("QUESTION"),
-				lang.getMeaningById("PAGING_MODE", "AYA_PER_SURA"), String.valueOf(aypp));
+		String ayaStr = MessageBoxUtils.textBoxPrompt(lang.getMeaning("QUESTION"), lang.getMeaningById("PAGING_MODE",
+				"AYA_PER_SURA"), String.valueOf(aypp));
 		if (!StringUtils.isBlank(ayaStr)) {
 			try {
 				int aya = Integer.parseInt(ayaStr);
 				if (aya <= 0 || aya > QuranPropertiesUtils.QURAN_AYA_COUNT) {
-					MessageBoxUtils.showError(lang.getDynamicMeaning("NUMBER_LIMIT",
-							new String[] { "1", String.valueOf(QuranPropertiesUtils.QURAN_AYA_COUNT) }));
+					MessageBoxUtils.showError(lang.getDynamicMeaning("NUMBER_LIMIT", new String[] { "1",
+							String.valueOf(QuranPropertiesUtils.QURAN_AYA_COUNT) }));
 					logger.error("Aya-per-page out of bound: " + aya);
 					return false;
 				}
@@ -717,11 +718,12 @@ public class QuranFormMenuFactory {
 		}
 
 		List<TranslationData> trans = config.getTranslation().getAllTranslation();
-		String transNameMode = props.getString("trans.name.mode", "english");
 		for (TranslationData td : trans) {
 			String img = getTranslationValidityIcon(td);
-
-			final MenuItem transItem = createMenuItem(SWT.RADIO, transMenu, td.getName(transNameMode, rtl)
+			final MenuItem transItem = createMenuItem(SWT.RADIO, transMenu, StringUtils.abbreviate((rtl ? I18N.RLE + ""
+					: "")
+					+ "[" + td.locale + "]" + " " + (rtl ? I18N.RLM + "" : "") + td.localizedName,
+					GlobalConfig.MAX_MENU_STRING_LENGTH)
 					+ (rtl ? I18N.LRM + "" : ""), img);
 
 			transItem.setData(td.id);
@@ -885,8 +887,8 @@ public class QuranFormMenuFactory {
 
 			int result = MessageBoxUtils.radioQuestionPrompt(
 					new String[] { lang.getMeaningById("IMPORT_QUESTION", "ME_ONLY"),
-							lang.getMeaningById("IMPORT_QUESTION", "ALL_USERS") },
-					lang.getMeaningById("IMPORT_QUESTION", "IMPORT_FOR"), lang.getMeaning("QUESTION"));
+							lang.getMeaningById("IMPORT_QUESTION", "ALL_USERS") }, lang.getMeaningById("IMPORT_QUESTION",
+							"IMPORT_FOR"), lang.getMeaning("QUESTION"));
 
 			if (result == -1) {
 				return;
@@ -955,8 +957,8 @@ public class QuranFormMenuFactory {
 
 			int result = MessageBoxUtils.radioQuestionPrompt(
 					new String[] { lang.getMeaningById("IMPORT_QUESTION", "ME_ONLY"),
-							lang.getMeaningById("IMPORT_QUESTION", "ALL_USERS") },
-					lang.getMeaningById("IMPORT_QUESTION", "IMPORT_FOR"), lang.getMeaning("QUESTION"));
+							lang.getMeaningById("IMPORT_QUESTION", "ALL_USERS") }, lang.getMeaningById("IMPORT_QUESTION",
+							"IMPORT_FOR"), lang.getMeaning("QUESTION"));
 
 			if (result == -1) {
 				return;
@@ -1140,8 +1142,8 @@ public class QuranFormMenuFactory {
 
 			int result = MessageBoxUtils.radioQuestionPrompt(
 					new String[] { lang.getMeaningById("IMPORT_QUESTION", "ME_ONLY"),
-							lang.getMeaningById("IMPORT_QUESTION", "ALL_USERS") },
-					lang.getMeaningById("IMPORT_QUESTION", "IMPORT_FOR"), lang.getMeaning("QUESTION"));
+							lang.getMeaningById("IMPORT_QUESTION", "ALL_USERS") }, lang.getMeaningById("IMPORT_QUESTION",
+							"IMPORT_FOR"), lang.getMeaning("QUESTION"));
 
 			if (result == -1) {
 				return;
diff --git a/src/net/sf/zekr/ui/RootTabForm.java b/src/net/sf/zekr/ui/RootTabForm.java
index c60746f..a3aeb81 100644
--- a/src/net/sf/zekr/ui/RootTabForm.java
+++ b/src/net/sf/zekr/ui/RootTabForm.java
@@ -305,7 +305,7 @@ public class RootTabForm {
 			logger.info("Navigate to page #" + pageNo + " of root search result.");
 			Browser searchBrowser = quranForm.viewLayout == QuranForm.TRANS_ONLY ? quranForm.transBrowser
 					: quranForm.quranBrowser;
-			searchBrowser.setUrl(quranForm.quranUri = HtmlRepository.getAdvancedSearchQuranUri(srm, pageNo - 1));
+			searchBrowser.setUrl(HtmlRepository.getAdvancedSearchQuranUri(srm, pageNo - 1));
 			quranForm.pageChanged = true;
 		} catch (HtmlGenerationException e) {
 			logger.log(e);
diff --git a/src/net/sf/zekr/ui/splash/AdvancedSplashScreen.java b/src/net/sf/zekr/ui/splash/AdvancedSplashScreen.java
index 7549b0e..f869217 100644
--- a/src/net/sf/zekr/ui/splash/AdvancedSplashScreen.java
+++ b/src/net/sf/zekr/ui/splash/AdvancedSplashScreen.java
@@ -50,7 +50,7 @@ public class AdvancedSplashScreen extends AbstractSplachScreen {
 				new Image(display, resource.getString("icon.form48")),
 				new Image(display, resource.getString("icon.form128")),
 				new Image(display, resource.getString("icon.form256")) });
-		
+
 		shell.addListener(EventProtocol.CUSTOM_ZEKR_EVENT, new Listener() {
 			public void handleEvent(Event e) {
 				if (e.data != null) {
diff --git a/zekr.sh b/zekr.sh
index c2cab1d..d271c60 100755
--- a/zekr.sh
+++ b/zekr.sh
@@ -5,7 +5,7 @@
 # variable MOZILLA_FIVE_HOME to your Mozilla home folder.
 # See http://zekr.org/faq.html#linux for more details.
 
-# change the following line to a proper Mozilla-GTK2 installation directory.
+# uncomment and change the following line to a proper Mozilla-GTK2 installation directory.
 export MOZILLA_FIVE_HOME=/usr/lib/firefox
 
 if [ -z "$MOZILLA_FIVE_HOME" ]; then

-- 
Packaging for Zekr



More information about the Debian-islamic-commits mailing list