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
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
vérifications permettant de déterminer à quel point le mot de passe choisi est commun, prévisible
[ZxcvbnPhp](https://gitlab.easter-eggs.com/ee/zxcvbn-php). Cette librairie s'appuie sur un ensemble
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.
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.
@ -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
ê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`
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;
/**
* 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
*
@ -843,6 +853,57 @@ class LScli extends LSlog_staticLoggerClass {
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'))) {
$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)
LScli :: usage('Invalid parameter string ('.$command_args[$i].').');
if (array_key_exists($param_parts[0], $params))
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)) {
$rule_name = $command_args[$i];

View file

@ -33,6 +33,7 @@ class LSformRule_zxcvbn extends LSformRule {
'userDataAttrs' => null,
'showWarning' => array('LScli', 'autocomplete_bool'),
'showSuggestions' => array('LScli', 'autocomplete_bool'),
'customDictionaries' => null,
'zxcvbn_autoload_path' => null,
);
@ -53,6 +54,21 @@ class LSformRule_zxcvbn extends LSformRule {
), true
);
$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();
$userDataAttrs = LSconfig :: get('params.userDataAttrs', array(), 'array', $options);
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

View file

@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: LdapSaisie\n"
"Report-Msgid-Bugs-To: \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"
"Language-Team: LdapSaisie <ldapsaisie-users@lists.labs.libre-entreprise."
"org>\n"
@ -269,7 +269,7 @@ msgstr ""
"MAIL : Une erreur est survenue en enregistrant vos modifications sur ce "
"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"
msgstr "Modèles de courriels"
@ -305,22 +305,22 @@ msgstr ""
"\n"
"%s: %s"
#: includes/addons/LSaddons.mail.php:463
#: includes/addons/LSaddons.mail.php:465
msgid "An exception occured forging message from email template '%{template}'"
msgstr ""
"Une exception est survenue en générant le message à partir du modèle de "
"courriel '%{template}'"
#: includes/addons/LSaddons.mail.php:503
#: includes/addons/LSaddons.mail.php:505
msgid "Email template: %{name}"
msgstr "Modèle de courriel : %{name}"
#: includes/addons/LSaddons.mail.php:513 includes/addons/LSaddons.mail.php:529
#: includes/addons/LSaddons.mail.php:547
#: includes/addons/LSaddons.mail.php:515 includes/addons/LSaddons.mail.php:531
#: includes/addons/LSaddons.mail.php:549
msgid "Your changes have been saved."
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.dyngroup.php:408
#: 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."
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."
msgstr ""
"LStemplate : Impossible de charger le moteur de gestion de template Smarty."
#: includes/class/class.LStemplate.php:340
#: includes/class/class.LStemplate.php:338
msgid ""
"LStemplate : Request template '%{tpl}' is now deprecated. Please refer to "
"upgrade documentation to adapt your templates."
@ -1417,44 +1417,44 @@ msgstr ""
"LStemplate : Le fichier de template '%{tpl}' est maintenant déprécié. Merci "
"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"
msgstr "Copier dans le presse-papier"
#: includes/class/class.LStemplate.php:423
#: includes/class/class.LStemplate.php:421
msgid "Copied!"
msgstr "Copié !"
#: includes/class/class.LStemplate.php:485
#: includes/class/class.LStemplate.php:484
msgid "Smarty - An exception occured displaying template '%{template}'"
msgstr ""
"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}'"
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:535
#: includes/class/class.LStemplate.php:520
#: includes/class/class.LStemplate.php:534
msgid "A fatal error occured. If problem persist, please contact support."
msgstr ""
"Une erreur irrécupérable est survenue. Si le problème persiste, merci de "
"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>"
msgstr ""
"<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."
msgstr "Une erreur fatale est survenue."
#: includes/class/class.LStemplate.php:733
#: includes/class/class.LStemplate.php:732
msgid "LStemplate : Template %{file} not found."
msgstr "LStemplate : le template %{file} est introuvable."
#: includes/class/class.LStemplate.php:736
#: includes/class/class.LStemplate.php:735
msgid ""
"LStemplate : Fail to execute trigger %{callable} on event %{event} : is not "
"callable."
@ -1462,7 +1462,7 @@ msgstr ""
"LStemplate : Échec d'exécution du déclencheur %{callable} lors de événement "
"%{event} : il n'est pas un callable."
#: includes/class/class.LStemplate.php:739
#: includes/class/class.LStemplate.php:738
msgid ""
"LStemplate : Error during the execution of the trigger %{callable} on event "
"%{event}."
@ -1470,7 +1470,7 @@ msgstr ""
"LStemplate : Erreur durant l'exécution du déclencheur %{callable} lors de "
"l'événement %{event}."
#: includes/class/class.LSattr_html_select_object.php:406
#: includes/class/class.LSattr_html_select_object.php:445
msgid ""
"LSattr_html_select_object : parameter '%{parameter}' is missing (attribute : "
"%{attr})."
@ -1478,7 +1478,7 @@ msgstr ""
"LSattr_html_select_objet : Le type paramètre %{parameter} n'est pas défini "
"(attribut : %{attr})."
#: includes/class/class.LSattr_html_select_object.php:409
#: includes/class/class.LSattr_html_select_object.php:448
msgid ""
"LSattr_html_select_object : the value of the parameter value_attribute in "
"the configuration of the attribute %{attr} is incorrect. Object "
@ -1488,7 +1488,7 @@ msgstr ""
"configuration de l'attribut %{attr} est incorrecte. Les objets "
"%{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 ""
"LSattr_html_select_object : more than one object returned corresponding to "
"value %{val} of attribute %{attr}."
@ -1496,7 +1496,7 @@ msgstr ""
"LSattr_html_select_objet : plus d'un objet retourné en correspondance à la "
"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 ""
"LSattr_html_select_object : selection of object type %{type} is configured "
"multiple time for attribute %{attr}."
@ -1504,7 +1504,7 @@ msgstr ""
"LSattr_html_select_objet : La sélection du type d'objet %{type} est "
"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 ""
"LSattr_html_select_object : the value '%{value}' seem to be duplicated in "
"values of the attribute %{attr}."
@ -1512,7 +1512,7 @@ msgstr ""
"LSattr_html_select_objet : La valeur '%{value}' semble dupliquée dans les "
"valeurs de l'attribut %{attr}."
#: includes/class/class.LSattr_html_select_object.php:421
#: includes/class/class.LSattr_html_select_object.php:460
msgid ""
"LSattr_html_select_object : selected object %{name} has no attribute %{attr} "
"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 "
"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."
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
msgid "Reset selection."
msgstr "Réinitiliser la sélection."
@ -1866,25 +1872,25 @@ msgstr ""
msgid "Invalid file type (%{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."
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."
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}."
msgstr ""
"LSldapObject : Le formulaire de mise à jour n'est pas défini pour l'objet "
"%{obj}."
#: includes/class/class.LSldapObject.php:3189
#: includes/class/class.LSldapObject.php:3223
msgid "LSldapObject : No form exists for the object %{obj}."
msgstr "LSldapObject : Aucun formulaire n'existe pour l'objet %{obj}"
#: includes/class/class.LSldapObject.php:3192
#: includes/class/class.LSldapObject.php:3226
msgid ""
"LSldapObject : The function %{func} to validate the attribute %{attr} the "
"object %{obj} is unknow."
@ -1892,7 +1898,7 @@ msgstr ""
"LSldapObject : La fonction %{func} pour valider l'attribut %{attr} de "
"l'objet %{obj} est inconnue."
#: includes/class/class.LSldapObject.php:3195
#: includes/class/class.LSldapObject.php:3229
msgid ""
"LSldapObject : Configuration data are missing to validate the attribute "
"%{attr} of the object %{obj}."
@ -1900,7 +1906,7 @@ msgstr ""
"LSldapObject : Des données de configurations sont manquantes pour pouvoir "
"valider l'attribut %{attr} de l'objet %{obj}."
#: includes/class/class.LSldapObject.php:3199
#: includes/class/class.LSldapObject.php:3233
msgid ""
"LSldapObject : The function %{func} to be executed on the object event "
"%{event} doesn't exist."
@ -1908,14 +1914,14 @@ msgstr ""
"LSldapObject : La fonction %{func} devant être exécutée lors de l'évènement "
"%{event} de l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3202
#: includes/class/class.LSldapObject.php:3236
msgid ""
"LSldapObject : The %{func} execution on the object event %{event} failed."
msgstr ""
"LSldapObject : L'exécution de la fonction %{func} lors de l'évènement "
"%{event} de l'objet a échouée."
#: includes/class/class.LSldapObject.php:3206
#: includes/class/class.LSldapObject.php:3240
msgid ""
"LSldapObject : Class %{class}, which method %{meth} to be executed on the "
"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 "
"de l'évènement %{event} de l'objet, n'existe pas."
#: includes/class/class.LSldapObject.php:3209
#: includes/class/class.LSldapObject.php:3243
msgid ""
"LSldapObject : Method %{meth} within %{class} class to be executed on object "
"event %{event}, doesn't exist."
@ -1931,7 +1937,7 @@ msgstr ""
"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."
#: includes/class/class.LSldapObject.php:3212
#: includes/class/class.LSldapObject.php:3246
msgid ""
"LSldapObject : Error during execute %{meth} method within %{class} class, to "
"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 "
"%{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 ""
"LSldapObject : Some configuration data of the object type %{obj} are missing "
"to generate the DN of the new object."
@ -1947,7 +1953,7 @@ msgstr ""
"LSldapObject : Des informations de configuration du type d'objet %{obj} sont "
"manquantes pour la génération du DN du nouvel objet."
#: includes/class/class.LSldapObject.php:3219
#: includes/class/class.LSldapObject.php:3253
msgid ""
"LSldapObject : The attibute %{attr} of the object is not yet defined. Can't "
"generate DN."
@ -1955,11 +1961,11 @@ msgstr ""
"LSldapObject : L'attribut %{attr} de l'objet n'est pas encore défini. "
"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."
msgstr "LSldapObject : Sans DN, l'objet ne peut pas être modifié."
#: includes/class/class.LSldapObject.php:3225
#: includes/class/class.LSldapObject.php:3259
msgid ""
"LSldapObject : The attribute %{attr_depend} depending on the attribute "
"%{attr} doesn't exist."
@ -1967,39 +1973,39 @@ msgstr ""
"LSldapObject : L'attritbut %{attr_depend} dépendant de l'attribut %{attr} "
"n'existe pas."
#: includes/class/class.LSldapObject.php:3228
#: includes/class/class.LSldapObject.php:3262
msgid "LSldapObject : Error during deleting the object %{objectname}."
msgstr "LSldapObject : Erreur durant la suppression de l'objet %{objectname}"
#: includes/class/class.LSldapObject.php:3232
#: includes/class/class.LSldapObject.php:3266
msgid ""
"LSldapObject : Error during actions to be executed before renaming the objet."
msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée avant de "
"renommer l'objet."
#: includes/class/class.LSldapObject.php:3235
#: includes/class/class.LSldapObject.php:3269
msgid ""
"LSldapObject : Error during actions to be executed after renaming the objet."
msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée après avoir "
"renommé l'objet."
#: includes/class/class.LSldapObject.php:3239
#: includes/class/class.LSldapObject.php:3273
msgid ""
"LSldapObject : Error during actions to be executed before deleting the objet."
msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée avant de "
"supprimer l'objet."
#: includes/class/class.LSldapObject.php:3242
#: includes/class/class.LSldapObject.php:3276
msgid ""
"LSldapObject : Error during actions to be executed after deleting the objet."
msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée après avoir "
"supprimé l'objet."
#: includes/class/class.LSldapObject.php:3246
#: includes/class/class.LSldapObject.php:3280
msgid ""
"LSldapObject : Error during the actions to be executed before creating the "
"object."
@ -2007,7 +2013,7 @@ msgstr ""
"LSldapObject : Erreur durant les actions devant être exécutée avant de créer "
"l'objet."
#: includes/class/class.LSldapObject.php:3249
#: includes/class/class.LSldapObject.php:3283
msgid ""
"LSldapObject : Error during the actions to be executed after creating the "
"object. It was created anyway."
@ -2015,7 +2021,7 @@ msgstr ""
"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éé."
#: includes/class/class.LSldapObject.php:3253
#: includes/class/class.LSldapObject.php:3287
msgid ""
"LSldapObject : The function %{func} to be executed before creating the "
"object doesn't exist."
@ -2023,7 +2029,7 @@ msgstr ""
"LSldapObject : La fonction %{func} devant être exécutée avant la création de "
"l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3256
#: includes/class/class.LSldapObject.php:3290
msgid ""
"LSldapObject : Error executing the function %{func} to be execute after "
"deleting the object."
@ -2031,7 +2037,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la fonction %{func} devant être "
"exécutée après la suppression de l'objet."
#: includes/class/class.LSldapObject.php:3259
#: includes/class/class.LSldapObject.php:3293
msgid ""
"LSldapObject : The function %{func} to be executed after deleting the object "
"doesn't exist."
@ -2039,7 +2045,7 @@ msgstr ""
"LSldapObject : La fonction %{func} devant être exécutée après la suppression "
"de l'objet n'existe pas."
#: includes/class/class.LSldapObject.php:3262
#: includes/class/class.LSldapObject.php:3296
msgid ""
"LSldapObject : Error executing the function %{func} to be execute after "
"creating the object."
@ -2047,7 +2053,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la fonction %{func} devant être "
"exécutée après la création de l'objet."
#: includes/class/class.LSldapObject.php:3266
#: includes/class/class.LSldapObject.php:3300
msgid ""
"LSldapObject : %{func} function, to be executed on object event %{event}, "
"doesn't exist."
@ -2055,7 +2061,7 @@ msgstr ""
"LSldapObject : La fonction %{func}, devant être exécutée lors de l'évènement "
"%{event} de l'objet, n'existe pas."
#: includes/class/class.LSldapObject.php:3269
#: includes/class/class.LSldapObject.php:3303
msgid ""
"LSldapObject : Error during the execution of %{func} function on object "
"event %{event}."
@ -2063,7 +2069,7 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la fonction %{func} lors de "
"l'évènement %{event} de l'objet."
#: includes/class/class.LSldapObject.php:3273
#: includes/class/class.LSldapObject.php:3307
msgid ""
"LSldapObject : %{meth} method, to be executed on object event %{event}, "
"doesn't exist."
@ -2071,7 +2077,7 @@ msgstr ""
"LSldapObject : La méthode %{meth}, devant être exécutée lors de l'évènement "
"%{event} de l'objet, n'existe pas."
#: includes/class/class.LSldapObject.php:3276
#: includes/class/class.LSldapObject.php:3310
msgid ""
"LSldapObject : Error during execution of %{meth} method on object event "
"%{event}."
@ -2079,13 +2085,13 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de la méthode %{meth} lors de "
"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}."
msgstr ""
"LSldapObject : Erreur durant la génération du filtre LDAP de l'objet "
"%{LSobject}."
#: includes/class/class.LSldapObject.php:3283
#: includes/class/class.LSldapObject.php:3317
msgid ""
"LSldapObject : Error during execution of the custom action %{customAction} "
"on %{objectname}."
@ -2093,22 +2099,22 @@ msgstr ""
"LSldapObject : Erreur durant l'exécution de l'action personnalisée "
"%{customAction} sur l'objet %{objectname}."
#: includes/class/class.LSldapObject.php:3287
#: includes/class/class.LSldapObject.php:3321
msgid "LSldapObject : Fail to retrieve container DN."
msgstr "LSldapObject : Impossible de récupérer le DN parent."
#: includes/class/class.LSldapObject.php:3290
#: includes/class/class.LSldapObject.php:3324
msgid ""
"LSldapObject : The function %{func} to generate container DN is not callable."
msgstr ""
"LSldapObject : La fonction %{func} pour générer le DN parent n'est pas "
"exécutable."
#: includes/class/class.LSldapObject.php:3293
#: includes/class/class.LSldapObject.php:3327
msgid "LSldapObject : Error during generating container DN : %{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 ""
"LSldapObject : An LDAP object with the same DN as generated for this new one "
"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 "
"objet existe déjà. Merci de vérifier votre configuration."
#: includes/class/class.LSldapObject.php:3301
#: includes/class/class.LSldapObject.php:3335
msgid ""
"LSrelation : Some parameters are missing in the call of methods to handle "
"standard relations (Method : %{meth})."
@ -2159,93 +2165,97 @@ msgstr ""
"LSformRule_password : Regex invalide configurée : %{regex}. Vous devez "
"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"
msgstr "Le mot de passe a expiré"
#: includes/class/class.LSldap.php:816
#: includes/class/class.LSldap.php:829
msgid "The account is locked"
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"
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"
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"
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"
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"
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"
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"
msgstr ""
"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})."
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})."
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."
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."
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})."
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."
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."
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."
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."
msgstr ""
"LSldap : Une erreur est survenue en appliquant l'option d'authz proxy sur la "
"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}."
msgstr ""
"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"
msgstr ""
"LSldap: Une erreur LDAP inconnue est survenue pendant la modification du mot "
"de passe utilisateur"
#: includes/class/class.LSldap.php:1000
#: includes/class/class.LSldap.php:1015
msgid ""
"LSldap: Fail to execute trigger %{callable} on event %{event} : is not "
"callable."
@ -2253,7 +2263,7 @@ msgstr ""
"LSldap : Échec d'exécution du déclencheur %{callable} lors de événement "
"%{event} : il n'est pas un callable."
#: includes/class/class.LSldap.php:1003
#: includes/class/class.LSldap.php:1018
msgid ""
"LSldap: Error during the execution of the trigger %{callable} on event "
"%{event}."
@ -2750,19 +2760,19 @@ msgstr "Impossible de déterminer l'URL demandée."
msgid "No URL patterns configured !"
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)."
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."
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."
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."
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"
msgstr "Rôle"
#: includes/class/class.LScli.php:104
#: includes/class/class.LScli.php:114
#, php-format
msgid ""
"Usage: %s [-h] [-qdC] command\n"
@ -3242,26 +3252,26 @@ msgstr ""
"\n"
" Commandes disponibles :\n"
#: includes/class/class.LScli.php:136
#: includes/class/class.LScli.php:146
msgid "Currently no available command is declared."
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
msgid "Fail to select LDAP server #%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
msgid "Fail to load class '%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
msgid "Fail to load addon '%s'."
msgstr "Échec de chargement de l'addon '%s'."
#: includes/class/class.LScli.php:226
#: includes/class/class.LScli.php:236
#, php-format
msgid ""
"Invalid parameter \"%s\".\n"
@ -3271,21 +3281,21 @@ msgstr ""
"Note: Les paramètres/arguments de la commande doivent être placés après "
"celle-ci."
#: includes/class/class.LScli.php:261 includes/class/class.LScli.php:488
#: includes/class/class.LScli.php:536
#: includes/class/class.LScli.php:271 includes/class/class.LScli.php:498
#: includes/class/class.LScli.php:546
#, php-format
msgid "Fail to select sub 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."
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?"
msgstr "Vous êtes sûre ?"
#: includes/class/class.LScli.php:392
#: includes/class/class.LScli.php:402
#, php-format
msgid ""
"\n"
@ -3294,26 +3304,26 @@ msgstr ""
"\n"
"%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
msgid "yes"
msgstr "oui"
#: includes/class/class.LScli.php:396
#: includes/class/class.LScli.php:406
msgid "User cancel\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."
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."
msgstr ""
"LScli : La fonction de prise en charge de la commande CLI '%{command}' n'est "
"pas exécutable."
#: includes/class/class.LScli.php:864
#: includes/class/class.LScli.php:925
msgid "Handle BASH completion"
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."
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}."
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
msgid "Unknown error : %{error}"
msgstr "Erreur inconnue : %{error}"
@ -3455,23 +3461,23 @@ msgstr "[pas une chaîne de caractères]"
msgid "Folder not found"
msgstr "Dossier introuvable"
#: includes/functions.php:863
#: includes/functions.php:928
msgid "TB"
msgstr "To"
#: includes/functions.php:864
#: includes/functions.php:929
msgid "GB"
msgstr "Go"
#: includes/functions.php:865
#: includes/functions.php:930
msgid "MB"
msgstr "Mo"
#: includes/functions.php:866
#: includes/functions.php:931
msgid "KB"
msgstr "Ko"
#: includes/functions.php:867
#: includes/functions.php:932
msgid "B"
msgstr "O"

View file

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