diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php
index fcf26bf6a30843455779337965cb3f8f7bbb7a94..30095347e1f5acf52b4d1f2f05bee8c0c223a072 100644
--- a/inc/lang/ar/lang.php
+++ b/inc/lang/ar/lang.php
@@ -14,88 +14,89 @@ $lang['doublequoteclosing']    = '”';
 $lang['singlequoteopening']    = '‘';
 $lang['singlequoteclosing']    = '’';
 $lang['apostrophe']            = 'Ø›';
-$lang['btn_edit']              = 'تحرير هذه الصفحة';
-$lang['btn_source']            = 'عرض مصدر الصفحة';
-$lang['btn_show']              = 'عرض الصفحة';
-$lang['btn_create']            = 'إنشاء هذه الصفحة';
-$lang['btn_search']            = 'بحث';
-$lang['btn_save']              = 'حفظ';
-$lang['btn_preview']           = 'استعراض';
-$lang['btn_top']               = 'لأعلى';
+$lang['btn_edit']              = 'حرر هذه الصفحة';
+$lang['btn_source']            = 'اعرض مصدر الصفحة';
+$lang['btn_show']              = 'اعرض الصفحة';
+$lang['btn_create']            = 'أنشئ هذه الصفحة';
+$lang['btn_search']            = 'ابحث';
+$lang['btn_save']              = 'احفظ';
+$lang['btn_preview']           = 'عاين';
+$lang['btn_top']               = 'ارجع للأعلى';
 $lang['btn_newer']             = '<< أحدث';
 $lang['btn_older']             = 'أقدم >>';
 $lang['btn_revs']              = 'نسخ قديمة';
-$lang['btn_recent']            = 'أحدث التعديلات';
-$lang['btn_upload']            = 'تحميل';
-$lang['btn_cancel']            = 'إلغاء';
+$lang['btn_recent']            = 'أحدث التغييرات';
+$lang['btn_upload']            = 'ارفع';
+$lang['btn_cancel']            = 'ألغ';
 $lang['btn_index']             = 'فهرس';
-$lang['btn_secedit']           = 'تحرير';
-$lang['btn_login']             = 'دخول';
-$lang['btn_logout']            = 'خروج';
+$lang['btn_secedit']           = 'حرر';
+$lang['btn_login']             = 'لج';
+$lang['btn_logout']            = 'اخرج';
 $lang['btn_admin']             = 'المدير';
-$lang['btn_update']            = 'تحديث';
-$lang['btn_delete']            = 'حذف';
-$lang['btn_back']              = 'رجوع';
+$lang['btn_update']            = 'حدّث';
+$lang['btn_delete']            = 'احذف';
+$lang['btn_back']              = 'ارجع';
 $lang['btn_backlink']          = 'ارتباطات';
-$lang['btn_backtomedia']       = 'رجوع إلى اختيار ملف الوسائط';
-$lang['btn_subscribe']         = 'اشترك في التعديلات';
-$lang['btn_profile']           = 'تحديث الملف الشخصي';
-$lang['btn_reset']             = 'تفريغ';
-$lang['btn_resendpwd']         = 'إرسال كلمة مرور جديدة';
-$lang['btn_draft']             = 'تحرير المسوّدة';
-$lang['btn_recover']           = 'استعادة المسوّدة';
-$lang['btn_draftdel']          = 'حذف المسوّدة';
-$lang['btn_revert']            = 'إعادة';
-$lang['loggedinas']            = 'دخول باسم';
-$lang['user']                  = 'اسم المشترك';
-$lang['pass']                  = 'كلمة المرور';
-$lang['newpass']               = 'كلمة مرور جديدة';
-$lang['oldpass']               = 'تأكيد كلمة المرور الحالية';
+$lang['btn_backtomedia']       = 'ارجع إلى اختيار ملف الوسائط';
+$lang['btn_subscribe']         = 'ادر الاشتراكات';
+$lang['btn_profile']           = 'حدث الملف الشخصي';
+$lang['btn_reset']             = 'صفّر';
+$lang['btn_resendpwd']         = 'ارسل كلمة سر جديدة';
+$lang['btn_draft']             = 'حرر المسودة';
+$lang['btn_recover']           = 'استرجع المسودة';
+$lang['btn_draftdel']          = 'احذف المسوّدة';
+$lang['btn_revert']            = 'استعد
+';
+$lang['loggedinas']            = 'داخل باسم';
+$lang['user']                  = 'اسم المستخدم';
+$lang['pass']                  = 'كلمة السر';
+$lang['newpass']               = 'كلمة سر جديدة';
+$lang['oldpass']               = 'أكد كلمة السر الحالية';
 $lang['passchk']               = 'مرة أخرى';
 $lang['remember']              = 'تذكرني';
 $lang['fullname']              = 'الاسم الكامل';
 $lang['email']                 = 'البريد الإلكتروني';
