Compare commits

..

2 commits

Author SHA1 Message Date
Benjamin Renard
fee03668f5
Improve test_form_rule command to accept JSON formatted parameters
Example:
  ldapsaisie \
    -L LSformRule test_form_rule zxcvbn \
    -p customDictionaries="$( jo dict1=/path/to/dict1.json dict2=/path/to/dict2.json )" \
    -p minScore=3 \
    S3cRet2TeST
2024-11-20 16:59:07 +01:00
Benjamin Renard
5dad4e3648
LSformRule_zxcvbn: add customDictionaries parameter 2024-11-20 16:55:39 +01:00
7 changed files with 359 additions and 247 deletions

View file

@ -1,8 +1,8 @@
# zxcvbn # zxcvbn
Cette règle vérifie la sécurité d'un mot de passe en utilisant la librairie Cette règle vérifie la sécurité d'un mot de passe en utilisant la librairie
[ZxcvbnPhp](https://github.com/bjeavons/zxcvbn-php). Cette librairie s'appuie sur un ensemble de [ZxcvbnPhp](https://gitlab.easter-eggs.com/ee/zxcvbn-php). Cette librairie s'appuie sur un ensemble
vérifications permettant de déterminer à quel point le mot de passe choisi est commun, prévisible de vérifications permettant de déterminer à quel point le mot de passe choisi est commun, prévisible
et plus globalement, estime en combien de temps il pourra être cassé par une personne malveillante. et plus globalement, estime en combien de temps il pourra être cassé par une personne malveillante.
Sur la base de l'analyse du mot de passe saisi, des conseils seront donnés à l'utilisateur pour le Sur la base de l'analyse du mot de passe saisi, des conseils seront donnés à l'utilisateur pour le
guider dans le choix d'un mot de passe sûre. guider dans le choix d'un mot de passe sûre.
@ -34,6 +34,24 @@ guider dans le choix d'un mot de passe sûre.
Booléen définissant si les messages de suggestions retournés par la librairie `Zxcvbn` doivent Booléen définissant si les messages de suggestions retournés par la librairie `Zxcvbn` doivent
être affichés à l'utilisateur. Paramètre facultatif et vrai par défaut. être affichés à l'utilisateur. Paramètre facultatif et vrai par défaut.
- `customDictionaries`
Tableau associatif permettant de configurer des dictionnaires personnalisés : les clés contiennent
le nom de la collection de dictionnaires et les valeurs associées, le chemin vers un fichier JSON
contenant la collection de dictionnaires. Ces fichiers doivent contenir un objet racine dont les
clés sont des chaînes de caractères correspondant au nom des dictionnaires et les valeurs
associés sont des listes de mots __en minuscule__ triées par ordre décroissant de fréquence
d'utilisation.
Exemple:
```json
{
"dictionnaire1": ["mot1", "mot2"],
"dictionnaire2": ["mot3", "mot4"]
}
```
- `zxcvbn_autoload_path` - `zxcvbn_autoload_path`
Le chemin vers le fichier de chargement automatique des classes de la librairie *ZxcvbnPhp*. Ce Le chemin vers le fichier de chargement automatique des classes de la librairie *ZxcvbnPhp*. Ce

View file

@ -43,6 +43,16 @@ class LScli extends LSlog_staticLoggerClass {
*/ */
private static $current_command = null; private static $current_command = null;
/**
* Array of custom CLI argument value with them CLI value as key and PHP value as value
* @var array<string,mixed>
*/
public static $custom_cli_arg_values = [
"null" => null,
"true" => true,
"false" => false,
];
/** /**
* Add a CLI command * Add a CLI command
* *
@ -843,6 +853,57 @@ class LScli extends LSlog_staticLoggerClass {
return $quote_char . str_replace($quote_char, "\\$quote_char", $word) . $quote_char; return $quote_char . str_replace($quote_char, "\\$quote_char", $word) . $quote_char;
} }
/**
* Parse CLI argument value
* @param string $value
* @param array<string,mixed>|null $custom_values Extra custom CLI argument value
* (optional, will be merged with self::$custom_cli_arg_values,
* CLI value (=key), must be passed in lowercase)
* @return mixed
*/
public static function parse_arg_value($value, $custom_values=null) {
$custom_values = array_merge(
self :: $custom_cli_arg_values,
ensureIsArray($custom_values)
);
if ($value && in_array($value[0], ["{", "["])) {
// With explicit type specified (format: "[type]value")
if (preg_match("/^\[(string|str|bool|boolean|int|integer|float|array)\](.+)$/i", $value, $m)) {
switch(strtolower($m[1])) {
case "string":
case "str":
return strval($m[2]);
case "boolean":
case "bool":
return boolval($m[2]);
case "integer":
case "int":
return intval($m[2]);
case "float":
return floatval($m[2]);
case "array":
return ensureIsArray(
self :: parse_arg_value($m[2])
);
}
}
// Otherwise, consider as JSON encoded value
try {
$value = json_decode($value, true, 512, JSON_THROW_ON_ERROR);
}
catch (\JsonException $ex) {
self :: usage("Fail to decode JSON argument '$value': ".$ex->getMessage());
}
}
else if (array_key_exists(strtolower($value), $custom_values)) {
$value = $custom_values[strtolower($value)];
}
else if (is_numeric($value)) {
$value = floatval($value);
}
return $value;
}
} }
/* /*

View file

@ -126,12 +126,12 @@ class LSformRule extends LSlog_staticLoggerClass {
if (in_array($command_args[$i], array('-p', '--param'))) { if (in_array($command_args[$i], array('-p', '--param'))) {
$i++; $i++;
LScli :: unquote_word($command_args[$i]); LScli :: unquote_word($command_args[$i]);
$param_parts = explode('=', $command_args[$i]); $param_parts = explode('=', $command_args[$i], 2);
if (count($param_parts) != 2) if (count($param_parts) != 2)
LScli :: usage('Invalid parameter string ('.$command_args[$i].').'); LScli :: usage('Invalid parameter string ('.$command_args[$i].').');
if (array_key_exists($param_parts[0], $params)) if (array_key_exists($param_parts[0], $params))
LScli :: usage('Parameter "'.$param_parts[0].'" already specified.'); LScli :: usage('Parameter "'.$param_parts[0].'" already specified.');
$params[$param_parts[0]] = $param_parts[1]; $params[$param_parts[0]] = LScli :: parse_arg_value($param_parts[1]);
} }
else if (is_null($rule_name)) { else if (is_null($rule_name)) {
$rule_name = $command_args[$i]; $rule_name = $command_args[$i];

View file

@ -33,6 +33,7 @@ class LSformRule_zxcvbn extends LSformRule {
'userDataAttrs' => null, 'userDataAttrs' => null,
'showWarning' => array('LScli', 'autocomplete_bool'), 'showWarning' => array('LScli', 'autocomplete_bool'),
'showSuggestions' => array('LScli', 'autocomplete_bool'), 'showSuggestions' => array('LScli', 'autocomplete_bool'),
'customDictionaries' => null,
'zxcvbn_autoload_path' => null, 'zxcvbn_autoload_path' => null,
); );
@ -53,6 +54,21 @@ class LSformRule_zxcvbn extends LSformRule {
), true ), true
); );
$zxcvbn = new ZxcvbnPhp\Zxcvbn(); $zxcvbn = new ZxcvbnPhp\Zxcvbn();
$customDictionaries = LSconfig :: get('params.customDictionaries', [], 'array', $options);
if ($customDictionaries) {
foreach($customDictionaries as $name => $path) {
if (!is_file($path) || !is_readable($path)) {
LSerror :: addErrorCode('LSformRule_zxcvbn_01', ['name' => $name, 'path' => $path]);
return False;
}
self :: log_debug("Use custom dictionary $name ($path)");
$zxcvbn -> addMatcher(
ZxcvbnPhp\Matchers\CustomDictionaryMatch::create($name, $path)
);
}
}
$userData = array(); $userData = array();
$userDataAttrs = LSconfig :: get('params.userDataAttrs', array(), 'array', $options); $userDataAttrs = LSconfig :: get('params.userDataAttrs', array(), 'array', $options);
if ($userDataAttrs) { if ($userDataAttrs) {
@ -98,4 +114,11 @@ class LSformRule_zxcvbn extends LSformRule {
} }
/*
* Error Codes
*/
LSerror :: defineError('LSformRule_zxcvbn_01',
___("LSformRule_zxcvbn: Dictionary %{name} file not found (%{path}).")
);
# vim: tabstop=2 shiftwidth=2 softtabstop=2 expandtab # vim: tabstop=2 shiftwidth=2 softtabstop=2 expandtab

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: LdapSaisie\n" "Project-Id-Version: LdapSaisie\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: \n" "POT-Creation-Date: \n"
"PO-Revision-Date: 2024-06-19 17:52+0200\n" "PO-Revision-Date: 2024-11-20 16:25+0100\n"
"Last-Translator: Benjamin Renard <brenard@easter-eggs.com>\n" "Last-Translator: Benjamin Renard <brenard@easter-eggs.com>\n"
"Language-Team: LdapSaisie <ldapsaisie-users@lists.labs.libre-entreprise." "Language-Team: LdapSaisie <ldapsaisie-users@lists.labs.libre-entreprise."
"org>\n" "org>\n"
@ -269,7 +269,7 @@ msgstr ""
"MAIL : Une erreur est survenue en enregistrant vos modifications sur ce " "MAIL : Une erreur est survenue en enregistrant vos modifications sur ce "
"modèle." "modèle."
#: includes/addons/LSaddons.mail.php:158 includes/addons/LSaddons.mail.php:573 #: includes/addons/LSaddons.mail.php:158 includes/addons/LSaddons.mail.php:575
msgid "Email templates" msgid "Email templates"
msgstr "Modèles de courriels" msgstr "Modèles de courriels"
@ -305,22 +305,22 @@ msgstr ""
"\n" "\n"
"%s: %s" "%s: %s"
#: includes/addons/LSaddons.mail.php:463 #: includes/addons/LSaddons.mail.php:465
msgid "An exception occured forging message from email template '%{template}'" msgid "An exception occured forging message from email template '%{template}'"
msgstr "" msgstr ""
"Une exception est survenue en générant le message à partir du modèle de " "Une exception est survenue en générant le message à partir du modèle de "
"courriel '%{template}'" "courriel '%{template}'"
#: includes/addons/LSaddons.mail.php:503 #: includes/addons/LSaddons.mail.php:505
msgid "Email template: %{name}" msgid "Email template: %{name}"
msgstr "Modèle de courriel : %{name}" msgstr "Modèle de courriel : %{name}"
#: includes/addons/LSaddons.mail.php:513 includes/addons/LSaddons.mail.php:529 #: includes/addons/LSaddons.mail.php:515 includes/addons/LSaddons.mail.php:531
#: includes/addons/LSaddons.mail.php:547 #: includes/addons/LSaddons.mail.php:549
msgid "Your changes have been saved." msgid "Your changes have been saved."
msgstr "Vos modifications ont été enregistrées." msgstr "Vos modifications ont été enregistrées."
#: includes/addons/LSaddons.mail.php:565 #: includes/addons/LSaddons.mail.php:567
#: includes/addons/LSaddons.showSupportInfo.php:78 #: includes/addons/LSaddons.showSupportInfo.php:78
#: includes/addons/LSaddons.dyngroup.php:408 #: includes/addons/LSaddons.dyngroup.php:408
#: includes/addons/LSaddons.accesslog.php:248 #: includes/addons/LSaddons.accesslog.php:248
@ -1404,12 +1404,12 @@ msgstr "LStemplate : Impossible de charger le fichier de support de Smarty 3"
msgid "LStemplate : Smarty version not recognized." msgid "LStemplate : Smarty version not recognized."
msgstr "LStemplate : Version de Smarty non reconnue." msgstr "LStemplate : Version de Smarty non reconnue."
#: includes/class/class.LStemplate.php:213 #: includes/class/class.LStemplate.php:211
msgid "LStemplate : Can't load Smarty." msgid "LStemplate : Can't load Smarty."
msgstr "" msgstr ""
"LStemplate : Impossible de charger le moteur de gestion de template Smarty." "LStemplate : Impossible de charger le moteur de gestion de template Smarty."
#: includes/class/class.LStemplate.php:340 #: includes/class/class.LStemplate.php:338
msgid "" msgid ""
"LStemplate : Request template '%{tpl}' is now deprecated. Please refer to " "LStemplate : Request template '%{tpl}' is now deprecated. Please refer to "
"upgrade documentation to adapt your templates." "upgrade documentation to adapt your templates."
@ -1417,44 +1417,44 @@ msgstr ""
"LStemplate : Le fichier de template '%{tpl}' est maintenant déprécié. Merci " "LStemplate : Le fichier de template '%{tpl}' est maintenant déprécié. Merci "
"de mettre à jour vos templates en vous référant à la documentation." "de mettre à jour vos templates en vous référant à la documentation."
#: includes/class/class.LStemplate.php:422 #: includes/class/class.LStemplate.php:420
msgid "Copy to clipboard" msgid "Copy to clipboard"
msgstr "Copier dans le presse-papier" msgstr "Copier dans le presse-papier"
#: includes/class/class.LStemplate.php:423 #: includes/class/class.LStemplate.php:421
msgid "Copied!" msgid "Copied!"
msgstr "Copié !" msgstr "Copié !"
#: includes/class/class.LStemplate.php:485 #: includes/class/class.LStemplate.php:484
msgid "Smarty - An exception occured displaying template '%{template}'" msgid "Smarty - An exception occured displaying template '%{template}'"
msgstr "" msgstr ""
"Smarty - Un erreur est survenue en affichant le modèle de page '%{template}'." "Smarty - Un erreur est survenue en affichant le modèle de page '%{template}'."
#: includes/class/class.LStemplate.php:505 #: includes/class/class.LStemplate.php:504
msgid "Smarty - An exception occured fetching template '%{template}'" msgid "Smarty - An exception occured fetching template '%{template}'"
msgstr "Smarty - Un erreur est survenue en générant le modèle '%{template}'." msgstr "Smarty - Un erreur est survenue en générant le modèle '%{template}'."
#: includes/class/class.LStemplate.php:521 #: includes/class/class.LStemplate.php:520
#: includes/class/class.LStemplate.php:535 #: includes/class/class.LStemplate.php:534
msgid "A fatal error occured. If problem persist, please contact support." msgid "A fatal error occured. If problem persist, please contact support."
msgstr "" msgstr ""
"Une erreur irrécupérable est survenue. Si le problème persiste, merci de " "Une erreur irrécupérable est survenue. Si le problème persiste, merci de "
"contacter le support." "contacter le support."
#: includes/class/class.LStemplate.php:531 #: includes/class/class.LStemplate.php:530
msgid "<h1>Loop detected displaying this error:</h1><pre>%{error}</pre>" msgid "<h1>Loop detected displaying this error:</h1><pre>%{error}</pre>"
msgstr "" msgstr ""
"<h1>Boucle détectée en affichant cette erreur :</h1><pre>%{error}</pre>" "<h1>Boucle détectée en affichant cette erreur :</h1><pre>%{error}</pre>"
#: includes/class/class.LStemplate.php:534 #: includes/class/class.LStemplate.php:533
msgid "A fatal error occured." msgid "A fatal error occured."
msgstr "Une erreur fatale est survenue." msgstr "Une erreur fatale est survenue."
#: includes/class/class.LStemplate.php:733 #: includes/class/class.LStemplate.php:732
msgid "LStemplate : Template %{file} not found." msgid "LStemplate : Template %{file} not found."
msgstr "LStemplate : le template %{file} est introuvable." msgstr "LStemplate : le template %{file} est introuvable."
#: includes/class/class.LStemplate.php:736 #: includes/class/class.LStemplate.php:735
msgid "" msgid ""
"LStemplate : Fail to execute trigger %{callable} on event %{event} : is not " "LStemplate : Fail to execute trigger %{callable} on event %{event} : is not "
"callable." "callable."
@ -1462,7 +1462,7 @@ msgstr ""
"LStemplate : Échec d'exécution du déclencheur %{callable} lors de événement " "LStemplate : Échec d'exécution du déclencheur %{callable} lors de événement "
"%{event} : il n'est pas un callable." "%{event} : il n'est pas un callable."
#: includes/class/class.LStemplate.php:739 #: includes/class/class.LStemplate.php:738
msgid "" msgid ""
"LStemplate : Error during the execution of the trigger %{callable} on event " "LStemplate : Error during the execution of the trigger %{callable} on event "
"%{event}." "%{event}."
@ -1470,7 +1470,7 @@ msgstr ""
"LStemplate : Erreur durant l'exécution du déclencheur %{callable} lors de " "LStemplate : Erreur durant l'exécution du déclencheur %{callable} lors de "
"l'événement %{event}." "l'événement %{event}."
#: includes/class/class.LSattr_html_select_object.php:406 #: includes/class/class.LSattr_html_select_object.php:445
msgid "" msgid ""
"LSattr_html_select_object : parameter '%{parameter}' is missing (attribute : " "LSattr_html_select_object : parameter '%{parameter}' is missing (attribute : "
"%{attr})." "%{attr})."
@ -1478,7 +1478,7 @@ msgstr ""
"LSattr_html_select_objet : Le type paramètre %{parameter} n'est pas défini " "LSattr_html_select_objet : Le type paramètre %{parameter} n'est pas défini "
"(attribut : %{attr})." "(attribut : %{attr})."
#: includes/class/class.LSattr_html_select_object.php:409 #: includes/class/class.LSattr_html_select_object.php:448
msgid "" msgid ""
"LSattr_html_select_object : the value of the parameter value_attribute in " "LSattr_html_select_object : the value of the parameter value_attribute in "
"the configuration of the attribute %{attr} is incorrect. Object " "the configuration of the attribute %{attr} is incorrect. Object "
@ -1488,7 +1488,7 @@ msgstr ""
"configuration de l'attribut %{attr} est incorrecte. Les objets " "configuration de l'attribut %{attr} est incorrecte. Les objets "
"%{object_type} n'ont pas d'attribut %{value_attribute}." "%{object_type} n'ont pas d'attribut %{value_attribute}."
#: includes/class/class.LSattr_html_select_object.php:412 #: includes/class/class.LSattr_html_select_object.php:451
msgid "" msgid ""
"LSattr_html_select_object : more than one object returned corresponding to " "LSattr_html_select_object : more than one object returned corresponding to "
"value %{val} of attribute %{attr}." "value %{val} of attribute %{attr}."
@ -1496,7 +1496,7 @@ msgstr ""
"LSattr_html_select_objet : plus d'un objet retourné en correspondance à la " "LSattr_html_select_objet : plus d'un objet retourné en correspondance à la "
"valeur %{val} de l'attribut %{attr}." "valeur %{val} de l'attribut %{attr}."
#: includes/class/class.LSattr_html_select_object.php:415 #: includes/class/class.LSattr_html_select_object.php:454
msgid "" msgid ""
"LSattr_html_select_object : selection of object type %{type} is configured " "LSattr_html_select_object : selection of object type %{type} is configured "
"multiple time for attribute %{attr}." "multiple time for attribute %{attr}."
@ -1504,7 +1504,7 @@ msgstr ""
"LSattr_html_select_objet : La sélection du type d'objet %{type} est " "LSattr_html_select_objet : La sélection du type d'objet %{type} est "
"configurée plusieurs fois pour l'attribut %{attr}." "configurée plusieurs fois pour l'attribut %{attr}."
#: includes/class/class.LSattr_html_select_object.php:418 #: includes/class/class.LSattr_html_select_object.php:457
msgid "" msgid ""
"LSattr_html_select_object : the value '%{value}' seem to be duplicated in " "LSattr_html_select_object : the value '%{value}' seem to be duplicated in "
"values of the attribute %{attr}." "values of the attribute %{attr}."
@ -1512,7 +1512,7 @@ msgstr ""
"LSattr_html_select_objet : La valeur '%{value}' semble dupliquée dans les " "LSattr_html_select_objet : La valeur '%{value}' semble dupliquée dans les "
"valeurs de l'attribut %{attr}." "valeurs de l'attribut %{attr}."
#: includes/class/class.LSattr_html_select_object.php:421 #: includes/class/class.LSattr_html_select_object.php:460
msgid "" msgid ""
"LSattr_html_select_object : selected object %{name} has no attribute %{attr} " "LSattr_html_select_object : selected object %{name} has no attribute %{attr} "
"value, you can't select it." "value, you can't select it."
@ -1644,10 +1644,16 @@ msgstr ""
"LSformElement_postaladdress : La fonction de génération de l'URL de la carte " "LSformElement_postaladdress : La fonction de génération de l'URL de la carte "
"n'est pas exécutable (%{function})." "n'est pas exécutable (%{function})."
#: includes/class/class.LSformRule_zxcvbn.php:85 #: includes/class/class.LSformRule_zxcvbn.php:101
msgid "The security of this password is too weak." msgid "The security of this password is too weak."
msgstr "La sécurité de ce mot de passe est trop faible." msgstr "La sécurité de ce mot de passe est trop faible."
#: includes/class/class.LSformRule_zxcvbn.php:121
msgid "LSformRule_zxcvbn: Dictionary %{name} file not found (%{path})."
msgstr ""
"LSformRule_zxcvbn : Le fichier du dictionnaire %{name} est introuvable "
"(%{path})."
#: includes/class/class.LSformElement_select.php:52 #: includes/class/class.LSformElement_select.php:52
msgid "Reset selection." msgid "Reset selection."
msgstr "Réinitiliser la sélection." msgstr "Réinitiliser la sélection."
@ -1866,25 +1872,25 @@ msgstr ""
msgid "Invalid file type (%{type})." msgid "Invalid file type (%{type})."
msgstr "Type de fichier invalide (%{type})." msgstr "Type de fichier invalide (%{type})."
#: includes/class/class.LSldapObject.php:603 #: includes/class/class.LSldapObject.php:620
msgid "The attribute %{attr} is not valid." msgid "The attribute %{attr} is not valid."
msgstr "L'attribut %{attr} n'est pas valide." msgstr "L'attribut %{attr} n'est pas valide."
#: includes/class/class.LSldapObject.php:3183 #: includes/class/class.LSldapObject.php:3217
msgid "LSldapObject : Object type unknown." msgid "LSldapObject : Object type unknown."
msgstr "LSldapObject : Type d'objet inconnu." msgstr "LSldapObject : Type d'objet inconnu."
#: includes/class/class.LSldapObject.php:3186 #: includes/class/class.LSldapObject.php:3220
msgid "LSldapObject : Update form is not defined for the object %{obj}." msgid "LSldapObject : Update form is not defined for the object %{obj}."
msgstr "" msgstr ""
"LSldapObject : Le formulaire de mise à jour n'est pas défini pour l'objet " "LSldapObject : Le formulaire de mise à jour n'est pas défini pour l'objet "
"%{obj}." "%{obj}."
#: includes/class/class.LSldapObject.php:3189 #: includes/class/class.LSldapObject.php:3223
msgid "LSldapObject : No form exists for the object %{obj}." msgid "LSldapObject : No form exists for the object %{obj}."
msgstr "LSldapObject : Aucun formulaire n'existe pour l'objet %{obj}" msgstr "LSldapObject : Aucun formulaire n'existe pour l'objet %{obj}"
#: includes/class/class.LSldapObject.php:3192 #: includes/class/class.LSldapObject.php:3226
msgid "" msgid ""
"LSldapObject : The function %{func} to validate the attribute %{attr} the " "LSldapObject : The function %{func} to validate the attribute %{attr} the "
"object %{obj} is unknow." "object %{obj} is unknow."
@ -1892,7 +1898,7 @@ msgstr ""
"LSldapObject : La fonction %{func} pour valider l'attribut %{attr} de " "LSldapObject : La fonction %{func} pour valider l'attribut %{attr} de "
"l'objet %{obj} est inconnue." "l'objet %{obj} est inconnue."
#: includes/class/class.LSldapObject.php:3195 #: includes/class/class.LSldapObject.php:3229
msgid "" msgid ""
"LSldapObject : Configuration data are missing to validate the attribute " "LSldapObject : Configuration data are missing to validate the attribute "
"%{attr} of the object %{obj}." "%{attr} of the object %{obj}."
@ -1900,7 +1906,7 @@ msgstr ""
"LSldapObject : Des données de configurations sont manquantes pour pouvoir " "LSldapObject : Des données de configurations sont manquantes pour pouvoir "
"valider l'attribut %{attr} de l'objet %{obj}." "valider l'attribut %{attr} de l'objet %{obj}."
#: includes/class/class.LSldapObject.php:3199 #: includes/class/class.LSldapObject.php:3233
msgid "" msgid ""
"LSldapObject : The function %{func} to be executed on the object event " "LSldapObject : The function %{func} to be executed on the object event "
"%{event} doesn't exist." "%{event} doesn't exist."
@ -1908,14 +1914,14 @@ msgstr ""
"LSldapObject : La fonction %{func} devant être exécutée lors de l'évènement " "LSldapObject : La fonction %{func} devant être exécutée lors de l'évènement "
"%{event} de l'objet n'existe pas." "%{event} de l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3202 #: includes/class/class.LSldapObject.php:3236
msgid "" msgid ""
"LSldapObject : The %{func} execution on the object event %{event} failed." "LSldapObject : The %{func} execution on the object event %{event} failed."
msgstr "" msgstr ""
"LSldapObject : L'exécution de la fonction %{func} lors de l'évènement " "LSldapObject : L'exécution de la fonction %{func} lors de l'évènement "
"%{event} de l'objet a échouée." "%{event} de l'objet a échouée."
#: includes/class/class.LSldapObject.php:3206 #: includes/class/class.LSldapObject.php:3240
msgid "" msgid ""
"LSldapObject : Class %{class}, which method %{meth} to be executed on the " "LSldapObject : Class %{class}, which method %{meth} to be executed on the "
"object event %{event}, doesn't exist." "object event %{event}, doesn't exist."
@ -1923,7 +1929,7 @@ msgstr ""
"La classe %{class}, contenant la méthode %{meth} devant être exécutée lors " "La classe %{class}, contenant la méthode %{meth} devant être exécutée lors "
"de l'évènement %{event} de l'objet, n'existe pas." "de l'évènement %{event} de l'objet, n'existe pas."
#: includes/class/class.LSldapObject.php:3209 #: includes/class/class.LSldapObject.php:3243
msgid "" msgid ""
"LSldapObject : Method %{meth} within %{class} class to be executed on object " "LSldapObject : Method %{meth} within %{class} class to be executed on object "
"event %{event}, doesn't exist." "event %{event}, doesn't exist."
@ -1931,7 +1937,7 @@ msgstr ""
"LSldapObject : La méthode %{meth} de la classe %{class} devant être exécutée " "LSldapObject : La méthode %{meth} de la classe %{class} devant être exécutée "
"lors de l'évènement %{event} de l'objet n'existe pas." "lors de l'évènement %{event} de l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3212 #: includes/class/class.LSldapObject.php:3246
msgid "" msgid ""
"LSldapObject : Error during execute %{meth} method within %{class} class, to " "LSldapObject : Error during execute %{meth} method within %{class} class, to "
"be executed on object event %{event}." "be executed on object event %{event}."
@ -1939,7 +1945,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la méthode %{meth} de la classe " "LSldapObject : Erreur durant l'exécution de la méthode %{meth} de la classe "
"%{class} devant être exécutée lors de l'évènement %{event} de l'objet." "%{class} devant être exécutée lors de l'évènement %{event} de l'objet."
#: includes/class/class.LSldapObject.php:3216 #: includes/class/class.LSldapObject.php:3250
msgid "" msgid ""
"LSldapObject : Some configuration data of the object type %{obj} are missing " "LSldapObject : Some configuration data of the object type %{obj} are missing "
"to generate the DN of the new object." "to generate the DN of the new object."
@ -1947,7 +1953,7 @@ msgstr ""
"LSldapObject : Des informations de configuration du type d'objet %{obj} sont " "LSldapObject : Des informations de configuration du type d'objet %{obj} sont "
"manquantes pour la génération du DN du nouvel objet." "manquantes pour la génération du DN du nouvel objet."
#: includes/class/class.LSldapObject.php:3219 #: includes/class/class.LSldapObject.php:3253
msgid "" msgid ""
"LSldapObject : The attibute %{attr} of the object is not yet defined. Can't " "LSldapObject : The attibute %{attr} of the object is not yet defined. Can't "
"generate DN." "generate DN."
@ -1955,11 +1961,11 @@ msgstr ""
"LSldapObject : L'attribut %{attr} de l'objet n'est pas encore défini. " "LSldapObject : L'attribut %{attr} de l'objet n'est pas encore défini. "
"Impossible de générer le DN." "Impossible de générer le DN."
#: includes/class/class.LSldapObject.php:3222 #: includes/class/class.LSldapObject.php:3256
msgid "LSldapObject : Without DN, the object could not be changed." msgid "LSldapObject : Without DN, the object could not be changed."
msgstr "LSldapObject : Sans DN, l'objet ne peut pas être modifié." msgstr "LSldapObject : Sans DN, l'objet ne peut pas être modifié."
#: includes/class/class.LSldapObject.php:3225 #: includes/class/class.LSldapObject.php:3259
msgid "" msgid ""
"LSldapObject : The attribute %{attr_depend} depending on the attribute " "LSldapObject : The attribute %{attr_depend} depending on the attribute "
"%{attr} doesn't exist." "%{attr} doesn't exist."
@ -1967,39 +1973,39 @@ msgstr ""
"LSldapObject : L'attritbut %{attr_depend} dépendant de l'attribut %{attr} " "LSldapObject : L'attritbut %{attr_depend} dépendant de l'attribut %{attr} "
"n'existe pas." "n'existe pas."
#: includes/class/class.LSldapObject.php:3228 #: includes/class/class.LSldapObject.php:3262
msgid "LSldapObject : Error during deleting the object %{objectname}." msgid "LSldapObject : Error during deleting the object %{objectname}."
msgstr "LSldapObject : Erreur durant la suppression de l'objet %{objectname}" msgstr "LSldapObject : Erreur durant la suppression de l'objet %{objectname}"
#: includes/class/class.LSldapObject.php:3232 #: includes/class/class.LSldapObject.php:3266
msgid "" msgid ""
"LSldapObject : Error during actions to be executed before renaming the objet." "LSldapObject : Error during actions to be executed before renaming the objet."
msgstr "" msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée avant de " "LSldapObject : Erreur durant les actions devant être exécutée avant de "
"renommer l'objet." "renommer l'objet."
#: includes/class/class.LSldapObject.php:3235 #: includes/class/class.LSldapObject.php:3269
msgid "" msgid ""
"LSldapObject : Error during actions to be executed after renaming the objet." "LSldapObject : Error during actions to be executed after renaming the objet."
msgstr "" msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée après avoir " "LSldapObject : Erreur durant les actions devant être exécutée après avoir "
"renommé l'objet." "renommé l'objet."
#: includes/class/class.LSldapObject.php:3239 #: includes/class/class.LSldapObject.php:3273
msgid "" msgid ""
"LSldapObject : Error during actions to be executed before deleting the objet." "LSldapObject : Error during actions to be executed before deleting the objet."
msgstr "" msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée avant de " "LSldapObject : Erreur durant les actions devant être exécutée avant de "
"supprimer l'objet." "supprimer l'objet."
#: includes/class/class.LSldapObject.php:3242 #: includes/class/class.LSldapObject.php:3276
msgid "" msgid ""
"LSldapObject : Error during actions to be executed after deleting the objet." "LSldapObject : Error during actions to be executed after deleting the objet."
msgstr "" msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée après avoir " "LSldapObject : Erreur durant les actions devant être exécutée après avoir "
"supprimé l'objet." "supprimé l'objet."
#: includes/class/class.LSldapObject.php:3246 #: includes/class/class.LSldapObject.php:3280
msgid "" msgid ""
"LSldapObject : Error during the actions to be executed before creating the " "LSldapObject : Error during the actions to be executed before creating the "
"object." "object."
@ -2007,7 +2013,7 @@ msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée avant de créer " "LSldapObject : Erreur durant les actions devant être exécutée avant de créer "
"l'objet." "l'objet."
#: includes/class/class.LSldapObject.php:3249 #: includes/class/class.LSldapObject.php:3283
msgid "" msgid ""
"LSldapObject : Error during the actions to be executed after creating the " "LSldapObject : Error during the actions to be executed after creating the "
"object. It was created anyway." "object. It was created anyway."
@ -2015,7 +2021,7 @@ msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutées après la " "LSldapObject : Erreur durant les actions devant être exécutées après la "
"création de l'objet. Il a tout de même été créé." "création de l'objet. Il a tout de même été créé."
#: includes/class/class.LSldapObject.php:3253 #: includes/class/class.LSldapObject.php:3287
msgid "" msgid ""
"LSldapObject : The function %{func} to be executed before creating the " "LSldapObject : The function %{func} to be executed before creating the "
"object doesn't exist." "object doesn't exist."
@ -2023,7 +2029,7 @@ msgstr ""
"LSldapObject : La fonction %{func} devant être exécutée avant la création de " "LSldapObject : La fonction %{func} devant être exécutée avant la création de "
"l'objet n'existe pas." "l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3256 #: includes/class/class.LSldapObject.php:3290
msgid "" msgid ""
"LSldapObject : Error executing the function %{func} to be execute after " "LSldapObject : Error executing the function %{func} to be execute after "
"deleting the object." "deleting the object."
@ -2031,7 +2037,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la fonction %{func} devant être " "LSldapObject : Erreur durant l'exécution de la fonction %{func} devant être "
"exécutée après la suppression de l'objet." "exécutée après la suppression de l'objet."
#: includes/class/class.LSldapObject.php:3259 #: includes/class/class.LSldapObject.php:3293
msgid "" msgid ""
"LSldapObject : The function %{func} to be executed after deleting the object " "LSldapObject : The function %{func} to be executed after deleting the object "
"doesn't exist." "doesn't exist."
@ -2039,7 +2045,7 @@ msgstr ""
"LSldapObject : La fonction %{func} devant être exécutée après la suppression " "LSldapObject : La fonction %{func} devant être exécutée après la suppression "
"de l'objet n'existe pas." "de l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3262 #: includes/class/class.LSldapObject.php:3296
msgid "" msgid ""
"LSldapObject : Error executing the function %{func} to be execute after " "LSldapObject : Error executing the function %{func} to be execute after "
"creating the object." "creating the object."
@ -2047,7 +2053,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la fonction %{func} devant être " "LSldapObject : Erreur durant l'exécution de la fonction %{func} devant être "
"exécutée après la création de l'objet." "exécutée après la création de l'objet."
#: includes/class/class.LSldapObject.php:3266 #: includes/class/class.LSldapObject.php:3300
msgid "" msgid ""
"LSldapObject : %{func} function, to be executed on object event %{event}, " "LSldapObject : %{func} function, to be executed on object event %{event}, "
"doesn't exist." "doesn't exist."
@ -2055,7 +2061,7 @@ msgstr ""
"LSldapObject : La fonction %{func}, devant être exécutée lors de l'évènement " "LSldapObject : La fonction %{func}, devant être exécutée lors de l'évènement "
"%{event} de l'objet, n'existe pas." "%{event} de l'objet, n'existe pas."
#: includes/class/class.LSldapObject.php:3269 #: includes/class/class.LSldapObject.php:3303
msgid "" msgid ""
"LSldapObject : Error during the execution of %{func} function on object " "LSldapObject : Error during the execution of %{func} function on object "
"event %{event}." "event %{event}."
@ -2063,7 +2069,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la fonction %{func} lors de " "LSldapObject : Erreur durant l'exécution de la fonction %{func} lors de "
"l'évènement %{event} de l'objet." "l'évènement %{event} de l'objet."
#: includes/class/class.LSldapObject.php:3273 #: includes/class/class.LSldapObject.php:3307
msgid "" msgid ""
"LSldapObject : %{meth} method, to be executed on object event %{event}, " "LSldapObject : %{meth} method, to be executed on object event %{event}, "
"doesn't exist." "doesn't exist."
@ -2071,7 +2077,7 @@ msgstr ""
"LSldapObject : La méthode %{meth}, devant être exécutée lors de l'évènement " "LSldapObject : La méthode %{meth}, devant être exécutée lors de l'évènement "
"%{event} de l'objet, n'existe pas." "%{event} de l'objet, n'existe pas."
#: includes/class/class.LSldapObject.php:3276 #: includes/class/class.LSldapObject.php:3310
msgid "" msgid ""
"LSldapObject : Error during execution of %{meth} method on object event " "LSldapObject : Error during execution of %{meth} method on object event "
"%{event}." "%{event}."
@ -2079,13 +2085,13 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la méthode %{meth} lors de " "LSldapObject : Erreur durant l'exécution de la méthode %{meth} lors de "
"l'évènement %{event} de l'objet." "l'évènement %{event} de l'objet."
#: includes/class/class.LSldapObject.php:3279 #: includes/class/class.LSldapObject.php:3313
msgid "LSldapObject : Error during generate LDAP filter for %{LSobject}." msgid "LSldapObject : Error during generate LDAP filter for %{LSobject}."
msgstr "" msgstr ""
"LSldapObject : Erreur durant la génération du filtre LDAP de l'objet " "LSldapObject : Erreur durant la génération du filtre LDAP de l'objet "
"%{LSobject}." "%{LSobject}."
#: includes/class/class.LSldapObject.php:3283 #: includes/class/class.LSldapObject.php:3317
msgid "" msgid ""
"LSldapObject : Error during execution of the custom action %{customAction} " "LSldapObject : Error during execution of the custom action %{customAction} "
"on %{objectname}." "on %{objectname}."
@ -2093,22 +2099,22 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de l'action personnalisée " "LSldapObject : Erreur durant l'exécution de l'action personnalisée "
"%{customAction} sur l'objet %{objectname}." "%{customAction} sur l'objet %{objectname}."
#: includes/class/class.LSldapObject.php:3287 #: includes/class/class.LSldapObject.php:3321
msgid "LSldapObject : Fail to retrieve container DN." msgid "LSldapObject : Fail to retrieve container DN."
msgstr "LSldapObject : Impossible de récupérer le DN parent." msgstr "LSldapObject : Impossible de récupérer le DN parent."
#: includes/class/class.LSldapObject.php:3290 #: includes/class/class.LSldapObject.php:3324
msgid "" msgid ""
"LSldapObject : The function %{func} to generate container DN is not callable." "LSldapObject : The function %{func} to generate container DN is not callable."
msgstr "" msgstr ""
"LSldapObject : La fonction %{func} pour générer le DN parent n'est pas " "LSldapObject : La fonction %{func} pour générer le DN parent n'est pas "
"exécutable." "exécutable."
#: includes/class/class.LSldapObject.php:3293 #: includes/class/class.LSldapObject.php:3327
msgid "LSldapObject : Error during generating container DN : %{error}" msgid "LSldapObject : Error during generating container DN : %{error}"
msgstr "LSldapObject : Erreur durant la génération du DN parent : %{error}." msgstr "LSldapObject : Erreur durant la génération du DN parent : %{error}."
#: includes/class/class.LSldapObject.php:3296 #: includes/class/class.LSldapObject.php:3330
msgid "" msgid ""
"LSldapObject : An LDAP object with the same DN as generated for this new one " "LSldapObject : An LDAP object with the same DN as generated for this new one "
"already exists. Please verify your configuration." "already exists. Please verify your configuration."
@ -2116,7 +2122,7 @@ msgstr ""
"LSldapObject : Un objet LDAP avec le même DN que celui généré pour ce nouvel " "LSldapObject : Un objet LDAP avec le même DN que celui généré pour ce nouvel "
"objet existe déjà. Merci de vérifier votre configuration." "objet existe déjà. Merci de vérifier votre configuration."
#: includes/class/class.LSldapObject.php:3301 #: includes/class/class.LSldapObject.php:3335
msgid "" msgid ""
"LSrelation : Some parameters are missing in the call of methods to handle " "LSrelation : Some parameters are missing in the call of methods to handle "
"standard relations (Method : %{meth})." "standard relations (Method : %{meth})."
@ -2159,93 +2165,97 @@ msgstr ""
"LSformRule_password : Regex invalide configurée : %{regex}. Vous devez " "LSformRule_password : Regex invalide configurée : %{regex}. Vous devez "
"utiliser des regex de type PCRE (commencant par le caractère '/')." "utiliser des regex de type PCRE (commencant par le caractère '/')."
#: includes/class/class.LSldap.php:815 #: includes/class/class.LSldap.php:828
msgid "The password expired" msgid "The password expired"
msgstr "Le mot de passe a expiré" msgstr "Le mot de passe a expiré"
#: includes/class/class.LSldap.php:816 #: includes/class/class.LSldap.php:829
msgid "The account is locked" msgid "The account is locked"
msgstr "Ce compte est bloqué" msgstr "Ce compte est bloqué"
#: includes/class/class.LSldap.php:817 #: includes/class/class.LSldap.php:830
msgid "The password was reset and must be changed" msgid "The password was reset and must be changed"
msgstr "Le mot de passe a été réinitialisé et doit être changé" msgstr "Le mot de passe a été réinitialisé et doit être changé"
#: includes/class/class.LSldap.php:818 #: includes/class/class.LSldap.php:831
msgid "It is not possible to modify the password" msgid "It is not possible to modify the password"
msgstr "Il n'est pas possible de modifier le mot de passe" msgstr "Il n'est pas possible de modifier le mot de passe"
#: includes/class/class.LSldap.php:819 #: includes/class/class.LSldap.php:832
msgid "The old password must be supplied" msgid "The old password must be supplied"
msgstr "L'ancien mot de passe doit être fourni" msgstr "L'ancien mot de passe doit être fourni"
#: includes/class/class.LSldap.php:820 #: includes/class/class.LSldap.php:833
msgid "The password does not meet the quality requirements" msgid "The password does not meet the quality requirements"
msgstr "Le mot de passe ne répond pas aux exigences de qualité" msgstr "Le mot de passe ne répond pas aux exigences de qualité"
#: includes/class/class.LSldap.php:821 #: includes/class/class.LSldap.php:834
msgid "The password is too short" msgid "The password is too short"
msgstr "Le mot de passe est trop court" msgstr "Le mot de passe est trop court"
#: includes/class/class.LSldap.php:822 #: includes/class/class.LSldap.php:835
msgid "It is too soon to change the password" msgid "It is too soon to change the password"
msgstr "Il est trop tôt pour modifier le mot de passe" msgstr "Il est trop tôt pour modifier le mot de passe"
#: includes/class/class.LSldap.php:823 #: includes/class/class.LSldap.php:836
msgid "This password was recently used and cannot be used again" msgid "This password was recently used and cannot be used again"
msgstr "" msgstr ""
"Ce mot de passe a été utilisé récemment et il ne peut être utilisé à nouveau" "Ce mot de passe a été utilisé récemment et il ne peut être utilisé à nouveau"
#: includes/class/class.LSldap.php:967 #: includes/class/class.LSldap.php:862 includes/class/class.LSerror.php:141
msgid "Unknown error"
msgstr "Erreur inconnue"
#: includes/class/class.LSldap.php:982
msgid "LSldap: Error during the LDAP server connection (%{msg})." msgid "LSldap: Error during the LDAP server connection (%{msg})."
msgstr "LSldap : Erreur durant la connexion au serveur LDAP (%{msg})." msgstr "LSldap : Erreur durant la connexion au serveur LDAP (%{msg})."
#: includes/class/class.LSldap.php:970 #: includes/class/class.LSldap.php:985
msgid "LSldap: Error during the LDAP search (%{msg})." msgid "LSldap: Error during the LDAP search (%{msg})."
msgstr "LSldap : Erreur pendant la recherche LDAP (%{msg})." msgstr "LSldap : Erreur pendant la recherche LDAP (%{msg})."
#: includes/class/class.LSldap.php:973 #: includes/class/class.LSldap.php:988
msgid "LSldap: Object type unknown." msgid "LSldap: Object type unknown."
msgstr "LSldap : Type d'objet inconnu." msgstr "LSldap : Type d'objet inconnu."
#: includes/class/class.LSldap.php:976 #: includes/class/class.LSldap.php:991
msgid "LSldap: Error while fetching the LDAP entry." msgid "LSldap: Error while fetching the LDAP entry."
msgstr "LSldap : Erreur durant la récupération de l'entrée LDAP." msgstr "LSldap : Erreur durant la récupération de l'entrée LDAP."
#: includes/class/class.LSldap.php:979 #: includes/class/class.LSldap.php:994
msgid "LSldap: Error while changing the LDAP entry (DN : %{dn})." msgid "LSldap: Error while changing the LDAP entry (DN : %{dn})."
msgstr "LSldap : Erreur durant la modification de l'entrée LDAP (DN : %{dn})." msgstr "LSldap : Erreur durant la modification de l'entrée LDAP (DN : %{dn})."
#: includes/class/class.LSldap.php:982 #: includes/class/class.LSldap.php:997
msgid "LSldap: Error while deleting empty attributes." msgid "LSldap: Error while deleting empty attributes."
msgstr "LSldap : Erreur durant la suppression des attributs vides." msgstr "LSldap : Erreur durant la suppression des attributs vides."
#: includes/class/class.LSldap.php:985 #: includes/class/class.LSldap.php:1000
msgid "LSldap: Error while changing the DN of the object." msgid "LSldap: Error while changing the DN of the object."
msgstr "LSldap : Erreur pendant la modification du DN de l'objet." msgstr "LSldap : Erreur pendant la modification du DN de l'objet."
#: includes/class/class.LSldap.php:988 #: includes/class/class.LSldap.php:1003
msgid "LSldap: LDAP server base DN not configured." msgid "LSldap: LDAP server base DN not configured."
msgstr "LSldap : Le base DN du serveur LDAP n'est pas configuré." msgstr "LSldap : Le base DN du serveur LDAP n'est pas configuré."
#: includes/class/class.LSldap.php:991 #: includes/class/class.LSldap.php:1006
msgid "LSldap: Fail to set authz proxy option on LDAP server connection." msgid "LSldap: Fail to set authz proxy option on LDAP server connection."
msgstr "" msgstr ""
"LSldap : Une erreur est survenue en appliquant l'option d'authz proxy sur la " "LSldap : Une erreur est survenue en appliquant l'option d'authz proxy sur la "
"connexion au serveur LDAP." "connexion au serveur LDAP."
#: includes/class/class.LSldap.php:994 #: includes/class/class.LSldap.php:1009
msgid "LSldap: Error while changing the user password: %{msg}." msgid "LSldap: Error while changing the user password: %{msg}."
msgstr "" msgstr ""
"LSldap: Erreur durant la modification du mot de passe utilisateur: %{msg}." "LSldap: Erreur durant la modification du mot de passe utilisateur: %{msg}."
#: includes/class/class.LSldap.php:997 #: includes/class/class.LSldap.php:1012
msgid "LSldap: Unknown LDAP error while updating user password" msgid "LSldap: Unknown LDAP error while updating user password"
msgstr "" msgstr ""
"LSldap: Une erreur LDAP inconnue est survenue pendant la modification du mot " "LSldap: Une erreur LDAP inconnue est survenue pendant la modification du mot "
"de passe utilisateur" "de passe utilisateur"
#: includes/class/class.LSldap.php:1000 #: includes/class/class.LSldap.php:1015
msgid "" msgid ""
"LSldap: Fail to execute trigger %{callable} on event %{event} : is not " "LSldap: Fail to execute trigger %{callable} on event %{event} : is not "
"callable." "callable."
@ -2253,7 +2263,7 @@ msgstr ""
"LSldap : Échec d'exécution du déclencheur %{callable} lors de événement " "LSldap : Échec d'exécution du déclencheur %{callable} lors de événement "
"%{event} : il n'est pas un callable." "%{event} : il n'est pas un callable."
#: includes/class/class.LSldap.php:1003 #: includes/class/class.LSldap.php:1018
msgid "" msgid ""
"LSldap: Error during the execution of the trigger %{callable} on event " "LSldap: Error during the execution of the trigger %{callable} on event "
"%{event}." "%{event}."
@ -2750,19 +2760,19 @@ msgstr "Impossible de déterminer l'URL demandée."
msgid "No URL patterns configured !" msgid "No URL patterns configured !"
msgstr "Aucun modèle d'URL configuré !" msgstr "Aucun modèle d'URL configuré !"
#: includes/class/class.LSurl.php:233 #: includes/class/class.LSurl.php:252
msgid "Fail to determine the requested URL (loop detected)." msgid "Fail to determine the requested URL (loop detected)."
msgstr "Impossible de déterminer l'URL demandée (boucle détectée)." msgstr "Impossible de déterminer l'URL demandée (boucle détectée)."
#: includes/class/class.LSurl.php:255 #: includes/class/class.LSurl.php:274
msgid "The requested page was not found." msgid "The requested page was not found."
msgstr "La page demandée est introuvable." msgstr "La page demandée est introuvable."
#: includes/class/class.LSurl.php:282 #: includes/class/class.LSurl.php:301
msgid "This request could not be handled." msgid "This request could not be handled."
msgstr "Cette requête ne peut être traitée." msgstr "Cette requête ne peut être traitée."
#: includes/class/class.LSurl.php:309 #: includes/class/class.LSurl.php:328
msgid "This request could not be processed correctly." msgid "This request could not be processed correctly."
msgstr "Cette requête ne peut être traitée correctement." msgstr "Cette requête ne peut être traitée correctement."
@ -3189,7 +3199,7 @@ msgstr "La boîte mail a été supprimée."
msgid "Role" msgid "Role"
msgstr "Rôle" msgstr "Rôle"
#: includes/class/class.LScli.php:104 #: includes/class/class.LScli.php:114
#, php-format #, php-format
msgid "" msgid ""
"Usage: %s [-h] [-qdC] command\n" "Usage: %s [-h] [-qdC] command\n"
@ -3242,26 +3252,26 @@ msgstr ""
"\n" "\n"
" Commandes disponibles :\n" " Commandes disponibles :\n"
#: includes/class/class.LScli.php:136 #: includes/class/class.LScli.php:146
msgid "Currently no available command is declared." msgid "Currently no available command is declared."
msgstr "Aucune commande n'est disponible actuellement." msgstr "Aucune commande n'est disponible actuellement."
#: includes/class/class.LScli.php:197 includes/class/class.LScli.php:468 #: includes/class/class.LScli.php:207 includes/class/class.LScli.php:478
#, php-format #, php-format
msgid "Fail to select LDAP server #%s." msgid "Fail to select LDAP server #%s."
msgstr "Impossible de sélectionner le serveur LDAP #%s." msgstr "Impossible de sélectionner le serveur LDAP #%s."
#: includes/class/class.LScli.php:208 includes/class/class.LScli.php:503 #: includes/class/class.LScli.php:218 includes/class/class.LScli.php:513
#, php-format #, php-format
msgid "Fail to load class '%s'." msgid "Fail to load class '%s'."
msgstr "Impossible de charger la classe '%s'." msgstr "Impossible de charger la classe '%s'."
#: includes/class/class.LScli.php:215 includes/class/class.LScli.php:518 #: includes/class/class.LScli.php:225 includes/class/class.LScli.php:528
#, php-format #, php-format
msgid "Fail to load addon '%s'." msgid "Fail to load addon '%s'."
msgstr "Échec de chargement de l'addon '%s'." msgstr "Échec de chargement de l'addon '%s'."
#: includes/class/class.LScli.php:226 #: includes/class/class.LScli.php:236
#, php-format #, php-format
msgid "" msgid ""
"Invalid parameter \"%s\".\n" "Invalid parameter \"%s\".\n"
@ -3271,21 +3281,21 @@ msgstr ""
"Note: Les paramètres/arguments de la commande doivent être placés après " "Note: Les paramètres/arguments de la commande doivent être placés après "
"celle-ci." "celle-ci."
#: includes/class/class.LScli.php:261 includes/class/class.LScli.php:488 #: includes/class/class.LScli.php:271 includes/class/class.LScli.php:498
#: includes/class/class.LScli.php:536 #: includes/class/class.LScli.php:546
#, php-format #, php-format
msgid "Fail to select sub DN '%s'." msgid "Fail to select sub DN '%s'."
msgstr "Échec de sélection du sous DN '%s'." msgstr "Échec de sélection du sous DN '%s'."
#: includes/class/class.LScli.php:271 #: includes/class/class.LScli.php:281
msgid "Fail to select first LDAP server." msgid "Fail to select first LDAP server."
msgstr "Impossible de sélectionner le premier serveur LDAP." msgstr "Impossible de sélectionner le premier serveur LDAP."
#: includes/class/class.LScli.php:391 #: includes/class/class.LScli.php:401
msgid "Are you sure?" msgid "Are you sure?"
msgstr "Vous êtes sûre ?" msgstr "Vous êtes sûre ?"
#: includes/class/class.LScli.php:392 #: includes/class/class.LScli.php:402
#, php-format #, php-format
msgid "" msgid ""
"\n" "\n"
@ -3294,26 +3304,26 @@ msgstr ""
"\n" "\n"
"%s Entrer 'oui' pour continuer : " "%s Entrer 'oui' pour continuer : "
#: includes/class/class.LScli.php:395 templates/default/import.tpl:26 #: includes/class/class.LScli.php:405 templates/default/import.tpl:26
#: templates/default/import.tpl:32 #: templates/default/import.tpl:32
msgid "yes" msgid "yes"
msgstr "oui" msgstr "oui"
#: includes/class/class.LScli.php:396 #: includes/class/class.LScli.php:406
msgid "User cancel\n" msgid "User cancel\n"
msgstr "Annulation par l'utilisateur\n" msgstr "Annulation par l'utilisateur\n"
#: includes/class/class.LScli.php:852 #: includes/class/class.LScli.php:913
msgid "LScli : The CLI command '%{command}' already exists." msgid "LScli : The CLI command '%{command}' already exists."
msgstr "LScli : La commande CLI '%{command}' existe déjà." msgstr "LScli : La commande CLI '%{command}' existe déjà."
#: includes/class/class.LScli.php:855 #: includes/class/class.LScli.php:916
msgid "LScli : The CLI command '%{command}' handler is not callable." msgid "LScli : The CLI command '%{command}' handler is not callable."
msgstr "" msgstr ""
"LScli : La fonction de prise en charge de la commande CLI '%{command}' n'est " "LScli : La fonction de prise en charge de la commande CLI '%{command}' n'est "
"pas exécutable." "pas exécutable."
#: includes/class/class.LScli.php:864 #: includes/class/class.LScli.php:925
msgid "Handle BASH completion" msgid "Handle BASH completion"
msgstr "Gérer la complétion BASH" msgstr "Gérer la complétion BASH"
@ -3321,14 +3331,10 @@ msgstr "Gérer la complétion BASH"
msgid "LSioFormatCSV: function fputcsv is not available." msgid "LSioFormatCSV: function fputcsv is not available."
msgstr "LSioFormatCSV : la fonction fputcsv n'est pas disponible." msgstr "LSioFormatCSV : la fonction fputcsv n'est pas disponible."
#: includes/class/class.LSlog.php:506 #: includes/class/class.LSlog.php:580
msgid "LSlog : Fail to load logging handler %{handler}." msgid "LSlog : Fail to load logging handler %{handler}."
msgstr "LSlog : Impossible de charger l'handler %{handler}." msgstr "LSlog : Impossible de charger l'handler %{handler}."
#: includes/class/class.LSerror.php:141
msgid "Unknown error"
msgstr "Erreur inconnue"
#: includes/class/class.LSerror.php:201 #: includes/class/class.LSerror.php:201
msgid "Unknown error : %{error}" msgid "Unknown error : %{error}"
msgstr "Erreur inconnue : %{error}" msgstr "Erreur inconnue : %{error}"
@ -3455,23 +3461,23 @@ msgstr "[pas une chaîne de caractères]"
msgid "Folder not found" msgid "Folder not found"
msgstr "Dossier introuvable" msgstr "Dossier introuvable"
#: includes/functions.php:863 #: includes/functions.php:928
msgid "TB" msgid "TB"
msgstr "To" msgstr "To"
#: includes/functions.php:864 #: includes/functions.php:929
msgid "GB" msgid "GB"
msgstr "Go" msgstr "Go"
#: includes/functions.php:865 #: includes/functions.php:930
msgid "MB" msgid "MB"
msgstr "Mo" msgstr "Mo"
#: includes/functions.php:866 #: includes/functions.php:931
msgid "KB" msgid "KB"
msgstr "Ko" msgstr "Ko"
#: includes/functions.php:867 #: includes/functions.php:932
msgid "B" msgid "B"
msgstr "O" msgstr "O"

