[LON-CAPA-cvs] cvs: loncom /interface/statistics lonproblemstatistics.pm /localize/localize de.pm

bisitz bisitz at source.lon-capa.org
Tue Oct 1 13:52:10 EDT 2013


bisitz		Tue Oct  1 17:52:10 2013 EDT

  Modified files:              
    /loncom/interface/statistics	lonproblemstatistics.pm 
    /loncom/localize/localize	de.pm 
  Log:
  - Internationalization and localization of labels in and for statistical graphs
  - Use more descriptive "long_title" in plot graph option list if available
  - Improved quantity handling in compiling data phrase
  - Consistent styles (warning/info style, no headline)
  - XHTML: "selected"
  
  - Added missing phrases and translations to de.pm
  - Corrected some translations related to statistics
  - Consistent translation
  
  
  
-------------- next part --------------
Index: loncom/interface/statistics/lonproblemstatistics.pm
diff -u loncom/interface/statistics/lonproblemstatistics.pm:1.122 loncom/interface/statistics/lonproblemstatistics.pm:1.123
--- loncom/interface/statistics/lonproblemstatistics.pm:1.122	Thu May  3 11:21:33 2012
+++ loncom/interface/statistics/lonproblemstatistics.pm	Tue Oct  1 17:52:03 2013
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 #
-# $Id: lonproblemstatistics.pm,v 1.122 2012/05/03 11:21:33 goltermann Exp $
+# $Id: lonproblemstatistics.pm,v 1.123 2013/10/01 17:52:03 bisitz Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -74,6 +74,14 @@
 ## header for plots created with Graph.pm, both of which more than likely do
 ## not support localization.
 ##
+## Additional Notes:
+## Localization can be done and is done before passing the phrases
+## to the output.
+## This might conflict with special characters, e.g. German Umlaute or
+## chinese characters. Do not use such characters in this case.
+## If this failed, consider that the sequence and folder names
+## are also passed to the output and would fail the same way.
+##
 #
 #
 ##
@@ -85,7 +93,7 @@
 ## title           yes      any scalar  This is what the user sees to identify
 ##                                      the field.  Passed through &mt().
 ## long_title      yes      any scalar  Used as graph heading and in excel
-##                                      output.  NOT translated
+##                                      output.  Passed through &mt().
 ## align           no    (left|right|center)  HTML cell contents alignment
 ## color           yes      html color  HTML cell background color
 ##                                      used to visually group statistics
@@ -275,7 +283,7 @@
              sortable  => 'yes',
              graphable => 'yes',
              long_title => 'Degree of Difficulty'.
-                           '[ 1 - ((#YES+#yes) / Tries) ]',
+                           ' { 1 - ((#YES+#yes) / Tries) }',
              selectable => 'yes',
              defaultselected => 'yes',
            },
@@ -759,11 +767,11 @@
             $count += scalar(@resources);
         }
         if ($count > 10) {
-            $r->print('<h2>'.
-                      &mt('Compiling statistics for [_1] problems',$count).
-                      '</h2>');
+            $r->print('<p>'.
+                      &mt('Compiling statistics for [quant,_1,problem]',$count).
+                      '</p>');
             if ($count > 30) {
-                $r->print('<h3>'.&mt('This will take some time.').'</h3>');
+                $r->print('<p class="LC_info">'.&mt('This will take some time.').'</p>');
             }
             $r->rflush();
         }
@@ -1007,15 +1015,15 @@
     my $title; my $yaxis;
     foreach my $field (@Fields) {
         next if ($field->{'name'} ne $datafield);
-        $title = $field->{'long_title'};
-        $yaxis = $field->{'title'};
+        $title = &mt($field->{'long_title'});
+        $yaxis = &mt($field->{'title'});
         last;
     }
     if ($title eq '' || $yaxis eq '') {
         # datafield is something we do not know enough about to plot
-        $r->print('<h3>'.
+        $r->print('<p class="LC_warning">'.
                   &mt('Unable to plot the requested statistic.').
-                  '</h3>');
+                  '</p>');
         return;
     }
     #