-$lang['register']              = 'تسجيل';
+$lang['register']              = 'سجّل';
 $lang['profile']               = 'الملف الشخصي';
-$lang['badlogin']              = 'عذرا، اسم المشترك أو كلمة المرور غير صحيحة';
+$lang['badlogin']              = 'عذرا، اسم المشترك أو كلمة السر غير صحيحة';
 $lang['minoredit']             = 'تعديلات طفيفة';
-$lang['draftdate']             = 'تشغيل حفظ المسوّدة آلياً';
+$lang['draftdate']             = 'حفظ المسودات تلقائيا مشغل';
 $lang['nosecedit']             = 'غُيرت الصفحة في هذه الأثناء، معلومات الفقرة اصبحت قديمة. حُمُلت كل الصفحة بدلا.';
-$lang['regmissing']            = 'عذرا، يجب ملء جميع الخانات';
-$lang['reguexists']            = 'عذرا، يوجد مشترك بنفس الاسم';
-$lang['regsuccess']            = 'تم تسجيل المشترك و أرسلت كلمة المرور عبر البريد الإلكتروني';
-$lang['regsuccess2']           = 'تم إنشاء المشترك';
-$lang['regmailfail']           = 'حدث خطأ فى إرسال رسالة كلمة المرور. يرجى مراسلة المدير';
-$lang['regbadmail']            = 'البريد الإلكتروني المعطى غير صحيح، إن كنت تظن الخطأ من الموقع راسل المدير';
-$lang['regbadpass']            = 'كلمتى المرور غير متطابقتين، حاول مرة أخرى';
-$lang['regpwmail']             = 'كلمة مرورك إلى دوكي ويكي';
-$lang['reghere']               = 'لست مشتركاً؟ تفضل اشترك';
+$lang['regmissing']            = 'عذرا، يجب ملء جميع الحقول';
+$lang['reguexists']            = 'عذرا، يوجد مشترك بنفس الاسم.';
+$lang['regsuccess']            = 'أنشئ المستخدم و ارسلت كلمة السر بالبريد.';
+$lang['regsuccess2']           = 'أنشئ المستخدم.';
+$lang['regmailfail']           = 'حدث خطأ فى إرسال رسالة كلمة اسرر. يرجى مراسلة المدير';
+$lang['regbadmail']            = 'يبدو البريد الإلكتروني المعطى غير صحيح، إن كنت تظن أن هذا خطأ، راسل المدير';
+$lang['regbadpass']            = 'كلمتى المرور غير متطابقتين، حاول مرة أخرى.';
+$lang['regpwmail']             = 'كلمة مرورك إلى دوكو ويكي';
+$lang['reghere']               = 'ليس لديك حساب بعد؟ احصل على واحد';
 $lang['profna']                = 'هذه الويكي لا تدعم تعديل الملف الشخصي';
