forked from extern/egroupware
added input-validation:
- needed (= not to be empty) fields are enforced now - min and max values and format of int and float fields - validator for text-fields (perl regular expression) The input-validation is handled completly withing eTemplate, the application dont need to implement any code, just set the right attributes in the template. Validation-errors are displayed in red behind the concerning field, try the template 'etemplate.validation-test' in the editor.
This commit is contained in:
parent
219c1db81e
commit
ec1cf301b2
@ -278,7 +278,7 @@ with the content the user put into the fields of the dialog.</p>
|
||||
even submit the form back to the user if for a address-selection a search for a pattern has to be performed and the matches
|
||||
are shown to the user. In this case the callback is NOT called. The same is true if an int field contains letters or is not
|
||||
within the minimum or maximum set. <i>Not all of the is allready working, it will follow in the next days/weeks.</i><br>
|
||||
For the specialist process_exec uses $GLOBALS['HTTP_POST_VARS'] and ignores HTTP_GET_VARS set as query in the url.
|
||||
For the specialist process_exec uses $_POST and ignores $_GET set as query in the url.
|
||||
<li>the so_sql function data_merge, copies all values from $content, which are columns in the db-table, in our internal data array.
|
||||
Values which are not real data, like buttons pressed are not copied (!).
|
||||
<li>if $content['save'] is set, the [Save] button has been pressed ('save' is the name NOT the label of the save button), in that
|
||||
|
@ -235,7 +235,6 @@ implement only a subset of XUL. Here are the main differences:</p>
|
||||
<td>
|
||||
If checked (xml-attr: needed="1") the etemplates will reprompt the user if he left
|
||||
the widget / field empty.<br>
|
||||
<i>This is not yet implemented, but should be filled if applicable.</i>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -392,9 +391,10 @@ implement only a subset of XUL. Here are the main differences:</p>
|
||||
<td>
|
||||
<b>a single-line input field for text</b><br>
|
||||
In the html-UI this is rendered as <input ...><p>
|
||||
<b>Options</b> has 2 comma-separated fields:<br>
|
||||
<b>Options</b> has 3 comma-separated fields:<br>
|
||||
xml: <b>size</b>: the length in chars of the input-field<br>
|
||||
xml: <b>maxlength</b>: the maximum length of the input
|
||||
xml: <b>maxlength</b>: the maximum length of the input<br>
|
||||
xml: <b>validator</b>: perl regular expression to validate the input (kommas are allowed in the expression)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -404,11 +404,11 @@ implement only a subset of XUL. Here are the main differences:</p>
|
||||
<td>int</td>
|
||||
<td>
|
||||
<b>a input-field to enter an integer</b><br>
|
||||
In the html-UI this is rendered as <input ...>. <i>There are no checks implemented at the moment,
|
||||
but the will come in the near future.</i><p>
|
||||
In the html-UI this is rendered as <input ...>. <i>The input-validation is done at the moment only on server-side,
|
||||
clientside validation and input-restriction to only numbers is planed.</i><p>
|
||||
<b>Options</b> has 3 comma-separated fields:<br>
|
||||
xml: <b>min</b>: minimum value, default none<br>
|
||||
xml: <b>max</b>: maximum value, default none<br>
|
||||
xml: <b>min</b>: minimum value, default none, empty values are Ok, as long as <b>needed</b> is not set<br>
|
||||
xml: <b>max</b>: maximum value, default none, empty values are Ok, as long as <b>needed</b> is not set<br>
|
||||
xml: <b>size</b>: the length in chars of the input-field, default 5
|
||||
</td>
|
||||
</tr>
|
||||
@ -419,11 +419,11 @@ implement only a subset of XUL. Here are the main differences:</p>
|
||||
<td>float</td>
|
||||
<td>
|
||||
<b>a input-field to enter a float</b><br>
|
||||
In the html-UI this is rendered as <input ...>. <i>There are no checks implemented at the moment,
|
||||
but the will come in the near future.</i><p>
|
||||
In the html-UI this is rendered as <input ...>. <i>The input-validation is done at the moment only on server-side,
|
||||
clientside validation and input-restriction to only numbers is planed.</i><p>
|
||||
<b>Options</b> has 3 comma-separated fields:<br>
|
||||
xml: <b>min</b>: minimum value, default none<br>
|
||||
xml: <b>max</b>: maximum value, default none<br>
|
||||
xml: <b>min</b>: minimum value, default none, empty values are Ok, as long as <b>needed</b> is not set<br>
|
||||
xml: <b>max</b>: maximum value, default none, empty values are Ok, as long as <b>needed</b> is not set<br>
|
||||
xml: <b>size</b>: the length in chars of the input-field, default 5
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -228,6 +228,9 @@
|
||||
//echo "process_exec($this->name) content ="; _debug_array($content);
|
||||
$this->process_show($content,$session_data['to_process'],'exec');
|
||||
|
||||
$GLOBALS['phpgw_info']['etemplate']['loop'] |= !$this->canceled &&
|
||||
count($GLOBALS['phpgw_info']['etemplate']['validation_errors']) > 0; // set by process_show
|
||||
|
||||
//echo "process_exec($this->name) process_show(content) ="; _debug_array($content);
|
||||
//echo "process_exec($this->name) session_data[changes] ="; _debug_array($session_data['changes']);
|
||||
$content = $this->complete_array_merge($session_data['changes'],$content);
|
||||
@ -606,8 +609,9 @@
|
||||
{
|
||||
$cell_options = $cell['type'] == 'int' ? 5 : 8;
|
||||
}
|
||||
$cell_options .= ',,'.($cell['type'] == 'int' ? '/^-?[0-9]*$/' : '/^-?[0-9]*[,.]?[0-9]*$/');
|
||||
// fall-through
|
||||
case 'text': // size: [length][,maxLength]
|
||||
case 'text': // size: [length][,maxLength[,preg]]
|
||||
if ($readonly)
|
||||
{
|
||||
$html .= $this->html->bold(htmlspecialchars($value));
|
||||
@ -616,20 +620,36 @@
|
||||
{
|
||||
$html .= $this->html->input($form_name,$value,'',
|
||||
$options.$this->html->formatOptions($cell_options,'SIZE,MAXLENGTH'));
|
||||
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
|
||||
$cell_options = explode(',',$cell_options,3);
|
||||
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = array(
|
||||
'type' => $cell['type'],
|
||||
'maxlength' => $cell_options[1],
|
||||
'needed' => $cell['needed'],
|
||||
'preg' => $cell_options[2],
|
||||
'min' => $min, // int and float only
|
||||
'max' => $max,
|
||||
);
|
||||
}
|
||||
break;
|
||||
case 'textarea': // Multiline Text Input, size: [rows][,cols]
|
||||
$html .= $this->html->textarea($form_name,$value,
|
||||
$options.$this->html->formatOptions($cell_options,'ROWS,COLS'));
|
||||
if (!$readonly)
|
||||
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
|
||||
{
|
||||
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = array(
|
||||
'type' => $cell['type'],
|
||||
'needed' => $cell['needed'],
|
||||
);
|
||||
}
|
||||
break;
|
||||
case 'htmlarea': // Multiline formatted Text Input, size: [inline styles for the widget]
|
||||
if (!$readonly)
|
||||
{
|
||||
$html .= $this->html->htmlarea($form_name,$value,$cell_options);
|
||||
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
|
||||
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = array(
|
||||
'type' => $cell['type'],
|
||||
'needed' => $cell['needed'],
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -682,6 +702,7 @@
|
||||
}
|
||||
break;
|
||||
case 'button':
|
||||
case 'cancel': // cancel button
|
||||
list($app) = explode('.',$this->name);
|
||||
list($img,$ro_img) = explode(',',$cell_options);
|
||||
$title = strlen($label) <= 1 || $cell['no_lang'] ? $label : lang($label);
|
||||
@ -710,7 +731,13 @@
|
||||
}
|
||||
$extra_label = False;
|
||||
if (!$readonly)
|
||||
{
|
||||
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = $cell['type'];
|
||||
if (strtolower($name) == 'cancel')
|
||||
{
|
||||
$GLOBALS['phpgw_info']['etemplate']['to_process'][$form_name] = 'cancel';
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'hrule':
|
||||
$html .= $this->html->hr($cell_options);
|
||||
@ -972,6 +999,11 @@
|
||||
return $this->html->a_href($html,$extra_link,'',$help != '' ? $options : '');
|
||||
}
|
||||
}
|
||||
// if necessary show validation-error behind field
|
||||
if (isset($GLOBALS['phpgw_info']['etemplate']['validation_errors'][$form_name]))
|
||||
{
|
||||
$html .= ' <font color="red">'.$GLOBALS['phpgw_info']['etemplate']['validation_errors'][$form_name].'</font>';
|
||||
}
|
||||
return $html;
|
||||
}
|
||||
|
||||
@ -999,6 +1031,8 @@
|
||||
}
|
||||
$content_in = $cname ? array($cname => $content) : $content;
|
||||
$content = array();
|
||||
$GLOBALS['phpgw_info']['etemplate']['validation_errors'] = array();
|
||||
$this->canceled = False;
|
||||
|
||||
foreach($to_process as $form_name => $type)
|
||||
{
|
||||
@ -1034,14 +1068,62 @@
|
||||
}
|
||||
$this->set_array($content,$form_name,$value);
|
||||
break;
|
||||
case 'int':
|
||||
case 'float':
|
||||
case 'text':
|
||||
case 'textarea':
|
||||
if (isset($value))
|
||||
{
|
||||
$value = stripslashes($value);
|
||||
}
|
||||
if ($value === '' && $attr['needed'])
|
||||
{
|
||||
$GLOBALS['phpgw_info']['etemplate']['validation_errors'][$form_name] = lang('Field must not be empty !!!',$value);
|
||||
}
|
||||
if ((int) $attr['maxlength'] > 0 && strlen($value) > (int) $attr['maxlength'])
|
||||
{
|
||||
$value = substr($value,0,(int) $attr['maxlength']);
|
||||
}
|
||||
if ($attr['preg'] && !preg_match($attr['preg'],$value))
|
||||
{
|
||||
switch($type)
|
||||
{
|
||||
case 'int':
|
||||
$GLOBALS['phpgw_info']['etemplate']['validation_errors'][$form_name] = lang("'%1' is not a valid integer !!!",$value);
|
||||
break;
|
||||
case 'float':
|
||||
$GLOBALS['phpgw_info']['etemplate']['validation_errors'][$form_name] = lang("'%1' is not a valid floatingpoint number !!!",$value);
|
||||
break;
|
||||
default:
|
||||
$GLOBALS['phpgw_info']['etemplate']['validation_errors'][$form_name] = lang("'%1' has an invalid format !!!",$value);
|
||||
break;
|
||||
}
|
||||
}
|
||||
elseif ($type == 'int' || $type == 'float') // cast int and float and check range
|
||||
{
|
||||
if ($value !== '' || $attr['needed']) // empty values are Ok if needed is not set
|
||||
{
|
||||
$value = $type == 'int' ? (int) $value : (float) str_replace(',','.',$value); // allow for german (and maybe other) format
|
||||
|
||||
if (!empty($attr['min']) && $value < $attr['min'])
|
||||
{
|
||||
$GLOBALS['phpgw_info']['etemplate']['validation_errors'][$form_name] = lang("Value has to be at least '%1' !!!",$attr['min']);
|
||||
$value = $type == 'int' ? (int) $attr['min'] : (float) $attr['min'];
|
||||
}
|
||||
if (!empty($attr['max']) && $value > $attr['max'])
|
||||
{
|
||||
$GLOBALS['phpgw_info']['etemplate']['validation_errors'][$form_name] = lang("Value has to be at maximum '%1' !!!",$attr['max']);
|
||||
$value = $type == 'int' ? (int) $attr['max'] : (float) $attr['max'];
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->set_array($content,$form_name,$value);
|
||||
break;
|
||||
case 'cancel': // cancel button ==> dont care for validation errors
|
||||
if ($value)
|
||||
{
|
||||
$this->canceled = True;
|
||||
}
|
||||
case 'button':
|
||||
if ($value)
|
||||
{
|
||||
@ -1068,8 +1150,7 @@
|
||||
$name = array_shift($parts);
|
||||
$index = count($parts) ? '['.implode('][',$parts).']' : '';
|
||||
$value = array();
|
||||
$parts = array('tmp_name','type','size','name');
|
||||
while (list(,$part) = each($parts))
|
||||
foreach(array('tmp_name','type','size','name') as $part)
|
||||
{
|
||||
$value[$part] = is_array($_FILES[$name]) ? $this->get_array($_FILES[$name],$part.$index) : False;
|
||||
}
|
||||
@ -1093,7 +1174,12 @@
|
||||
if (is_int($this->debug) && $this->debug >= 2 || $this->debug == $this->name && $this->name)
|
||||
{
|
||||
echo "<p>process_show($this->name) end: content ="; _debug_array($content);
|
||||
if (count($GLOBALS['phpgw_info']['etemplate']['validation_errors']))
|
||||
{
|
||||
echo "<p>validation_errors = "; _debug_array($GLOBALS['phpgw_info']['etemplate']['validation_errors']);
|
||||
}
|
||||
}
|
||||
return count($GLOBALS['phpgw_info']['etemplate']['validation_errors']);
|
||||
}
|
||||
|
||||
/*!
|
||||
|
@ -49,7 +49,7 @@
|
||||
),
|
||||
'text' => array(
|
||||
'.name' => 'textbox',
|
||||
'size' => 'size,maxlength'
|
||||
'size' => 'size,maxlength,validator'
|
||||
),
|
||||
'textarea' => array(
|
||||
'.name' => 'textbox',
|
||||
|
@ -1,11 +1,15 @@
|
||||
<?php
|
||||
// eTemplates for Application 'etemplate', generated by etemplate.dump() 2004-02-06 01:57
|
||||
// eTemplates for Application 'etemplate', generated by etemplate.dump() 2004-04-05 03:44
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.editor.values','template' => '','lang' => '','group' => '0','version' => '0.9.13.002','data' => 'a:3:{i:0;a:2:{s:2:\"c1\";s:3:\"nmh\";s:2:\"c2\";s:3:\"nmr\";}i:1;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:3:\"Key\";}s:1:\"B\";a:2:{s:4:\"type\";s:5:\"label\";s:5:\"label\";s:5:\"Value\";}}i:2;a:2:{s:1:\"A\";a:3:{s:4:\"type\";s:4:\"text\";s:4:\"name\";s:8:\"$col$row\";s:8:\"readonly\";s:1:\"1\";}s:1:\"B\";a:2:{s:4:\"type\";s:4:\"text\";s:4:\"name\";s:8:\"$col$row\";}}}','size' => '','style' => '','modified' => '1081094454',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.nextmatch_widget.header_only','template' => '','lang' => '','group' => '0','version' => '0.9.15.002','data' => 'a:3:{i:0;a:2:{s:1:\"A\";s:3:\"50%\";s:1:\"B\";s:3:\"50%\";}i:1;a:2:{s:1:\"A\";a:2:{s:4:\"type\";s:8:\"template\";s:4:\"name\";s:12:\"@header_left\";}s:1:\"B\";a:3:{s:4:\"type\";s:8:\"template\";s:5:\"align\";s:5:\"right\";s:4:\"name\";s:13:\"@header_right\";}}i:2;a:2:{s:1:\"A\";a:5:{s:4:\"type\";s:8:\"template\";s:4:\"size\";s:4:\"rows\";s:4:\"span\";s:3:\"all\";s:5:\"align\";s:6:\"center\";s:4:\"name\";s:9:\"@template\";}s:1:\"B\";a:1:{s:4:\"type\";s:5:\"label\";}}}','size' => '100%','style' => '.activ_sortcolumn { color: red; font-weight: bold; }
|
||||
.inactiv_sortcolumn { color: green; font-weight: normal; }','modified' => '1075985789',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.validation-test','template' => '','lang' => '','group' => '0','version' => '','data' => 'a:5:{i:0;a:0:{}i:1;a:1:{s:1:\"A\";a:4:{s:4:\"type\";s:4:\"text\";s:4:\"size\";s:15:\"10,10,/^[A-Z]+/\";s:5:\"label\";s:52:\"Text (<= 10 chars, has to start with capital letter)\";s:4:\"name\";s:4:\"text\";}}i:2;a:1:{s:1:\"A\";a:5:{s:4:\"type\";s:3:\"int\";s:4:\"size\";s:5:\"-15,5\";s:5:\"label\";s:23:\"Integer (-15 <= x <= 5)\";s:4:\"name\";s:7:\"integer\";s:6:\"needed\";s:1:\"1\";}}i:3;a:1:{s:1:\"A\";a:4:{s:4:\"type\";s:5:\"float\";s:4:\"size\";s:8:\"-1.5,3.5\";s:5:\"label\";s:32:\"Floatingpoint (-1.5 <= x <= 3.5)\";s:4:\"name\";s:5:\"float\";}}i:4;a:1:{s:1:\"A\";a:4:{s:4:\"type\";s:4:\"hbox\";s:4:\"size\";s:1:\"2\";i:1;a:3:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:4:\"Save\";s:4:\"name\";s:4:\"save\";}i:2;a:3:{s:4:\"type\";s:6:\"button\";s:5:\"label\";s:6:\"Cancel\";s:4:\"name\";s:6:\"cancel\";}}}}','size' => ',,0,,0,0','style' => '','modified' => '1081128620',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.datefield','template' => '','lang' => '','group' => '0','version' => '0.9.15.001','data' => 'a:2:{i:0;a:0:{}i:1;a:3:{s:1:\"A\";a:4:{s:4:\"type\";s:3:\"int\";s:4:\"size\";s:4:\"1,31\";s:4:\"name\";s:1:\"d\";s:4:\"help\";s:3:\"Day\";}s:1:\"B\";a:4:{s:4:\"type\";s:3:\"int\";s:4:\"size\";s:4:\"1,12\";s:4:\"name\";s:1:\"m\";s:4:\"help\";s:5:\"Month\";}s:1:\"C\";a:4:{s:4:\"type\";s:3:\"int\";s:4:\"size\";s:4:\"1900\";s:4:\"name\";s:1:\"Y\";s:4:\"help\";s:4:\"Year\";}}}','size' => '','style' => '','modified' => '1032907904',);
|
||||
|
||||
$templ_data[] = array('name' => 'etemplate.datefield','template' => '','lang' => '','group' => '0','version' => '0.9.15.002','data' => 'a:2:{i:0;a:0:{}i:1;a:5:{s:1:\"A\";a:4:{s:4:\"type\";s:3:\"int\";s:4:\"size\";s:4:\"1,,6\";s:4:\"name\";s:2:\"f1\";s:4:\"help\";s:5:\"@help\";}s:1:\"B\";a:3:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:1:\"b\";s:4:\"name\";s:3:\"sep\";}s:1:\"C\";a:4:{s:4:\"type\";s:3:\"int\";s:4:\"size\";s:4:\"1,,6\";s:4:\"name\";s:2:\"f2\";s:4:\"help\";s:5:\"@help\";}s:1:\"D\";a:3:{s:4:\"type\";s:5:\"label\";s:4:\"size\";s:1:\"b\";s:4:\"name\";s:3:\"sep\";}s:1:\"E\";a:4:{s:4:\"type\";s:3:\"int\";s:4:\"size\";s:4:\"1,,6\";s:4:\"name\";s:2:\"f3\";s:4:\"help\";s:5:\"@help\";}}}','size' => ',,,,0','style' => '','modified' => '1032907904',);
|
||||
|
@ -1,285 +1,291 @@
|
||||
%1 (%2 new) messages writen for application '%3' and languages '%4' etemplate de %1 (%2 neue) Texte für die Anwendung '%3' und die Sprache '%4' geschrieben
|
||||
%1 etemplates deleted etemplate de %1 eTemplates gelöscht
|
||||
%1 etemplates for application '%2' dumped to '%3' etemplate de %1 eTemplates für die Anwendung '%2' nach '%3' geschrieben
|
||||
%1 etemplates found etemplate de %1 eTemplates gefunden
|
||||
%1 matches on search criteria etemplate de %1 Treffer bei der Suche
|
||||
%1 new etemplates imported for application '%2' etemplate de %1 neue eTemplates importiert für die Anwendung '%2'
|
||||
%s disabled etemplate de %s deaktiviert
|
||||
%s needed etemplate de %s benötigt
|
||||
%s notranslation etemplate de %s nicht übersetzen
|
||||
%s onchange etemplate de %s onChange
|
||||
%s readonly etemplate de %s Schreibschutz
|
||||
a pattern to be searched for etemplate de ein Muster nach dem gesucht werden soll
|
||||
add a new column (after the existing ones) etemplate de Neue Spalte hinzufügen (hinter den bestehenden)
|
||||
add a new multi-column index etemplate de Fügt einen mehrspaltigen Index hinzu
|
||||
add column etemplate de Spalte zufügen
|
||||
add index etemplate de Index zufügen
|
||||
add table etemplate de Tabelle zufügen
|
||||
align etemplate de Ausrichtung
|
||||
alignment of label and input-field in table-cell etemplate de Ausrichtung der Beschriftung und des Eingabefeldes in der Tabellenzelle
|
||||
alignment of the v/hbox containing table-cell etemplate de Ausrichtung der die V/HBox enthaltenden Tabellenzelle
|
||||
am etemplate de Vormittag
|
||||
an indexed column speeds up querys using that column (cost space on the disk !!!) etemplate de eine indizierte Spalte beschleunigt Anfragen die diese benutzen (kostet Plattenplatz !!!)
|
||||
application etemplate de Anwendung
|
||||
application name needed to write a langfile or dump the etemplates !!! etemplate de Name der Anwendung benötigt um eine Sprachdatei oder eTemplate-Distibutionsdate zu schreiben !!!
|
||||
attach etemplate de Anhängen
|
||||
attach file etemplate de Datei anhängen
|
||||
blurtext etemplate de blurText
|
||||
border etemplate de Rand
|
||||
border-line-thickness for the table-tag etemplate de Randbreite (border) für die Tabelle
|
||||
can not have special sql-value null etemplate de darf nicht den speziellen SQL Wert NULL annehmen
|
||||
cancel etemplate de Abbruch
|
||||
category etemplate de Kategorie
|
||||
cellpadding for the table-tag etemplate de Innenabstand (cellpadding) der Tabelle
|
||||
cells etemplate de Zellen
|
||||
cellspacing for the table-tag etemplate de Zellenabstand (cellspacing) der Tabelle
|
||||
center etemplate de Zentriert
|
||||
check if content should only be displayed but not altered (the content is not send back then!) etemplate de abhaken wenn der Inhalt nur angezeigt aber nicht geändert werden soll (der Inhalt wird dann nicht zurückgesendet!)
|
||||
check if field has to be filled by user etemplate de abhaken wenn das Eingabefeld vom Benutzer zwingend ausgefüllt werden muss
|
||||
checkbox etemplate de Checkbox
|
||||
class etemplate de Class
|
||||
class, valign etemplate de Class, Valign
|
||||
click here to attach the file etemplate de hier clicken um die Datei anzuhängen
|
||||
click here to create the link etemplate de hier clicken um die Verknüpfung anzulegen
|
||||
click here to start the search etemplate de hier clicken um die Suche zu starten
|
||||
click here to upload the file etemplate de hier clicken um die Datei hochzuladen
|
||||
click to order after that criteria etemplate de anclicken um nach diesem Kriterium zu sortieren
|
||||
columnname etemplate de Spaltenname
|
||||
comment etemplate de Kommentar
|
||||
create a new table for the application etemplate de Neue Tabelle für die Anwendung anlegen
|
||||
creates an english ('en') langfile from label and helptexts (for application in name) etemplate de erzeugt eine englische ('en') Sprachdatei aus den Beschriftungen und Hilfetexten (für die Anwendung in Name)
|
||||
css class for the table-tag etemplate de CSS class der Tabelle
|
||||
css-class name for this row, preset: 'nmh' = nextmatch header, 'nmr' = alternating nm row, 'nmr0'+'nmr1' nm rows etemplate de Name der CSS class dieser Zeile, vorbelegt sind: 'th' = Kopfzeile, 'row' = zeilenweise wechselnde Farbe bzw. 'row_on', 'row_off'
|
||||
css-styles etemplate de CSS Stile
|
||||
date+time etemplate de Datum+Uhrzeit
|
||||
datum etemplate de Datum
|
||||
day etemplate de Tag
|
||||
db ensures that every row has a unique value in that column etemplate de die Datenbank stelt sicher das alle Zeilen einen einmaligen Wert in dieser Spalte haben
|
||||
db-specific index options (comma-sep.), eg. mysql(fulltext) or mysql(100) for the indexed length of a col etemplate de DB-spezifische Index-Optionen (Komma-getrennt), zB. mysql(FULLTEXT) oder mysql(100) für die indizierte Länge der Spalte
|
||||
db-tools etemplate de DB-Tools
|
||||
deck etemplate de Deck (intern)
|
||||
default etemplate de Vorgabe
|
||||
delete etemplate de Löschen
|
||||
delete a single entry by passing the id. etemplate de Löscht einen einzelnen Eintrag über seine Id.
|
||||
delete all selected etemplates, without further inquiry etemplate de löscht ALLE ausgewählten eTemplates OHNE weitere Rückfrage
|
||||
delete column etemplate de Spalte löschen
|
||||
delete index etemplate de Index löschen
|
||||
delete this etemplate etemplate de dieses eTemplate löschen
|
||||
delete whole column (can not be undone!!!) etemplate de ganze Zeile löschen (kann NICHT rückgängig gemacht werden)
|
||||
deletes the above spez. etemplate from the database, can not be undone etemplate de löscht das oben spezifiziert eTemplate aus der Datenbank, kann NICHT rückgängig gemacht werden
|
||||
deletes the etemplate spez. above etemplate de löscht das oben spezifizierte eTemplate
|
||||
deletes this column etemplate de Löscht diese Spalte
|
||||
deletes this index etemplate de Löscht diesen Index
|
||||
discard changes etemplate de verwirft Änderungen
|
||||
displayed in front of input or input is inserted for a '%s' in the label (label of the submitbutton or image-filename) etemplate de wird vor dem Eingabefeld angezeigt oder das Feld wird für ein '%s' eingefügt (Beschriftung einer Schaltfläche oder Dateiname eine Grafik)
|
||||
displayed in statusline of browser if input-field gets focus etemplate de wird in der Statuszeile des Browsers angezeit, wenn das Eingabefeld angesprochen wird
|
||||
do you want to save the changes you made in table %s? etemplate de Wollen Sie die Änderungen in der Tabelle '%s' speichern?
|
||||
documentation etemplate de Dokumentation
|
||||
drop a table - this can not be undone etemplate de Tabelle löschen (drop) - NICHT rückgänig zu machen
|
||||
drop table etemplate de Tabelle löschen
|
||||
dump4setup etemplate de Dump4Setup
|
||||
edit etemplate de Bearbeiten
|
||||
edit the etemplate spez. above etemplate de das oben spezifizierte eTemplate bearbeiten
|
||||
editable templates - db-tools etemplate de eTemplates - DB-Tools
|
||||
editable templates - delete template etemplate de eTemplates - Löschen
|
||||
editable templates - editor etemplate de eTemplates - Bearbeiten
|
||||
editable templates - search etemplate de eTemplates - Suchen
|
||||
editable templates - show template etemplate de eTemplates - Anzeigen
|
||||
embeded css styles, eg. '.red { background: red; }' (note the '.' before the class-name) or '@import url(...)' (class names are global for the whole page!) etemplate de eingebette CSS Stile, zb. '.red { background: red; }' (man beachte den '.' vor der CSS class) or '@import url(...)' (Angaben gelten für die gesamte Seite!)
|
||||
enable javascript onchange submit etemplate de JavaScript absenden bei Änderung (onChange) aktivieren
|
||||
enter '' for an empty default, nothing mean no default etemplate de '' für einen leeren Vorgabewert eingeben, nichts bedeutet keine Vorgabe
|
||||
enter a search pattern etemplate de Suchmuster eingeben
|
||||
enter filename to upload and attach, use [browse...] to search for it etemplate de Dateinamen zum Hochland oder Anhängen eingeben, [Browse ...] zum Suchen verwenden
|
||||
enter the new version number here (> old_version), empty for no update-file etemplate de Neue Versionsnummer eingeben (größer als alte), leer wenn keine Update-Datei erzeugt werden soll
|
||||
enter the new version number here (has to be > old_version) etemplate de Neue Versionsnummer eingeben (muss größer als die alte sein)
|
||||
entry saved etemplate de Eintrag gespeichert
|
||||
error: template not found !!! etemplate de Fehler: eTemplate nicht gefunden !!!
|
||||
error: webserver is not allowed to write into '%1' !!! etemplate de Fehler: der Webserver hat keine Schreibberechtigung in '%1' !!!
|
||||
error: while saveing !!! etemplate de Fehler: beim Speichern !!!
|
||||
error: writeing !!! etemplate de Fehler: schreiben !!!
|
||||
error: writing file (no write-permission for the webserver) !!! etemplate de Fehler: Datei schreiben (keine Schreibberechtigung für den Webserver) !!!
|
||||
etemplate common de eTemplate
|
||||
etemplate '%1' imported, use save to put it in the database etemplate de eTemplate '%1' importiert, benutze Speichern um es in der Datenbank abzulegen
|
||||
etemplate '%1' written to '%2' etemplate de eTemplate '%1' wurde nach '%2' geschrieben
|
||||
etemplate editor etemplate de eTemplate Editor
|
||||
etemplate referenz etemplate de eTemplate Handbuch
|
||||
etemplate tutorial etemplate de eTemplate Einführung
|
||||
exchange this row with the one above etemplate de diese Zeile mit der darüber austauschen
|
||||
exchange this two columns etemplate de diese beiden Spalten austauschen
|
||||
export the loaded etemplate into a xml-file etemplate de das geladene eTemplate als XML Datei (.xet) exportieren
|
||||
export xml etemplate de XML Export
|
||||
extensions loaded: etemplate de Erweiterungen geladen:
|
||||
file etemplate de Datei
|
||||
file contains more than one etemplate, last one is shown !!! etemplate de Datei enthält mehr als ein eTemplate, das letzte wird angezeigt !!!
|
||||
file writen etemplate de Datei geschrieben
|
||||
fileupload etemplate de DateiUpload
|
||||
first etemplate de Zuerst
|
||||
floating point etemplate de Gleitkommawert
|
||||
foreign key etemplate de Foreign Key
|
||||
formatted text (html) etemplate de Formatierter Text (HTML)
|
||||
go to the first entry etemplate de gehe zum ersten Eintrag
|
||||
go to the last entry etemplate de gege zum letzten Eintrag
|
||||
go to the next page of entries etemplate de gehe zur nächsten Seite
|
||||
go to the previous page of entries etemplate de gehe zur vorherigen Seite
|
||||
hbox etemplate de HBox
|
||||
height etemplate de Höhe
|
||||
height of row (in % or pixel), disable row: [! = not]<value>[=<check>] eg: '!@data' disable row if content of data is empty etemplate de Höhe der Zeile (in % oder Pixel), Zeile ausschalten: [! = nicht]<wert>=[<prüfung>]: eg. '!@data' schaltet Zeile aus, wenn Inhalt von data leer ist
|
||||
height of the table in % or pixels for the table-tag and (optional) div etemplate de Höhe der Tabelle in % oder Punkten
|
||||
height, disabled etemplate de Höhe, Deaktiviert
|
||||
help etemplate de Hilfe
|
||||
horizontal rule etemplate de Waagrechte Linie
|
||||
hour etemplate de Stunde
|
||||
html etemplate de HTML
|
||||
if field is disabled an empty table-cell is displayed, for (temporal) removement of a field/cell etemplate de wenn eine Feld deaktiviert ist, wird eine leere Tabellenzelle angezeigt, zum (zeitweisen) Entfernen eines Feldes
|
||||
image etemplate de Grafik
|
||||
import etemplate de Import
|
||||
import an etemplate from a xml-file etemplate de Importiert ein eTemplate aus einer XML Datei
|
||||
import table-definitions from existing db-table etemplate de Importiert die Tabellen-Definition aus einer bestehenden Datenbank-Tabelle
|
||||
import xml etemplate de XML Import
|
||||
index/name of returned content (name of the template, link / method for image) etemplate de Index / Name des zurückgelieferten Inhalts (Name des eTemplates oder Link/Methode für Grafik)
|
||||
indexed etemplate de Indiziert
|
||||
indexoptions etemplate de Indexoptionen
|
||||
insert new column behind this one etemplate de Neue Spalte hinter dieser einfügen
|
||||
insert new column in front of all etemplate de Neue Spalte vor dieser einfüben
|
||||
insert new row after this one etemplate de Neue Zeile nach dieser einfügen
|
||||
insert new row in front of first line etemplate de Neue Zeile vor dieser einfügen
|
||||
integer etemplate de Ganzzahl
|
||||
key etemplate de Schlüssel
|
||||
label etemplate de Beschriftung
|
||||
label:[bold][italic] text:[len][,max] numbers:[min][,[max][,len]] t.area:[rows][,cols] radiob.:value h.rule:[width] templ.:[indexincontent] select:[multiselect] date:[values: eg. 'y-m-d'] etemplate de Beschriftung:[bold][italic] Text:[len][,max] Zahlen:[min][,[max][,len]] mehrz.Text:[Zeilen][,Spalten] Radiok.:Wert Templ.:[IndexInContent] Auswahl:[mehrzeilig] Datum:[Format: zB. 'Y-m-d']
|
||||
lang etemplate de Sprache
|
||||
language-short (eg. 'en' for english) for language-dependent template ('' reads your pref. languages or the default, us 'default' to read the default template '') etemplate de Kürzel der Sprache (zb. 'en' für Englisch) für sprachabhänige Template ('' ließt die bevorzugte Sprache, benutze 'default' für das standard Template '')
|
||||
last etemplate de Letzte
|
||||
left etemplate de Links
|
||||
length for char+varchar, precisions int: 2, 4, 8 and float: 4, 8 etemplate de Länge für char+varchar, Genauigkeit für int: 2, 4, 8 und float: 4, 8
|
||||
link etemplate de Verknüpfung
|
||||
linklist etemplate de VerknüpfungListe
|
||||
linkstring etemplate de VerküpfungZeichenkette
|
||||
linkto etemplate de VerküpfungZu
|
||||
load this template into the editor etemplate de lädt diese Template zum Bearbeiten
|
||||
minute etemplate de Minute
|
||||
month etemplate de Monat
|
||||
multicolumn indices etemplate de Mehrspaltige Indices
|
||||
name etemplate de Name
|
||||
name of other table where column is a key from etemplate de Name der anderen Tabelle von der diese Spalte ein Schlüssel ist
|
||||
name of phpgw-template set (e.g. verdilak): '' = default (will read pref. template, us 'default' to read default template '') etemplate de Name des phpGW layouts (zb. verdilak): '' = Standard (ließt das bevorzugte Layout, benutze 'default' um das standard Layout '' zu lesen)
|
||||
name of table to add etemplate de Name der zuzufügenden Tabelle
|
||||
name of the etemplate, should be in form application.function[.subtemplate] etemplate de Name des eTemplate, in der Form anwendung.funktion[.subTemplate]
|
||||
need to be unique in the table and no reseved word from sql, best prefix all with a common 2-digit short for the app, eg. 'et_' etemplate de muss für die Tabelle einmalig sein und darf ein reserviertes Wort von SQL sein, am besten alle mit einem gemeinsammen Kürzel der Anwendung beginnen: zb. 'et_'
|
||||
new search etemplate de Neue Suche
|
||||
new table created etemplate de Neue Tabelle erzeugt
|
||||
newer version '%1' exists !!! etemplate de Neuere Version '%1' existiert !!!
|
||||
nextmatch etemplate de Nextmatch
|
||||
nextmatch filterheader etemplate de Nextmatch Filterkopf
|
||||
nextmatch sortheader etemplate de Nextmatch Sortierkopf
|
||||
no file etemplate de keine Datei
|
||||
no filename given or selected via browse... etemplate de kein Dateiname angegeben oder mit [Browse...] ausgewählt
|
||||
not null etemplate de NOT NULL
|
||||
nothing found - try again !!! etemplate de Nichts gefunden - nochmal versuchen !!!
|
||||
nothing matched search criteria !!! etemplate de Nicht gefunden bei diesem Suchkriterium !!!
|
||||
number of colums the field/cell should span or 'all' for the remaining columns, css-class name (for the td tag) etemplate de Anzahl der Spalten die ein Feld überspannt oder 'all' für die übrigen Spalten, CSS class Name (für das TD-tag)
|
||||
number of rows/cols in a v/hbox, cellpadding, cellspacing etemplate de Anzahl Zeilen/Spalten der V/HBox, Innenabstand (Cellpadding), Zellenabstand (Cellspacing)
|
||||
of etemplate de von
|
||||
only an other version found !!! etemplate de nur eine andere Version gefunden !!!
|
||||
optional note about the link etemplate de optionale Notiz zur Verknüpfung
|
||||
options etemplate de Optionen
|
||||
overflow etemplate de Überbreite
|
||||
padding etemplate de Innenabstand
|
||||
please enter table-name first !!! etemplate de Bitte geben Sie zuerst einen Tabellennamen an !!!
|
||||
pm etemplate de Nachmittag
|
||||
precision etemplate de Genauigkeit
|
||||
primary key etemplate de Primary Key
|
||||
primary key for the table, gets automaticaly indexed etemplate de Hauptindex (Primary Key) der Tabelle, wird automatisch indiziert
|
||||
radiobutton etemplate de Radioknopf
|
||||
read etemplate de Lesen
|
||||
read a list of entries. etemplate de Liest eine Liste von Einträgen.
|
||||
read a single entry by passing the id and fieldlist. etemplate de Liste einen einzelnen Eintrag durch übergabe seiner Id und Feldliste.
|
||||
read etemplate from database (for the keys above) etemplate de ließt ein eTemplate aus der Datenbank (für die Schlüssel darüber)
|
||||
remove row (can not be undone!!!) etemplate de löscht eine Zeile (NICHT rückgängig zu machen)
|
||||
remove this link (not the entry itself) etemplate de entfernt diese Verknüpfung (nicht den Eintrag selbst)
|
||||
returns savely, without deleting etemplate de Abbruch, OHNE zu löschen
|
||||
right etemplate de Rechts
|
||||
save etemplate de Speichern
|
||||
save the etemplate under the above keys (name, ...), change them for a saveas etemplate de Speichert das eTemplate unter den obigen Schlüsseln (name, ...), ändern für ein Speichern unter
|
||||
saves changes to tables_current.inc.php etemplate de Speichert Änderungen in tables_current.inc.php
|
||||
scale etemplate de Scale
|
||||
scale for float etemplate de Nachkommastellen für Gleitkommawerte
|
||||
search etemplate de Suchen
|
||||
select a category etemplate de eine Kategorie auswählen
|
||||
select a primary contact, to show in the list etemplate de einen Hauptkontakt auswählen, der in der Auflistung mit angezeigt wird
|
||||
select access etemplate de Zugriff auswählen
|
||||
select account etemplate de Benutzer auswählen
|
||||
select an app first !!! etemplate de Bitte wählen Sie zuerst ein Anwendung aus !!!
|
||||
select an app to search in etemplate de Anwendung zum Durchsuchen auswählen
|
||||
select an application etemplate de Anwendung auswählen
|
||||
select an application, (*) = uninstalled etemplate de Anwendung auswählen, (*) = nicht installiert
|
||||
select an entry to link with etemplate de Eintrag zum Verküpfen auswählen
|
||||
select an table of the application etemplate de Tabelle der Anwendung auswählen
|
||||
select application etemplate de Anwendung auswählen
|
||||
select category etemplate de Kategorie auswählen
|
||||
select country etemplate de Land auswählen
|
||||
select day etemplate de Tag auswählen
|
||||
select if content of field should not be translated (label gets always translated) etemplate de abhaken wenn Inhalt des Feldes nicht übersetzt werden soll (Beschriftung wird immer übersetzt)
|
||||
select month etemplate de Monat auswählen
|
||||
select number etemplate de Zahl auswählen
|
||||
select one ... etemplate de Eine auswählen ...
|
||||
select percentage etemplate de Prozente auswählen
|
||||
select priority etemplate de Priorität auswählen
|
||||
select state etemplate de US-State auswählen
|
||||
select the indexed columns in their desired order etemplate de Zu indizierende Spalten in der gewünchten Reihenfolge auswählen
|
||||
select this etemplate to delete it etemplate de dieses eTemplate zum Löschen auswählen
|
||||
select which values to show etemplate de auswählen welche Werte angezeigt werden
|
||||
select year etemplate de Jahr auswählen
|
||||
selectbox etemplate de Auswahlbox
|
||||
sets today as date etemplate de setzt heutiges Datum
|
||||
show etemplate de Anzeigen
|
||||
show (no save) etemplate de Anzeigen (nicht speichern)
|
||||
show values etemplate de Werte anzeigen
|
||||
showing etemplate de zeigt
|
||||
shows / allows you to enter values into the etemplate for testing etemplate de zeigt den Inhalt / Werte an und erlaubt welche zum Testen des eTemplates einzugeben
|
||||
shows/displays etemplate for testing, does not save it before etemplate de zeigt eTemplate zum Testen an, speichert es NICHT davor
|
||||
spacing etemplate de Zellenabstand
|
||||
span, class etemplate de Span, Class
|
||||
stack etemplate de Stapel
|
||||
start a new search, cancel this link etemplate de neue Suche Starten, diese Verknüpfung abbrechen
|
||||
start new search for the above pattern etemplate de neue Suche für das obige Muster starten
|
||||
submitbutton etemplate de Schaltfläche
|
||||
table unchanged, no write necessary !!! etemplate de Tabelle nicht geändert, kein schreiben notwendig !!!
|
||||
tablename etemplate de Tabellenname
|
||||
tabs etemplate de Karteikarten
|
||||
template etemplate de Template
|
||||
template deleted etemplate de Template gelöscht
|
||||
template saved etemplate de Template gespeichert
|
||||
text etemplate de Textfeld
|
||||
textarea etemplate de mehrzeiliges Textfeld
|
||||
this text gets displayed if the input-field is empty and has no focus (blur) etemplate de dieser Text wird im Eingabefeld angezeigt, wenn es leer ist und nicht im Fokus ist (engl. blur)
|
||||
time etemplate de Uhrzeit
|
||||
to start the db-tools etemplate de startet die DB-Tools
|
||||
to start the etemplate editor etemplate de startet den eTemplate Editor
|
||||
to start the search etemplate de startet die Suche
|
||||
today etemplate de Heute
|
||||
type etemplate de Typ
|
||||
type of the column etemplate de Typ der Spalte
|
||||
type of the field (select label if field should be empty) etemplate de Type des Feldes (Beschriftung auswählen wenn Feld leer sein soll)
|
||||
unique etemplate de Unique
|
||||
unlink etemplate de Lösen
|
||||
update a single entry by passing the fields. etemplate de Aktualisert einen einzelnen Eintrag über seine Felder.
|
||||
update from version '%s' to etemplate de Update von Version '%s' auf
|
||||
upload etemplate de Hochladen
|
||||
value etemplate de Wert
|
||||
vbox etemplate de VBox
|
||||
version etemplate de Version
|
||||
version-number, should be in the form: major.minor.revision.number (eg. 0.9.13.001 all numbers filled up with zeros) etemplate de Versionsnummer, in der Form major.minor.revision.number (zB. 0.9.15.001 alle Zahlen mit Nullen aufgefüllt)
|
||||
view this linked entry in its application etemplate de Zeige diesen Eintrag in seiner Anwendung an
|
||||
what happens with overflowing content: visible (default), hidden, scroll, auto (browser decides) etemplate de was passiert mit überbreitem Inhalt: sichtbar (standard), versteckt, rollend, automatich (der Browser entscheidet)
|
||||
width etemplate de Breite
|
||||
width of col (in % or pixel), disable col: [! = not]<value>[=<check>] eg: '!@data' disable col if content of data is empty etemplate de Breite der Spalte (in % oder Punkten), deaktiviert Spalten: [! = nicht]<wert>[=<test>] zB.: '!@data' deaktiviert Spalte wenn data leer ist
|
||||
width of the table in % or pixels for the table-tag and (optional) div etemplate de Breite der Tabelle in % oder Punkten
|
||||
width, disabled etemplate de Breite, Deaktiviert
|
||||
write <app>/setup/tables_current.inc.php etemplate de schreibt <app>/setup/tables_current.inc.php
|
||||
write langfile etemplate de Sprachdatei
|
||||
write tables etemplate de Tabelle Schreiben
|
||||
writes a 'etemplates.inc.php' file (for application in name) in the setup-dir of the app etemplate de schreibt ein Distributionsfile 'etemplates.inc.php' (für die Anwendung in Name) in das setup Verzeichnis der Anwendung
|
||||
xml-file to import etemplate de XML Datei zum Importieren
|
||||
xslt template etemplate de XSLT Template
|
||||
year etemplate de Jahr
|
||||
%1 (%2 new) messages writen for application '%3' and languages '%4' de %1 (%2 neue) Texte für die Anwendung '%3' und die Sprache '%4' geschrieben
|
||||
%1 etemplates deleted de %1 eTemplates gelöscht
|
||||
%1 etemplates for application '%2' dumped to '%3' de %1 eTemplates für die Anwendung '%2' nach '%3' geschrieben
|
||||
%1 etemplates found de %1 eTemplates gefunden
|
||||
%1 matches on search criteria de %1 Treffer bei der Suche
|
||||
%1 new etemplates imported for application '%2' de %1 neue eTemplates importiert für die Anwendung '%2'
|
||||
%s disabled de %s deaktiviert
|
||||
%s needed de %s benötigt
|
||||
%s notranslation de %s nicht übersetzen
|
||||
%s onchange de %s onChange
|
||||
%s readonly de %s Schreibschutz
|
||||
'%1' has an invalid format !!! etemplate de '%1' hat ein ungültiges Format !!!
|
||||
'%1' is not a valid floatingpoint number !!! etemplate de '%1' ist keine gültige Kommazahl !!!
|
||||
'%1' is not a valid integer !!! etemplate de '%1' ist keine gültige Ganzzahl !!!
|
||||
a pattern to be searched for de ein Muster nach dem gesucht werden soll
|
||||
add a new column (after the existing ones) de Neue Spalte hinzufügen (hinter den bestehenden)
|
||||
add a new multi-column index de Fügt einen mehrspaltigen Index hinzu
|
||||
add column de Spalte zufügen
|
||||
add index de Index zufügen
|
||||
add table de Tabelle zufügen
|
||||
align de Ausrichtung
|
||||
alignment of label and input-field in table-cell de Ausrichtung der Beschriftung und des Eingabefeldes in der Tabellenzelle
|
||||
alignment of the v/hbox containing table-cell de Ausrichtung der die V/HBox enthaltenden Tabellenzelle
|
||||
am de Vormittag
|
||||
an indexed column speeds up querys using that column (cost space on the disk !!!) de eine indizierte Spalte beschleunigt Anfragen die diese benutzen (kostet Plattenplatz !!!)
|
||||
application de Anwendung
|
||||
application name needed to write a langfile or dump the etemplates !!! de Name der Anwendung benötigt um eine Sprachdatei oder eTemplate-Distibutionsdate zu schreiben !!!
|
||||
attach de Anhängen
|
||||
attach file de Datei anhängen
|
||||
blurtext de blurText
|
||||
border de Rand
|
||||
border-line-thickness for the table-tag de Randbreite (border) für die Tabelle
|
||||
can not have special sql-value null de darf nicht den speziellen SQL Wert NULL annehmen
|
||||
cancel de Abbruch
|
||||
category de Kategorie
|
||||
cellpadding for the table-tag de Innenabstand (cellpadding) der Tabelle
|
||||
cells de Zellen
|
||||
cellspacing for the table-tag de Zellenabstand (cellspacing) der Tabelle
|
||||
center de Zentriert
|
||||
check if content should only be displayed but not altered (the content is not send back then!) de abhaken wenn der Inhalt nur angezeigt aber nicht geändert werden soll (der Inhalt wird dann nicht zurückgesendet!)
|
||||
check if field has to be filled by user de abhaken wenn das Eingabefeld vom Benutzer zwingend ausgefüllt werden muss
|
||||
checkbox de Checkbox
|
||||
class de Class
|
||||
class, valign de Class, Valign
|
||||
click here to attach the file de hier clicken um die Datei anzuhängen
|
||||
click here to create the link de hier clicken um die Verknüpfung anzulegen
|
||||
click here to start the search de hier clicken um die Suche zu starten
|
||||
click here to upload the file de hier clicken um die Datei hochzuladen
|
||||
click to order after that criteria de anclicken um nach diesem Kriterium zu sortieren
|
||||
columnname de Spaltenname
|
||||
comment de Kommentar
|
||||
create a new table for the application de Neue Tabelle für die Anwendung anlegen
|
||||
creates an english ('en') langfile from label and helptexts (for application in name) de erzeugt eine englische ('en') Sprachdatei aus den Beschriftungen und Hilfetexten (für die Anwendung in Name)
|
||||
css class for the table-tag de CSS class der Tabelle
|
||||
css-class name for this row, preset: 'nmh' = nextmatch header, 'nmr' = alternating nm row, 'nmr0'+'nmr1' nm rows de Name der CSS class dieser Zeile, vorbelegt sind: 'th' = Kopfzeile, 'row' = zeilenweise wechselnde Farbe bzw. 'row_on', 'row_off'
|
||||
css-styles de CSS Stile
|
||||
date+time de Datum+Uhrzeit
|
||||
datum de Datum
|
||||
day de Tag
|
||||
db ensures that every row has a unique value in that column de die Datenbank stelt sicher das alle Zeilen einen einmaligen Wert in dieser Spalte haben
|
||||
db-specific index options (comma-sep.), eg. mysql(fulltext) or mysql(100) for the indexed length of a col de DB-spezifische Index-Optionen (Komma-getrennt), zB. mysql(FULLTEXT) oder mysql(100) für die indizierte Länge der Spalte
|
||||
db-tools de DB-Tools
|
||||
deck de Deck (intern)
|
||||
default de Vorgabe
|
||||
delete de Löschen
|
||||
delete a single entry by passing the id. de Löscht einen einzelnen Eintrag über seine Id.
|
||||
delete all selected etemplates, without further inquiry de löscht ALLE ausgewählten eTemplates OHNE weitere Rückfrage
|
||||
delete column de Spalte löschen
|
||||
delete index de Index löschen
|
||||
delete this etemplate de dieses eTemplate löschen
|
||||
delete whole column (can not be undone!!!) de ganze Zeile löschen (kann NICHT rückgängig gemacht werden)
|
||||
deletes the above spez. etemplate from the database, can not be undone de löscht das oben spezifiziert eTemplate aus der Datenbank, kann NICHT rückgängig gemacht werden
|
||||
deletes the etemplate spez. above de löscht das oben spezifizierte eTemplate
|
||||
deletes this column de Löscht diese Spalte
|
||||
deletes this index de Löscht diesen Index
|
||||
discard changes de verwirft Änderungen
|
||||
displayed in front of input or input is inserted for a '%s' in the label (label of the submitbutton or image-filename) de wird vor dem Eingabefeld angezeigt oder das Feld wird für ein '%s' eingefügt (Beschriftung einer Schaltfläche oder Dateiname eine Grafik)
|
||||
displayed in statusline of browser if input-field gets focus de wird in der Statuszeile des Browsers angezeit, wenn das Eingabefeld angesprochen wird
|
||||
do you want to save the changes you made in table %s? de Wollen Sie die Änderungen in der Tabelle '%s' speichern?
|
||||
documentation de Dokumentation
|
||||
drop a table - this can not be undone de Tabelle löschen (drop) - NICHT rückgänig zu machen
|
||||
drop table de Tabelle löschen
|
||||
dump4setup de Dump4Setup
|
||||
edit de Bearbeiten
|
||||
edit the etemplate spez. above de das oben spezifizierte eTemplate bearbeiten
|
||||
editable templates - db-tools de eTemplates - DB-Tools
|
||||
editable templates - delete template de eTemplates - Löschen
|
||||
editable templates - editor de eTemplates - Bearbeiten
|
||||
editable templates - search de eTemplates - Suchen
|
||||
editable templates - show template de eTemplates - Anzeigen
|
||||
embeded css styles, eg. '.red { background: red; }' (note the '.' before the class-name) or '@import url(...)' (class names are global for the whole page!) de eingebette CSS Stile, zb. '.red { background: red; }' (man beachte den '.' vor der CSS class) or '@import url(...)' (Angaben gelten für die gesamte Seite!)
|
||||
enable javascript onchange submit de JavaScript absenden bei Änderung (onChange) aktivieren
|
||||
enter '' for an empty default, nothing mean no default de '' für einen leeren Vorgabewert eingeben, nichts bedeutet keine Vorgabe
|
||||
enter a search pattern de Suchmuster eingeben
|
||||
enter filename to upload and attach, use [browse...] to search for it de Dateinamen zum Hochland oder Anhängen eingeben, [Browse ...] zum Suchen verwenden
|
||||
enter the new version number here (> old_version), empty for no update-file de Neue Versionsnummer eingeben (größer als alte), leer wenn keine Update-Datei erzeugt werden soll
|
||||
enter the new version number here (has to be > old_version) de Neue Versionsnummer eingeben (muss größer als die alte sein)
|
||||
entry saved de Eintrag gespeichert
|
||||
error: template not found !!! de Fehler: eTemplate nicht gefunden !!!
|
||||
error: webserver is not allowed to write into '%1' !!! de Fehler: der Webserver hat keine Schreibberechtigung in '%1' !!!
|
||||
error: while saveing !!! de Fehler: beim Speichern !!!
|
||||
error: writeing !!! de Fehler: schreiben !!!
|
||||
error: writing file (no write-permission for the webserver) !!! de Fehler: Datei schreiben (keine Schreibberechtigung für den Webserver) !!!
|
||||
etemplate de eTemplate
|
||||
etemplate '%1' imported, use save to put it in the database de eTemplate '%1' importiert, benutze Speichern um es in der Datenbank abzulegen
|
||||
etemplate '%1' written to '%2' de eTemplate '%1' wurde nach '%2' geschrieben
|
||||
etemplate editor de eTemplate Editor
|
||||
etemplate referenz de eTemplate Handbuch
|
||||
etemplate tutorial de eTemplate Einführung
|
||||
exchange this row with the one above de diese Zeile mit der darüber austauschen
|
||||
exchange this two columns de diese beiden Spalten austauschen
|
||||
export the loaded etemplate into a xml-file de das geladene eTemplate als XML Datei (.xet) exportieren
|
||||
export xml de XML Export
|
||||
extensions loaded: de Erweiterungen geladen:
|
||||
field must not be empty !!! etemplate de Das Feld darf nicht leer sein !!!
|
||||
file de Datei
|
||||
file contains more than one etemplate, last one is shown !!! de Datei enthält mehr als ein eTemplate, das letzte wird angezeigt !!!
|
||||
file writen de Datei geschrieben
|
||||
fileupload de DateiUpload
|
||||
first de Zuerst
|
||||
floating point de Gleitkommawert
|
||||
foreign key de Foreign Key
|
||||
formatted text (html) de Formatierter Text (HTML)
|
||||
go to the first entry de gehe zum ersten Eintrag
|
||||
go to the last entry de gege zum letzten Eintrag
|
||||
go to the next page of entries de gehe zur nächsten Seite
|
||||
go to the previous page of entries de gehe zur vorherigen Seite
|
||||
hbox de HBox
|
||||
height de Höhe
|
||||
height of row (in % or pixel), disable row: [! = not]<value>[=<check>] eg: '!@data' disable row if content of data is empty de Höhe der Zeile (in % oder Pixel), Zeile ausschalten: [! = nicht]<wert>=[<prüfung>]: eg. '!@data' schaltet Zeile aus, wenn Inhalt von data leer ist
|
||||
height of the table in % or pixels for the table-tag and (optional) div de Höhe der Tabelle in % oder Punkten
|
||||
height, disabled de Höhe, Deaktiviert
|
||||
help de Hilfe
|
||||
horizontal rule de Waagrechte Linie
|
||||
hour de Stunde
|
||||
html de HTML
|
||||
if field is disabled an empty table-cell is displayed, for (temporal) removement of a field/cell de wenn eine Feld deaktiviert ist, wird eine leere Tabellenzelle angezeigt, zum (zeitweisen) Entfernen eines Feldes
|
||||
image de Grafik
|
||||
import de Import
|
||||
import an etemplate from a xml-file de Importiert ein eTemplate aus einer XML Datei
|
||||
import table-definitions from existing db-table de Importiert die Tabellen-Definition aus einer bestehenden Datenbank-Tabelle
|
||||
import xml de XML Import
|
||||
index/name of returned content (name of the template, link / method for image) de Index / Name des zurückgelieferten Inhalts (Name des eTemplates oder Link/Methode für Grafik)
|
||||
indexed de Indiziert
|
||||
indexoptions de Indexoptionen
|
||||
insert new column behind this one de Neue Spalte hinter dieser einfügen
|
||||
insert new column in front of all de Neue Spalte vor dieser einfüben
|
||||
insert new row after this one de Neue Zeile nach dieser einfügen
|
||||
insert new row in front of first line de Neue Zeile vor dieser einfügen
|
||||
integer de Ganzzahl
|
||||
key de Schlüssel
|
||||
label de Beschriftung
|
||||
label:[bold][italic] text:[len][,max] numbers:[min][,[max][,len]] t.area:[rows][,cols] radiob.:value h.rule:[width] templ.:[indexincontent] select:[multiselect] date:[values: eg. 'y-m-d'] de Beschriftung:[bold][italic] Text:[len][,max] Zahlen:[min][,[max][,len]] mehrz.Text:[Zeilen][,Spalten] Radiok.:Wert Templ.:[IndexInContent] Auswahl:[mehrzeilig] Datum:[Format: zB. 'Y-m-d']
|
||||
lang de Sprache
|
||||
language-short (eg. 'en' for english) for language-dependent template ('' reads your pref. languages or the default, us 'default' to read the default template '') de Kürzel der Sprache (zb. 'en' für Englisch) für sprachabhänige Template ('' ließt die bevorzugte Sprache, benutze 'default' für das standard Template '')
|
||||
last de Letzte
|
||||
left de Links
|
||||
length for char+varchar, precisions int: 2, 4, 8 and float: 4, 8 de Länge für char+varchar, Genauigkeit für int: 2, 4, 8 und float: 4, 8
|
||||
link de Verknüpfung
|
||||
linklist de VerknüpfungListe
|
||||
linkstring de VerküpfungZeichenkette
|
||||
linkto de VerküpfungZu
|
||||
load this template into the editor de lädt diese Template zum Bearbeiten
|
||||
minute de Minute
|
||||
month de Monat
|
||||
multicolumn indices de Mehrspaltige Indices
|
||||
name de Name
|
||||
name of other table where column is a key from de Name der anderen Tabelle von der diese Spalte ein Schlüssel ist
|
||||
name of phpgw-template set (e.g. verdilak): '' = default (will read pref. template, us 'default' to read default template '') de Name des phpGW layouts (zb. verdilak): '' = Standard (ließt das bevorzugte Layout, benutze 'default' um das standard Layout '' zu lesen)
|
||||
name of table to add de Name der zuzufügenden Tabelle
|
||||
name of the etemplate, should be in form application.function[.subtemplate] de Name des eTemplate, in der Form anwendung.funktion[.subTemplate]
|
||||
need to be unique in the table and no reseved word from sql, best prefix all with a common 2-digit short for the app, eg. 'et_' de muss für die Tabelle einmalig sein und darf ein reserviertes Wort von SQL sein, am besten alle mit einem gemeinsammen Kürzel der Anwendung beginnen: zb. 'et_'
|
||||
new search de Neue Suche
|
||||
new table created de Neue Tabelle erzeugt
|
||||
newer version '%1' exists !!! de Neuere Version '%1' existiert !!!
|
||||
nextmatch de Nextmatch
|
||||
nextmatch filterheader de Nextmatch Filterkopf
|
||||
nextmatch sortheader de Nextmatch Sortierkopf
|
||||
no file de keine Datei
|
||||
no filename given or selected via browse... de kein Dateiname angegeben oder mit [Browse...] ausgewählt
|
||||
not null de NOT NULL
|
||||
nothing found - try again !!! de Nichts gefunden - nochmal versuchen !!!
|
||||
nothing matched search criteria !!! de Nicht gefunden bei diesem Suchkriterium !!!
|
||||
number of colums the field/cell should span or 'all' for the remaining columns, css-class name (for the td tag) de Anzahl der Spalten die ein Feld überspannt oder 'all' für die übrigen Spalten, CSS class Name (für das TD-tag)
|
||||
number of rows/cols in a v/hbox, cellpadding, cellspacing de Anzahl Zeilen/Spalten der V/HBox, Innenabstand (Cellpadding), Zellenabstand (Cellspacing)
|
||||
of de von
|
||||
only an other version found !!! de nur eine andere Version gefunden !!!
|
||||
optional note about the link de optionale Notiz zur Verknüpfung
|
||||
options de Optionen
|
||||
overflow de Überbreite
|
||||
padding de Innenabstand
|
||||
please enter table-name first !!! de Bitte geben Sie zuerst einen Tabellennamen an !!!
|
||||
pm de Nachmittag
|
||||
precision de Genauigkeit
|
||||
primary key de Primary Key
|
||||
primary key for the table, gets automaticaly indexed de Hauptindex (Primary Key) der Tabelle, wird automatisch indiziert
|
||||
radiobutton de Radioknopf
|
||||
read de Lesen
|
||||
read a list of entries. de Liest eine Liste von Einträgen.
|
||||
read a single entry by passing the id and fieldlist. de Liste einen einzelnen Eintrag durch übergabe seiner Id und Feldliste.
|
||||
read etemplate from database (for the keys above) de ließt ein eTemplate aus der Datenbank (für die Schlüssel darüber)
|
||||
remove row (can not be undone!!!) de löscht eine Zeile (NICHT rückgängig zu machen)
|
||||
remove this link (not the entry itself) de entfernt diese Verknüpfung (nicht den Eintrag selbst)
|
||||
returns savely, without deleting de Abbruch, OHNE zu löschen
|
||||
right de Rechts
|
||||
save de Speichern
|
||||
save the etemplate under the above keys (name, ...), change them for a saveas de Speichert das eTemplate unter den obigen Schlüsseln (name, ...), ändern für ein Speichern unter
|
||||
saves changes to tables_current.inc.php de Speichert Änderungen in tables_current.inc.php
|
||||
scale de Scale
|
||||
scale for float de Nachkommastellen für Gleitkommawerte
|
||||
search de Suchen
|
||||
select a category de eine Kategorie auswählen
|
||||
select a primary contact, to show in the list de einen Hauptkontakt auswählen, der in der Auflistung mit angezeigt wird
|
||||
select access de Zugriff auswählen
|
||||
select account de Benutzer auswählen
|
||||
select an app first !!! de Bitte wählen Sie zuerst ein Anwendung aus !!!
|
||||
select an app to search in de Anwendung zum Durchsuchen auswählen
|
||||
select an application de Anwendung auswählen
|
||||
select an application, (*) = uninstalled de Anwendung auswählen, (*) = nicht installiert
|
||||
select an entry to link with de Eintrag zum Verküpfen auswählen
|
||||
select an table of the application de Tabelle der Anwendung auswählen
|
||||
select application de Anwendung auswählen
|
||||
select category de Kategorie auswählen
|
||||
select country de Land auswählen
|
||||
select day de Tag auswählen
|
||||
select if content of field should not be translated (label gets always translated) de abhaken wenn Inhalt des Feldes nicht übersetzt werden soll (Beschriftung wird immer übersetzt)
|
||||
select month de Monat auswählen
|
||||
select number de Zahl auswählen
|
||||
select one ... de Eine auswählen ...
|
||||
select percentage de Prozente auswählen
|
||||
select priority de Priorität auswählen
|
||||
select state de US-State auswählen
|
||||
select the indexed columns in their desired order de Zu indizierende Spalten in der gewünchten Reihenfolge auswählen
|
||||
select this etemplate to delete it de dieses eTemplate zum Löschen auswählen
|
||||
select which values to show de auswählen welche Werte angezeigt werden
|
||||
select year de Jahr auswählen
|
||||
selectbox de Auswahlbox
|
||||
sets today as date de setzt heutiges Datum
|
||||
show de Anzeigen
|
||||
show (no save) de Anzeigen (nicht speichern)
|
||||
show values de Werte anzeigen
|
||||
showing de zeigt
|
||||
shows / allows you to enter values into the etemplate for testing de zeigt den Inhalt / Werte an und erlaubt welche zum Testen des eTemplates einzugeben
|
||||
shows/displays etemplate for testing, does not save it before de zeigt eTemplate zum Testen an, speichert es NICHT davor
|
||||
spacing de Zellenabstand
|
||||
span, class de Span, Class
|
||||
stack de Stapel
|
||||
start a new search, cancel this link de neue Suche Starten, diese Verknüpfung abbrechen
|
||||
start new search for the above pattern de neue Suche für das obige Muster starten
|
||||
submitbutton de Schaltfläche
|
||||
table unchanged, no write necessary !!! de Tabelle nicht geändert, kein schreiben notwendig !!!
|
||||
tablename de Tabellenname
|
||||
tabs de Karteikarten
|
||||
template de Template
|
||||
template deleted de Template gelöscht
|
||||
template saved de Template gespeichert
|
||||
text de Textfeld
|
||||
textarea de mehrzeiliges Textfeld
|
||||
this text gets displayed if the input-field is empty and has no focus (blur) de dieser Text wird im Eingabefeld angezeigt, wenn es leer ist und nicht im Fokus ist (engl. blur)
|
||||
time de Uhrzeit
|
||||
to start the db-tools de startet die DB-Tools
|
||||
to start the etemplate editor de startet den eTemplate Editor
|
||||
to start the search de startet die Suche
|
||||
today de Heute
|
||||
type de Typ
|
||||
type of the column de Typ der Spalte
|
||||
type of the field (select label if field should be empty) de Type des Feldes (Beschriftung auswählen wenn Feld leer sein soll)
|
||||
unique de Unique
|
||||
unlink de Lösen
|
||||
update a single entry by passing the fields. de Aktualisert einen einzelnen Eintrag über seine Felder.
|
||||
update from version '%s' to de Update von Version '%s' auf
|
||||
upload de Hochladen
|
||||
value de Wert
|
||||
value has to be at least '%1' !!! etemplate de Der Wert muss mindestens '%1' betragen !!!
|
||||
value has to be at maximum '%1' !!! etemplate de Der Wert darf höchstens '%1' betragen !!!
|
||||
vbox de VBox
|
||||
version de Version
|
||||
version-number, should be in the form: major.minor.revision.number (eg. 0.9.13.001 all numbers filled up with zeros) de Versionsnummer, in der Form major.minor.revision.number (zB. 0.9.15.001 alle Zahlen mit Nullen aufgefüllt)
|
||||
view this linked entry in its application de Zeige diesen Eintrag in seiner Anwendung an
|
||||
what happens with overflowing content: visible (default), hidden, scroll, auto (browser decides) de was passiert mit überbreitem Inhalt: sichtbar (standard), versteckt, rollend, automatich (der Browser entscheidet)
|
||||
width de Breite
|
||||
width of col (in % or pixel), disable col: [! = not]<value>[=<check>] eg: '!@data' disable col if content of data is empty de Breite der Spalte (in % oder Punkten), deaktiviert Spalten: [! = nicht]<wert>[=<test>] zB.: '!@data' deaktiviert Spalte wenn data leer ist
|
||||
width of the table in % or pixels for the table-tag and (optional) div de Breite der Tabelle in % oder Punkten
|
||||
width, disabled de Breite, Deaktiviert
|
||||
write <app>/setup/tables_current.inc.php de schreibt <app>/setup/tables_current.inc.php
|
||||
write langfile de Sprachdatei
|
||||
write tables de Tabelle Schreiben
|
||||
writes a 'etemplates.inc.php' file (for application in name) in the setup-dir of the app de schreibt ein Distributionsfile 'etemplates.inc.php' (für die Anwendung in Name) in das setup Verzeichnis der Anwendung
|
||||
xml-file to import de XML Datei zum Importieren
|
||||
xslt template de XSLT Template
|
||||
year de Jahr
|
||||
|
@ -9,6 +9,9 @@
|
||||
%s notranslation en %s NoTranslation
|
||||
%s onchange en %s onChange
|
||||
%s readonly en %s readonly
|
||||
'%1' has an invalid format !!! etemplate en '%1' has an invalid format !!!
|
||||
'%1' is not a valid floatingpoint number !!! etemplate en '%1' is not a valid floatingpoint number !!!
|
||||
'%1' is not a valid integer !!! etemplate en '%1' is not a valid integer !!!
|
||||
a pattern to be searched for en a pattern to be searched for
|
||||
add a new column (after the existing ones) en Add a new column (after the existing ones)
|
||||
add a new multi-column index en Add a new multi-column index
|
||||
@ -109,6 +112,7 @@ exchange this two columns en exchange this two columns
|
||||
export the loaded etemplate into a xml-file en export the loaded eTemplate into a xml-file
|
||||
export xml en Export XML
|
||||
extensions loaded: en Extensions loaded:
|
||||
field must not be empty !!! etemplate en Field must not be empty !!!
|
||||
file en File
|
||||
file contains more than one etemplate, last one is shown !!! en File contains more than one eTemplate, last one is shown !!!
|
||||
file writen en File writen
|
||||
@ -267,6 +271,8 @@ update a single entry by passing the fields. en Update a single entry by passin
|
||||
update from version '%s' to en Update from Version '%s' to
|
||||
upload en Upload
|
||||
value en Value
|
||||
value has to be at least '%1' !!! etemplate en Value has to be at least '%1' !!!
|
||||
value has to be at maximum '%1' !!! etemplate en Value has to be at maximum '%1' !!!
|
||||
vbox en VBox
|
||||
version en Version
|
||||
version-number, should be in the form: major.minor.revision.number (eg. 0.9.13.001 all numbers filled up with zeros) en version-number, should be in the form: major.minor.revision.number (eg. 0.9.13.001 all numbers filled up with zeros)
|
||||
|
26
etemplate/templates/default/validation-test.xet
Normal file
26
etemplate/templates/default/validation-test.xet
Normal file
@ -0,0 +1,26 @@
|
||||
<?xml version="1.0"?>
|
||||
<!-- $Id$ -->
|
||||
<overlay>
|
||||
<grid id="etemplate.validation-test" template="" lang="" group="" version="" border="0" spacing="0" padding="0">
|
||||
<columns>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<textbox size="10" maxlength="10" validator="/^[A-Z]+/" label="Text (<= 10 chars, has to start with capital letter)" id="text"/>
|
||||
</row>
|
||||
<row>
|
||||
<int options="-15,5" label="Integer (-15 <= x <= 5)" id="integer" needed="1"/>
|
||||
</row>
|
||||
<row>
|
||||
<textbox type="float" min="-1.5" max="3.5" label="Floatingpoint (-1.5 <= x <= 3.5)" id="float"/>
|
||||
</row>
|
||||
<row>
|
||||
<hbox>
|
||||
<button label="Save" id="save"/>
|
||||
<button label="Cancel" id="cancel"/>
|
||||
</hbox>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</overlay>
|
Loading…
Reference in New Issue
Block a user