domainname with only one character is now allowed

This commit is contained in:
Emmanuel Garette 2015-10-12 17:06:15 +02:00
parent 3aad913868
commit 15d94d5fff
5 changed files with 144 additions and 144 deletions

View file

@ -1,3 +1,6 @@
Mon Oct 12 17:05:28 2015 +0200 Emmanuel Garette <egarette@cadoles.com>
* domainname with only one character is now allowed
Thu Sep 17 21:23:34 2015 +0200 Emmanuel Garette <egarette@cadoles.com> Thu Sep 17 21:23:34 2015 +0200 Emmanuel Garette <egarette@cadoles.com>
* check with option as parameter * check with option as parameter

View file

@ -31,8 +31,8 @@ def test_domainname():
c.f = 'domainnametoolongthathavemorethanmaximumsizeforatruedomainnamea.nd' c.f = 'domainnametoolongthathavemorethanmaximumsizeforatruedomainnamea.nd'
c.f = 'domainnametoolongthathavemorethanmaximumsizeforatruedomainnamea.nditsnoteasytogeneratesolongdomainnamewithoutrepeatdomainnameto.olongthathavemorethanmaximumsizeforatruedomainnameanditsnoteas.ytogeneratesolongdomainnamewithoutrepeatbutimnotabletodoitnowie' c.f = 'domainnametoolongthathavemorethanmaximumsizeforatruedomainnamea.nditsnoteasytogeneratesolongdomainnamewithoutrepeatdomainnameto.olongthathavemorethanmaximumsizeforatruedomainnameanditsnoteas.ytogeneratesolongdomainnamewithoutrepeatbutimnotabletodoitnowie'
raises(ValueError, "c.f = 'domainnametoolongthathavemorethanmaximumsizeforatruedomainnamea.nditsnoteasytogeneratesolongdomainnamewithoutrepeatdomainnameto.olongthathavemorethanmaximumsizeforatruedomainnameanditsnoteas.ytogeneratesolongdomainnamewithoutrepeatbutimnotabletodoitnowien'") raises(ValueError, "c.f = 'domainnametoolongthathavemorethanmaximumsizeforatruedomainnamea.nditsnoteasytogeneratesolongdomainnamewithoutrepeatdomainnameto.olongthathavemorethanmaximumsizeforatruedomainnameanditsnoteas.ytogeneratesolongdomainnamewithoutrepeatbutimnotabletodoitnowien'")
raises(ValueError, "c.f = 'd'") c.f = 'd'
raises(ValueError, "c.f = 'd.t'") c.f = 'd.t'
# #
c.g = 'toto.com' c.g = 'toto.com'
c.g = '192.168.1.0' c.g = '192.168.1.0'
@ -86,8 +86,8 @@ def test_domainname_warning():
c.f = 'domainnametoolongthathavemorethanmaximumsizeforatruedomainnamea.nd' c.f = 'domainnametoolongthathavemorethanmaximumsizeforatruedomainnamea.nd'
c.f = 'domainnametoolongthathavemorethanmaximumsizeforatruedomainnamea.nditsnoteasytogeneratesolongdomainnamewithoutrepeatdomainnameto.olongthathavemorethanmaximumsizeforatruedomainnameanditsnoteas.ytogeneratesolongdomainnamewithoutrepeatbutimnotabletodoitnowie' c.f = 'domainnametoolongthathavemorethanmaximumsizeforatruedomainnamea.nditsnoteasytogeneratesolongdomainnamewithoutrepeatdomainnameto.olongthathavemorethanmaximumsizeforatruedomainnameanditsnoteas.ytogeneratesolongdomainnamewithoutrepeatbutimnotabletodoitnowie'
raises(ValueError, "c.f = 'domainnametoolongthathavemorethanmaximumsizeforatruedomainnamea.nditsnoteasytogeneratesolongdomainnamewithoutrepeatdomainnameto.olongthathavemorethanmaximumsizeforatruedomainnameanditsnoteas.ytogeneratesolongdomainnamewithoutrepeatbutimnotabletodoitnowien'") raises(ValueError, "c.f = 'domainnametoolongthathavemorethanmaximumsizeforatruedomainnamea.nditsnoteasytogeneratesolongdomainnamewithoutrepeatdomainnameto.olongthathavemorethanmaximumsizeforatruedomainnameanditsnoteas.ytogeneratesolongdomainnamewithoutrepeatbutimnotabletodoitnowien'")
raises(ValueError, "c.f = 'd'") c.f = 'd'
raises(ValueError, "c.f = 'd.t'") c.f = 'd.t'
# #
c.g = 'toto.com' c.g = 'toto.com'
c.g = '192.168.1.0' c.g = '192.168.1.0'

View file

@ -433,8 +433,8 @@ class DomainnameOption(Option):
def _validate(self, value, context=undefined): def _validate(self, value, context=undefined):
self._impl_valid_unicode(value) self._impl_valid_unicode(value)
def _valid_length(val): def _valid_length(val):
if len(val) < 2: if len(val) < 1:
raise ValueError(_("invalid domainname's length (min 2)")) raise ValueError(_("invalid domainname's length (min 1)"))
if len(val) > part_name_length: if len(val) > part_name_length:
raise ValueError(_("invalid domainname's length (max {0})" raise ValueError(_("invalid domainname's length (max {0})"
"").format(part_name_length)) "").format(part_name_length))

View file