-$lang['profnochange']          = 'لا تغييرات، لا شيء مطلوب عمله';
-$lang['profnoempty']           = 'ليس مسموحاً ترك الاسم أو البريد الإلكتروني فارغاً';
-$lang['profchanged']           = 'تم تحديث الملف الشخصي بنجاح';
-$lang['pwdforget']             = 'نسيت كلمة المرور؟ احصل على واحدة جديدة';
-$lang['resendna']              = 'هذه الويكي لا تدعم إعادة إرسال كلمة المرور';
-$lang['resendpwd']             = 'إرسال كلمة المرور إلى';
-$lang['resendpwdmissing']      = 'عذراّ، يجب أن تملأ جميع الخانات';
-$lang['resendpwdnouser']       = 'عذراً، لدينا هذا المشترك في قاعدة بياناتنا';
-$lang['resendpwdbadauth']      = 'عذراً، رمز التفعيل هذا غير صحيح. نأكد أنك استخدمت كامل وصلة التأكيد';
-$lang['resendpwdconfirm']      = 'تم إرسال وصلة تأكيد إلى بريدك الإلكتروني';
-$lang['resendpwdsuccess']      = 'كلمة مرورك الجديدة تم إرسالها عبر البريد الإلكتروني';
+$lang['profnochange']          = 'لا تغييرات، لا شيء ليُعمل.';
+$lang['profnoempty']           = 'غير مسموح باسم مستخدم أو بريد فارغ.';
+$lang['profchanged']           = 'حُدث الملف الشخصي للمستخدم بنجاح.';
+$lang['pwdforget']             = 'أنسيت كلمة السر؟ احصل على واحدة جديدة';
+$lang['resendna']              = 'هذه الويكي لا تدعم إعادة إرسال كلمة المرور.';
+$lang['resendpwd']             = 'إرسال كلمة مرور';
+$lang['resendpwdmissing']      = 'عذراّ، يجب أن تملأ كل الحقول.';
+$lang['resendpwdnouser']       = 'عذراً، لم نجد المستخدم هذا في قاعدة بياناتنا.';
+$lang['resendpwdbadauth']      = 'عذراً، رمز التفعيل هذا غير صحيح. نأكد من استخدامك كامل وصلة التأكيد.';
+$lang['resendpwdconfirm']      = 'أرسل رابط التأكيد بواسطة البريد.';
+$lang['resendpwdsuccess']      = 'كلمة السرالجديدة إرسلت عبر البريد.';
 $lang['license']               = 'مالم يشر لخلاف ذلك، فإن المحتوى على هذه الويكي مرخص وفق الرخصة التالية:';
 $lang['licenseok']             = 'لاحظ: بتحرير هذه الصفحة أنت توافق على ترخيص محتواها تحت الرخصة التالية:';
-$lang['searchmedia']           = 'البحث عن اسم الملف : ';
+$lang['searchmedia']           = 'ابحث في اسماء الملفات:';
 $lang['searchmedia_in']        = 'ابحث في %s';
-$lang['txt_upload']            = 'اختر ملفاً للتحميل';
-$lang['txt_filename']          = 'تحميل باسم - اختياري';
-$lang['txt_overwrt']           = 'الكتابة على ملف موجود بنفس الاسم مسموحة';
-$lang['lockedby']              = 'حالياً مقفول بواسطة';
-$lang['lockexpire']            = 'سينتهي القفل في';
-$lang['willexpire']            = 'سينتهي قفل تحرير هذه الصفحه خلال دقيقة. لتجنب التعارض استخدم زر استعراض لبدأ القفل من جديد';
-$lang['js']['notsavedyet']     = 'التعديلات التي لم تحفظ ستفقد. أموافق ؟';
-$lang['js']['searchmedia']     = 'البحث عن الملفات';
+$lang['txt_upload']            = 'اختر ملفاً للرفع';
+$lang['txt_filename']          = 'رفع كـ (اختياري)';
+$lang['txt_overwrt']           = 'اكتب على ملف موجود';
+$lang['lockedby']              = 'حالياً مقفل بواسطة';
+$lang['lockexpire']            = 'ينتهي القفل في';
+$lang['willexpire']            = 'سينتهي قفل تحرير هذه الصفحه خلال دقيقة.\nلتجنب التعارض استخدم زر المعاينة لتصفير مؤقت القفل.';
+$lang['js']['notsavedyet']     = 'التعديلات غير المحفوظة ستفقد. اكمل فعلا؟';
+$lang['js']['searchmedia']     = 'ابحث عن ملفات';
 $lang['js']['keepopen']        = 'أبقي النافذة مفتوحة أثناء الاختيار';
-$lang['js']['hidedetails']     = 'إخفاء التفاصيل';
+$lang['js']['hidedetails']     = 'أخف التفاصيل';
 $lang['js']['mediatitle']      = 'اعدادات الرابط';
 $lang['js']['mediadisplay']    = 'نوع الرابط';
 $lang['js']['mediaalign']      = 'المحاذاة';
diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php
index 2dfed59dc0976c92fd066d0c6e765c177da8482e..4a96e373e80b7a094563304c342a7e3551b659f8 100644
--- a/inc/lang/en/lang.php
+++ b/inc/lang/en/lang.php
@@ -247,8 +247,8 @@ $lang['subscr_m_unsubscribe']      = 'Unsubscribe';
 $lang['subscr_m_subscribe']        = 'Subscribe';
 $lang['subscr_m_receive']          = 'Receive';
 $lang['subscr_style_every']        = 'email on every change';
-$lang['subscr_style_digest']       = 'digest email of changes for each page';
-$lang['subscr_style_list']         = 'list of changed pages since last email';
+$lang['subscr_style_digest']       = 'digest email of changes for each page (every %.2f days)';
+$lang['subscr_style_list']         = 'list of changed pages since last email (every %.2f days)';
 
 
 /* auth.class language support */
diff --git a/inc/subscription.php b/inc/subscription.php
index e5938d9bdb6775e19fa77ea7eeb1da0c6473823d..ce5da4cd4a60fd9c8da3ab244766cb769811b5a7 100644
--- a/inc/subscription.php
+++ b/inc/subscription.php
@@ -9,6 +9,8 @@
  * - subscription_set
  * - get_info_subscribed
  * - subscription_addresslist
+ * - subscription_lock
+ * - subscription_unlock
  *
  * @author  Adrian Lang <lang@cosmocode.de>
  * @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
@@ -36,6 +38,32 @@ function subscription_filename($id) {
     return metaFN($meta_froot, $meta_fname);
 }
 
+/**
+ * Lock subscription info for an ID
+ *
+ * @param string $id The target page or namespace, specified by id; Namespaces
+ *                   are identified by appending a colon.
+ *
+ * @author Adrian Lang <lang@cosmocode.de>
+ */
+function subscription_lock($id) {
+    $lockf = subscription_filename($id) . '.lock';
+    return !file_exists($lockf) && touch($lockf);
+}
+
+/**
+ * Unlock subscription info for an ID
+ *
+ * @param string $id The target page or namespace, specified by id; Namespaces
+ *                   are identified by appending a colon.
+ *
+ * @author Adrian Lang <lang@cosmocode.de>
+ */
+function subscription_unlock($id) {
+    $lockf = subscription_filename($id) . '.lock';
+    return file_exists($lockf) && unlink($lockf);
+}
+
 /**
  * Set subscription information
  *
diff --git a/inc/template.php b/inc/template.php
index 3eda2f4af704450c36246ddd6fdda8bcd2198891..c1e3e76abb1859b6b177c1ba27218300fe7612a9 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -1347,6 +1347,7 @@ function tpl_subscribe() {
     global $INFO;
     global $ID;
     global $lang;
+    global $conf;
 
     echo p_locale_xhtml('subscr_form');
     echo '<h2>' . $lang['subscr_m_current_header'] . '</h2>';
@@ -1387,10 +1388,11 @@ function tpl_subscribe() {
             $ID => '<code class="page">'.prettyprint_id($ID).'</code>',
             $ns => '<code class="ns">'.prettyprint_id($ns).'</code>',
             );
+    $stime_days = $conf['subscribe_time']/60/60/24;
     $styles = array(
             'every'  => $lang['subscr_style_every'],
-            'digest' => $lang['subscr_style_digest'],
-            'list'   => $lang['subscr_style_list'],
+            'digest' => sprintf($lang['subscr_style_digest'], $stime_days),
+            'list' => sprintf($lang['subscr_style_list'], $stime_days),
             );
 
     $form = new Doku_Form(array('id' => 'subscribe__form'));
diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php
index eb56700058d3882c90d691c9342b61fab1c652e7..7e55915f41e2fb8d21eb65e5ac1acfd1d2ed2334 100644
--- a/lib/exe/indexer.php
+++ b/lib/exe/indexer.php
@@ -353,6 +353,9 @@ function sendDigest() {
     $olduser  = $_SERVER['REMOTE_USER'];
 
     foreach($subscriptions as $id => $users) {
+        if (!subscription_lock($id)) {
+            continue;
+        }
         foreach($users as $data) {
             list($user, $style, $lastupdate) = $data;
             $lastupdate = (int) $lastupdate;
@@ -399,6 +402,7 @@ function sendDigest() {
             // Update notification time.
             subscription_set($user, $id, $style, time(), true);
         }
+        subscription_unlock($id);
     }
 
     // restore current user info