View file

@ -205,7 +205,7 @@ msgstr ""
msgid "MAIL: An error occured saving your changes on this template." msgid "MAIL: An error occured saving your changes on this template."
msgstr "" msgstr ""
#: includes/addons/LSaddons.mail.php:158 includes/addons/LSaddons.mail.php:573 #: includes/addons/LSaddons.mail.php:158 includes/addons/LSaddons.mail.php:575
msgid "Email templates" msgid "Email templates"
msgstr "" msgstr ""
@ -235,20 +235,20 @@ msgid ""
"%s: %s" "%s: %s"
msgstr "" msgstr ""
#: includes/addons/LSaddons.mail.php:463 #: includes/addons/LSaddons.mail.php:465
msgid "An exception occured forging message from email template '%{template}'" msgid "An exception occured forging message from email template '%{template}'"
msgstr "" msgstr ""
#: includes/addons/LSaddons.mail.php:503 #: includes/addons/LSaddons.mail.php:505
msgid "Email template: %{name}" msgid "Email template: %{name}"
msgstr "" msgstr ""
#: includes/addons/LSaddons.mail.php:513 includes/addons/LSaddons.mail.php:529 #: includes/addons/LSaddons.mail.php:515 includes/addons/LSaddons.mail.php:531
#: includes/addons/LSaddons.mail.php:547 #: includes/addons/LSaddons.mail.php:549
msgid "Your changes have been saved." msgid "Your changes have been saved."
msgstr "" msgstr ""
#: includes/addons/LSaddons.mail.php:565 #: includes/addons/LSaddons.mail.php:567
#: includes/addons/LSaddons.showSupportInfo.php:78 #: includes/addons/LSaddons.showSupportInfo.php:78
#: includes/addons/LSaddons.dyngroup.php:408 #: includes/addons/LSaddons.dyngroup.php:408
#: includes/addons/LSaddons.accesslog.php:248 #: includes/addons/LSaddons.accesslog.php:248
@ -1211,93 +1211,93 @@ msgstr ""
msgid "LStemplate : Smarty version not recognized." msgid "LStemplate : Smarty version not recognized."
msgstr "" msgstr ""
#: includes/class/class.LStemplate.php:213 #: includes/class/class.LStemplate.php:211
msgid "LStemplate : Can't load Smarty." msgid "LStemplate : Can't load Smarty."
msgstr "" msgstr ""
#: includes/class/class.LStemplate.php:340 #: includes/class/class.LStemplate.php:338
msgid "" msgid ""
"LStemplate : Request template '%{tpl}' is now deprecated. Please refer to " "LStemplate : Request template '%{tpl}' is now deprecated. Please refer to "
"upgrade documentation to adapt your templates." "upgrade documentation to adapt your templates."
msgstr "" msgstr ""
#: includes/class/class.LStemplate.php:422 #: includes/class/class.LStemplate.php:420
msgid "Copy to clipboard" msgid "Copy to clipboard"
msgstr "" msgstr ""
#: includes/class/class.LStemplate.php:423 #: includes/class/class.LStemplate.php:421
msgid "Copied!" msgid "Copied!"
msgstr "" msgstr ""
#: includes/class/class.LStemplate.php:485 #: includes/class/class.LStemplate.php:484
msgid "Smarty - An exception occured displaying template '%{template}'" msgid "Smarty - An exception occured displaying template '%{template}'"
msgstr "" msgstr ""
#: includes/class/class.LStemplate.php:505 #: includes/class/class.LStemplate.php:504
msgid "Smarty - An exception occured fetching template '%{template}'" msgid "Smarty - An exception occured fetching template '%{template}'"
msgstr "" msgstr ""
#: includes/class/class.LStemplate.php:521 #: includes/class/class.LStemplate.php:520
#: includes/class/class.LStemplate.php:535 #: includes/class/class.LStemplate.php:534
msgid "A fatal error occured. If problem persist, please contact support." msgid "A fatal error occured. If problem persist, please contact support."
msgstr "" msgstr ""
#: includes/class/class.LStemplate.php:531 #: includes/class/class.LStemplate.php:530
msgid "<h1>Loop detected displaying this error:</h1><pre>%{error}</pre>" msgid "<h1>Loop detected displaying this error:</h1><pre>%{error}</pre>"
msgstr "" msgstr ""
#: includes/class/class.LStemplate.php:534 #: includes/class/class.LStemplate.php:533
msgid "A fatal error occured." msgid "A fatal error occured."
msgstr "" msgstr ""
#: includes/class/class.LStemplate.php:733 #: includes/class/class.LStemplate.php:732
msgid "LStemplate : Template %{file} not found." msgid "LStemplate : Template %{file} not found."
msgstr "" msgstr ""
#: includes/class/class.LStemplate.php:736 #: includes/class/class.LStemplate.php:735
msgid "" msgid ""
"LStemplate : Fail to execute trigger %{callable} on event %{event} : is not " "LStemplate : Fail to execute trigger %{callable} on event %{event} : is not "
"callable." "callable."
msgstr "" msgstr ""
#: includes/class/class.LStemplate.php:739 #: includes/class/class.LStemplate.php:738
msgid "" msgid ""
"LStemplate : Error during the execution of the trigger %{callable} on event " "LStemplate : Error during the execution of the trigger %{callable} on event "
"%{event}." "%{event}."
msgstr "" msgstr ""
#: includes/class/class.LSattr_html_select_object.php:406 #: includes/class/class.LSattr_html_select_object.php:445
msgid "" msgid ""
"LSattr_html_select_object : parameter '%{parameter}' is missing (attribute : " "LSattr_html_select_object : parameter '%{parameter}' is missing (attribute : "
"%{attr})." "%{attr})."
msgstr "" msgstr ""
#: includes/class/class.LSattr_html_select_object.php:409 #: includes/class/class.LSattr_html_select_object.php:448
msgid "" msgid ""
"LSattr_html_select_object : the value of the parameter value_attribute in " "LSattr_html_select_object : the value of the parameter value_attribute in "
"the configuration of the attribute %{attr} is incorrect. Object " "the configuration of the attribute %{attr} is incorrect. Object "
"%{object_type} have no attribute %{value_attribute}." "%{object_type} have no attribute %{value_attribute}."
msgstr "" msgstr ""
#: includes/class/class.LSattr_html_select_object.php:412 #: includes/class/class.LSattr_html_select_object.php:451
msgid "" msgid ""
"LSattr_html_select_object : more than one object returned corresponding to " "LSattr_html_select_object : more than one object returned corresponding to "
"value %{val} of attribute %{attr}." "value %{val} of attribute %{attr}."
msgstr "" msgstr ""
#: includes/class/class.LSattr_html_select_object.php:415 #: includes/class/class.LSattr_html_select_object.php:454
msgid "" msgid ""
"LSattr_html_select_object : selection of object type %{type} is configured " "LSattr_html_select_object : selection of object type %{type} is configured "
"multiple time for attribute %{attr}." "multiple time for attribute %{attr}."
msgstr "" msgstr ""
#: includes/class/class.LSattr_html_select_object.php:418 #: includes/class/class.LSattr_html_select_object.php:457
msgid "" msgid ""
"LSattr_html_select_object : the value '%{value}' seem to be duplicated in " "LSattr_html_select_object : the value '%{value}' seem to be duplicated in "
"values of the attribute %{attr}." "values of the attribute %{attr}."
msgstr "" msgstr ""
#: includes/class/class.LSattr_html_select_object.php:421 #: includes/class/class.LSattr_html_select_object.php:460
msgid "" msgid ""
"LSattr_html_select_object : selected object %{name} has no attribute %{attr} " "LSattr_html_select_object : selected object %{name} has no attribute %{attr} "
"value, you can't select it." "value, you can't select it."
@ -1399,10 +1399,14 @@ msgid ""
"callabled (%{function})." "callabled (%{function})."
msgstr "" msgstr ""
#: includes/class/class.LSformRule_zxcvbn.php:85 #: includes/class/class.LSformRule_zxcvbn.php:101
msgid "The security of this password is too weak." msgid "The security of this password is too weak."
msgstr "" msgstr ""
#: includes/class/class.LSformRule_zxcvbn.php:121
msgid "LSformRule_zxcvbn: Dictionary %{name} file not found (%{path})."
msgstr ""
#: includes/class/class.LSformElement_select.php:52 #: includes/class/class.LSformElement_select.php:52
msgid "Reset selection." msgid "Reset selection."
msgstr "" msgstr ""
@ -1582,199 +1586,199 @@ msgstr ""
msgid "Invalid file type (%{type})." msgid "Invalid file type (%{type})."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:603 #: includes/class/class.LSldapObject.php:620
msgid "The attribute %{attr} is not valid." msgid "The attribute %{attr} is not valid."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3183 #: includes/class/class.LSldapObject.php:3217
msgid "LSldapObject : Object type unknown." msgid "LSldapObject : Object type unknown."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3186 #: includes/class/class.LSldapObject.php:3220
msgid "LSldapObject : Update form is not defined for the object %{obj}." msgid "LSldapObject : Update form is not defined for the object %{obj}."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3189 #: includes/class/class.LSldapObject.php:3223
msgid "LSldapObject : No form exists for the object %{obj}." msgid "LSldapObject : No form exists for the object %{obj}."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3192 #: includes/class/class.LSldapObject.php:3226
msgid "" msgid ""
"LSldapObject : The function %{func} to validate the attribute %{attr} the " "LSldapObject : The function %{func} to validate the attribute %{attr} the "
"object %{obj} is unknow." "object %{obj} is unknow."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3195 #: includes/class/class.LSldapObject.php:3229
msgid "" msgid ""
"LSldapObject : Configuration data are missing to validate the attribute " "LSldapObject : Configuration data are missing to validate the attribute "
"%{attr} of the object %{obj}." "%{attr} of the object %{obj}."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3199 #: includes/class/class.LSldapObject.php:3233
msgid "" msgid ""
"LSldapObject : The function %{func} to be executed on the object event " "LSldapObject : The function %{func} to be executed on the object event "
"%{event} doesn't exist." "%{event} doesn't exist."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3202 #: includes/class/class.LSldapObject.php:3236
msgid "" msgid ""
"LSldapObject : The %{func} execution on the object event %{event} failed." "LSldapObject : The %{func} execution on the object event %{event} failed."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3206 #: includes/class/class.LSldapObject.php:3240
msgid "" msgid ""
"LSldapObject : Class %{class}, which method %{meth} to be executed on the " "LSldapObject : Class %{class}, which method %{meth} to be executed on the "
"object event %{event}, doesn't exist." "object event %{event}, doesn't exist."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3209 #: includes/class/class.LSldapObject.php:3243
msgid "" msgid ""
"LSldapObject : Method %{meth} within %{class} class to be executed on object " "LSldapObject : Method %{meth} within %{class} class to be executed on object "
"event %{event}, doesn't exist." "event %{event}, doesn't exist."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3212 #: includes/class/class.LSldapObject.php:3246
msgid "" msgid ""
"LSldapObject : Error during execute %{meth} method within %{class} class, to " "LSldapObject : Error during execute %{meth} method within %{class} class, to "
"be executed on object event %{event}." "be executed on object event %{event}."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3216 #: includes/class/class.LSldapObject.php:3250
msgid "" msgid ""
"LSldapObject : Some configuration data of the object type %{obj} are missing " "LSldapObject : Some configuration data of the object type %{obj} are missing "
"to generate the DN of the new object." "to generate the DN of the new object."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3219 #: includes/class/class.LSldapObject.php:3253
msgid "" msgid ""
"LSldapObject : The attibute %{attr} of the object is not yet defined. Can't " "LSldapObject : The attibute %{attr} of the object is not yet defined. Can't "
"generate DN." "generate DN."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3222 #: includes/class/class.LSldapObject.php:3256
msgid "LSldapObject : Without DN, the object could not be changed." msgid "LSldapObject : Without DN, the object could not be changed."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3225 #: includes/class/class.LSldapObject.php:3259
msgid "" msgid ""
"LSldapObject : The attribute %{attr_depend} depending on the attribute " "LSldapObject : The attribute %{attr_depend} depending on the attribute "
"%{attr} doesn't exist." "%{attr} doesn't exist."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3228 #: includes/class/class.LSldapObject.php:3262
msgid "LSldapObject : Error during deleting the object %{objectname}." msgid "LSldapObject : Error during deleting the object %{objectname}."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3232 #: includes/class/class.LSldapObject.php:3266
msgid "" msgid ""
"LSldapObject : Error during actions to be executed before renaming the objet." "LSldapObject : Error during actions to be executed before renaming the objet."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3235 #: includes/class/class.LSldapObject.php:3269
msgid "" msgid ""
"LSldapObject : Error during actions to be executed after renaming the objet." "LSldapObject : Error during actions to be executed after renaming the objet."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3239 #: includes/class/class.LSldapObject.php:3273
msgid "" msgid ""
"LSldapObject : Error during actions to be executed before deleting the objet." "LSldapObject : Error during actions to be executed before deleting the objet."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3242 #: includes/class/class.LSldapObject.php:3276
msgid "" msgid ""
"LSldapObject : Error during actions to be executed after deleting the objet." "LSldapObject : Error during actions to be executed after deleting the objet."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3246 #: includes/class/class.LSldapObject.php:3280
msgid "" msgid ""
"LSldapObject : Error during the actions to be executed before creating the " "LSldapObject : Error during the actions to be executed before creating the "
"object." "object."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3249 #: includes/class/class.LSldapObject.php:3283
msgid "" msgid ""
"LSldapObject : Error during the actions to be executed after creating the " "LSldapObject : Error during the actions to be executed after creating the "
"object. It was created anyway." "object. It was created anyway."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3253 #: includes/class/class.LSldapObject.php:3287
msgid "" msgid ""
"LSldapObject : The function %{func} to be executed before creating the " "LSldapObject : The function %{func} to be executed before creating the "
"object doesn't exist." "object doesn't exist."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3256 #: includes/class/class.LSldapObject.php:3290
msgid "" msgid ""
"LSldapObject : Error executing the function %{func} to be execute after " "LSldapObject : Error executing the function %{func} to be execute after "
"deleting the object." "deleting the object."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3259 #: includes/class/class.LSldapObject.php:3293
msgid "" msgid ""
"LSldapObject : The function %{func} to be executed after deleting the object " "LSldapObject : The function %{func} to be executed after deleting the object "
"doesn't exist." "doesn't exist."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3262 #: includes/class/class.LSldapObject.php:3296
msgid "" msgid ""
"LSldapObject : Error executing the function %{func} to be execute after " "LSldapObject : Error executing the function %{func} to be execute after "
"creating the object." "creating the object."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3266 #: includes/class/class.LSldapObject.php:3300
msgid "" msgid ""
"LSldapObject : %{func} function, to be executed on object event %{event}, " "LSldapObject : %{func} function, to be executed on object event %{event}, "
"doesn't exist." "doesn't exist."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3269 #: includes/class/class.LSldapObject.php:3303
msgid "" msgid ""
"LSldapObject : Error during the execution of %{func} function on object " "LSldapObject : Error during the execution of %{func} function on object "
"event %{event}." "event %{event}."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3273 #: includes/class/class.LSldapObject.php:3307
msgid "" msgid ""
"LSldapObject : %{meth} method, to be executed on object event %{event}, " "LSldapObject : %{meth} method, to be executed on object event %{event}, "
"doesn't exist." "doesn't exist."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3276 #: includes/class/class.LSldapObject.php:3310
msgid "" msgid ""
"LSldapObject : Error during execution of %{meth} method on object event " "LSldapObject : Error during execution of %{meth} method on object event "
"%{event}." "%{event}."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3279 #: includes/class/class.LSldapObject.php:3313
msgid "LSldapObject : Error during generate LDAP filter for %{LSobject}." msgid "LSldapObject : Error during generate LDAP filter for %{LSobject}."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3283 #: includes/class/class.LSldapObject.php:3317
msgid "" msgid ""
"LSldapObject : Error during execution of the custom action %{customAction} " "LSldapObject : Error during execution of the custom action %{customAction} "
"on %{objectname}." "on %{objectname}."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3287 #: includes/class/class.LSldapObject.php:3321
msgid "LSldapObject : Fail to retrieve container DN." msgid "LSldapObject : Fail to retrieve container DN."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3290 #: includes/class/class.LSldapObject.php:3324
msgid "" msgid ""
"LSldapObject : The function %{func} to generate container DN is not callable." "LSldapObject : The function %{func} to generate container DN is not callable."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3293 #: includes/class/class.LSldapObject.php:3327
msgid "LSldapObject : Error during generating container DN : %{error}" msgid "LSldapObject : Error during generating container DN : %{error}"
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3296 #: includes/class/class.LSldapObject.php:3330
msgid "" msgid ""
"LSldapObject : An LDAP object with the same DN as generated for this new one " "LSldapObject : An LDAP object with the same DN as generated for this new one "
"already exists. Please verify your configuration." "already exists. Please verify your configuration."
msgstr "" msgstr ""
#: includes/class/class.LSldapObject.php:3301 #: includes/class/class.LSldapObject.php:3335
msgid "" msgid ""
"LSrelation : Some parameters are missing in the call of methods to handle " "LSrelation : Some parameters are missing in the call of methods to handle "
"standard relations (Method : %{meth})." "standard relations (Method : %{meth})."
@ -1809,93 +1813,97 @@ msgid ""
"(begining by '/' caracter)." "(begining by '/' caracter)."
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:815 #: includes/class/class.LSldap.php:828
msgid "The password expired" msgid "The password expired"
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:816 #: includes/class/class.LSldap.php:829
msgid "The account is locked" msgid "The account is locked"
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:817 #: includes/class/class.LSldap.php:830
msgid "The password was reset and must be changed" msgid "The password was reset and must be changed"
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:818 #: includes/class/class.LSldap.php:831
msgid "It is not possible to modify the password" msgid "It is not possible to modify the password"
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:819 #: includes/class/class.LSldap.php:832
msgid "The old password must be supplied" msgid "The old password must be supplied"
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:820 #: includes/class/class.LSldap.php:833
msgid "The password does not meet the quality requirements" msgid "The password does not meet the quality requirements"
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:821 #: includes/class/class.LSldap.php:834
msgid "The password is too short" msgid "The password is too short"
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:822 #: includes/class/class.LSldap.php:835
msgid "It is too soon to change the password" msgid "It is too soon to change the password"
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:823 #: includes/class/class.LSldap.php:836
msgid "This password was recently used and cannot be used again" msgid "This password was recently used and cannot be used again"
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:967 #: includes/class/class.LSldap.php:862 includes/class/class.LSerror.php:141
msgid "LSldap: Error during the LDAP server connection (%{msg})." msgid "Unknown error"
msgstr ""
#: includes/class/class.LSldap.php:970
msgid "LSldap: Error during the LDAP search (%{msg})."
msgstr ""
#: includes/class/class.LSldap.php:973
msgid "LSldap: Object type unknown."
msgstr ""
#: includes/class/class.LSldap.php:976
msgid "LSldap: Error while fetching the LDAP entry."
msgstr ""
#: includes/class/class.LSldap.php:979
msgid "LSldap: Error while changing the LDAP entry (DN : %{dn})."
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:982 #: includes/class/class.LSldap.php:982
msgid "LSldap: Error while deleting empty attributes." msgid "LSldap: Error during the LDAP server connection (%{msg})."
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:985 #: includes/class/class.LSldap.php:985
msgid "LSldap: Error while changing the DN of the object." msgid "LSldap: Error during the LDAP search (%{msg})."
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:988 #: includes/class/class.LSldap.php:988
msgid "LSldap: LDAP server base DN not configured." msgid "LSldap: Object type unknown."
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:991 #: includes/class/class.LSldap.php:991
msgid "LSldap: Fail to set authz proxy option on LDAP server connection." msgid "LSldap: Error while fetching the LDAP entry."
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:994 #: includes/class/class.LSldap.php:994
msgid "LSldap: Error while changing the user password: %{msg}." msgid "LSldap: Error while changing the LDAP entry (DN : %{dn})."
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:997 #: includes/class/class.LSldap.php:997
msgid "LSldap: Unknown LDAP error while updating user password" msgid "LSldap: Error while deleting empty attributes."
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:1000 #: includes/class/class.LSldap.php:1000
msgid "LSldap: Error while changing the DN of the object."
msgstr ""
#: includes/class/class.LSldap.php:1003
msgid "LSldap: LDAP server base DN not configured."
msgstr ""
#: includes/class/class.LSldap.php:1006
msgid "LSldap: Fail to set authz proxy option on LDAP server connection."
msgstr ""
#: includes/class/class.LSldap.php:1009
msgid "LSldap: Error while changing the user password: %{msg}."
msgstr ""
#: includes/class/class.LSldap.php:1012
msgid "LSldap: Unknown LDAP error while updating user password"
msgstr ""
#: includes/class/class.LSldap.php:1015
msgid "" msgid ""
"LSldap: Fail to execute trigger %{callable} on event %{event} : is not " "LSldap: Fail to execute trigger %{callable} on event %{event} : is not "
"callable." "callable."
msgstr "" msgstr ""
#: includes/class/class.LSldap.php:1003 #: includes/class/class.LSldap.php:1018
msgid "" msgid ""
"LSldap: Error during the execution of the trigger %{callable} on event " "LSldap: Error during the execution of the trigger %{callable} on event "
"%{event}." "%{event}."
@ -2333,19 +2341,19 @@ msgstr ""
msgid "No URL patterns configured !" msgid "No URL patterns configured !"
msgstr "" msgstr ""
#: includes/class/class.LSurl.php:233 #: includes/class/class.LSurl.php:252
msgid "Fail to determine the requested URL (loop detected)." msgid "Fail to determine the requested URL (loop detected)."
msgstr "" msgstr ""
#: includes/class/class.LSurl.php:255 #: includes/class/class.LSurl.php:274
msgid "The requested page was not found." msgid "The requested page was not found."
msgstr "" msgstr ""
#: includes/class/class.LSurl.php:282 #: includes/class/class.LSurl.php:301
msgid "This request could not be handled." msgid "This request could not be handled."
msgstr "" msgstr ""
#: includes/class/class.LSurl.php:309 #: includes/class/class.LSurl.php:328
msgid "This request could not be processed correctly." msgid "This request could not be processed correctly."
msgstr "" msgstr ""
@ -2723,7 +2731,7 @@ msgstr ""
msgid "Role" msgid "Role"
msgstr "" msgstr ""
#: includes/class/class.LScli.php:104 #: includes/class/class.LScli.php:114
#, php-format #, php-format
msgid "" msgid ""
"Usage: %s [-h] [-qdC] command\n" "Usage: %s [-h] [-qdC] command\n"
@ -2749,71 +2757,71 @@ msgid ""
" Available commands:\n" " Available commands:\n"
msgstr "" msgstr ""
#: includes/class/class.LScli.php:136 #: includes/class/class.LScli.php:146
msgid "Currently no available command is declared." msgid "Currently no available command is declared."
msgstr "" msgstr ""
#: includes/class/class.LScli.php:197 includes/class/class.LScli.php:468 #: includes/class/class.LScli.php:207 includes/class/class.LScli.php:478
#, php-format #, php-format
msgid "Fail to select LDAP server #%s." msgid "Fail to select LDAP server #%s."
msgstr "" msgstr ""
#: includes/class/class.LScli.php:208 includes/class/class.LScli.php:503 #: includes/class/class.LScli.php:218 includes/class/class.LScli.php:513
#, php-format #, php-format
msgid "Fail to load class '%s'." msgid "Fail to load class '%s'."
msgstr "" msgstr ""
#: includes/class/class.LScli.php:215 includes/class/class.LScli.php:518 #: includes/class/class.LScli.php:225 includes/class/class.LScli.php:528
#, php-format #, php-format
msgid "Fail to load addon '%s'." msgid "Fail to load addon '%s'."
msgstr "" msgstr ""
#: includes/class/class.LScli.php:226 #: includes/class/class.LScli.php:236
#, php-format #, php-format
msgid "" msgid ""
"Invalid parameter \"%s\".\n" "Invalid parameter \"%s\".\n"
"Note: Command's parameter/argument must be place after the command." "Note: Command's parameter/argument must be place after the command."
msgstr "" msgstr ""
#: includes/class/class.LScli.php:261 includes/class/class.LScli.php:488 #: includes/class/class.LScli.php:271 includes/class/class.LScli.php:498
#: includes/class/class.LScli.php:536 #: includes/class/class.LScli.php:546
#, php-format #, php-format
msgid "Fail to select sub DN '%s'." msgid "Fail to select sub DN '%s'."
msgstr "" msgstr ""
#: includes/class/class.LScli.php:271 #: includes/class/class.LScli.php:281
msgid "Fail to select first LDAP server." msgid "Fail to select first LDAP server."
msgstr "" msgstr ""
#: includes/class/class.LScli.php:391 #: includes/class/class.LScli.php:401
msgid "Are you sure?" msgid "Are you sure?"
msgstr "" msgstr ""
#: includes/class/class.LScli.php:392 #: includes/class/class.LScli.php:402
#, php-format #, php-format
msgid "" msgid ""
"\n" "\n"
"%s Type 'yes' to continue: " "%s Type 'yes' to continue: "
msgstr "" msgstr ""
#: includes/class/class.LScli.php:395 templates/default/import.tpl:26 #: includes/class/class.LScli.php:405 templates/default/import.tpl:26
#: templates/default/import.tpl:32 #: templates/default/import.tpl:32
msgid "yes" msgid "yes"
msgstr "" msgstr ""
#: includes/class/class.LScli.php:396 #: includes/class/class.LScli.php:406
msgid "User cancel\n" msgid "User cancel\n"
msgstr "" msgstr ""
#: includes/class/class.LScli.php:852 #: includes/class/class.LScli.php:913
msgid "LScli : The CLI command '%{command}' already exists." msgid "LScli : The CLI command '%{command}' already exists."
msgstr "" msgstr ""
#: includes/class/class.LScli.php:855 #: includes/class/class.LScli.php:916
msgid "LScli : The CLI command '%{command}' handler is not callable." msgid "LScli : The CLI command '%{command}' handler is not callable."
msgstr "" msgstr ""
#: includes/class/class.LScli.php:864 #: includes/class/class.LScli.php:925
msgid "Handle BASH completion" msgid "Handle BASH completion"
msgstr "" msgstr ""
@ -2821,14 +2829,10 @@ msgstr ""
msgid "LSioFormatCSV: function fputcsv is not available." msgid "LSioFormatCSV: function fputcsv is not available."
msgstr "" msgstr ""
#: includes/class/class.LSlog.php:506 #: includes/class/class.LSlog.php:580
msgid "LSlog : Fail to load logging handler %{handler}." msgid "LSlog : Fail to load logging handler %{handler}."
msgstr "" msgstr ""
#: includes/class/class.LSerror.php:141
msgid "Unknown error"
msgstr ""
#: includes/class/class.LSerror.php:201 #: includes/class/class.LSerror.php:201
msgid "Unknown error : %{error}" msgid "Unknown error : %{error}"
msgstr "" msgstr ""
@ -2945,23 +2949,23 @@ msgstr ""
msgid "Folder not found" msgid "Folder not found"
msgstr "" msgstr ""
#: includes/functions.php:863 #: includes/functions.php:928
msgid "TB" msgid "TB"
msgstr "" msgstr ""
#: includes/functions.php:864 #: includes/functions.php:929
msgid "GB" msgid "GB"
msgstr "" msgstr ""
#: includes/functions.php:865 #: includes/functions.php:930
msgid "MB" msgid "MB"
msgstr "" msgstr ""
#: includes/functions.php:866 #: includes/functions.php:931
msgid "KB" msgid "KB"
msgstr "" msgstr ""
#: includes/functions.php:867 #: includes/functions.php:932
msgid "B" msgid "B"
msgstr "" msgstr ""