@ -2,7 +2,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Tiramisu\n" "Project-Id-Version: Tiramisu\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-07-27 10:06+0100\n" "POT-Creation-Date: 2015-10-12 17:04+0200\n"
"PO-Revision-Date: \n" "PO-Revision-Date: \n"
"Last-Translator: Emmanuel Garette <egarette@cadoles.com>\n" "Last-Translator: Emmanuel Garette <egarette@cadoles.com>\n"
"Language-Team: Tiramisu's team <egarette@cadoles.com>\n" "Language-Team: Tiramisu's team <egarette@cadoles.com>\n"
@ -10,7 +10,7 @@ msgstr ""
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.1\n" "X-Generator: Poedit 1.8.4\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SourceCharset: UTF-8\n"
@ -75,38 +75,38 @@ msgstr "ce storage n'est sérialisable, devrait être une storage non persistant
msgid "invalid name: {0} for config" msgid "invalid name: {0} for config"
msgstr "nom invalide : {0} pour la config" msgstr "nom invalide : {0} pour la config"
#: tiramisu/config.py:680 #: tiramisu/config.py:676
msgid "groupconfig's children must be a list" msgid "groupconfig's children must be a list"
msgstr "enfants d'une groupconfig doit être une liste" msgstr "enfants d'une groupconfig doit être une liste"
#: tiramisu/config.py:684 #: tiramisu/config.py:680
msgid "groupconfig's children must be Config, MetaConfig or GroupConfig" msgid "groupconfig's children must be Config, MetaConfig or GroupConfig"
msgstr "" msgstr ""
"les enfants d'un groupconfig doivent être des Config, MetaConfig ou " "les enfants d'un groupconfig doivent être des Config, MetaConfig ou "
"GroupConfig" "GroupConfig"
#: tiramisu/config.py:687 #: tiramisu/config.py:683
msgid "name must be set to config before creating groupconfig" msgid "name must be set to config before creating groupconfig"
msgstr "un nom doit être donné à la config avant de créer un groupconfig" msgstr "un nom doit être donné à la config avant de créer un groupconfig"
#: tiramisu/config.py:695 #: tiramisu/config.py:691
msgid "config name must be uniq in groupconfig for {0}" msgid "config name must be uniq in groupconfig for {0}"
msgstr "le nom de la config doit être unique dans un groupconfig pour {0}" msgstr "le nom de la config doit être unique dans un groupconfig pour {0}"
#: tiramisu/config.py:810 #: tiramisu/config.py:806
msgid "metaconfig's children should be config, not {0}" msgid "metaconfig's children should be config, not {0}"
msgstr "enfants d'une metaconfig doit être une config, pas {0}" msgstr "enfants d'une metaconfig doit être une config, pas {0}"
#: tiramisu/config.py:814 #: tiramisu/config.py:810
msgid "child has already a metaconfig's" msgid "child has already a metaconfig's"
msgstr "enfant a déjà une metaconfig" msgstr "enfant a déjà une metaconfig"
#: tiramisu/config.py:818 #: tiramisu/config.py:814
msgid "all config in metaconfig must have the same optiondescription" msgid "all config in metaconfig must have the same optiondescription"
msgstr "" msgstr ""
"toutes les configs d'une metaconfig doivent avoir la même optiondescription" "toutes les configs d'une metaconfig doivent avoir la même optiondescription"
#: tiramisu/config.py:830 #: tiramisu/config.py:826
msgid "" msgid ""
"force_default, force_default_if_same or force_dont_change_value cannot be " "force_default, force_default_if_same or force_dont_change_value cannot be "
"set with only_config" "set with only_config"
@ -114,65 +114,61 @@ msgstr ""
"force_default, force_default_if_same ou force_dont_change_value ne peuvent " "force_default, force_default_if_same ou force_dont_change_value ne peuvent "
"pas être spécifié avec only_config" "pas être spécifié avec only_config"
#: tiramisu/config.py:836 #: tiramisu/config.py:832
msgid "force_default and force_dont_change_value cannot be set together" msgid "force_default and force_dont_change_value cannot be set together"
msgstr "" msgstr ""
"force_default et force_dont_change_value ne peuvent pas être mis ensemble" "force_default et force_dont_change_value ne peuvent pas être mis ensemble"
#: tiramisu/option/baseoption.py:56 #: tiramisu/option/baseoption.py:57
msgid "{0} must be a function" msgid "{0} must be a function"
msgstr "{0} doit être une fonction" msgstr "{0} doit être une fonction"
#: tiramisu/option/baseoption.py:59 #: tiramisu/option/baseoption.py:60
msgid "{0}_params must be a dict" msgid "{0}_params must be a dict"
msgstr "{0}_params doit être un dict" msgstr "{0}_params doit être un dict"
#: tiramisu/option/baseoption.py:62 #: tiramisu/option/baseoption.py:63
msgid "{0}_params with key {1} mustn't have length different to 1" msgid "{0}_params with key {1} mustn't have length different to 1"
msgstr "" msgstr ""
"{0}_params avec la clef {1} ne doit pas avoir une longueur différent de 1" "{0}_params avec la clef {1} ne doit pas avoir une longueur différent de 1"
#: tiramisu/option/baseoption.py:66 #: tiramisu/option/baseoption.py:67
msgid "{0}_params must be tuple for key \"{1}\"" msgid "{0}_params must be tuple for key \"{1}\""
msgstr "{0}_params doit être un tuple pour la clef \"{1}\"" msgstr "{0}_params doit être un tuple pour la clef \"{1}\""
#: tiramisu/option/baseoption.py:72 #: tiramisu/option/baseoption.py:73
msgid "{0}_params with length of tuple as 1 must only have None as first value" msgid "{0}_params with length of tuple as 1 must only have None as first value"
msgstr "" msgstr ""
"{0}_params avec un tuple de longueur 1 doit seulement avoir None comme " "{0}_params avec un tuple de longueur 1 doit seulement avoir None comme "
"première valeur" "première valeur"
#: tiramisu/option/baseoption.py:76 #: tiramisu/option/baseoption.py:77
msgid "{0}_params must only have 1 or 2 as length" msgid "{0}_params must only have 1 or 2 as length"
msgstr "{0}_params doit seulement avoir une longueur de 1 ou 2" msgstr "{0}_params doit seulement avoir une longueur de 1 ou 2"
#: tiramisu/option/baseoption.py:81 #: tiramisu/option/baseoption.py:83
msgid "validator not support tuple"
msgstr "validator n'accepte pas de tuple"
#: tiramisu/option/baseoption.py:84
msgid "{0}_params must have an option not a {0} for first argument" msgid "{0}_params must have an option not a {0} for first argument"
msgstr "{0}_params doit avoir une option pas un {0} pour premier argument" msgstr "{0}_params doit avoir une option pas un {0} pour premier argument"
#: tiramisu/option/baseoption.py:88 #: tiramisu/option/baseoption.py:87
msgid "{0}_params must have a boolean not a {0} for second argument" msgid "{0}_params must have a boolean not a {0} for second argument"
msgstr "{0}_params doit avoir un booléen pas un {0} pour second argument" msgstr "{0}_params doit avoir un booléen pas un {0} pour second argument"
#: tiramisu/option/baseoption.py:104 #: tiramisu/option/baseoption.py:103
msgid "invalid name: {0} for option" msgid "invalid name: {0} for option"
msgstr "nom invalide : {0} pour l'option" msgstr "nom invalide : {0} pour l'option"
#: tiramisu/option/baseoption.py:112 #: tiramisu/option/baseoption.py:111
msgid "a default_multi is set whereas multi is False in option: {0}" msgid "a default_multi is set whereas multi is False in option: {0}"
msgstr "" msgstr ""
"une default_multi est renseignée alors que multi est False dans l'option : " "une default_multi est renseignée alors que multi est False dans l'option : "
"{0}" "{0}"
#: tiramisu/option/baseoption.py:123 #: tiramisu/option/baseoption.py:122
msgid "invalid properties type {0} for {1}, must be a tuple" msgid "invalid properties type {0} for {1}, must be a tuple"
msgstr "type des properties invalide {0} pour {1}, doit être un tuple" msgstr "type des properties invalide {0} pour {1}, doit être un tuple"
#: tiramisu/option/baseoption.py:148 #: tiramisu/option/baseoption.py:147
msgid "" msgid ""
"params defined for a callback function but no callback defined yet for " "params defined for a callback function but no callback defined yet for "
"option {0}" "option {0}"
@ -180,119 +176,119 @@ msgstr ""
"params définis pour une fonction callback mais par de callback encore " "params définis pour une fonction callback mais par de callback encore "
"définis pour l'option {0}" "définis pour l'option {0}"
#: tiramisu/option/baseoption.py:153 #: tiramisu/option/baseoption.py:152
msgid "a callback is already set for option {0}, cannot set another one's" msgid "a callback is already set for option {0}, cannot set another one's"
msgstr "" msgstr ""
"un callback est en lecture seul pour l'option {0}, ne peut en placer une " "un callback est en lecture seul pour l'option {0}, ne peut en placer une "
"autre" "autre"
#: tiramisu/option/baseoption.py:280 #: tiramisu/option/baseoption.py:279
msgid "cannot serialize Option, only in OptionDescription" msgid "cannot serialize Option, only in OptionDescription"
msgstr "ne peut serialiser une Option, seulement via une OptionDescription" msgstr "ne peut serialiser une Option, seulement via une OptionDescription"
#: tiramisu/option/baseoption.py:366 #: tiramisu/option/baseoption.py:365
msgid "'{0}' ({1}) object attribute '{2}' is read-only" msgid "'{0}' ({1}) object attribute '{2}' is read-only"
msgstr "l'attribut {2} de l'objet '{0}' ({1}) est en lecture seule" msgstr "l'attribut {2} de l'objet '{0}' ({1}) est en lecture seule"
#: tiramisu/option/baseoption.py:392 #: tiramisu/option/baseoption.py:391
msgid "invalid unicode or string" msgid "invalid unicode or string"
msgstr "invalide unicode ou string" msgstr "invalide unicode ou string"
#: tiramisu/option/baseoption.py:549 tiramisu/option/baseoption.py:590 #: tiramisu/option/baseoption.py:551 tiramisu/option/baseoption.py:592
msgid "invalid value for option {0}: {1}" msgid "invalid value for option {0}: {1}"
msgstr "valeur invalide pour l'option {0} : {1}" msgstr "valeur invalide pour l'option {0} : {1}"
#: tiramisu/option/baseoption.py:558 #: tiramisu/option/baseoption.py:560
msgid "do_validation for {0}: error in value" msgid "do_validation for {0}: error in value"
msgstr "do_validation for {0} : erreur dans un la valeur" msgstr "do_validation for {0} : erreur dans un la valeur"
#: tiramisu/option/baseoption.py:564 #: tiramisu/option/baseoption.py:566
msgid "do_validation for {0}: warning in value" msgid "do_validation for {0}: warning in value"
msgstr "do_validation for {0} : warning dans un la valeur" msgstr "do_validation for {0} : warning dans un la valeur"
#: tiramisu/option/baseoption.py:574 #: tiramisu/option/baseoption.py:576
msgid "do_validation for {0}: error in consistency" msgid "do_validation for {0}: error in consistency"
msgstr "do_validation for {0} : erreur dans un test de consistance" msgstr "do_validation for {0} : erreur dans un test de consistance"
#: tiramisu/option/baseoption.py:578 #: tiramisu/option/baseoption.py:580
msgid "do_validation for {0}: warning in consistency" msgid "do_validation for {0}: warning in consistency"
msgstr "do_validation for {0} : warning dans un test de consistance" msgstr "do_validation for {0} : warning dans un test de consistance"
#: tiramisu/option/baseoption.py:582 #: tiramisu/option/baseoption.py:584
msgid "warning on the value of the option {0}: {1}" msgid "warning on the value of the option {0}: {1}"
msgstr "avertissement sur la valeur de l'option {0} : {1}" msgstr "avertissement sur la valeur de l'option {0} : {1}"
#: tiramisu/option/baseoption.py:602 tiramisu/option/baseoption.py:611 #: tiramisu/option/baseoption.py:604 tiramisu/option/baseoption.py:613
msgid "invalid value {0} for option {1} which must be a list" msgid "invalid value {0} for option {1} which must be a list"
msgstr "valeur invalide pour l'option {0} : {1} laquelle doit être une liste" msgstr "valeur invalide pour l'option {0} : {1} laquelle doit être une liste"
#: tiramisu/option/baseoption.py:617 #: tiramisu/option/baseoption.py:619
msgid "invalid value {0} for option {1} which must be a list of list" msgid "invalid value {0} for option {1} which must be a list of list"
msgstr "" msgstr ""
"valeur invalide pour l'option {0} : {1} laquelle doit être une liste de liste" "valeur invalide pour l'option {0} : {1} laquelle doit être une liste de liste"
#: tiramisu/option/baseoption.py:670 #: tiramisu/option/baseoption.py:672
msgid "'{0}' ({1}) cannot add consistency, option is read-only" msgid "'{0}' ({1}) cannot add consistency, option is read-only"
msgstr "" msgstr ""
"'{0}' ({1}) ne peut ajouter de consistency, l'option est en lecture seul" "'{0}' ({1}) ne peut ajouter de consistency, l'option est en lecture seul"
#: tiramisu/option/baseoption.py:682 #: tiramisu/option/baseoption.py:684
msgid "unknow parameter {0} in consistency" msgid "unknow parameter {0} in consistency"
msgstr "paramètre inconnu {0} dans un test de consistance" msgstr "paramètre inconnu {0} dans un test de consistance"
#: tiramisu/option/baseoption.py:689 #: tiramisu/option/baseoption.py:691
msgid "consistency must be set with an option" msgid "consistency must be set with an option"
msgstr "consistency doit être configuré avec une option" msgstr "consistency doit être configuré avec une option"
#: tiramisu/option/baseoption.py:692 tiramisu/option/baseoption.py:699 #: tiramisu/option/baseoption.py:694 tiramisu/option/baseoption.py:701
msgid "" msgid ""
"almost one option in consistency is in a dynoptiondescription but not all" "almost one option in consistency is in a dynoptiondescription but not all"
msgstr "" msgstr ""
"au moins une option dans le test de consistance est dans une " "au moins une option dans le test de consistance est dans une "
"dynoptiondescription mais pas toutes" "dynoptiondescription mais pas toutes"
#: tiramisu/option/baseoption.py:695 #: tiramisu/option/baseoption.py:697
msgid "option in consistency must be in same dynoptiondescription" msgid "option in consistency must be in same dynoptiondescription"
msgstr "" msgstr ""
"option dans une consistency doit être dans le même dynoptiondescription" "option dans une consistency doit être dans le même dynoptiondescription"
#: tiramisu/option/baseoption.py:702 #: tiramisu/option/baseoption.py:704
msgid "cannot add consistency with itself" msgid "cannot add consistency with itself"
msgstr "ne peut ajouter une consistency avec lui même" msgstr "ne peut ajouter une consistency avec lui même"
#: tiramisu/option/baseoption.py:704 #: tiramisu/option/baseoption.py:706
msgid "every options in consistency must be multi or none" msgid "every options in consistency must be multi or none"
msgstr "" msgstr ""
"toutes les options d'une consistency doivent être multi ou ne pas l'être" "toutes les options d'une consistency doivent être multi ou ne pas l'être"
#: tiramisu/option/baseoption.py:708 #: tiramisu/option/baseoption.py:710
msgid "consistency {0} not available for this option" msgid "consistency {0} not available for this option"
msgstr "consistency {0} non valable pour cette option" msgstr "consistency {0} non valable pour cette option"
#: tiramisu/option/baseoption.py:737 #: tiramisu/option/baseoption.py:739
msgid "same value for {0} and {1}, should be different" msgid "same value for {0} and {1}, should be different"
msgstr "même valeur pour {0} et {1}, devrait être différent" msgstr "même valeur pour {0} et {1}, devrait être différent"
#: tiramisu/option/baseoption.py:739 #: tiramisu/option/baseoption.py:741
msgid "same value for {0} and {1}, must be different" msgid "same value for {0} and {1}, must be different"
msgstr "même valeur pour {0} et {1}, doit être différent" msgstr "même valeur pour {0} et {1}, doit être différent"
#: tiramisu/option/baseoption.py:795 #: tiramisu/option/baseoption.py:797
msgid "default value not allowed if option: {0} is calculated" 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" msgstr "la valeur par défaut n'est pas possible si l'option {0} est calculée"
#: tiramisu/option/baseoption.py:817 #: tiramisu/option/baseoption.py:819
msgid "malformed requirements type for option: {0}, must be a dict" msgid "malformed requirements type for option: {0}, must be a dict"
msgstr "" msgstr ""
"type requirements malformé pour l'option : {0}, doit être un dictionnaire" "type requirements malformé pour l'option : {0}, doit être un dictionnaire"
#: tiramisu/option/baseoption.py:823 #: tiramisu/option/baseoption.py:825
msgid "malformed requirements for option: {0} unknown keys {1}, must only {2}" msgid "malformed requirements for option: {0} unknown keys {1}, must only {2}"
msgstr "" msgstr ""
"requirements mal formés pour l'option : {0} clefs inconnues {1}, doit " "requirements mal formés pour l'option : {0} clefs inconnues {1}, doit "
"seulement avoir {2}" "seulement avoir {2}"
#: tiramisu/option/baseoption.py:834 #: tiramisu/option/baseoption.py:836
msgid "" msgid ""
"malformed requirements for option: {0} require must have option, expected " "malformed requirements for option: {0} require must have option, expected "
"and action keys" "and action keys"
@ -300,49 +296,49 @@ msgstr ""
"requirements malformé pour l'option : {0} l'exigence doit avoir les clefs " "requirements malformé pour l'option : {0} l'exigence doit avoir les clefs "
"option, expected et action" "option, expected et action"
#: tiramisu/option/baseoption.py:838 #: tiramisu/option/baseoption.py:840
msgid "" msgid ""
"malformed requirements for option: {0} action cannot be force_store_value" "malformed requirements for option: {0} action cannot be force_store_value"
msgstr "" msgstr ""
"requirements mal formés pour l'option : {0} action ne peut pas être " "requirements mal formés pour l'option : {0} action ne peut pas être "
"force_store_value" "force_store_value"
#: tiramisu/option/baseoption.py:843 #: tiramisu/option/baseoption.py:845
msgid "malformed requirements for option: {0} inverse must be boolean" msgid "malformed requirements for option: {0} inverse must be boolean"
msgstr "" msgstr ""
"requirements mal formés pour l'option : {0} inverse doit être un booléen" "requirements mal formés pour l'option : {0} inverse doit être un booléen"
#: tiramisu/option/baseoption.py:847 #: tiramisu/option/baseoption.py:849
msgid "malformed requirements for option: {0} transitive must be boolean" msgid "malformed requirements for option: {0} transitive must be boolean"
msgstr "" msgstr ""
"requirements mal formés pour l'option : {0} transitive doit être booléen" "requirements mal formés pour l'option : {0} transitive doit être booléen"
#: tiramisu/option/baseoption.py:851 #: tiramisu/option/baseoption.py:853
msgid "malformed requirements for option: {0} same_action must be boolean" msgid "malformed requirements for option: {0} same_action must be boolean"
msgstr "" msgstr ""
"requirements mal formés pour l'option : {0} same_action doit être un booléen" "requirements mal formés pour l'option : {0} same_action doit être un booléen"
#: tiramisu/option/baseoption.py:855 #: tiramisu/option/baseoption.py:857
msgid "malformed requirements must be an option in option {0}" msgid "malformed requirements must be an option in option {0}"
msgstr "requirements mal formés doit être une option dans l'option {0}" msgstr "requirements mal formés doit être une option dans l'option {0}"
#: tiramisu/option/baseoption.py:858 #: tiramisu/option/baseoption.py:860
msgid "malformed requirements option {0} must not be a multi for {1}" msgid "malformed requirements option {0} must not be a multi for {1}"
msgstr "" msgstr ""
"requirements mal formés pour l'option {0} ne doit pas être une multi pour {1}" "requirements mal formés pour l'option {0} ne doit pas être une multi pour {1}"
#: tiramisu/option/baseoption.py:865 #: tiramisu/option/baseoption.py:867
msgid "" msgid ""
"malformed requirements second argument must be valid for option {0}: {1}" "malformed requirements second argument must be valid for option {0}: {1}"
msgstr "" msgstr ""
"requirements mal formés deuxième argument doit être valide pour l'option " "requirements mal formés deuxième argument doit être valide pour l'option "
"{0} : {1}" "{0} : {1}"
#: tiramisu/option/baseoption.py:870 #: tiramisu/option/baseoption.py:872
msgid "inconsistency in action types for option: {0} action: {1}" msgid "inconsistency in action types for option: {0} action: {1}"
msgstr "incohérence dans les types action pour l'option : {0} action {1}" msgstr "incohérence dans les types action pour l'option : {0} action {1}"
#: tiramisu/option/baseoption.py:898 #: tiramisu/option/baseoption.py:900
msgid "malformed symlinkoption must be an option for symlink {0}" msgid "malformed symlinkoption must be an option for symlink {0}"
msgstr "symlinkoption mal formé, doit être une option pour symlink {0}" msgstr "symlinkoption mal formé, doit être une option pour symlink {0}"
@ -524,8 +520,8 @@ msgid "allow_without_dot must be a boolean"
msgstr "allow_without_dot doit être un booléen" msgstr "allow_without_dot doit être un booléen"
#: tiramisu/option/option.py:437 #: tiramisu/option/option.py:437
msgid "invalid domainname's length (min 2)" msgid "invalid domainname's length (min 1)"
msgstr "longueur du nom de domaine invalide (minimum 2)" msgstr "longueur du nom de domaine invalide (minimum 1)"
#: tiramisu/option/option.py:439 #: tiramisu/option/option.py:439
msgid "invalid domainname's length (max {0})" msgid "invalid domainname's length (max {0})"
@ -696,7 +692,7 @@ msgstr "ne peut pas importer le stockage {0}"
msgid "option {0} not already exists in storage {1}" msgid "option {0} not already exists in storage {1}"
msgstr "option {0} n'existe pas dans l'espace de stockage {1}" msgstr "option {0} n'existe pas dans l'espace de stockage {1}"
#: tiramisu/storage/__init__.py:133 #: tiramisu/storage/__init__.py:131
msgid "unable to get storages:" msgid "unable to get storages:"
msgstr "impossible de récupérer les storages :" msgstr "impossible de récupérer les storages :"
@ -705,22 +701,23 @@ msgid "invalid default_multi value {0} for option {1}: {2}"
msgstr "la valeur default_multi est invalide {0} pour l'option {1} : {2}" msgstr "la valeur default_multi est invalide {0} pour l'option {1} : {2}"
#: tiramisu/storage/dictionary/option.py:138 #: tiramisu/storage/dictionary/option.py:138
#: tiramisu/storage/sqlalchemy/option.py:431 tiramisu/value.py:528 #: tiramisu/storage/sqlalchemy/option.py:439 tiramisu/value.py:528
msgid "information's item not found: {0}" msgid "information's item not found: {0}"
msgstr "aucune config spécifiée alors que c'est nécessaire" msgstr "aucune config spécifiée alors que c'est nécessaire"
#: tiramisu/storage/dictionary/option.py:365 #: tiramisu/storage/dictionary/option.py:365
#: tiramisu/storage/sqlalchemy/option.py:475 #: tiramisu/storage/sqlalchemy/option.py:483
msgid "no option for path {0}" msgid "no option for path {0}"
msgstr "pas d'option pour le chemin {0}" msgstr "pas d'option pour le chemin {0}"
#: tiramisu/storage/dictionary/option.py:369 #: tiramisu/storage/dictionary/option.py:369
#: tiramisu/storage/sqlalchemy/option.py:492
msgid "use impl_get_path_by_opt only with root OptionDescription" msgid "use impl_get_path_by_opt only with root OptionDescription"
msgstr "" msgstr ""
"utiliser impl_get_path_by_opt seulement avec une OptionDescription racine" "utiliser impl_get_path_by_opt seulement avec une OptionDescription racine"
#: tiramisu/storage/dictionary/option.py:373 #: tiramisu/storage/dictionary/option.py:373
#: tiramisu/storage/sqlalchemy/option.py:482 #: tiramisu/storage/sqlalchemy/option.py:493
msgid "no option {0} found" msgid "no option {0} found"
msgstr "pas d'option {0} trouvée" msgstr "pas d'option {0} trouvée"
@ -729,7 +726,7 @@ msgid "cannot find dynpath"
msgstr "ne peut trouver le dynpath" msgstr "ne peut trouver le dynpath"
#: tiramisu/storage/dictionary/option.py:512 #: tiramisu/storage/dictionary/option.py:512
#: tiramisu/storage/sqlalchemy/option.py:627 #: tiramisu/storage/sqlalchemy/option.py:638
msgid "suffix and context needed if it's a dyn option" msgid "suffix and context needed if it's a dyn option"
msgstr "suffix et context obligatoire si c'est une option dynamique" msgstr "suffix et context obligatoire si c'est une option dynamique"
@ -738,7 +735,7 @@ msgid "{0} instance has no attribute '_readonly'"
msgstr "{0} instance n'a pas l'attribut '_readonly'" msgstr "{0} instance n'a pas l'attribut '_readonly'"
#: tiramisu/storage/dictionary/option.py:539 #: tiramisu/storage/dictionary/option.py:539
#: tiramisu/storage/sqlalchemy/option.py:657 #: tiramisu/storage/sqlalchemy/option.py:668
msgid "unknown Option {0} in OptionDescription {1}" msgid "unknown Option {0} in OptionDescription {1}"
msgstr "Option {0} inconnue pour l'OptionDescription {1}" msgstr "Option {0} inconnue pour l'OptionDescription {1}"
@ -809,6 +806,9 @@ msgstr "ne peut étendre une option multi {0} pour une maître ou une esclave"
msgid "cannot pop a value on a multi option {0} which is a slave" 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" msgstr "ne peut supprimer une valeur dans l'option multi {0} qui est esclave"
#~ msgid "validator not support tuple"
#~ msgstr "validator n'accepte pas de tuple"
#~ msgid "open_values must be a boolean for {0}" #~ msgid "open_values must be a boolean for {0}"
#~ msgstr "open_values doit être un booléen pour {0}" #~ msgstr "open_values doit être un booléen pour {0}"