@@ -1042,7 +1050,7 @@
     }
     #
     $r->print("<p>".&Apache::loncommon::DrawBarGraph($title,
-                                                     'Problem Number',
+                                                     &mt('Problem Number'),
                                                      $yaxis,
                                                      $max,
                                                      undef, # colors
@@ -1107,10 +1115,14 @@
     my $diffdata .= '<data>'.join(',', at Labels).'</data>'.$/.
                     '<data>'.join(',', at Diff).'</data>'.$/;
     #
-    my $title = 'Degree of Discrimination\nand Degree of Difficulty';
+    my $title = &mt('Degree of Discrimination[_1]and Degree of Difficulty','\n');
     if ($xmax > 50) {
-        $title = 'Degree of Discrimination and Degree of Difficulty';
+        $title = &mt('Degree of Discrimination and Degree of Difficulty');
     }
+    my %lt = &Apache::lonlocal::texthash(
+        'alttag' => 'Degree of Discrimination and Degree of Difficulty Plot',
+        'xlabel' => 'Problem Number',
+    );
     #
     $plot=<<"END";
 <gnuplot 
@@ -1122,7 +1134,7 @@
     align="center"
     border="on"
     transparent="on"
-    alttag="Degree of Discrimination and Degree of Difficulty Plot"
+    alttag="$lt{'alttag'}"
     samples="100"
     bgcolor="xffffff"
     height="$height"
@@ -1133,7 +1145,7 @@
         box="off" />
     <title>$title</title>
     <axis xmin="0" ymin="$ymin" xmax="$xmax" ymax="$ymax" color="x000000" />
-    <xlabel>Problem Number</xlabel>
+    <xlabel>$lt{'xlabel'}</xlabel>
     <curve 
         linestyle="linespoints" 
         name="DoDisc" 
@@ -1195,11 +1207,16 @@
                           '<data>'.join(',', at Mean).'</data>'.$/.
                           '<data>'.join(',', at STD).'</data>'.$/;
     #
-    my $title = 'Mean and S.D. of Tries';
-    if ($xmax > 25) {
-        $title = 'Mean and Standard Deviation of Tries';
+    my $title = &mt('Mean and S.D. of Tries');
+    if ($xmax > 30) {
+        $title = &mt('Mean and Standard Deviation of Tries');
     }
     #
+    my %lt = &Apache::lonlocal::texthash(
+        'alttag' => 'Mean and S.D of Tries Plot',
+        'xlabel' => 'Problem Number',
+        'ylabel' => 'Number of Tries',
+    );
     $plot=<<"END";
 <gnuplot 
     texfont="10"
@@ -1210,15 +1227,15 @@
     align="center"
     border="on"
     transparent="on"
-    alttag="Mean and S.D of Tries Plot"
+    alttag="$lt{'alttag'}"
     samples="100"
     bgcolor="xffffff"
     height="$height"
     width="$width">
     <title>$title</title>
     <axis xmin="0" ymin="0" xmax="$xmax" ymax="$ymax" color="x000000" />
-    <xlabel>Problem Number</xlabel>
-    <ylabel>Number of Tries</ylabel>
+    <xlabel>$lt{'xlabel'}</xlabel>
+    <ylabel>$lt{'ylabel'}</ylabel>
     <curve 
         linestyle="yerrorbars"
         name="S.D. Tries" 
@@ -1243,6 +1260,7 @@
 
 sub plot_dropdown {
     my $current = '';
+    my $title;
     #
     if (defined($env{'form.plot'})) {
         $current = $env{'form.plot'};
@@ -1258,7 +1276,7 @@
     #
     my $Str= "\n".'<select name="plot" size="1">';
     $Str .= '<option name="none"></option>'."\n";
-    $Str .= '<option name="none2">none</option>'."\n";
+    $Str .= '<option name="none2">'.&mt('none').'</option>'."\n";
     foreach my $field (@Additional_Plots, at Fields) {
         if (! exists($field->{'graphable'}) ||
             $field->{'graphable'} ne 'yes') {
@@ -1266,9 +1284,11 @@
         }
         $Str .= '<option value="'.$field->{'name'}.'"';
         if ($field->{'name'} eq $current) {
-            $Str .= ' selected ';
+            $Str .= ' selected="selected"';
         }
-        $Str.= '>'.&mt($field->{'title'}).'</option>'."\n";
+        $title = &mt($field->{'long_title'});
+        $title = &mt($field->{'title'}) if (!$title);
+        $Str.= '>'.$title.'</option>'."\n";
     }
     $Str .= '</select>'."\n";
     return $Str;
Index: loncom/localize/localize/de.pm
diff -u loncom/localize/localize/de.pm:1.548 loncom/localize/localize/de.pm:1.549
--- loncom/localize/localize/de.pm:1.548	Tue Oct  1 14:52:53 2013
+++ loncom/localize/localize/de.pm	Tue Oct  1 17:52:10 2013
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # German Localization Lexicon
 #
-# $Id: de.pm,v 1.548 2013/10/01 14:52:53 bisitz Exp $
+# $Id: de.pm,v 1.549 2013/10/01 17:52:10 bisitz Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -2288,18 +2288,99 @@
    'waiting on'
 => 'warte auf',
 
+   'P#'
+=> 'P#', # ?
+
    '#Stdnts'
 => 'Anzahl Stud.',
 
+   'Number of Students Attempting Problem'
+=> 'Anzahl Studierender, die die Aufgabe versucht haben',
+
+   'Total Number of Tries'
+=> 'Gesamtanzahl an Versuchen',
+
    '#YES'
-=> 'Anz. JA',
+=> 'Anz. KORR.',
+
+   'Number of Students able to Solve'
+=> 'Anzahl Studierender, die loesen konnten', # gnuplot! Umlaute?!?
 
    '#yes'
-=> 'Anz. ja',
+=> 'Anz. korr.',
+
+   'Number of Students given Override'
+=> 'Anzahl Studierender, fuer die ueberschrieben wurde', # ?
 
    '%Wrng'
 => '%Falsch',
 
+   'Percent of students whose final answer is wrong'
+=> 'Prozent Studierender, deren endgueltige Antwort falsch ist', # gnuplot! Umlaute?!?
+
+   '#Items'
+=> 'Anz. El.',
+
+   'Number of Items in Sequence'
+=> 'Anzahl Elemente in Sequenz',
+
+   'Score Mean'
+=> 'Pkt.-Durchschn.',
+
+   'Count Mean'
+=> 'Anz. Durchschn.',
+
+   'Mean Sequence Score'
+=> 'Durchschnittliche Punkte der Sequenz',
+
+   'Score STD'
+=> 'Std.-Abw. Pkt.',
+
+   'Count STD'
+=> 'Anz. Std.-Abw.',
+
+   'Standard Deviation of Sequence Scores'
+=> 'Standardabweichung der Punkte in der Sequenz',
+
+   'Score Max'
+=> 'Max. Pkt.',
+
+   'Maximum Sequence Score'
+=> 'Maximale Punkte in der Sequenz',
+
+   'Score Min'
+=> 'Min. Pkt.',
+
+   'Minumum Sequence Score'
+=> 'Minimale Punkte in der Sequenz',
+
+   'Score N'
+=> 'Anz. St. Pkt.-Berech.',
+
+   'Count N'
+=> 'Anz. Stud.',
+
+   'Number of Students in score computations'
+=> 'Anzahl Studierender in Punkteberechnungen',
+
+   'Count Max'
+=> 'Max. Anz. korr.',
+
+   'Maximum Number of Correct Problems'
+=> 'Maximale Anzahl korrekter Aufgaben',
+
+   'Count Min'
+=> 'Min. Anz. korr.',
+
+   'Minumum Number of Correct Problems'
+=> 'Minimale Anzahl korrekter Aufgaben',
+
+   'KR-21'
+=> 'KR-21',
+
+   'KR-21 reliability statistic'
+=> 'KR-21-Reliabilitäts-Statistik',
+
    'Brief view of each students performance in course.'
 => 'Kurze Ãœbersicht der Leistungen eines jeden Studierenden im Kurs.',
 
@@ -2313,7 +2394,10 @@
 => 'Ausführliche Statistiken und Graphen der studentischen Leistung hinsichtlich der Aufgaben',
 
    'DoDiff'
-=> 'Verwende diff',
+=> 'Schw.-Grad',
+
+   'Degree of Difficulty { 1 - ((#YES+#yes) / Tries) }'
+=> 'Schwierigkeitsgrad { 1 - ((Anz. KORR. + Anz. korr.) / Anz. Vers.) }',
 
    'Enrollment Status'
 => 'Kursbelegungs-Status',
@@ -2322,10 +2406,10 @@
 => 'Statistiken erstellen',
 
    'Max Tries'
-=> 'Max. Anz. an Vers.',
+=> 'Max. Anz. Vers.',
 
    'Mean Tries'
-=> 'Mittl. Anz. Vers.',
+=> 'Durchschn. Anz. Vers.',
 
    'Output'
 => 'Ausgabe',
@@ -2351,6 +2435,9 @@
    'S.D. tries'
 => 'Std.-Abw. d. Vers.', # Standardabweichung der Versuche
 
+   'Standard Deviation of Number of Tries'
+=> 'Standardabweichung der Anzahl an Versuchen',
+
    'Sections'
 => 'Sektionen',
 
@@ -2366,6 +2453,9 @@
    'Skew Tries'
 => 'Schiefe d. Vers.',
 
+   'Skew of Number of Tries'
+=> 'Schiefe der Anzahl an Versuchen',
+
    'Statistics and Problem Analysis'
 => 'Statistiken und Aufgabenanalysen',
 
@@ -3090,7 +3180,7 @@
 => 'Weiter',
 
    'Number of Plots [_1]'
-=> 'Anzahl an Graphen: [_1]',
+=> 'Anzahl Graphen: [_1]',
 
    'Option Response Problem Analysis'
 => 'Analyse von option response-Aufgabe',
@@ -3735,7 +3825,7 @@
 => 'Probleme',
 
    'Produce Excel Output'
-=> 'Erstelle Excel-Ausgabe',
+=> 'Excel-Ausgabe erstellen',
 
    'Question Text'
 => 'Fragetext',
@@ -5732,6 +5822,9 @@
    'number of tries'
 => 'Anzahl der Versuche',
 
+   'Number of Tries'
+=> 'Anzahl der Versuche',
+
    'opening date'
 => 'Startdatum',
 
@@ -6756,7 +6849,7 @@
 => 'Aufgaben, die manuell bewertet werden müssen',
 
    '(Problems with av. attempts ≥ [_1] or deg. difficulty ≥ [_2]) [_3] and total number of students with submissions ≥ [_4]'
-=> '(Aufgaben mit durchschnittlicher Anzahl an Versuchen ≥ [_1] oder Schwierigkeitsgrad ≥ [_2]) [_3] und insgesamte Anzahl an Studierenden, die etwas eingereicht haben ≥ [_4]',
+=> '(Aufgaben mit durchschnittlicher Anzahl an Versuchen ≥ [_1] oder Schwierigkeitsgrad ≥ [_2]) [_3] und insgesamte Anzahl Studierender, die etwas eingereicht haben ≥ [_4]',
 
    '(Problems with av. attempts ≥ [_1] or deg. difficulty ≥ [_2]) [_3] and total number of members with submissions ≥ [_4]'
 => '(Aufgaben mit durchschnittlicher Anzahl an Versuchen ≥ [_1] oder Schwierigkeitsgrad ≥ [_2]) [_3] und insgesamte Anzahl an Mitgliedern, die etwas eingereicht haben ≥ [_4]',
@@ -8281,7 +8374,7 @@
 => 'Aufgaben-Statistiken',
 
    'Statistics calculated for number of students'
-=> 'Statistiken berechnet für folgende Anzahl an Studierenden',
+=> 'Statistiken berechnet für folgende Anzahl Studierende',
 
    'Portfolio and Catalog Search'
 => 'Datenbank veröffentlichter Ressourcen und Portfolio-Dateien',
@@ -13006,9 +13099,24 @@
    'Degree of Difficulty'
 => 'Schwierigkeitsgrad',
 
+   'DoDisc'
+=> 'Grad d. Abgr.',
+
    'Degree of Discrimination'
 => 'Grad der Abgrenzung',
 
+   'Degree of Discrimination and Degree of Difficulty'
+=> 'Grad der Abgrenzung und Schwierigkeitsgrad',
+
+   'Degree of Discrimination[_1]and Degree of Difficulty'
+=> 'Grad der Abgrenzung[_1]und Schwierigkeitsgrad',
+
+   'Degree of Discrimination and Degree of Difficulty Plot'
+=> 'Grad-der-Abgrenzung- und Schwierigkeitsgrad-Plot',
+
+   'Problem Number'
+=> 'Nummer der Aufgabe',
+
    'Time of computation'
 => 'Zeitpunkt der Berechnung',
 
@@ -15438,6 +15546,12 @@
    'Weight (weight)'
 => 'Gewichtung (weight)',
 
+   'weight'
+=> 'Aufg.-Gew.',
+
+   'Problem weight (for instructor)'
+=> 'Aufgaben-Gewichtung (für Dozent)',
+
    'Weight'
 => 'Aufgaben-Gewichtung',
 
@@ -18975,7 +19089,10 @@
 => 'Nachrichten und Benachrichtigungen',
 
    'Min Tries'
-=> 'Min Versuche',
+=> 'Min. Anz. Vers.',
+
+   'Minumum Number of Tries'
+=> 'Minimale Anzahl an Versuchen',
 
    'Modify course configuration'
 => 'Kurskonfiguration ändern',
@@ -19280,6 +19397,9 @@
    '#Wrng'
 => 'Anz. Falsch',
 
+   'Number of students whose final answer is wrong'
+=> 'Anzahl Studierender, deren endgueltige Antwort falsch ist', # gnuplot! Umlaute?!?
+
    'Reset times on a single folder/map, resource or the course for a section or the whole class.'
 => 'Zeiten für ein einzelnes Verzeichnis/Inhaltszusammenstellung, eine Ressource oder den ganzen Kurs für eine Sektion oder den gesamten Kurs zurücksetzen.',
 
@@ -22708,7 +22828,7 @@
 => 'Slots verwalten',
 
    'Maximum number of students allowed in this slot:   '
-=> 'Maximale Anzahl an erlaubten Studierenden in diesem Slot:   ',
+=> 'Maximale Anzahl erlaubter Studierender in diesem Slot:   ',
 
    'Name:    '
 => 'Name:    ',
@@ -24771,8 +24891,8 @@
    'correct option chosen'
 => 'korrekte Option ausgewählt',
 
-   'Compiling statistics for [_1] problems'
-=> 'Erstelle Statistik für [_1] Aufgaben',
+   'Compiling statistics for [quant,_1,problem]'
+=> 'Erstelle Statistik für [quant,_1,Aufgabe,Aufgaben]',
 
    'It may take some time to update the student data.'
 => 'Es kann einige Zeit dauern, bis die studentischen Daten aktualisiert sind.',
@@ -24844,7 +24964,7 @@
 => 'Interner Fehler',
 
    'The number of students matching the selection criteria is too few for display of submission data for anonymous surveys.'
-=> 'Die Anzahl an Studierenden, auf die die gewählte Auswahl zutrifft, ist zu gering, um Einreichungsdaten für anonyme Umfragen anzuzeigen.',
+=> 'Die Anzahl Studierender, auf die die gewählte Auswahl zutrifft, ist zu gering, um Einreichungsdaten für anonyme Umfragen anzuzeigen.',
 
    'There must be at least [quant,_1,student].'
 => 'Es sind mindestens [quant,_1,Student/in,Studierende] notwendig.',
@@ -27165,6 +27285,9 @@
    'tries/correct'
 => 'Versuche/korrekt',
 
+   'Tries per Correct Answer'
+=> 'Versuche pro korrekter Antwort',
+
    'Choose single CODE from list:'
 => 'Einzelnen CODE aus Liste auswählen:',
 
@@ -28124,6 +28247,15 @@
    'foils chosen Incorrectly'
 => 'inkorrekt gewählte Ausw.-mögl.',
 
+   'Mean and S.D. of Tries'
+=> 'Durchschn. u. Std.-Abw. d. Vers.', # Standardabweichung der Versuche
+
+   'Mean and Standard Deviation of Tries'
+=> 'Durchschnitt und Standardabweichung der Versuche',
+
+   'Mean and S.D of Tries Plot'
+=> 'Durchschn.- u. Std.-Abw.-d.-Vers.-Plot',
+
 #SYNCMARKER
 );
 1;


More information about the LON-CAPA-cvs mailing list