[LON-CAPA-cvs] cvs: loncom /interface loncommon.pm lonhtmlcommon.pm lonpreferences.pm /localize/localize de.pm
bisitz
bisitz@source.lon-capa.org
Tue, 05 May 2009 16:01:57 -0000
This is a MIME encoded message
--bisitz1241539317
Content-Type: text/plain
bisitz Tue May 5 16:01:57 2009 EDT
Modified files:
/loncom/interface loncommon.pm lonhtmlcommon.pm lonpreferences.pm
/loncom/localize/localize de.pm
Log:
Optimized and enhanced confirm messages:
(currently only used in lonpreferences.pm)
- Introduce new sub routine "confirmwrapper" and related style "LC_confirm_box"
Wraps option changes confirmation messages in a box (better separation from rest of screen)
- Moved trailing confirm icons (success/error) to begin of the confirm texts
- Added confirmwrapper to preference settings; consistent output (removed some br, hr, etc.)
- Added HTML new line codes ("\n") to lines in &confirm_success
Localization and Wording:
- Optimized &mt usage und optimized localization file usage:
Re-use existing phrases and always use same structure of messages ("Set [_1] to [_2]" and "Reset [_1]")
- Optimized wording (eg., Screenname and Nickname)
- Some optimized/corrected German translations and removed now unused phrases
- Optimized confirm text output for author option: "Block access to construction space"
--bisitz1241539317
Content-Type: text/plain
Content-Disposition: attachment; filename="bisitz-20090505160157.txt"
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.801 loncom/interface/loncommon.pm:1.802
--- loncom/interface/loncommon.pm:1.801 Mon May 4 19:35:31 2009
+++ loncom/interface/loncommon.pm Tue May 5 16:01:50 2009
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.801 2009/05/04 19:35:31 tempelho Exp $
+# $Id: loncommon.pm,v 1.802 2009/05/05 16:01:50 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2814,6 +2814,26 @@
}
+# ------------------------------------------------------------- Confirm Wrapper
+=pod
+
+=item confirmwrapper
+
+Wrap messages about completion of operation in box
+
+=cut
+
+sub confirmwrapper {
+ my ($message)=@_;
+ if ($message) {
+ return "\n".'<div class="LC_confirm_box">'."\n"
+ .$message."\n"
+ .'</div>'."\n";
+ } else {
+ return $message;
+ }
+}
+
# ------------------------------------------------------------- Message Wrapper
sub messagewrapper {
@@ -2824,6 +2844,7 @@
'&subject='.&escape($subject).'&text='.&escape($text).'" '.
'title="'.&mt('Send message').'">'.$link.'</a>';
}
+
# --------------------------------------------------------------- Notes Wrapper
sub noteswrapper {
@@ -2831,6 +2852,7 @@
return
"<a href='/adm/email?recordftf=retrieve&recname=$un&recdom=$do'>$link</a>";
}
+
# ------------------------------------------------------------- Aboutme Wrapper
sub aboutmewrapper {
@@ -2844,12 +2866,13 @@
# ------------------------------------------------------------ Syllabus Wrapper
-
sub syllabuswrapper {
my ($linktext,$coursedir,$domain)=@_;
return qq{<a href="/public/$domain/$coursedir/syllabus">$linktext</a>};
}
+# -----------------------------------------------------------------------------
+
sub track_student_link {
my ($linktext,$sname,$sdom,$target,$start) = @_;
my $link ="/adm/trackstudent?";
@@ -4611,6 +4634,18 @@
color: green;
}
+div.LC_confirm_box {
+ background-color: #FAFAFA;
+ border: 1px solid $lg_border_color;
+ margin-right: 0;
+ padding: 5px;
+}
+
+div.LC_confirm_box .LC_error img,
+div.LC_confirm_box .LC_success img {
+ vertical-align: middle;
+}
+
.LC_unknown {
color: yellow;
}
Index: loncom/interface/lonhtmlcommon.pm
diff -u loncom/interface/lonhtmlcommon.pm:1.210 loncom/interface/lonhtmlcommon.pm:1.211
--- loncom/interface/lonhtmlcommon.pm:1.210 Wed Apr 29 18:42:38 2009
+++ loncom/interface/lonhtmlcommon.pm Tue May 5 16:01:50 2009
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common html routines
#
-# $Id: lonhtmlcommon.pm,v 1.210 2009/04/29 18:42:38 raeburn Exp $
+# $Id: lonhtmlcommon.pm,v 1.211 2009/05/05 16:01:50 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -76,13 +76,15 @@
sub confirm_success {
my ($message,$failure)=@_;
if ($failure) {
- return '<span class="LC_error">'.
- $message.
- ' <img src="/adm/lonIcons/navmap.wrong.gif" /></span>';
+ return '<span class="LC_error">'."\n"
+ .'<img src="/adm/lonIcons/navmap.wrong.gif" /> '."\n"
+ .$message."\n"
+ .'</span>'."\n";
} else {
- return '<span class="LC_success">'.
- $message.
- ' <img src="/adm/lonIcons/navmap.correct.gif" /></span>';
+ return '<span class="LC_success">'."\n"
+ .'<img src="/adm/lonIcons/navmap.correct.gif" /> '."\n"
+ .$message."\n"
+ .'</span>'."\n";
}
}
Index: loncom/interface/lonpreferences.pm
diff -u loncom/interface/lonpreferences.pm:1.157 loncom/interface/lonpreferences.pm:1.158
--- loncom/interface/lonpreferences.pm:1.157 Tue May 5 11:40:51 2009
+++ loncom/interface/lonpreferences.pm Tue May 5 16:01:50 2009
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Preferences
#
-# $Id: lonpreferences.pm,v 1.157 2009/05/05 11:40:51 bisitz Exp $
+# $Id: lonpreferences.pm,v 1.158 2009/05/05 16:01:50 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -135,8 +135,9 @@
my $newsetting=$env{'form.wysiwyg'};
&Apache::lonnet::put('environment',{'wysiwygeditor' => $newsetting});
&Apache::lonnet::appenv({'environment.wysiwygeditor' => $newsetting});
- &print_main_menu($r,'<p>'.&Apache::lonhtmlcommon::confirm_success(&mt('Setting WYSIWYG editor to:').' '
- .&mt($newsetting)).'</p>');
+ my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('WYSIWYG Editor').'</i>','<tt>'.&mt($newsetting).'</tt>'));
+ $message=&Apache::loncommon::confirmwrapper($message);
+ &print_main_menu($r,$message);
}
################################################################
@@ -186,12 +187,13 @@
if ($newlanguage) {
&Apache::lonnet::put('environment',{'languages' => $newlanguage});
&Apache::lonnet::appenv({'environment.languages' => $newlanguage});
- $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set new preferred languages to ').'<tt>"'.$newlanguage.'"</tt>.');
+ $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('Preferred language').'</i>','<tt>"'.$newlanguage.'"</tt>.'));
} else {
&Apache::lonnet::del('environment',['languages']);
&Apache::lonnet::delenv('environment.languages');
- $message=&Apache::lonhtmlcommon::confirm_success(&mt('Reset preferred language.'));
+ $message=&Apache::lonhtmlcommon::confirm_success(&mt('Reset [_1]','<i>'.&mt('Preferred language').'</i>'));
}
+ $message=&Apache::loncommon::confirmwrapper($message);
&Apache::loncommon::flush_langs_cache($user,$domain);
&print_main_menu($r, $message);
}
@@ -300,12 +302,13 @@
if ($newtexengine) {
&Apache::lonnet::put('environment',{'texengine' => $newtexengine});
&Apache::lonnet::appenv({'environment.texengine' => $newtexengine});
- $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set new preferred math display to ').'<tt>"'.$newtexengine.'"</tt>.');
+ $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('Preferred method to display Math').'</i>','<tt>"'.$newtexengine.'"</tt>'));
} else {
&Apache::lonnet::del('environment',['texengine']);
&Apache::lonnet::delenv('environment.texengine');
- $message=&Apache::lonhtmlcommon::confirm_success(&mt('Reset preferred math display.'));
+ $message=&Apache::lonhtmlcommon::confirm_success(&mt('Reset [_1]','<i>'.&mt('Preferred method to display Math').'</i>'));
}
+ $message=&Apache::loncommon::confirmwrapper($message);
&print_main_menu($r, $message);
}
@@ -473,7 +476,7 @@
# Unset any roles that were previously frozen but aren't in list
foreach my $role_key (sort(keys(%recent_roles))) {
if (($frozen_roles{$role_key}) && (!exists($freeze{$role_key}))) {
- $message .= "<br />".&Apache::lonhtmlcommon::confirm_success(&mt('Unfreezing '.$role.': [_1]',$role_text{$role_key}))."\n";
+ $message .= "<br />".&Apache::lonhtmlcommon::confirm_success(&mt('Unfreezing '.$role.': [_1]','<i>'.$role_text{$role_key}.'</i>'));
&Apache::lonhtmlcommon::store_recent('roles',$role_key,' ',0);
}
}
@@ -482,12 +485,12 @@
foreach my $role_key (@freeze_list) {
if (!$frozen_roles{$role_key}) {
$message .= "<br />".
- &Apache::lonhtmlcommon::confirm_success(&mt('Freezing '.$role.': [_1]',$role_text{$role_key}))."\n";
+ &Apache::lonhtmlcommon::confirm_success(&mt('Freezing '.$role.': [_1]','<i>'.$role_text{$role_key}.'</i>'));
&Apache::lonhtmlcommon::store_recent('roles',
$role_key,' ',1);
}
}
- $message .= "<hr /><br />\n";
+ $message=&Apache::loncommon::confirmwrapper($message);
&print_main_menu($r, $message);
}
@@ -516,10 +519,10 @@
$r->print('<form name="prefs" action="/adm/preferences" method="post">'
.'<input type="hidden" name="action" value="verify_and_change_screenname" />'
.&Apache::lonhtmlcommon::start_pick_box()
- .&Apache::lonhtmlcommon::row_title(&mt('New screenname (shown if you post anonymously)'))
+ .&Apache::lonhtmlcommon::row_title(&mt('Screenname').' '.&mt('(shown if you post anonymously)'))
.'<input type="text" size="20" value="'.$screenname.'" name="screenname" />'
.&Apache::lonhtmlcommon::row_closure()
- .&Apache::lonhtmlcommon::row_title(&mt('New nickname (shown if you post non-anonymously)'))
+ .&Apache::lonhtmlcommon::row_title(&mt('Nickname').' '.&mt('(shown if you post non-anonymously)'))
.'<input type="text" size="20" value="'.$nickname.'" name="nickname" />'
.&Apache::lonhtmlcommon::row_closure()
.&Apache::lonhtmlcommon::row_title()
@@ -541,11 +544,11 @@
if ($newscreen) {
&Apache::lonnet::put('environment',{'screenname' => $newscreen});
&Apache::lonnet::appenv({'environment.screenname' => $newscreen});
- $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set new screenname to ').'<tt>"'.$newscreen.'."</tt>.');
+ $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('Screenname').'</i>','<tt>"'.$newscreen.'."</tt>'));
} else {
&Apache::lonnet::del('environment',['screenname']);
&Apache::lonnet::delenv('environment.screenname');
- $message=&Apache::lonhtmlcommon::confirm_success(&mt('Reset screenname.'));
+ $message=&Apache::lonhtmlcommon::confirm_success(&mt('Reset [_1]','<i>'.&mt('Screenname').'</i>'));
}
# Nickname
$message.='<br />';
@@ -554,13 +557,14 @@
if ($newscreen) {
&Apache::lonnet::put('environment',{'nickname' => $newscreen});
&Apache::lonnet::appenv({'environment.nickname' => $newscreen});
- $message.=&Apache::lonhtmlcommon::confirm_success(&mt('Set new nickname to ').'<tt>"'.$newscreen.'"</tt>.');
+ $message.=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('Nickname').'</i>','<tt>"'.$newscreen.'"</tt>.'));
} else {
&Apache::lonnet::del('environment',['nickname']);
&Apache::lonnet::delenv('environment.nickname');
- $message.=&Apache::lonhtmlcommon::confirm_success(&mt('Reset nickname.'));
+ $message.=&Apache::lonhtmlcommon::confirm_success(&mt('Reset [_1]','<i>'.&mt('Nickname').'</i>'));
}
&Apache::lonnet::devalidate_cache_new('namescache',$user.':'.$domain);
+ $message=&Apache::loncommon::confirmwrapper($message);
&print_main_menu($r, $message);
}
@@ -609,11 +613,13 @@
my $r = shift;
my $user = $env{'user.name'};
my $domain = $env{'user.domain'};
- my $newicons = $env{'form.menumode'};
+ my $newicons = $env{'form.menumode'};
&Apache::lonnet::put('environment',{'icons' => $newicons});
&Apache::lonnet::appenv({'environment.icons' => $newicons});
- &print_main_menu($r, &Apache::lonhtmlcommon::confirm_success(&mt('Set menu mode to [_1].',$newicons)));
+ my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('Menu Display').'</i>','<tt>'.$newicons.'</tt>'));
+ $message=&Apache::loncommon::confirmwrapper($message);
+ &print_main_menu($r, $message);
}
################################################################
@@ -661,7 +667,9 @@
$newclickers=~s/\,$//;
&Apache::lonnet::put('environment',{'clickers' => $newclickers});
&Apache::lonnet::appenv({'environment.clickers' => $newclickers});
- &print_main_menu($r, &Apache::lonhtmlcommon::confirm_success(&mt('Registering clickers: [_1]',$newclickers)));
+ my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Registering clickers: [_1]',$newclickers));
+ $message=&Apache::loncommon::confirmwrapper($message);
+ &print_main_menu($r, $message);
}
################################################################
@@ -704,7 +712,15 @@
if ($env{'form.construction'}) { $domcoord{'domcoord.author'}='blocked'; }
&Apache::lonnet::put('environment',\%domcoord);
&Apache::lonnet::appenv({'environment.domcoord.author' => $domcoord{'domcoord.author'}});
- &print_main_menu($r,&Apache::lonhtmlcommon::confirm_success(&mt('Registering Domain Coordinator access restrictions.')));
+ my $status='';
+ if ($domcoord{'domcoord.author'} eq 'blocked') {
+ $status=&mt('on');
+ } else {
+ $status=&mt('off');
+ }
+ my $message=&Apache::lonhtmlcommon::confirm_success(&mt('Set [_1] to [_2]','<i>'.&mt('Block access to construction space').'</i>','<tt>'.$status.'</tt>'));
+ $message=&Apache::loncommon::confirmwrapper($message);
+ &print_main_menu($r,$message);
}
#################################################################
@@ -1183,6 +1199,7 @@
.'<br />';
}
}
+ $message=&Apache::loncommon::confirmwrapper($message);
my $now = time;
&Apache::lonnet::put('environment',{'color.timestamp' => $now});
@@ -1544,7 +1561,7 @@
# Inform the user the password has (not?) been changed
my $message;
if ($result =~ /^ok$/) {
- $message = &Apache::lonhtmlcommon::confirm_success(&mt('The password for [_1] was successfully changed.',$user));
+ $message = &Apache::lonhtmlcommon::confirm_success(&mt('The password for user [_1] was successfully changed.','<i>'.$user.'<i>'));
if ($caller eq 'reset_by_email') {
$r->print($message.'<br />');
} else {
@@ -1553,8 +1570,9 @@
} else {
# error error: run in circles, scream and shout
$message = &Apache::lonhtmlcommon::confirm_success(
- &mt("The password for [_1] was not changed.",$user).' '.&mt('Please make sure your old password was entered correctly.'),1);
+ &mt("The password for user [_1] was not changed.",'<i>'.$user.'</i>').' '.&mt('Please make sure your old password was entered correctly.'),1);
unless ($caller eq 'reset_by_email') {
+ $message=&Apache::loncommon::confirmwrapper($message);
&print_main_menu($r, $message);
}
return 1;
@@ -1635,9 +1653,10 @@
<input type="hidden" name="action" value="verify_and_change_discussion" />
<br />
$lt{'sdpf'}<br /> $lt{'prca'} <ol><li>$lt{'whpo'}</li><li>$lt{'unwh'}</li></ol>
-<br />
-<br />
END
+
+ $r->print('<p class="LC_info">'.$lt{'thde'}.'</p>');
+
$r->print(&Apache::loncommon::start_data_table());
$r->print(<<"END");
<tr>
@@ -1663,7 +1682,10 @@
$r->print(&Apache::loncommon::end_data_table_row().
&Apache::loncommon::end_data_table());
- $r->print('<br /><br /><input type="submit" name="sub" value="'.&mt('Save').'" /><br /><br />'.&mt('Note').': '.$lt{'thde'}.'</form>');
+ $r->print('<br />'
+ .'<input type="submit" name="sub" value="'.&mt('Save').'" />'
+ .'</form>'
+ );
}
sub verify_and_change_discussion {
@@ -1695,6 +1717,7 @@
&Apache::lonnet::delenv('environment.discmarkread');
}
}
+ $message=&Apache::loncommon::confirmwrapper($message);
&print_main_menu($r, $message);
}
Index: loncom/localize/localize/de.pm
diff -u loncom/localize/localize/de.pm:1.286 loncom/localize/localize/de.pm:1.287
--- loncom/localize/localize/de.pm:1.286 Tue May 5 11:40:58 2009
+++ loncom/localize/localize/de.pm Tue May 5 16:01:56 2009
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# German Localization Lexicon
#
-# $Id: de.pm,v 1.286 2009/05/05 11:40:58 bisitz Exp $
+# $Id: de.pm,v 1.287 2009/05/05 16:01:56 bisitz Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2838,8 +2838,8 @@
'Re-enrollment will re-activate data.'
=> 'Eine erneute Kursbelegung würde die Daten reaktivieren.',
- 'Registering'
-=> 'Registriere',
+ 'Registering clickers: [_1]'
+=> 'Registriere Clicker: [_1]',
'Samples'
=> 'Beispiele',
@@ -6466,7 +6466,7 @@
=> 'Zum Modus mit Kopfzeilenmenü wechseln',
'This list below can be used to <q>freeze</q> roles on your screen. Those marked as frozen will not be removed from the list, even if they have not been used recently.'
-=> 'Die nachfolgende Liste kann verwendet werden, um Rollen <q>einzufrieren</q>. Rollen, die als eingefroren markiert wurden, werden nicht aus der Liste beseitigt werden, selbst wenn sie in letzter Zeit nicht verwendet wurden.',
+=> 'Die nachfolgende Liste kann verwendet werden, um Rollen <q>festzusetzen</q>. Rollen, die als festgesetzt markiert wurden, werden nicht aus der Liste beseitigt werden, selbst wenn sie in letzter Zeit nicht verwendet wurden.',
'View Status'
=> 'Status anzeigen',
@@ -6598,7 +6598,7 @@
=> 'Zeige [_1] der zuletzt verwendeten Rollen',
'Freeze Role'
-=> 'Rolle einfrieren',
+=> 'Rolle festsetzen',
'Recent Roles Hotlist is Disabled'
=> 'Schnellzugriffsliste für zuletzt verwendete Rollen wird nicht verwendet',
@@ -6651,9 +6651,6 @@
'Return'
=> 'Zurück',
- 'Setting WYSIWYG editor to:'
-=> 'Setze WYSIWYG-Editor auf:',
-
'Source Available'
=> 'Quellcode verfügbar',
@@ -7055,11 +7052,17 @@
'Change Main Menu'
=> 'Darstellung der Menüs',
- 'New screenname (shown if you post anonymously)'
-=> 'Nickname für anonyme Beiträge',
+ 'Screenname'
+=> 'Anonymer Nickname',
+
+ '(shown if you post anonymously)'
+=> '(für anonyme Beiträge)',
- 'New nickname (shown if you post non-anonymously)'
-=> 'Nickname für normale (nicht anonyme) Beiträge',
+ 'Nickname'
+=> 'Nickname',
+
+ '(shown if you post non-anonymously)'
+=> '(für normale, nicht anonyme Beiträge)',
'Choose the time window to use to display roles for which access to the course expired.'
=> 'Auswahl des Zeitfensters zur Anzeige von Rollen, die in diesem Kurs abgelaufen sind',
@@ -8799,7 +8802,7 @@
'Move to Folder ->'
=> 'Verschiebe in Verzeichnis',
- 'Register Response Devices ("Clickers")'
+ 'Register Response Devices ("Clickers")'
=> 'Antwortgeräte ("Clicker") registrieren',
'Enter response device ("clicker") numbers'
@@ -12528,18 +12531,6 @@
'[_1] for [_2] versions.'
=> '[_1] für [_2] Versionen.',
- 'Set new preferred languages to '
-=> 'Bevorzugte Sprache gesetzt auf ',
-
- 'Reset preferred language.'
-=> 'Bevorzugte Sprache zurückgesetzt.',
-
- 'Set new preferred math display to '
-=> 'Bevorzugte Methode, um wissenschaftliche Formeln darzustellen, gesetzt auf ',
-
- 'Reset preferred math display.'
-=> 'Bevorzugte Methode, um wissenschaftliche Formeln darzustellen, zurückgesetzt.',
-
'Set new screenname to '
=> 'Nickname für anonyme Beiträge gesetzt auf ',
@@ -12552,9 +12543,6 @@
'Reset nickname.'
=> 'Nickname zurückgesetzt.',
- 'Set menu mode to [_1].'
-=> 'Menümodus auf [_1] gesetzt.',
-
'Reset '
=> ' zurückgesetzt',
@@ -12586,10 +12574,10 @@
=> 'Alle Beachrichtigungsadressen zum Empfang von Nachrichtenauszügen gesetzt auf ohne Beibehaltung von HTML.',
'Freezing Role: [_1]'
-=> 'Einfrieren der Rolle [_1]',
+=> 'Festsetzen der Rolle [_1]',
'Unfreezing Role: [_1]'
-=> 'Einfrieren der Rolle [_1] aufgehoben',
+=> 'Aufhebung der Festsetzung der Rolle [_1]',
'No such user: '
=> 'Dieser Benutzer existiert nicht: ',
@@ -12642,11 +12630,11 @@
'Valid characters are'
=> 'Gültige Zeichen sind',
- 'The password for [_1] was successfully changed.'
-=> 'Das Passwort für [_1] wurde erfolgreich geändert.',
+ 'The password for user [_1] was successfully changed.'
+=> 'Das Passwort für den Benutzer [_1] wurde erfolgreich geändert.',
- 'The password for [_1] was not changed.'
-=> 'Das Passwort für [_1] wurde nicht geändert.',
+ 'The password for user [_1] was not changed.'
+=> 'Das Passwort für den Benutzer [_1] wurde nicht geändert.',
'Please make sure your old password was entered correctly.'
=> 'Bitte stellen Sie sicher, dass das alte Passwort korrekt eingegeben wurde.',
@@ -12658,7 +12646,7 @@
=> 'In Dikussionen: Es werden alle Beiträge angezeigt.',
'In discussions: new posts will be cease to be identified as "NEW" after display.'
-=> 'In Diskussionen: Es werden nach dem Anzeigen nicht mehr als "NEU" angezeigt.',
+=> 'In Diskussionen: Neue Beiträge werden nach dem Anzeigen nicht mehr als "NEU" angezeigt.',
'In discussions: posts will be identified as "NEW" until marked as read by the reader.'
=> 'In Diskussionen: Es werden Beiträge solange als "NEU" interpretiert, bis sie durch den Leser als gelesen markiert werden.',
--bisitz1241539317--