View file

@ -5,7 +5,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2015-07-27 10:05+CEST\n" "POT-Creation-Date: 2015-10-12 17:04+CEST\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -72,231 +72,227 @@ msgstr ""
msgid "invalid name: {0} for config" msgid "invalid name: {0} for config"
msgstr "" msgstr ""
#: tiramisu/config.py:680 #: tiramisu/config.py:676
msgid "groupconfig's children must be a list" msgid "groupconfig's children must be a list"
msgstr "" msgstr ""
#: tiramisu/config.py:684 #: tiramisu/config.py:680
msgid "groupconfig's children must be Config, MetaConfig or GroupConfig" msgid "groupconfig's children must be Config, MetaConfig or GroupConfig"
msgstr "" msgstr ""
#: tiramisu/config.py:687 #: tiramisu/config.py:683
msgid "name must be set to config before creating groupconfig" msgid "name must be set to config before creating groupconfig"
msgstr "" msgstr ""
#: tiramisu/config.py:695 #: tiramisu/config.py:691
msgid "config name must be uniq in groupconfig for {0}" msgid "config name must be uniq in groupconfig for {0}"
msgstr "" msgstr ""
#: tiramisu/config.py:810 #: tiramisu/config.py:806
msgid "metaconfig's children should be config, not {0}" msgid "metaconfig's children should be config, not {0}"
msgstr "" msgstr ""
#: tiramisu/config.py:814 #: tiramisu/config.py:810
msgid "child has already a metaconfig's" msgid "child has already a metaconfig's"
msgstr "" msgstr ""
#: tiramisu/config.py:818 #: tiramisu/config.py:814
msgid "all config in metaconfig must have the same optiondescription" msgid "all config in metaconfig must have the same optiondescription"
msgstr "" msgstr ""
#: tiramisu/config.py:830 #: tiramisu/config.py:826
msgid "force_default, force_default_if_same or force_dont_change_value cannot be set with only_config" msgid "force_default, force_default_if_same or force_dont_change_value cannot be set with only_config"
msgstr "" msgstr ""
#: tiramisu/config.py:836 #: tiramisu/config.py:832
msgid "force_default and force_dont_change_value cannot be set together" msgid "force_default and force_dont_change_value cannot be set together"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:56 #: tiramisu/option/baseoption.py:57
msgid "{0} must be a function" msgid "{0} must be a function"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:59 #: tiramisu/option/baseoption.py:60
msgid "{0}_params must be a dict" msgid "{0}_params must be a dict"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:62 #: tiramisu/option/baseoption.py:63
msgid "{0}_params with key {1} mustn't have length different to 1" msgid "{0}_params with key {1} mustn't have length different to 1"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:66 #: tiramisu/option/baseoption.py:67
msgid "{0}_params must be tuple for key \"{1}\"" msgid "{0}_params must be tuple for key \"{1}\""
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:72 #: tiramisu/option/baseoption.py:73
msgid "{0}_params with length of tuple as 1 must only have None as first value" msgid "{0}_params with length of tuple as 1 must only have None as first value"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:76 #: tiramisu/option/baseoption.py:77
msgid "{0}_params must only have 1 or 2 as length" msgid "{0}_params must only have 1 or 2 as length"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:81 #: tiramisu/option/baseoption.py:83
msgid "validator not support tuple"
msgstr ""
#: tiramisu/option/baseoption.py:84
msgid "{0}_params must have an option not a {0} for first argument" msgid "{0}_params must have an option not a {0} for first argument"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:88 #: tiramisu/option/baseoption.py:87
msgid "{0}_params must have a boolean not a {0} for second argument" msgid "{0}_params must have a boolean not a {0} for second argument"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:104 #: tiramisu/option/baseoption.py:103
msgid "invalid name: {0} for option" msgid "invalid name: {0} for option"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:112 #: tiramisu/option/baseoption.py:111
msgid "a default_multi is set whereas multi is False in option: {0}" msgid "a default_multi is set whereas multi is False in option: {0}"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:123 #: tiramisu/option/baseoption.py:122
msgid "invalid properties type {0} for {1}, must be a tuple" msgid "invalid properties type {0} for {1}, must be a tuple"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:148 #: tiramisu/option/baseoption.py:147
msgid "params defined for a callback function but no callback defined yet for option {0}" msgid "params defined for a callback function but no callback defined yet for option {0}"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:153 #: tiramisu/option/baseoption.py:152
msgid "a callback is already set for option {0}, cannot set another one's" msgid "a callback is already set for option {0}, cannot set another one's"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:280 #: tiramisu/option/baseoption.py:279
msgid "cannot serialize Option, only in OptionDescription" msgid "cannot serialize Option, only in OptionDescription"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:366 #: tiramisu/option/baseoption.py:365
msgid "'{0}' ({1}) object attribute '{2}' is read-only" msgid "'{0}' ({1}) object attribute '{2}' is read-only"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:392 #: tiramisu/option/baseoption.py:391
msgid "invalid unicode or string" msgid "invalid unicode or string"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:549 tiramisu/option/baseoption.py:590 #: tiramisu/option/baseoption.py:551 tiramisu/option/baseoption.py:592
msgid "invalid value for option {0}: {1}" msgid "invalid value for option {0}: {1}"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:558 #: tiramisu/option/baseoption.py:560
msgid "do_validation for {0}: error in value" msgid "do_validation for {0}: error in value"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:564 #: tiramisu/option/baseoption.py:566
msgid "do_validation for {0}: warning in value" msgid "do_validation for {0}: warning in value"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:574 #: tiramisu/option/baseoption.py:576
msgid "do_validation for {0}: error in consistency" msgid "do_validation for {0}: error in consistency"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:578 #: tiramisu/option/baseoption.py:580
msgid "do_validation for {0}: warning in consistency" msgid "do_validation for {0}: warning in consistency"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:582 #: tiramisu/option/baseoption.py:584
msgid "warning on the value of the option {0}: {1}" msgid "warning on the value of the option {0}: {1}"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:602 tiramisu/option/baseoption.py:611 #: tiramisu/option/baseoption.py:604 tiramisu/option/baseoption.py:613
msgid "invalid value {0} for option {1} which must be a list" msgid "invalid value {0} for option {1} which must be a list"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:617 #: tiramisu/option/baseoption.py:619
msgid "invalid value {0} for option {1} which must be a list of list" msgid "invalid value {0} for option {1} which must be a list of list"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:670 #: tiramisu/option/baseoption.py:672
msgid "'{0}' ({1}) cannot add consistency, option is read-only" msgid "'{0}' ({1}) cannot add consistency, option is read-only"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:682 #: tiramisu/option/baseoption.py:684
msgid "unknow parameter {0} in consistency" msgid "unknow parameter {0} in consistency"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:689 #: tiramisu/option/baseoption.py:691
msgid "consistency must be set with an option" msgid "consistency must be set with an option"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:692 tiramisu/option/baseoption.py:699 #: tiramisu/option/baseoption.py:694 tiramisu/option/baseoption.py:701
msgid "almost one option in consistency is in a dynoptiondescription but not all" msgid "almost one option in consistency is in a dynoptiondescription but not all"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:695 #: tiramisu/option/baseoption.py:697
msgid "option in consistency must be in same dynoptiondescription" msgid "option in consistency must be in same dynoptiondescription"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:702 #: tiramisu/option/baseoption.py:704
msgid "cannot add consistency with itself" msgid "cannot add consistency with itself"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:704 #: tiramisu/option/baseoption.py:706
msgid "every options in consistency must be multi or none" msgid "every options in consistency must be multi or none"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:708 #: tiramisu/option/baseoption.py:710
msgid "consistency {0} not available for this option" msgid "consistency {0} not available for this option"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:737 #: tiramisu/option/baseoption.py:739
msgid "same value for {0} and {1}, should be different" msgid "same value for {0} and {1}, should be different"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:739 #: tiramisu/option/baseoption.py:741
msgid "same value for {0} and {1}, must be different" msgid "same value for {0} and {1}, must be different"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:795 #: tiramisu/option/baseoption.py:797
msgid "default value not allowed if option: {0} is calculated" msgid "default value not allowed if option: {0} is calculated"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:817 #: tiramisu/option/baseoption.py:819
msgid "malformed requirements type for option: {0}, must be a dict" msgid "malformed requirements type for option: {0}, must be a dict"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:823 #: tiramisu/option/baseoption.py:825
msgid "malformed requirements for option: {0} unknown keys {1}, must only {2}" msgid "malformed requirements for option: {0} unknown keys {1}, must only {2}"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:834 #: tiramisu/option/baseoption.py:836
msgid "malformed requirements for option: {0} require must have option, expected and action keys" msgid "malformed requirements for option: {0} require must have option, expected and action keys"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:838 #: tiramisu/option/baseoption.py:840
msgid "malformed requirements for option: {0} action cannot be force_store_value" msgid "malformed requirements for option: {0} action cannot be force_store_value"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:843 #: tiramisu/option/baseoption.py:845
msgid "malformed requirements for option: {0} inverse must be boolean" msgid "malformed requirements for option: {0} inverse must be boolean"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:847 #: tiramisu/option/baseoption.py:849
msgid "malformed requirements for option: {0} transitive must be boolean" msgid "malformed requirements for option: {0} transitive must be boolean"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:851 #: tiramisu/option/baseoption.py:853
msgid "malformed requirements for option: {0} same_action must be boolean" msgid "malformed requirements for option: {0} same_action must be boolean"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:855 #: tiramisu/option/baseoption.py:857
msgid "malformed requirements must be an option in option {0}" msgid "malformed requirements must be an option in option {0}"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:858 #: tiramisu/option/baseoption.py:860
msgid "malformed requirements option {0} must not be a multi for {1}" msgid "malformed requirements option {0} must not be a multi for {1}"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:865 #: tiramisu/option/baseoption.py:867
msgid "malformed requirements second argument must be valid for option {0}: {1}" msgid "malformed requirements second argument must be valid for option {0}: {1}"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:870 #: tiramisu/option/baseoption.py:872
msgid "inconsistency in action types for option: {0} action: {1}" msgid "inconsistency in action types for option: {0} action: {1}"
msgstr "" msgstr ""
#: tiramisu/option/baseoption.py:898 #: tiramisu/option/baseoption.py:900
msgid "malformed symlinkoption must be an option for symlink {0}" msgid "malformed symlinkoption must be an option for symlink {0}"
msgstr "" msgstr ""
@ -470,7 +466,7 @@ msgid "allow_without_dot must be a boolean"
msgstr "" msgstr ""
#: tiramisu/option/option.py:437 #: tiramisu/option/option.py:437
msgid "invalid domainname's length (min 2)" msgid "invalid domainname's length (min 1)"
msgstr "" msgstr ""
#: tiramisu/option/option.py:439 #: tiramisu/option/option.py:439
@ -633,7 +629,7 @@ msgstr ""
msgid "option {0} not already exists in storage {1}" msgid "option {0} not already exists in storage {1}"
msgstr "" msgstr ""
#: tiramisu/storage/__init__.py:133 #: tiramisu/storage/__init__.py:131
msgid "unable to get storages:" msgid "unable to get storages:"
msgstr "" msgstr ""
@ -642,21 +638,22 @@ msgid "invalid default_multi value {0} for option {1}: {2}"
msgstr "" msgstr ""
#: tiramisu/storage/dictionary/option.py:138 #: tiramisu/storage/dictionary/option.py:138
#: tiramisu/storage/sqlalchemy/option.py:431 tiramisu/value.py:528 #: tiramisu/storage/sqlalchemy/option.py:439 tiramisu/value.py:528
msgid "information's item not found: {0}" msgid "information's item not found: {0}"
msgstr "" msgstr ""
#: tiramisu/storage/dictionary/option.py:365 #: tiramisu/storage/dictionary/option.py:365
#: tiramisu/storage/sqlalchemy/option.py:475 #: tiramisu/storage/sqlalchemy/option.py:483
msgid "no option for path {0}" msgid "no option for path {0}"
msgstr "" msgstr ""
#: tiramisu/storage/dictionary/option.py:369 #: tiramisu/storage/dictionary/option.py:369
#: tiramisu/storage/sqlalchemy/option.py:492
msgid "use impl_get_path_by_opt only with root OptionDescription" msgid "use impl_get_path_by_opt only with root OptionDescription"
msgstr "" msgstr ""
#: tiramisu/storage/dictionary/option.py:373 #: tiramisu/storage/dictionary/option.py:373
#: tiramisu/storage/sqlalchemy/option.py:482 #: tiramisu/storage/sqlalchemy/option.py:493
msgid "no option {0} found" msgid "no option {0} found"
msgstr "" msgstr ""
@ -665,7 +662,7 @@ msgid "cannot find dynpath"
msgstr "" msgstr ""
#: tiramisu/storage/dictionary/option.py:512 #: tiramisu/storage/dictionary/option.py:512
#: tiramisu/storage/sqlalchemy/option.py:627 #: tiramisu/storage/sqlalchemy/option.py:638
msgid "suffix and context needed if it's a dyn option" msgid "suffix and context needed if it's a dyn option"
msgstr "" msgstr ""
@ -674,7 +671,7 @@ msgid "{0} instance has no attribute '_readonly'"
msgstr "" msgstr ""
#: tiramisu/storage/dictionary/option.py:539 #: tiramisu/storage/dictionary/option.py:539
#: tiramisu/storage/sqlalchemy/option.py:657 #: tiramisu/storage/sqlalchemy/option.py:668
msgid "unknown Option {0} in OptionDescription {1}" msgid "unknown Option {0} in OptionDescription {1}"
msgstr "" msgstr ""