update invalid's message and display all informations when raises
This commit is contained in:
parent
cce080cbd3
commit
c8a20eefb5
|
@ -421,7 +421,11 @@ class Option(BaseOption):
|
|||
if _value is None:
|
||||
return
|
||||
# option validation
|
||||
try:
|
||||
self._validate(_value)
|
||||
except ValueError as err:
|
||||
raise ValueError(_('invalid value for option {0}: {1}'
|
||||
'').format(self._name, err.message))
|
||||
try:
|
||||
# valid with self._validator
|
||||
val_validator(_value)
|
||||
|
@ -430,8 +434,8 @@ class Option(BaseOption):
|
|||
descr._valid_consistency(self, _value, context, _index)
|
||||
self._second_level_validation(_value)
|
||||
except ValueError as err:
|
||||
msg = _("invalid value {0} for option {1}: {2}").format(
|
||||
_value, self._name, err)
|
||||
msg = _("invalid value for option {0}: {1}").format(
|
||||
self._name, err.message)
|
||||
if self._warnings_only:
|
||||
warnings.warn_explicit(ValueWarning(msg, self),
|
||||
ValueWarning,
|
||||
|
@ -677,7 +681,7 @@ class BoolOption(Option):
|
|||
|
||||
def _validate(self, value):
|
||||
if not isinstance(value, bool):
|
||||
raise ValueError(_('value must be a boolean'))
|
||||
raise ValueError(_('invalid boolean'))
|
||||
|
||||
|
||||
class IntOption(Option):
|
||||
|
@ -687,7 +691,7 @@ class IntOption(Option):
|
|||
|
||||
def _validate(self, value):
|
||||
if not isinstance(value, int):
|
||||
raise ValueError(_('value must be an integer'))
|
||||
raise ValueError(_('invalid integer'))
|
||||
|
||||
|
||||
class FloatOption(Option):
|
||||
|
@ -697,7 +701,7 @@ class FloatOption(Option):
|
|||
|
||||
def _validate(self, value):
|
||||
if not isinstance(value, float):
|
||||
raise ValueError(_('value must be a float'))
|
||||
raise ValueError(_('invalid float'))
|
||||
|
||||
|
||||
class StrOption(Option):
|
||||
|
@ -707,8 +711,7 @@ class StrOption(Option):
|
|||
|
||||
def _validate(self, value):
|
||||
if not isinstance(value, str):
|
||||
raise ValueError(_('value must be a string, not '
|
||||
'{0}').format(type(value)))
|
||||
raise ValueError(_('invalid string'))
|
||||
|
||||
|
||||
if sys.version_info[0] >= 3:
|
||||
|
@ -725,7 +728,7 @@ else:
|
|||
|
||||
def _validate(self, value):
|
||||
if not isinstance(value, unicode):
|
||||
raise ValueError(_('value must be an unicode'))
|
||||
raise ValueError(_('invalid unicode'))
|
||||
|
||||
|
||||
class SymLinkOption(BaseOption):
|
||||
|
@ -786,14 +789,14 @@ class IPOption(Option):
|
|||
try:
|
||||
IP('{0}/32'.format(value))
|
||||
except ValueError:
|
||||
raise ValueError(_('invalid IP {0}').format(self._name))
|
||||
raise ValueError(_('invalid IP'))
|
||||
|
||||
def _second_level_validation(self, value):
|
||||
ip = IP('{0}/32'.format(value))
|
||||
if not self._allow_reserved and ip.iptype() == 'RESERVED':
|
||||
raise ValueError(_("IP mustn't not be in reserved class"))
|
||||
raise ValueError(_("invalid IP, mustn't not be in reserved class"))
|
||||
if self._private_only and not ip.iptype() == 'PRIVATE':
|
||||
raise ValueError(_("IP must be in private class"))
|
||||
raise ValueError(_("invalid IP, must be in private class"))
|
||||
|
||||
|
||||
class PortOption(Option):
|
||||
|
@ -853,16 +856,17 @@ class PortOption(Option):
|
|||
if self._allow_range and ":" in str(value):
|
||||
value = str(value).split(':')
|
||||
if len(value) != 2:
|
||||
raise ValueError('range must have two values only')
|
||||
raise ValueError('invalid part, range must have two values '
|
||||
'only')
|
||||
if not value[0] < value[1]:
|
||||
raise ValueError('first port in range must be'
|
||||
raise ValueError('invalid port, first port in range must be'
|
||||
' smaller than the second one')
|
||||
else:
|
||||
value = [value]
|
||||
|
||||
for val in value:
|
||||
if not self._min_value <= int(val) <= self._max_value:
|
||||
raise ValueError('port must be an between {0} and {1}'
|
||||
raise ValueError('invalid port, must be an between {0} and {1}'
|
||||
''.format(self._min_value, self._max_value))
|
||||
|
||||
|
||||
|
@ -875,12 +879,12 @@ class NetworkOption(Option):
|
|||
try:
|
||||
IP(value)
|
||||
except ValueError:
|
||||
raise ValueError(_('invalid network address {0}').format(self._name))
|
||||
raise ValueError(_('invalid network address'))
|
||||
|
||||
def _second_level_validation(self, value):
|
||||
ip = IP(value)
|
||||
if ip.iptype() == 'RESERVED':
|
||||
raise ValueError(_("network shall not be in reserved class"))
|
||||
raise ValueError(_("invalid network address, must not be in reserved class"))
|
||||
|
||||
|
||||
class NetmaskOption(Option):
|
||||
|
@ -892,7 +896,7 @@ class NetmaskOption(Option):
|
|||
try:
|
||||
IP('0.0.0.0/{0}'.format(value))
|
||||
except ValueError:
|
||||
raise ValueError(_('invalid netmask address {0}').format(self._name))
|
||||
raise ValueError(_('invalid netmask address'))
|
||||
|
||||
def _cons_network_netmask(self, opts, vals):
|
||||
#opts must be (netmask, network) options
|
||||
|
@ -930,12 +934,12 @@ class NetmaskOption(Option):
|
|||
|
||||
except ValueError:
|
||||
if make_net:
|
||||
msg = _("invalid IP {0} ({1}) with netmask {2} ({3})")
|
||||
msg = _('invalid IP {0} ({1}) with netmask {2}')
|
||||
else:
|
||||
msg = _("invalid network {0} ({1}) with netmask {2} ({3})")
|
||||
msg = _('invalid network {0} ({1}) with netmask {2}')
|
||||
if msg is not None:
|
||||
raise ValueError(msg.format(val_ipnetwork, opts[1]._name,
|
||||
val_netmask, self._name))
|
||||
val_netmask))
|
||||
|
||||
|
||||
class BroadcastOption(Option):
|
||||
|
@ -946,7 +950,7 @@ class BroadcastOption(Option):
|
|||
try:
|
||||
IP('{0}/32'.format(value))
|
||||
except ValueError:
|
||||
raise ValueError(_('invalid broadcast address {0}').format(self._name))
|
||||
raise ValueError(_('invalid broadcast address'))
|
||||
|
||||
def _cons_broadcast(self, opts, vals):
|
||||
if len(vals) != 3:
|
||||
|
@ -1017,16 +1021,13 @@ class DomainnameOption(Option):
|
|||
pass
|
||||
if self._type == 'domainname' and not self._allow_without_dot and \
|
||||
'.' not in value:
|
||||
raise ValueError(_("invalid domainname for {0}, must have dot"
|
||||
"").format(self._name))
|
||||
raise ValueError(_("invalid domainname, must have dot"))
|
||||
if len(value) > 255:
|
||||
raise ValueError(_("invalid domainname's length for"
|
||||
" {0} (max 255)").format(self._name))
|
||||
raise ValueError(_("invalid domainname's length (max 255)"))
|
||||
if len(value) < 2:
|
||||
raise ValueError(_("invalid domainname's length for {0} (min 2)"
|
||||
"").format(self._name))
|
||||
raise ValueError(_("invalid domainname's length (min 2)"))
|
||||
if not self._domain_re.search(value):
|
||||
raise ValueError(_('invalid domainname: {0}'.format(self._name)))
|
||||
raise ValueError(_('invalid domainname'))
|
||||
|
||||
|
||||
class EmailOption(DomainnameOption):
|
||||
|
@ -1046,9 +1047,9 @@ class EmailOption(DomainnameOption):
|
|||
username, domain = splitted
|
||||
except ValueError:
|
||||
raise ValueError(_('invalid email address, should contains one @'
|
||||
'for {0}').format(self._name))
|
||||
))
|
||||
if not self.username_re.search(username):
|
||||
raise ValueError(_('invalid username in email address for {0}').format(self._name))
|
||||
raise ValueError(_('invalid username in email address'))
|
||||
super(EmailOption, self)._validate(domain)
|
||||
|
||||
|
||||
|
@ -1068,7 +1069,7 @@ class URLOption(DomainnameOption):
|
|||
match = self.proto_re.search(value)
|
||||
if not match:
|
||||
raise ValueError(_('invalid url, should start with http:// or '
|
||||
'https:// for {0}').format(self._name))
|
||||
'https://'))
|
||||
value = value[len(match.group(0)):]
|
||||
# get domain/files
|
||||
splitted = value.split('/', 1)
|
||||
|
@ -1086,13 +1087,13 @@ class URLOption(DomainnameOption):
|
|||
domain = splitted[0]
|
||||
port = 0
|
||||
if not 0 <= int(port) <= 65535:
|
||||
raise ValueError(_('port must be an between 0 and 65536'))
|
||||
raise ValueError(_('invalid url, port must be an between 0 and '
|
||||
'65536'))
|
||||
# validate domainname
|
||||
super(URLOption, self)._validate(domain)
|
||||
# validate file
|
||||
if files is not None and files != '' and not self.path_re.search(files):
|
||||
raise ValueError(_('invalid url, should endswith with filename for'
|
||||
' {0}').format(self._name))
|
||||
raise ValueError(_('invalid url, should ends with filename'))
|
||||
|
||||
|
||||
class FileOption(Option):
|
||||
|
@ -1103,7 +1104,7 @@ class FileOption(Option):
|
|||
def _validate(self, value):
|
||||
match = self.path_re.search(value)
|
||||
if not match:
|
||||
raise ValueError(_('invalid filename for {0}').format(self._name))
|
||||
raise ValueError(_('invalid filename'))
|
||||
|
||||
|
||||
class OptionDescription(BaseOption):
|
||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-09-28 19:06+CEST\n"
|
||||
"POT-Creation-Date: 2013-09-30 22:49+CEST\n"
|
||||
"PO-Revision-Date: \n"
|
||||
"Last-Translator: Emmanuel Garette <egarette@cadoles.com>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -11,14 +11,14 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
|
||||
#: tiramisu/autolib.py:144
|
||||
#: tiramisu/autolib.py:145
|
||||
msgid ""
|
||||
"unable to carry out a calculation, option {0} has properties: {1} for: {2}"
|
||||
msgstr ""
|
||||
"impossible d'effectuer le calcul, l'option {0} a les propriétés : {1} pour : "
|
||||
"{2}"
|
||||
|
||||
#: tiramisu/autolib.py:153
|
||||
#: tiramisu/autolib.py:154
|
||||
msgid ""
|
||||
"unable to carry out a calculation, option value with multi types must have "
|
||||
"same length for: {0}"
|
||||
|
@ -26,80 +26,80 @@ msgstr ""
|
|||
"impossible d'effectuer le calcul, la valeur d'une option avec le type multi "
|
||||
"doit avoir la même longueur pour : {0}"
|
||||
|
||||
#: tiramisu/config.py:51
|
||||
#: tiramisu/config.py:52
|
||||
msgid "descr must be an optiondescription, not {0}"
|
||||
msgstr "descr doit être une optiondescription pas un {0}"
|
||||
|
||||
#: tiramisu/config.py:126
|
||||
#: tiramisu/config.py:127
|
||||
msgid "unknown group_type: {0}"
|
||||
msgstr "group_type inconnu: {0}"
|
||||
|
||||
#: tiramisu/config.py:162
|
||||
#: tiramisu/config.py:163
|
||||
msgid ""
|
||||
"no option description found for this config (may be metaconfig without meta)"
|
||||
msgstr ""
|
||||
"pas d'option description trouvé pour cette config (peut être une metaconfig "
|
||||
"sans meta)"
|
||||
|
||||
#: tiramisu/config.py:188
|
||||
#: tiramisu/config.py:189
|
||||
msgid "can't assign to an OptionDescription"
|
||||
msgstr "ne peut pas attribuer une valeur à une OptionDescription"
|
||||
|
||||
#: tiramisu/config.py:319
|
||||
#: tiramisu/config.py:320
|
||||
msgid "unknown type_ type {0}for _find"
|
||||
msgstr "type_ type {0} pour _find inconnu"
|
||||
|
||||
#: tiramisu/config.py:358
|
||||
#: tiramisu/config.py:359
|
||||
msgid "no option found in config with these criteria"
|
||||
msgstr "aucune option trouvée dans la config avec ces critères"
|
||||
|
||||
#: tiramisu/config.py:408
|
||||
#: tiramisu/config.py:409
|
||||
msgid "make_dict can't filtering with value without option"
|
||||
msgstr "make_dict ne peut filtrer sur une valeur mais sans option"
|
||||
|
||||
#: tiramisu/config.py:429
|
||||
#: tiramisu/config.py:430
|
||||
msgid "unexpected path {0}, should start with {1}"
|
||||
msgstr "chemin imprévu {0}, devrait commencer par {1}"
|
||||
|
||||
#: tiramisu/config.py:489
|
||||
#: tiramisu/config.py:490
|
||||
msgid "opt in getowner must be an option not {0}"
|
||||
msgstr "opt dans getowner doit être une option pas {0}"
|
||||
|
||||
#: tiramisu/option.py:68
|
||||
#: tiramisu/option.py:69
|
||||
msgid "invalid name: {0} for option"
|
||||
msgstr "nom invalide : {0} pour l'option"
|
||||
|
||||
#: tiramisu/option.py:77
|
||||
#: tiramisu/option.py:78
|
||||
msgid "invalid properties type {0} for {1}, must be a tuple"
|
||||
msgstr "type des properties invalide {0} pour {1}, doit être un tuple"
|
||||
|
||||
#: tiramisu/option.py:115
|
||||
#: tiramisu/option.py:116
|
||||
msgid "'{0}' ({1}) object attribute '{2}' is read-only"
|
||||
msgstr "l'attribut {2} de l'objet '{0}' ({1}) est en lecture seule"
|
||||
|
||||
#: tiramisu/option.py:142 tiramisu/value.py:360
|
||||
#: tiramisu/option.py:143 tiramisu/value.py:362
|
||||
msgid "information's item not found: {0}"
|
||||
msgstr "aucune config spécifié alors que c'est nécessaire"
|
||||
|
||||
#: tiramisu/option.py:204
|
||||
#: tiramisu/option.py:205
|
||||
msgid "cannot serialize Option, only in OptionDescription"
|
||||
msgstr "ne peut serialiser une Option, seulement via une OptionDescription"
|
||||
|
||||
#: tiramisu/option.py:307
|
||||
#: tiramisu/option.py:308
|
||||
msgid "a default_multi is set whereas multi is False in option: {0}"
|
||||
msgstr ""
|
||||
"une default_multi est renseignée alors que multi est False dans l'option : "
|
||||
"{0}"
|
||||
|
||||
#: tiramisu/option.py:313
|
||||
#: tiramisu/option.py:314
|
||||
msgid "invalid default_multi value {0} for option {1}: {2}"
|
||||
msgstr "la valeur default_multi est invalide {0} pour l'option {1} : {2}"
|
||||
|
||||
#: tiramisu/option.py:318
|
||||
#: tiramisu/option.py:319
|
||||
msgid "default value not allowed if option: {0} is calculated"
|
||||
msgstr "la valeur par défaut n'est pas possible si l'option {0} est calculée"
|
||||
|
||||
#: tiramisu/option.py:321
|
||||
#: tiramisu/option.py:322
|
||||
msgid ""
|
||||
"params defined for a callback function but no callback defined yet for "
|
||||
"option {0}"
|
||||
|
@ -107,221 +107,250 @@ msgstr ""
|
|||
"params définis pour une fonction callback mais par de callback encore "
|
||||
"définis pour l'option {0}"
|
||||
|
||||
#: tiramisu/option.py:360
|
||||
#: tiramisu/option.py:361
|
||||
msgid "option not in all_cons_opts"
|
||||
msgstr "option non présentante dans all_cons_opts"
|
||||
|
||||
#: tiramisu/option.py:432 tiramisu/value.py:545
|
||||
msgid "invalid value {0} for option {1}: {2}"
|
||||
msgstr "valeur invalide {0} pour l'option {1} : {2}"
|
||||
#: tiramisu/option.py:427 tiramisu/option.py:437
|
||||
msgid "invalid value for option {0}: {1}"
|
||||
msgstr "valeur invalide pour l'option {0} : {1}"
|
||||
|
||||
#: tiramisu/option.py:449
|
||||
#: tiramisu/option.py:454
|
||||
msgid "which must be a list"
|
||||
msgstr "lequel doit être une liste"
|
||||
|
||||
#: tiramisu/option.py:509
|
||||
#: tiramisu/option.py:514
|
||||
msgid "consistency should be set with an option"
|
||||
msgstr "consistency doit être configuré avec une option"
|
||||
|
||||
#: tiramisu/option.py:511
|
||||
#: tiramisu/option.py:516
|
||||
msgid "cannot add consistency with itself"
|
||||
msgstr "ne peut ajouter une consistency avec lui même"
|
||||
|
||||
#: tiramisu/option.py:513
|
||||
#: tiramisu/option.py:518
|
||||
msgid "every options in consistency should be multi or none"
|
||||
msgstr ""
|
||||
"toutes les options d'une consistency devrait être multi ou ne pas l'être"
|
||||
|
||||
#: tiramisu/option.py:533
|
||||
#: tiramisu/option.py:538
|
||||
msgid "same value for {0} and {1}"
|
||||
msgstr "même valeur pour {0} et {1}"
|
||||
|
||||
#: tiramisu/option.py:642
|
||||
#: tiramisu/option.py:647
|
||||
msgid "values must be a tuple for {0}"
|
||||
msgstr "values doit être un tuple pour {0}"
|
||||
|
||||
#: tiramisu/option.py:645
|
||||
#: tiramisu/option.py:650
|
||||
msgid "open_values must be a boolean for {0}"
|
||||
msgstr "open_values doit être un booléen pour {0}"
|
||||
|
||||
#: tiramisu/option.py:667
|
||||
#: tiramisu/option.py:672
|
||||
msgid "value {0} is not permitted, only {1} is allowed"
|
||||
msgstr "valeur {0} n'est pas permis, seules {1} sont autorisées"
|
||||
|
||||
#: tiramisu/option.py:679
|
||||
msgid "value must be a boolean"
|
||||
msgstr "valeur doit être un booléen"
|
||||
#: tiramisu/option.py:684
|
||||
msgid "invalid boolean"
|
||||
msgstr "booléen invalide"
|
||||
|
||||
#: tiramisu/option.py:689
|
||||
msgid "value must be an integer"
|
||||
msgstr "valeur doit être un nombre entier"
|
||||
#: tiramisu/option.py:694
|
||||
msgid "invalid integer"
|
||||
msgstr "nombre invalide"
|
||||
|
||||
#: tiramisu/option.py:699
|
||||
msgid "value must be a float"
|
||||
msgstr "valeur doit être un nombre flottant"
|
||||
#: tiramisu/option.py:704
|
||||
msgid "invalid float"
|
||||
msgstr "invalide nombre flottan"
|
||||
|
||||
#: tiramisu/option.py:709
|
||||
msgid "value must be a string, not {0}"
|
||||
msgstr "valeur doit être une chaîne, pas {0}"
|
||||
#: tiramisu/option.py:714
|
||||
msgid "invalid string"
|
||||
msgstr "invalide caractère"
|
||||
|
||||
#: tiramisu/option.py:727
|
||||
msgid "value must be an unicode"
|
||||
msgstr "valeur doit être une valeur unicode"
|
||||
#: tiramisu/option.py:731
|
||||
msgid "invalid unicode"
|
||||
msgstr "invalide unicode"
|
||||
|
||||
#: tiramisu/option.py:739
|
||||
#: tiramisu/option.py:743
|
||||
msgid "malformed symlinkoption must be an option for symlink {0}"
|
||||
msgstr "symlinkoption mal formé, doit être une option pour symlink {0}"
|
||||
|
||||
#: tiramisu/option.py:788
|
||||
msgid "invalid IP {0}"
|
||||
msgstr "adresse IP invalide {0}"
|
||||
#: tiramisu/option.py:792
|
||||
msgid "invalid IP"
|
||||
msgstr "adresse IP invalide"
|
||||
|
||||
#: tiramisu/option.py:793
|
||||
msgid "IP mustn't not be in reserved class"
|
||||
msgstr "IP ne doit pas être d'une classe reservée"
|
||||
#: tiramisu/option.py:797
|
||||
msgid "invalid IP, mustn't not be in reserved class"
|
||||
msgstr "adresse IP invalide, ne doit pas être d'une classe reservée"
|
||||
|
||||
#: tiramisu/option.py:795
|
||||
msgid "IP must be in private class"
|
||||
msgstr "IP doit être dans la classe privée"
|
||||
#: tiramisu/option.py:799
|
||||
msgid "invalid IP, must be in private class"
|
||||
msgstr "adresse IP invalide, doit être dans la classe privée"
|
||||
|
||||
#: tiramisu/option.py:833
|
||||
#: tiramisu/option.py:837
|
||||
msgid "inconsistency in allowed range"
|
||||
msgstr "inconsistence dans la plage autorisée"
|
||||
|
||||
#: tiramisu/option.py:838
|
||||
#: tiramisu/option.py:842
|
||||
msgid "max value is empty"
|
||||
msgstr "la valeur maximum est vide"
|
||||
|
||||
#: tiramisu/option.py:877
|
||||
msgid "invalid network address {0}"
|
||||
msgstr "adresse réseau invalide {0}"
|
||||
|
||||
#: tiramisu/option.py:882
|
||||
msgid "network shall not be in reserved class"
|
||||
msgstr "le réseau ne doit pas être dans la classe reservée"
|
||||
msgid "invalid network address"
|
||||
msgstr "adresse réseau invalide"
|
||||
|
||||
#: tiramisu/option.py:894
|
||||
msgid "invalid netmask address {0}"
|
||||
msgstr "masque de sous-réseau invalide {0}"
|
||||
#: tiramisu/option.py:887
|
||||
msgid "invalid network address, must not be in reserved class"
|
||||
msgstr "adresse réseau invalide, ne doit pas être dans la classe reservée"
|
||||
|
||||
#: tiramisu/option.py:910
|
||||
#: tiramisu/option.py:899
|
||||
msgid "invalid netmask address"
|
||||
msgstr "masque de sous-réseau invalide"
|
||||
|
||||
#: tiramisu/option.py:915
|
||||
msgid "invalid len for opts"
|
||||
msgstr "longueur invalide pour opts"
|
||||
|
||||
#: tiramisu/option.py:922
|
||||
#: tiramisu/option.py:927
|
||||
msgid "invalid network {0} ({1}) with netmask {2} ({3}), this network is an IP"
|
||||
msgstr "réseau invalide {0} ({1}) avec masque {2} ({3}), ce réseau est une IP"
|
||||
|
||||
#: tiramisu/option.py:927
|
||||
#: tiramisu/option.py:932
|
||||
msgid "invalid IP {0} ({1}) with netmask {2} ({3}), this IP is a network"
|
||||
msgstr "IP invalide {0} ({1}) avec masque {2} ({3}), cette IP est un réseau"
|
||||
|
||||
#: tiramisu/option.py:932
|
||||
msgid "invalid IP {0} ({1}) with netmask {2} ({3})"
|
||||
msgstr "IP invalide {0} ({1}) avec masque {2} ({3})"
|
||||
#: tiramisu/option.py:937
|
||||
msgid "invalid IP {0} ({1}) with netmask {2}"
|
||||
msgstr "IP invalide {0} ({1}) avec masque {2}"
|
||||
|
||||
#: tiramisu/option.py:934
|
||||
msgid "invalid network {0} ({1}) with netmask {2} ({3})"
|
||||
msgstr "réseau invalide {0} ({1}) avec masque {2} ({3})"
|
||||
#: tiramisu/option.py:939
|
||||
msgid "invalid network {0} ({1}) with netmask {2}"
|
||||
msgstr "réseau invalide {0} ({1}) avec masque {2}"
|
||||
|
||||
#: tiramisu/option.py:948
|
||||
msgid "invalid broadcast address {0}"
|
||||
msgstr "adresse de broadcast invalide {0}"
|
||||
#: tiramisu/option.py:953
|
||||
msgid "invalid broadcast address"
|
||||
msgstr "adresse de broadcast invalide"
|
||||
|
||||
#: tiramisu/option.py:952
|
||||
#: tiramisu/option.py:957
|
||||
msgid "invalid len for vals"
|
||||
msgstr "longueur invalide pour vals"
|
||||
|
||||
#: tiramisu/option.py:957
|
||||
#: tiramisu/option.py:962
|
||||
msgid ""
|
||||
"invalid broadcast {0} ({1}) with network {2} ({3}) and netmask {4} ({5})"
|
||||
msgstr ""
|
||||
"Broadcast invalide {0} ({1}) avec le réseau {2} ({3}) et le masque {4} ({5})"
|
||||
|
||||
#: tiramisu/option.py:979
|
||||
#: tiramisu/option.py:984
|
||||
msgid "unknown type_ {0} for hostname"
|
||||
msgstr "type_ inconnu {0} pour le nom d'hôte"
|
||||
|
||||
#: tiramisu/option.py:982
|
||||
#: tiramisu/option.py:987
|
||||
msgid "allow_ip must be a boolean"
|
||||
msgstr "allow_ip doit être un booléen"
|
||||
|
||||
#: tiramisu/option.py:1012
|
||||
msgid "invalid value for {0}, must have dot"
|
||||
msgstr "valeur invalide pour {0}, doit avoir un point"
|
||||
#: tiramisu/option.py:989
|
||||
msgid "allow_without_dot must be a boolean"
|
||||
msgstr "allow_without_dot doit être un booléen"
|
||||
|
||||
#: tiramisu/option.py:1015
|
||||
msgid "invalid domainname's length for {0} (max {1})"
|
||||
msgstr "longueur du nom de domaine invalide pour {0} (maximum {1})"
|
||||
#: tiramisu/option.py:1024
|
||||
msgid "invalid domainname, must have dot"
|
||||
msgstr "nom de domaine invalide, doit avoir un point"
|
||||
|
||||
#: tiramisu/option.py:1018
|
||||
msgid "invalid domainname's length for {0} (min 2)"
|
||||
msgstr "longueur du nom de domaine invalide pour {0} (minimum 2)"
|
||||
#: tiramisu/option.py:1026
|
||||
msgid "invalid domainname's length (max 255)"
|
||||
msgstr "longueur du nom de domaine invalide (maximum {1})"
|
||||
|
||||
#: tiramisu/option.py:1022
|
||||
#: tiramisu/option.py:1028
|
||||
msgid "invalid domainname's length (min 2)"
|
||||
msgstr "longueur du nom de domaine invalide (minimum 2)"
|
||||
|
||||
#: tiramisu/option.py:1030
|
||||
msgid "invalid domainname"
|
||||
msgstr "nom de domaine invalide"
|
||||
|
||||
#: tiramisu/option.py:1049
|
||||
msgid "invalid email address, should contains one @"
|
||||
msgstr "adresse email invalide, devrait contenir un @"
|
||||
|
||||
#: tiramisu/option.py:1052
|
||||
msgid "invalid username in email address"
|
||||
msgstr "nom d'utilisateur invalide dans une adresse email"
|
||||
|
||||
#: tiramisu/option.py:1071
|
||||
msgid "invalid url, should start with http:// or https://"
|
||||
msgstr "URL invalide, devrait démarré avec http:// ou https://"
|
||||
|
||||
#: tiramisu/option.py:1090
|
||||
msgid "invalid url, port must be an between 0 and 65536"
|
||||
msgstr "URL invalide, port doit être entre 0 et 65536"
|
||||
|
||||
#: tiramisu/option.py:1096
|
||||
#, fuzzy
|
||||
msgid "invalid url, should ends with filename"
|
||||
msgstr "URL invalide, devrait finir avec un nom de fichier"
|
||||
|
||||
#: tiramisu/option.py:1107
|
||||
msgid "invalid filename"
|
||||
msgstr "nom de fichier invalide"
|
||||
|
||||
#: tiramisu/option.py:1134
|
||||
msgid "duplicate option name: {0}"
|
||||
msgstr "nom de l'option dupliqué : {0}"
|
||||
|
||||
#: tiramisu/option.py:1067
|
||||
#: tiramisu/option.py:1152
|
||||
msgid "unknown Option {0} in OptionDescription {1}"
|
||||
msgstr "Option {0} inconnue pour l'OptionDescription {1}"
|
||||
|
||||
#: tiramisu/option.py:1118
|
||||
#: tiramisu/option.py:1203
|
||||
msgid "duplicate option: {0}"
|
||||
msgstr "option dupliquée : {0}"
|
||||
|
||||
#: tiramisu/option.py:1148
|
||||
#: tiramisu/option.py:1233
|
||||
msgid "consistency with option {0} which is not in Config"
|
||||
msgstr "consistency avec l'option {0} qui n'est pas dans une Config"
|
||||
|
||||
#: tiramisu/option.py:1156
|
||||
#: tiramisu/option.py:1241
|
||||
msgid "no option for path {0}"
|
||||
msgstr "pas d'option pour le chemin {0}"
|
||||
|
||||
#: tiramisu/option.py:1162
|
||||
#: tiramisu/option.py:1247
|
||||
msgid "no option {0} found"
|
||||
msgstr "pas d'option {0} trouvée"
|
||||
|
||||
#: tiramisu/option.py:1172
|
||||
#: tiramisu/option.py:1257
|
||||
msgid "cannot change group_type if already set (old {0}, new {1})"
|
||||
msgstr "ne peut changer group_type si déjà spécifié (ancien {0}, nouveau {1})"
|
||||
|
||||
#: tiramisu/option.py:1185
|
||||
#: tiramisu/option.py:1270
|
||||
msgid "master group {0} shall not have a subgroup"
|
||||
msgstr "groupe maître {0} ne doit pas avoir de sous-groupe"
|
||||
|
||||
#: tiramisu/option.py:1188
|
||||
#: tiramisu/option.py:1273
|
||||
msgid "master group {0} shall not have a symlinkoption"
|
||||
msgstr "groupe maître {0} ne doit pas avoir de symlinkoption"
|
||||
|
||||
#: tiramisu/option.py:1191
|
||||
#: tiramisu/option.py:1276
|
||||
msgid "not allowed option {0} in group {1}: this option is not a multi"
|
||||
msgstr ""
|
||||
"option non autorisée {0} dans le groupe {1} : cette option n'est pas une "
|
||||
"multi"
|
||||
|
||||
#: tiramisu/option.py:1202
|
||||
#: tiramisu/option.py:1287
|
||||
msgid "master group with wrong master name for {0}"
|
||||
msgstr "le groupe maître avec un nom de maître érroné pour {0}"
|
||||
|
||||
#: tiramisu/option.py:1211
|
||||
#: tiramisu/option.py:1296
|
||||
msgid "no child has same nom has master group for: {0}"
|
||||
msgstr "pas d'enfant avec le nom du groupe maître pour {0} "
|
||||
|
||||
#: tiramisu/option.py:1214
|
||||
#: tiramisu/option.py:1299
|
||||
msgid "group_type: {0} not allowed"
|
||||
msgstr "group_type : {0} non autorisé"
|
||||
|
||||
#: tiramisu/option.py:1306
|
||||
#: tiramisu/option.py:1391
|
||||
msgid "malformed requirements type for option: {0}, must be a dict"
|
||||
msgstr ""
|
||||
"type requirements malformé pour l'option : {0}, doit être un dictionnaire"
|
||||
|
||||
#: tiramisu/option.py:1323
|
||||
#: tiramisu/option.py:1408
|
||||
msgid ""
|
||||
"malformed requirements for option: {0} require must have option, expected "
|
||||
"and action keys"
|
||||
|
@ -329,110 +358,110 @@ msgstr ""
|
|||
"requirements malformé pour l'option : {0} l'exigence doit avoir les clefs "
|
||||
"option, expected et action"
|
||||
|
||||
#: tiramisu/option.py:1328
|
||||
#: tiramisu/option.py:1413
|
||||
msgid "malformed requirements for option: {0} inverse must be boolean"
|
||||
msgstr ""
|
||||
"requirements mal formés pour l'option : {0} inverse doit être un booléen"
|
||||
|
||||
#: tiramisu/option.py:1332
|
||||
#: tiramisu/option.py:1417
|
||||
msgid "malformed requirements for option: {0} transitive must be boolean"
|
||||
msgstr ""
|
||||
"requirements mal formés pour l'option : {0} transitive doit être booléen"
|
||||
|
||||
#: tiramisu/option.py:1336
|
||||
#: tiramisu/option.py:1421
|
||||
msgid "malformed requirements for option: {0} same_action must be boolean"
|
||||
msgstr ""
|
||||
"requirements mal formés pour l'option : {0} same_action doit être un booléen"
|
||||
|
||||
#: tiramisu/option.py:1340
|
||||
#: tiramisu/option.py:1425
|
||||
msgid "malformed requirements must be an option in option {0}"
|
||||
msgstr "requirements mal formés doit être une option dans l'option {0}"
|
||||
|
||||
#: tiramisu/option.py:1343
|
||||
#: tiramisu/option.py:1428
|
||||
msgid "malformed requirements option {0} should not be a multi"
|
||||
msgstr "requirements mal formés l'option {0} ne doit pas être une multi"
|
||||
|
||||
#: tiramisu/option.py:1349
|
||||
#: tiramisu/option.py:1434
|
||||
msgid ""
|
||||
"malformed requirements second argument must be valid for option {0}: {1}"
|
||||
msgstr ""
|
||||
"requirements mal formés deuxième argument doit être valide pour l'option "
|
||||
"{0} : {1}"
|
||||
|
||||
#: tiramisu/option.py:1354
|
||||
#: tiramisu/option.py:1439
|
||||
msgid "inconsistency in action types for option: {0} action: {1}"
|
||||
msgstr "incohérence dans les types action pour l'option : {0} action {1}"
|
||||
|
||||
#: tiramisu/option.py:1379
|
||||
#: tiramisu/option.py:1464
|
||||
msgid "{0} should be a function"
|
||||
msgstr "{0} doit être une fonction"
|
||||
|
||||
#: tiramisu/option.py:1382
|
||||
#: tiramisu/option.py:1467
|
||||
msgid "{0}_params should be a dict"
|
||||
msgstr "{0}_params devrait être un dict"
|
||||
|
||||
#: tiramisu/option.py:1385
|
||||
#: tiramisu/option.py:1470
|
||||
msgid "{0}_params with key {1} should not have length different to 1"
|
||||
msgstr ""
|
||||
"{0}_params avec la clef {1} devrait ne pas avoir une longueur différent de 1"
|
||||
|
||||
#: tiramisu/option.py:1389
|
||||
#: tiramisu/option.py:1474
|
||||
msgid "{0}_params should be tuple for key \"{1}\""
|
||||
msgstr "{0}_params devrait être un tuple pour la clef \"{1}\""
|
||||
|
||||
#: tiramisu/option.py:1395
|
||||
#: tiramisu/option.py:1480
|
||||
msgid "validator not support tuple"
|
||||
msgstr "validator n'accepte pas de tuple"
|
||||
|
||||
#: tiramisu/option.py:1398
|
||||
#: tiramisu/option.py:1483
|
||||
msgid "{0}_params should have an option not a {0} for first argument"
|
||||
msgstr "{0}_params devrait avoir une option pas un {0} pour premier argument"
|
||||
|
||||
#: tiramisu/option.py:1402
|
||||
#: tiramisu/option.py:1487
|
||||
msgid "{0}_params should have a boolean not a {0} for second argument"
|
||||
msgstr "{0}_params devrait avoir un boolean pas un {0} pour second argument"
|
||||
|
||||
#: tiramisu/setting.py:111
|
||||
#: tiramisu/setting.py:116
|
||||
msgid "can't rebind {0}"
|
||||
msgstr "ne peut redéfinir ({0})"
|
||||
|
||||
#: tiramisu/setting.py:116
|
||||
#: tiramisu/setting.py:121
|
||||
msgid "can't unbind {0}"
|
||||
msgstr "ne peut supprimer ({0})"
|
||||
|
||||
#: tiramisu/setting.py:254
|
||||
#: tiramisu/setting.py:259
|
||||
msgid "cannot append {0} property for option {1}: this property is calculated"
|
||||
msgstr ""
|
||||
"ne peut ajouter la propriété {0} dans l'option {1}: cette propriété est "
|
||||
"calculée"
|
||||
|
||||
#: tiramisu/setting.py:317
|
||||
#: tiramisu/setting.py:322
|
||||
msgid "opt and all_properties must not be set together in reset"
|
||||
msgstr "opt et all_properties ne doit pas être renseigné ensemble dans reset"
|
||||
|
||||
#: tiramisu/setting.py:332
|
||||
#: tiramisu/setting.py:337
|
||||
msgid "if opt is not None, path should not be None in _getproperties"
|
||||
msgstr ""
|
||||
"si opt n'est pas None, path devrait ne pas être à None dans _getproperties"
|
||||
|
||||
#: tiramisu/setting.py:435
|
||||
#: tiramisu/setting.py:440
|
||||
msgid "cannot change the value for option {0} this option is frozen"
|
||||
msgstr ""
|
||||
"ne peut modifier la valeur de l'option {0} cette option n'est pas modifiable"
|
||||
|
||||
#: tiramisu/setting.py:441
|
||||
#: tiramisu/setting.py:446
|
||||
msgid "trying to access to an option named: {0} with properties {1}"
|
||||
msgstr "tentative d'accès à une option nommée : {0} avec les propriétés {1}"
|
||||
|
||||
#: tiramisu/setting.py:459
|
||||
#: tiramisu/setting.py:464
|
||||
msgid "permissive must be a tuple"
|
||||
msgstr "permissive doit être un tuple"
|
||||
|
||||
#: tiramisu/setting.py:466 tiramisu/value.py:299
|
||||
#: tiramisu/setting.py:471 tiramisu/value.py:301
|
||||
msgid "invalid generic owner {0}"
|
||||
msgstr "invalide owner générique {0}"
|
||||
|
||||
#: tiramisu/setting.py:553
|
||||
#: tiramisu/setting.py:558
|
||||
msgid ""
|
||||
"malformed requirements imbrication detected for option: '{0}' with "
|
||||
"requirement on: '{1}'"
|
||||
|
@ -440,73 +469,92 @@ msgstr ""
|
|||
"imbrication de requirements mal formés detectée pour l'option : '{0}' avec "
|
||||
"requirement sur : '{1}'"
|
||||
|
||||
#: tiramisu/setting.py:565
|
||||
#: tiramisu/setting.py:570
|
||||
msgid "option '{0}' has requirement's property error: {1} {2}"
|
||||
msgstr "l'option '{0}' a une erreur de propriété pour le requirement : {1} {2}"
|
||||
|
||||
#: tiramisu/storage/__init__.py:47
|
||||
#: tiramisu/storage/__init__.py:52
|
||||
msgid "storage_type is already set, cannot rebind it"
|
||||
msgstr "storage_type est déjà défini, impossible de le redéfinir"
|
||||
|
||||
#: tiramisu/storage/__init__.py:81
|
||||
#: tiramisu/storage/__init__.py:86
|
||||
msgid "option {0} not already exists in storage {1}"
|
||||
msgstr "option {0} n'existe pas dans l'espace de stockage {1}"
|
||||
|
||||
#: tiramisu/storage/dictionary/storage.py:37
|
||||
#: tiramisu/storage/dictionary/storage.py:39
|
||||
msgid "dictionary storage cannot delete session"
|
||||
msgstr ""
|
||||
"impossible de supprimer une session dans un espace de stockage dictionary"
|
||||
|
||||
#: tiramisu/storage/dictionary/storage.py:48
|
||||
#: tiramisu/storage/dictionary/storage.py:50
|
||||
msgid "session already used"
|
||||
msgstr "session déjà utilisée"
|
||||
|
||||
#: tiramisu/storage/dictionary/storage.py:50
|
||||
#: tiramisu/storage/dictionary/storage.py:52
|
||||
msgid "a dictionary cannot be persistent"
|
||||
msgstr "un espace de stockage dictionary ne peut être persistant"
|
||||
|
||||
#: tiramisu/value.py:306
|
||||
#: tiramisu/value.py:308
|
||||
msgid "no value for {0} cannot change owner to {1}"
|
||||
msgstr "pas de valeur pour {0} ne peut changer d'utilisateur pour {1}"
|
||||
|
||||
#: tiramisu/value.py:414
|
||||
#: tiramisu/value.py:416
|
||||
msgid "invalid len for the slave: {0} which has {1} as master"
|
||||
msgstr "longueur invalide pour une esclave : {0} qui a {1} comme maître"
|
||||
|
||||
#: tiramisu/value.py:438
|
||||
#: tiramisu/value.py:440
|
||||
msgid "invalid len for the master: {0} which has {1} as slave with greater len"
|
||||
msgstr ""
|
||||
"longueur invalide pour un maître : {0} qui a {1} une esclave avec une plus "
|
||||
"grande longueur"
|
||||
|
||||
#: tiramisu/value.py:468
|
||||
#: tiramisu/value.py:470
|
||||
msgid "cannot append a value on a multi option {0} which is a slave"
|
||||
msgstr "ne peut ajouter une valeur sur l'option multi {0} qui est une esclave"
|
||||
|
||||
#: tiramisu/value.py:505
|
||||
#: tiramisu/value.py:507
|
||||
msgid "cannot sort multi option {0} if master or slave"
|
||||
msgstr "ne peut trier une option multi {0} pour une maître ou une esclave"
|
||||
|
||||
#: tiramisu/value.py:509
|
||||
#: tiramisu/value.py:511
|
||||
msgid "cmp is not permitted in python v3 or greater"
|
||||
msgstr "cmp n'est pas permis en python v3 ou supérieure"
|
||||
|
||||
#: tiramisu/value.py:518
|
||||
#: tiramisu/value.py:520
|
||||
msgid "cannot reverse multi option {0} if master or slave"
|
||||
msgstr "ne peut inverser une option multi {0} pour une maître ou une esclave"
|
||||
|
||||
#: tiramisu/value.py:526
|
||||
#: tiramisu/value.py:528
|
||||
msgid "cannot insert multi option {0} if master or slave"
|
||||
msgstr "ne peut insérer une option multi {0} pour une maître ou une esclave"
|
||||
|
||||
#: tiramisu/value.py:534
|
||||
#: tiramisu/value.py:536
|
||||
msgid "cannot extend multi option {0} if master or slave"
|
||||
msgstr "ne peut étendre une option multi {0} pour une maître ou une esclave"
|
||||
|
||||
#: tiramisu/value.py:562
|
||||
#: tiramisu/value.py:547
|
||||
msgid "invalid value {0} for option {1}: {2}"
|
||||
msgstr "valeur invalide {0} pour l'option {1} : {2}"
|
||||
|
||||
#: tiramisu/value.py:564
|
||||
msgid "cannot pop a value on a multi option {0} which is a slave"
|
||||
msgstr "ne peut supprimer une valeur dans l'option multi {0} qui est esclave"
|
||||
|
||||
#~ msgid "value must be a boolean"
|
||||
#~ msgstr "valeur doit être un booléen"
|
||||
|
||||
#~ msgid "value must be an integer"
|
||||
#~ msgstr "valeur doit être un nombre entier"
|
||||
|
||||
#~ msgid "value must be a float"
|
||||
#~ msgstr "valeur doit être un nombre flottant"
|
||||
|
||||
#~ msgid "value must be a string, not {0}"
|
||||
#~ msgstr "valeur doit être une chaîne, pas {0}"
|
||||
|
||||
#~ msgid "value must be an unicode"
|
||||
#~ msgstr "valeur doit être une valeur unicode"
|
||||
|
||||
#~ msgid "invalid value {0} for option {1} which must be a list"
|
||||
#~ msgstr "valeur invalide {0} pour l'option {1} qui doit être une liste"
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"POT-Creation-Date: 2013-09-28 19:06+CEST\n"
|
||||
"POT-Creation-Date: 2013-09-30 22:49+CEST\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -15,455 +15,487 @@ msgstr ""
|
|||
"Generated-By: pygettext.py 1.5\n"
|
||||
|
||||
|
||||
#: tiramisu/autolib.py:144
|
||||
#: tiramisu/autolib.py:145
|
||||
msgid "unable to carry out a calculation, option {0} has properties: {1} for: {2}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/autolib.py:153
|
||||
#: tiramisu/autolib.py:154
|
||||
msgid "unable to carry out a calculation, option value with multi types must have same length for: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:51
|
||||
#: tiramisu/config.py:52
|
||||
msgid "descr must be an optiondescription, not {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:126
|
||||
#: tiramisu/config.py:127
|
||||
msgid "unknown group_type: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:162
|
||||
#: tiramisu/config.py:163
|
||||
msgid "no option description found for this config (may be metaconfig without meta)"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:188
|
||||
#: tiramisu/config.py:189
|
||||
msgid "can't assign to an OptionDescription"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:319
|
||||
#: tiramisu/config.py:320
|
||||
msgid "unknown type_ type {0}for _find"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:358
|
||||
#: tiramisu/config.py:359
|
||||
msgid "no option found in config with these criteria"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:408
|
||||
#: tiramisu/config.py:409
|
||||
msgid "make_dict can't filtering with value without option"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:429
|
||||
#: tiramisu/config.py:430
|
||||
msgid "unexpected path {0}, should start with {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/config.py:489
|
||||
#: tiramisu/config.py:490
|
||||
msgid "opt in getowner must be an option not {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:68
|
||||
#: tiramisu/option.py:69
|
||||
msgid "invalid name: {0} for option"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:77
|
||||
#: tiramisu/option.py:78
|
||||
msgid "invalid properties type {0} for {1}, must be a tuple"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:115
|
||||
#: tiramisu/option.py:116
|
||||
msgid "'{0}' ({1}) object attribute '{2}' is read-only"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:142 tiramisu/value.py:360
|
||||
#: tiramisu/option.py:143 tiramisu/value.py:362
|
||||
msgid "information's item not found: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:204
|
||||
#: tiramisu/option.py:205
|
||||
msgid "cannot serialize Option, only in OptionDescription"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:307
|
||||
#: tiramisu/option.py:308
|
||||
msgid "a default_multi is set whereas multi is False in option: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:313
|
||||
#: tiramisu/option.py:314
|
||||
msgid "invalid default_multi value {0} for option {1}: {2}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:318
|
||||
#: tiramisu/option.py:319
|
||||
msgid "default value not allowed if option: {0} is calculated"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:321
|
||||
#: tiramisu/option.py:322
|
||||
msgid "params defined for a callback function but no callback defined yet for option {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:360
|
||||
#: tiramisu/option.py:361
|
||||
msgid "option not in all_cons_opts"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:432 tiramisu/value.py:545
|
||||
msgid "invalid value {0} for option {1}: {2}"
|
||||
#: tiramisu/option.py:427 tiramisu/option.py:437
|
||||
msgid "invalid value for option {0}: {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:449
|
||||
#: tiramisu/option.py:454
|
||||
msgid "which must be a list"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:509
|
||||
#: tiramisu/option.py:514
|
||||
msgid "consistency should be set with an option"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:511
|
||||
#: tiramisu/option.py:516
|
||||
msgid "cannot add consistency with itself"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:513
|
||||
#: tiramisu/option.py:518
|
||||
msgid "every options in consistency should be multi or none"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:533
|
||||
#: tiramisu/option.py:538
|
||||
msgid "same value for {0} and {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:642
|
||||
#: tiramisu/option.py:647
|
||||
msgid "values must be a tuple for {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:645
|
||||
#: tiramisu/option.py:650
|
||||
msgid "open_values must be a boolean for {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:667
|
||||
#: tiramisu/option.py:672
|
||||
msgid "value {0} is not permitted, only {1} is allowed"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:679
|
||||
msgid "value must be a boolean"
|
||||
#: tiramisu/option.py:684
|
||||
msgid "invalid boolean"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:689
|
||||
msgid "value must be an integer"
|
||||
#: tiramisu/option.py:694
|
||||
msgid "invalid integer"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:699
|
||||
msgid "value must be a float"
|
||||
#: tiramisu/option.py:704
|
||||
msgid "invalid float"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:709
|
||||
msgid "value must be a string, not {0}"
|
||||
#: tiramisu/option.py:714
|
||||
msgid "invalid string"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:727
|
||||
msgid "value must be an unicode"
|
||||
#: tiramisu/option.py:731
|
||||
msgid "invalid unicode"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:739
|
||||
#: tiramisu/option.py:743
|
||||
msgid "malformed symlinkoption must be an option for symlink {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:788
|
||||
msgid "invalid IP {0}"
|
||||
#: tiramisu/option.py:792
|
||||
msgid "invalid IP"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:793
|
||||
msgid "IP mustn't not be in reserved class"
|
||||
#: tiramisu/option.py:797
|
||||
msgid "invalid IP, mustn't not be in reserved class"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:795
|
||||
msgid "IP must be in private class"
|
||||
#: tiramisu/option.py:799
|
||||
msgid "invalid IP, must be in private class"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:833
|
||||
#: tiramisu/option.py:837
|
||||
msgid "inconsistency in allowed range"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:838
|
||||
#: tiramisu/option.py:842
|
||||
msgid "max value is empty"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:877
|
||||
msgid "invalid network address {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:882
|
||||
msgid "network shall not be in reserved class"
|
||||
msgid "invalid network address"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:894
|
||||
msgid "invalid netmask address {0}"
|
||||
#: tiramisu/option.py:887
|
||||
msgid "invalid network address, must not be in reserved class"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:910
|
||||
#: tiramisu/option.py:899
|
||||
msgid "invalid netmask address"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:915
|
||||
msgid "invalid len for opts"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:922
|
||||
#: tiramisu/option.py:927
|
||||
msgid "invalid network {0} ({1}) with netmask {2} ({3}), this network is an IP"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:927
|
||||
#: tiramisu/option.py:932
|
||||
msgid "invalid IP {0} ({1}) with netmask {2} ({3}), this IP is a network"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:932
|
||||
msgid "invalid IP {0} ({1}) with netmask {2} ({3})"
|
||||
#: tiramisu/option.py:937
|
||||
msgid "invalid IP {0} ({1}) with netmask {2}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:934
|
||||
msgid "invalid network {0} ({1}) with netmask {2} ({3})"
|
||||
#: tiramisu/option.py:939
|
||||
msgid "invalid network {0} ({1}) with netmask {2}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:948
|
||||
msgid "invalid broadcast address {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:952
|
||||
msgid "invalid len for vals"
|
||||
#: tiramisu/option.py:953
|
||||
msgid "invalid broadcast address"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:957
|
||||
msgid "invalid len for vals"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:962
|
||||
msgid "invalid broadcast {0} ({1}) with network {2} ({3}) and netmask {4} ({5})"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:979
|
||||
#: tiramisu/option.py:984
|
||||
msgid "unknown type_ {0} for hostname"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:982
|
||||
#: tiramisu/option.py:987
|
||||
msgid "allow_ip must be a boolean"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1012
|
||||
msgid "invalid value for {0}, must have dot"
|
||||
#: tiramisu/option.py:989
|
||||
msgid "allow_without_dot must be a boolean"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1015
|
||||
msgid "invalid domainname's length for {0} (max {1})"
|
||||
#: tiramisu/option.py:1024
|
||||
msgid "invalid domainname, must have dot"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1018
|
||||
msgid "invalid domainname's length for {0} (min 2)"
|
||||
#: tiramisu/option.py:1026
|
||||
msgid "invalid domainname's length (max 255)"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1022
|
||||
#: tiramisu/option.py:1028
|
||||
msgid "invalid domainname's length (min 2)"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1030
|
||||
msgid "invalid domainname"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1049
|
||||
msgid "invalid email address, should contains one @"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1052
|
||||
msgid "invalid username in email address"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1071
|
||||
msgid "invalid url, should start with http:// or https://"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1090
|
||||
msgid "invalid url, port must be an between 0 and 65536"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1096
|
||||
msgid "invalid url, should ends with filename"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1107
|
||||
msgid "invalid filename"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1134
|
||||
msgid "duplicate option name: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1067
|
||||
#: tiramisu/option.py:1152
|
||||
msgid "unknown Option {0} in OptionDescription {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1118
|
||||
#: tiramisu/option.py:1203
|
||||
msgid "duplicate option: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1148
|
||||
#: tiramisu/option.py:1233
|
||||
msgid "consistency with option {0} which is not in Config"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1156
|
||||
#: tiramisu/option.py:1241
|
||||
msgid "no option for path {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1162
|
||||
#: tiramisu/option.py:1247
|
||||
msgid "no option {0} found"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1172
|
||||
#: tiramisu/option.py:1257
|
||||
msgid "cannot change group_type if already set (old {0}, new {1})"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1185
|
||||
#: tiramisu/option.py:1270
|
||||
msgid "master group {0} shall not have a subgroup"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1188
|
||||
#: tiramisu/option.py:1273
|
||||
msgid "master group {0} shall not have a symlinkoption"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1191
|
||||
#: tiramisu/option.py:1276
|
||||
msgid "not allowed option {0} in group {1}: this option is not a multi"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1202
|
||||
#: tiramisu/option.py:1287
|
||||
msgid "master group with wrong master name for {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1211
|
||||
#: tiramisu/option.py:1296
|
||||
msgid "no child has same nom has master group for: {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1214
|
||||
#: tiramisu/option.py:1299
|
||||
msgid "group_type: {0} not allowed"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1306
|
||||
#: tiramisu/option.py:1391
|
||||
msgid "malformed requirements type for option: {0}, must be a dict"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1323
|
||||
#: tiramisu/option.py:1408
|
||||
msgid "malformed requirements for option: {0} require must have option, expected and action keys"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1328
|
||||
#: tiramisu/option.py:1413
|
||||
msgid "malformed requirements for option: {0} inverse must be boolean"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1332
|
||||
#: tiramisu/option.py:1417
|
||||
msgid "malformed requirements for option: {0} transitive must be boolean"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1336
|
||||
#: tiramisu/option.py:1421
|
||||
msgid "malformed requirements for option: {0} same_action must be boolean"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1340
|
||||
#: tiramisu/option.py:1425
|
||||
msgid "malformed requirements must be an option in option {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1343
|
||||
#: tiramisu/option.py:1428
|
||||
msgid "malformed requirements option {0} should not be a multi"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1349
|
||||
#: tiramisu/option.py:1434
|
||||
msgid "malformed requirements second argument must be valid for option {0}: {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1354
|
||||
#: tiramisu/option.py:1439
|
||||
msgid "inconsistency in action types for option: {0} action: {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1379
|
||||
#: tiramisu/option.py:1464
|
||||
msgid "{0} should be a function"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1382
|
||||
#: tiramisu/option.py:1467
|
||||
msgid "{0}_params should be a dict"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1385
|
||||
#: tiramisu/option.py:1470
|
||||
msgid "{0}_params with key {1} should not have length different to 1"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1389
|
||||
#: tiramisu/option.py:1474
|
||||
msgid "{0}_params should be tuple for key \"{1}\""
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1395
|
||||
#: tiramisu/option.py:1480
|
||||
msgid "validator not support tuple"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1398
|
||||
#: tiramisu/option.py:1483
|
||||
msgid "{0}_params should have an option not a {0} for first argument"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/option.py:1402
|
||||
#: tiramisu/option.py:1487
|
||||
msgid "{0}_params should have a boolean not a {0} for second argument"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:111
|
||||
#: tiramisu/setting.py:116
|
||||
msgid "can't rebind {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:116
|
||||
#: tiramisu/setting.py:121
|
||||
msgid "can't unbind {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:254
|
||||
#: tiramisu/setting.py:259
|
||||
msgid "cannot append {0} property for option {1}: this property is calculated"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:317
|
||||
#: tiramisu/setting.py:322
|
||||
msgid "opt and all_properties must not be set together in reset"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:332
|
||||
#: tiramisu/setting.py:337
|
||||
msgid "if opt is not None, path should not be None in _getproperties"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:435
|
||||
#: tiramisu/setting.py:440
|
||||
msgid "cannot change the value for option {0} this option is frozen"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:441
|
||||
#: tiramisu/setting.py:446
|
||||
msgid "trying to access to an option named: {0} with properties {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:459
|
||||
#: tiramisu/setting.py:464
|
||||
msgid "permissive must be a tuple"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:466 tiramisu/value.py:299
|
||||
#: tiramisu/setting.py:471 tiramisu/value.py:301
|
||||
msgid "invalid generic owner {0}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:553
|
||||
#: tiramisu/setting.py:558
|
||||
msgid "malformed requirements imbrication detected for option: '{0}' with requirement on: '{1}'"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/setting.py:565
|
||||
#: tiramisu/setting.py:570
|
||||
msgid "option '{0}' has requirement's property error: {1} {2}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/__init__.py:47
|
||||
#: tiramisu/storage/__init__.py:52
|
||||
msgid "storage_type is already set, cannot rebind it"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/__init__.py:81
|
||||
#: tiramisu/storage/__init__.py:86
|
||||
msgid "option {0} not already exists in storage {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/dictionary/storage.py:37
|
||||
#: tiramisu/storage/dictionary/storage.py:39
|
||||
msgid "dictionary storage cannot delete session"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/dictionary/storage.py:48
|
||||
#: tiramisu/storage/dictionary/storage.py:50
|
||||
msgid "session already used"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/storage/dictionary/storage.py:50
|
||||
#: tiramisu/storage/dictionary/storage.py:52
|
||||
msgid "a dictionary cannot be persistent"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:306
|
||||
#: tiramisu/value.py:308
|
||||
msgid "no value for {0} cannot change owner to {1}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:414
|
||||
#: tiramisu/value.py:416
|
||||
msgid "invalid len for the slave: {0} which has {1} as master"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:438
|
||||
#: tiramisu/value.py:440
|
||||
msgid "invalid len for the master: {0} which has {1} as slave with greater len"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:468
|
||||
#: tiramisu/value.py:470
|
||||
msgid "cannot append a value on a multi option {0} which is a slave"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:505
|
||||
#: tiramisu/value.py:507
|
||||
msgid "cannot sort multi option {0} if master or slave"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:509
|
||||
#: tiramisu/value.py:511
|
||||
msgid "cmp is not permitted in python v3 or greater"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:518
|
||||
#: tiramisu/value.py:520
|
||||
msgid "cannot reverse multi option {0} if master or slave"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:526
|
||||
#: tiramisu/value.py:528
|
||||
msgid "cannot insert multi option {0} if master or slave"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:534
|
||||
#: tiramisu/value.py:536
|
||||
msgid "cannot extend multi option {0} if master or slave"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:562
|
||||
#: tiramisu/value.py:547
|
||||
msgid "invalid value {0} for option {1}: {2}"
|
||||
msgstr ""
|
||||
|
||||
#: tiramisu/value.py:564
|
||||
msgid "cannot pop a value on a multi option {0} which is a slave"
|
||||
msgstr ""
|
||||
|
||||
|
|
Loading…
Reference in New Issue