diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 671d7708e..d454cef71 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -15,7 +15,7 @@ are used for versioning (schema follows below): 0.3.4 to 0.4). - All backwards incompatible changes are mentioned in this document. -0.4.32 +0.4.33 ------------------------------------- yyyy-mm-ddd (not yet released). @@ -23,6 +23,15 @@ yyyy-mm-ddd (not yet released). `fobi.contrib.plugins.form_elements.fields.checkbox_select_multiple `_. +0.4.32 +------------------------------------- +2015-03-25 + +- Updated missing parts in the Russian translations. +- Minor API improvements. From now on, the `run` method of form handlers + may return a tuple (bool, mixed). In case of errors it might be (False, err). +- Minor code clean ups. + 0.4.31 ------------------------------------- 2015-03-23 diff --git a/examples/simple/locale/de/LC_MESSAGES/django.po b/examples/simple/locale/de/LC_MESSAGES/django.po index eb6d1dd92..78a0bd10f 100644 --- a/examples/simple/locale/de/LC_MESSAGES/django.po +++ b/examples/simple/locale/de/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-10 13:19+0100\n" +"POT-Creation-Date: 2015-03-23 13:39+0100\n" "PO-Revision-Date: 2015-02-27 23:52+0100\n" "Last-Translator: Artur Barseghyan \n" "Language-Team: Maximilian Kindshofer \n" @@ -18,43 +18,43 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.7.3\n" -#: settings.py:43 +#: settings.py:46 msgid "English" msgstr "" -#: settings.py:44 +#: settings.py:47 msgid "Armenian" msgstr "" -#: settings.py:45 +#: settings.py:48 msgid "Dutch" msgstr "" -#: settings.py:46 +#: settings.py:49 msgid "Russian" msgstr "" -#: settings.py:47 +#: settings.py:50 msgid "German" msgstr "" -#: settings.py:307 settings.py:321 +#: settings.py:318 settings.py:332 msgid "Custom bootstrap3 embed form view template" msgstr "" -#: settings.py:313 settings.py:327 +#: settings.py:324 settings.py:338 msgid "Custom bootstrap3 embed form entry submitted template" msgstr "" -#: settings.py:343 settings.py:357 +#: settings.py:354 settings.py:368 msgid "Custom foundation5 embed form view template" msgstr "" -#: settings.py:349 settings.py:363 +#: settings.py:360 settings.py:374 msgid "Custom foundation5 embed form entry submitted template" msgstr "" -#: settings.py:382 +#: settings.py:393 msgid "© django-fobi example site 2014" msgstr "" @@ -103,38 +103,82 @@ msgstr "Aktionen" msgid "Dashboard" msgstr "Dashboard" -#: override_select_model_object_plugin/fobi_form_elements.py:19 -msgid "Select model object" -msgstr "Modelobjekt Auswahl" +#: override_radio_plugin/fobi_form_elements.py:20 +msgid "Radio" +msgstr "Radio-Button" +#: override_radio_plugin/fobi_form_elements.py:21 #: override_select_model_object_plugin/fobi_form_elements.py:20 msgid "Fields" msgstr "Felder" -#: override_select_model_object_plugin/forms.py:25 +#: override_radio_plugin/forms.py:25 +#: override_select_model_object_plugin/forms.py:27 msgid "Label" msgstr "Label" -#: override_select_model_object_plugin/forms.py:30 +#: override_radio_plugin/forms.py:30 +#: override_select_model_object_plugin/forms.py:32 msgid "Name" msgstr "Name" -#: override_select_model_object_plugin/forms.py:35 -msgid "Model" -msgstr "Model" +#: override_radio_plugin/forms.py:35 +msgid "Choices" +msgstr "Auswahl" -#: override_select_model_object_plugin/forms.py:41 +#: override_radio_plugin/forms.py:37 +msgid "" +"Enter single values/pairs per line. Example:
   " +" 1
    2
    alpha, " +"Alpha
    beta, Beta
    " +"omega

It finally transforms into the following HTML code:" +"
    <select id=\"id_NAME_OF_THE_ELEMENT\" " +"name=\"NAME_OF_THE_ELEMENT\">
      " +"  <option value=\"1\">1</option>
   " +"     <option value=\"2\">2</option>
        <option value=\"alpha" +"\">Alpha</option>
       " +" <option value=\"beta\">Beta</option>
   " +"     <option value=\"omega\">omega</" +"option>
    </select>
" +msgstr "" +"Jeweils ein Wert/Paar pro Zeile. Zum Beispiel:
   " +" 1
    2
    alpha, " +"Alpha
    beta, Beta
    " +"omega

It finally transforms into the following HTML code:" +"
    <select id=\"id_NAME_OF_THE_ELEMENT\" " +"name=\"NAME_OF_THE_ELEMENT\">
      " +"  <option value=\"1\">1</option>
   " +"     <option value=\"2\">2</option>
        <option value=\"alpha" +"\">Alpha</option>
       " +" <option value=\"beta\">Beta</option>
   " +"     <option value=\"omega\">omega</" +"option>
    </select>
" + +#: override_radio_plugin/forms.py:56 +#: override_select_model_object_plugin/forms.py:43 msgid "Help text" msgstr "Hilfetext" -#: override_select_model_object_plugin/forms.py:46 +#: override_radio_plugin/forms.py:61 +#: override_select_model_object_plugin/forms.py:48 msgid "Initial" msgstr "Vorausgefüllt" -#: override_select_model_object_plugin/forms.py:51 +#: override_radio_plugin/forms.py:66 +#: override_select_model_object_plugin/forms.py:53 msgid "Required" msgstr "Pflichtfeld" +#: override_select_model_object_plugin/fobi_form_elements.py:19 +msgid "Select model object" +msgstr "Modelobjekt Auswahl" + +#: override_select_model_object_plugin/forms.py:37 +msgid "Model" +msgstr "Model" + #: page/models.py:14 msgid "Base template" msgstr "" @@ -978,43 +1022,6 @@ msgstr "" #~ msgid "Max value" #~ msgstr "maxima Wert" -#~ msgid "Radio" -#~ msgstr "Radio-Button" - -#~ msgid "Choices" -#~ msgstr "Auswahl" - -#~ msgid "" -#~ "Enter single values/pairs per line. Example:
   " -#~ " 1
    2
    alpha, " -#~ "Alpha
    beta, Beta
    " -#~ "omega

It finally transforms into the following HTML code:" -#~ "
    <select id=\"id_NAME_OF_THE_ELEMENT" -#~ "\" name=\"NAME_OF_THE_ELEMENT\">
     " -#~ "   <option value=\"1\">1</option>
 " -#~ "       <option value=\"2\">2</" -#~ "option>
        <option " -#~ "value=\"alpha\">Alpha</option>
     " -#~ "   <option value=\"beta\">Beta</option>
        <option value=\"omega" -#~ "\">omega</option>
    </select>" -#~ msgstr "" -#~ "Jeweils ein Wert/Paar pro Zeile. Zum Beispiel:
  " -#~ "  1
    2
    " -#~ "alpha, Alpha
    beta, Beta
   " -#~ " omega

It finally transforms into the following HTML code:" -#~ "
    <select id=\"id_NAME_OF_THE_ELEMENT" -#~ "\" name=\"NAME_OF_THE_ELEMENT\">
     " -#~ "   <option value=\"1\">1</option>
 " -#~ "       <option value=\"2\">2</" -#~ "option>
        <option " -#~ "value=\"alpha\">Alpha</option>
     " -#~ "   <option value=\"beta\">Beta</option>
        <option value=\"omega" -#~ "\">omega</option>
    </select>" - #~ msgid "Select" #~ msgstr "Auswahl" diff --git a/examples/simple/locale/nl/LC_MESSAGES/django.po b/examples/simple/locale/nl/LC_MESSAGES/django.po index 171773961..76e8bf29e 100644 --- a/examples/simple/locale/nl/LC_MESSAGES/django.po +++ b/examples/simple/locale/nl/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-10 13:19+0100\n" +"POT-Creation-Date: 2015-03-23 13:39+0100\n" "PO-Revision-Date: 2015-02-27 23:52+0100\n" "Last-Translator: Artur Barseghyan \n" "Language-Team: LANGUAGE \n" @@ -17,43 +17,43 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: settings.py:43 +#: settings.py:46 msgid "English" msgstr "" -#: settings.py:44 +#: settings.py:47 msgid "Armenian" msgstr "" -#: settings.py:45 +#: settings.py:48 msgid "Dutch" msgstr "" -#: settings.py:46 +#: settings.py:49 msgid "Russian" msgstr "" -#: settings.py:47 +#: settings.py:50 msgid "German" msgstr "" -#: settings.py:307 settings.py:321 +#: settings.py:318 settings.py:332 msgid "Custom bootstrap3 embed form view template" msgstr "" -#: settings.py:313 settings.py:327 +#: settings.py:324 settings.py:338 msgid "Custom bootstrap3 embed form entry submitted template" msgstr "" -#: settings.py:343 settings.py:357 +#: settings.py:354 settings.py:368 msgid "Custom foundation5 embed form view template" msgstr "" -#: settings.py:349 settings.py:363 +#: settings.py:360 settings.py:374 msgid "Custom foundation5 embed form entry submitted template" msgstr "" -#: settings.py:382 +#: settings.py:393 msgid "© django-fobi example site 2014" msgstr "" @@ -98,38 +98,69 @@ msgstr "" msgid "Dashboard" msgstr "" -#: override_select_model_object_plugin/fobi_form_elements.py:19 -msgid "Select model object" +#: override_radio_plugin/fobi_form_elements.py:20 +msgid "Radio" msgstr "" +#: override_radio_plugin/fobi_form_elements.py:21 #: override_select_model_object_plugin/fobi_form_elements.py:20 msgid "Fields" msgstr "" -#: override_select_model_object_plugin/forms.py:25 +#: override_radio_plugin/forms.py:25 +#: override_select_model_object_plugin/forms.py:27 msgid "Label" msgstr "" -#: override_select_model_object_plugin/forms.py:30 +#: override_radio_plugin/forms.py:30 +#: override_select_model_object_plugin/forms.py:32 msgid "Name" msgstr "" -#: override_select_model_object_plugin/forms.py:35 -msgid "Model" +#: override_radio_plugin/forms.py:35 +msgid "Choices" msgstr "" -#: override_select_model_object_plugin/forms.py:41 +#: override_radio_plugin/forms.py:37 +msgid "" +"Enter single values/pairs per line. Example:
   " +" 1
    2
    alpha, " +"Alpha
    beta, Beta
    " +"omega

It finally transforms into the following HTML code:" +"
    <select id=\"id_NAME_OF_THE_ELEMENT\" " +"name=\"NAME_OF_THE_ELEMENT\">
      " +"  <option value=\"1\">1</option>
   " +"     <option value=\"2\">2</option>
        <option value=\"alpha" +"\">Alpha</option>
       " +" <option value=\"beta\">Beta</option>
   " +"     <option value=\"omega\">omega</" +"option>
    </select>
" +msgstr "" + +#: override_radio_plugin/forms.py:56 +#: override_select_model_object_plugin/forms.py:43 msgid "Help text" msgstr "" -#: override_select_model_object_plugin/forms.py:46 +#: override_radio_plugin/forms.py:61 +#: override_select_model_object_plugin/forms.py:48 msgid "Initial" msgstr "" -#: override_select_model_object_plugin/forms.py:51 +#: override_radio_plugin/forms.py:66 +#: override_select_model_object_plugin/forms.py:53 msgid "Required" msgstr "" +#: override_select_model_object_plugin/fobi_form_elements.py:19 +msgid "Select model object" +msgstr "" + +#: override_select_model_object_plugin/forms.py:37 +msgid "Model" +msgstr "" + #: page/models.py:14 msgid "Base template" msgstr "" diff --git a/examples/simple/locale/ru/LC_MESSAGES/django.po b/examples/simple/locale/ru/LC_MESSAGES/django.po index 535585dbf..204657da2 100644 --- a/examples/simple/locale/ru/LC_MESSAGES/django.po +++ b/examples/simple/locale/ru/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-10 13:19+0100\n" +"POT-Creation-Date: 2015-03-23 13:39+0100\n" "PO-Revision-Date: 2015-02-27 23:52+0100\n" "Last-Translator: Artur Barseghyan \n" "Language-Team: LANGUAGE \n" @@ -18,43 +18,43 @@ msgstr "" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: settings.py:43 +#: settings.py:46 msgid "English" msgstr "" -#: settings.py:44 +#: settings.py:47 msgid "Armenian" msgstr "" -#: settings.py:45 +#: settings.py:48 msgid "Dutch" msgstr "" -#: settings.py:46 +#: settings.py:49 msgid "Russian" msgstr "" -#: settings.py:47 +#: settings.py:50 msgid "German" msgstr "" -#: settings.py:307 settings.py:321 +#: settings.py:318 settings.py:332 msgid "Custom bootstrap3 embed form view template" msgstr "" -#: settings.py:313 settings.py:327 +#: settings.py:324 settings.py:338 msgid "Custom bootstrap3 embed form entry submitted template" msgstr "" -#: settings.py:343 settings.py:357 +#: settings.py:354 settings.py:368 msgid "Custom foundation5 embed form view template" msgstr "" -#: settings.py:349 settings.py:363 +#: settings.py:360 settings.py:374 msgid "Custom foundation5 embed form entry submitted template" msgstr "" -#: settings.py:382 +#: settings.py:393 msgid "© django-fobi example site 2014" msgstr "© пример django-fobi сайта 2014" @@ -99,38 +99,69 @@ msgstr "" msgid "Dashboard" msgstr "" -#: override_select_model_object_plugin/fobi_form_elements.py:19 -msgid "Select model object" +#: override_radio_plugin/fobi_form_elements.py:20 +msgid "Radio" msgstr "" +#: override_radio_plugin/fobi_form_elements.py:21 #: override_select_model_object_plugin/fobi_form_elements.py:20 msgid "Fields" msgstr "" -#: override_select_model_object_plugin/forms.py:25 +#: override_radio_plugin/forms.py:25 +#: override_select_model_object_plugin/forms.py:27 msgid "Label" msgstr "" -#: override_select_model_object_plugin/forms.py:30 +#: override_radio_plugin/forms.py:30 +#: override_select_model_object_plugin/forms.py:32 msgid "Name" msgstr "" -#: override_select_model_object_plugin/forms.py:35 -msgid "Model" +#: override_radio_plugin/forms.py:35 +msgid "Choices" msgstr "" -#: override_select_model_object_plugin/forms.py:41 +#: override_radio_plugin/forms.py:37 +msgid "" +"Enter single values/pairs per line. Example:
   " +" 1
    2
    alpha, " +"Alpha
    beta, Beta
    " +"omega

It finally transforms into the following HTML code:" +"
    <select id=\"id_NAME_OF_THE_ELEMENT\" " +"name=\"NAME_OF_THE_ELEMENT\">
      " +"  <option value=\"1\">1</option>
   " +"     <option value=\"2\">2</option>
        <option value=\"alpha" +"\">Alpha</option>
       " +" <option value=\"beta\">Beta</option>
   " +"     <option value=\"omega\">omega</" +"option>
    </select>
" +msgstr "" + +#: override_radio_plugin/forms.py:56 +#: override_select_model_object_plugin/forms.py:43 msgid "Help text" msgstr "" -#: override_select_model_object_plugin/forms.py:46 +#: override_radio_plugin/forms.py:61 +#: override_select_model_object_plugin/forms.py:48 msgid "Initial" msgstr "" -#: override_select_model_object_plugin/forms.py:51 +#: override_radio_plugin/forms.py:66 +#: override_select_model_object_plugin/forms.py:53 msgid "Required" msgstr "" +#: override_select_model_object_plugin/fobi_form_elements.py:19 +msgid "Select model object" +msgstr "" + +#: override_select_model_object_plugin/forms.py:37 +msgid "Model" +msgstr "" + #: page/models.py:14 msgid "Base template" msgstr "" diff --git a/setup.py b/setup.py index 6025303c2..0912b34fb 100644 --- a/setup.py +++ b/setup.py @@ -63,7 +63,7 @@ for locale_dir in locale_dirs: locale_files += [os.path.join(locale_dir, f) for f in os.listdir(locale_dir)] -version = '0.4.31' +version = '0.4.32' install_requires = [ 'Pillow>=2.0.0', diff --git a/src/fobi/__init__.py b/src/fobi/__init__.py index ab072701c..842f13c8d 100644 --- a/src/fobi/__init__.py +++ b/src/fobi/__init__.py @@ -1,6 +1,6 @@ __title__ = 'django-fobi' -__version__ = '0.4.31' -__build__ = 0x000034 +__version__ = '0.4.32' +__build__ = 0x000035 __author__ = 'Artur Barseghyan ' __copyright__ = '2014-2015 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' diff --git a/src/fobi/base.py b/src/fobi/base.py index ecfabe3d2..044b8a2c3 100644 --- a/src/fobi/base.py +++ b/src/fobi/base.py @@ -2,9 +2,10 @@ All `uids` are supposed to be pythonic function names (see PEP http://www.python.org/dev/peps/pep-0008/#function-names). """ + __title__ = 'fobi.base' __author__ = 'Artur Barseghyan ' -__copyright__ = 'Copyright (c) 2014 Artur Barseghyan' +__copyright__ = '2014-2015 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' __all__ = ( 'BaseDataStorage', 'FormElementPluginDataStorage', @@ -1268,22 +1269,28 @@ def _run(self, form_entry, request, form, form_element_entries=None): :param django.forms.Form form: :param iterable form_element_entries: Iterable of ``fobi.models.FormElementEntry`` objects. + :return tuple: """ # For backwards compatibility. if not form_element_entries: form_element_entries = form_entry.formelemententry_set.all()[:] try: - self.run(form_entry, request, form, form_element_entries) + response = self.run(form_entry, request, form, form_element_entries) + if response: + return response + else: + return (True, None) except Exception as err: if FAIL_ON_ERRORS_IN_FORM_HANDLER_PLUGINS: - print traceback.format_exc() - raise err + raise err.__class__("Exception: {0}. {1}" + "".format(str(err), traceback.format_exc())) logger.error( "Error in class {0}. Details: " "{1}. Full trace: {2}".format(self.__class__.__name__, str(err), traceback.format_exc()) ) + return (False, err) def run(self, form_entry, request, form, form_element_entries=None): """ @@ -1295,6 +1302,7 @@ def run(self, form_entry, request, form, form_element_entries=None): :param django.forms.Form form: :param iterable form_element_entries: Iterable of ``fobi.models.FormElementEntry`` objects. + :return mixed: May be a tuple (bool, mixed) or None """ raise NotImplemented( "You should implement ``callback`` method in your {1} " @@ -2068,7 +2076,14 @@ def run_form_handlers(form_entry, request, form, form_element_entries=None): :param django.http.HttpRequest request: :param django.forms.Form form: :param iterable form_element_entries: + :return tuple: List of success responses, list of error responses """ + # Errors list + errors = [] + + # Responses of successfully procesessed handlers + responses = [] + # Getting form handler plugins in their execution order. ordered_form_handlers = get_ordered_form_handler_plugins() @@ -2082,16 +2097,26 @@ def run_form_handlers(form_entry, request, form, form_element_entries=None): # Iterating through the form handlers in the order # specified in the settings. for uid, form_handlers in ordered_form_handlers.items(): - logger.debug("UID: {0}".format(uid)) + #logger.debug("UID: {0}".format(uid)) for form_handler in form_handlers: + # Get the form handler plugin form_handler_plugin = form_handler.get_plugin(request=request) - form_handler_plugin._run( + + # Run the form handler + success, response = form_handler_plugin._run( form_entry, request, form, form_element_entries ) + if success: + responses.append((form_handler_plugin, response)) + else: + errors.append((form_handler_plugin, response)) + + return (responses, errors) + # ***************************************************************************** # ******************************* Theme specific ****************************** # ***************************************************************************** diff --git a/src/fobi/contrib/plugins/form_handlers/http_repost/fobi_form_handlers.py b/src/fobi/contrib/plugins/form_handlers/http_repost/fobi_form_handlers.py index ee11f396f..26cb127af 100644 --- a/src/fobi/contrib/plugins/form_handlers/http_repost/fobi_form_handlers.py +++ b/src/fobi/contrib/plugins/form_handlers/http_repost/fobi_form_handlers.py @@ -1,6 +1,6 @@ __title__ = 'fobi.contrib.plugins.form_handlers.http_repost.fobi_form_handlers' __author__ = 'Artur Barseghyan ' -__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan' +__copyright__ = '2014-2015 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' __all__ = ('HTTPRepostHandlerPlugin',) @@ -41,8 +41,18 @@ def run(self, form_entry, request, form, form_element_entries=None): """ files = self._prepare_files(request, form) - response = requests.post(self.data.endpoint_url, \ - data=request.POST.dict(), files=files) + try: + response = requests.post( + self.data.endpoint_url, + data = request.POST.dict(), + files = files, + allow_redirects = True, + timeout = 5 + ) + return (True, response) + except Exception as err: + logger.debug(str(err)) + return (False, err) def _prepare_files(self, request, form): """ diff --git a/src/fobi/contrib/plugins/form_handlers/mail/fobi_form_handlers.py b/src/fobi/contrib/plugins/form_handlers/mail/fobi_form_handlers.py index 325c2a94a..da238a70f 100644 --- a/src/fobi/contrib/plugins/form_handlers/mail/fobi_form_handlers.py +++ b/src/fobi/contrib/plugins/form_handlers/mail/fobi_form_handlers.py @@ -2,7 +2,7 @@ __title__ = 'fobi.contrib.plugins.form_handlers.mail.fobi_form_handlers' __author__ = 'Artur Barseghyan ' -__copyright__ = 'Copyright (c) 2014-2015 Artur Barseghyan' +__copyright__ = '2014-2015 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' __all__ = ('MailHandlerPlugin',) diff --git a/src/fobi/dynamic.py b/src/fobi/dynamic.py index 24651b4fc..b1321109b 100644 --- a/src/fobi/dynamic.py +++ b/src/fobi/dynamic.py @@ -1,6 +1,6 @@ __title__ = 'fobi.dynamic' __author__ = 'Artur Barseghyan ' -__copyright__ = 'Copyright (c) 2014 Artur Barseghyan' +__copyright__ = '2014-2015 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' __all__ = ('assemble_form_class',) diff --git a/src/fobi/exceptions.py b/src/fobi/exceptions.py index 00bcacc52..069826a21 100644 --- a/src/fobi/exceptions.py +++ b/src/fobi/exceptions.py @@ -1,12 +1,13 @@ __title__ = 'fobi.exceptions' __author__ = 'Artur Barseghyan ' -__copyright__ = 'Copyright (c) 2014 Artur Barseghyan' +__copyright__ = '2014-2015 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' __all__ = ( 'BaseException', 'ImproperlyConfigured', 'InvalidRegistryItemType', 'DoesNotExist', 'ThemeDoesNotExist', 'PluginDoesNotExist', 'FormElementPluginDoesNotExist', 'FormHandlerPluginDoesNotExist', - 'NoDefaultThemeSet', + 'NoDefaultThemeSet', 'FormPluginError', 'FormElementPluginError', + 'FormHandlerPluginError', 'FormCallbackError', ) class BaseException(Exception): @@ -61,3 +62,23 @@ class NoDefaultThemeSet(ImproperlyConfigured): """ Raised when no active theme is chosen. """ + +class FormPluginError(BaseException): + """ + Base error for form elements and handers. + """ + +class FormElementPluginError(FormPluginError): + """ + Raised when form element plugin error occurs. + """ + +class FormHandlerPluginError(FormPluginError): + """ + Raised when form handler plugin error occurs. + """ + +class FormCallbackError(FormPluginError): + """ + Raised when form callback error occurs. + """ diff --git a/src/fobi/helpers.py b/src/fobi/helpers.py index d5613abbe..8bfa03242 100644 --- a/src/fobi/helpers.py +++ b/src/fobi/helpers.py @@ -392,7 +392,6 @@ def validate_initial_for_choices(plugin_form, field_name_choices='choices', \ return plugin_form.cleaned_data[field_name_initial] - def validate_initial_for_multiple_choices(plugin_form, \ field_name_choices='choices', \ field_name_initial='initial'): diff --git a/src/fobi/locale/de/LC_MESSAGES/django.po b/src/fobi/locale/de/LC_MESSAGES/django.po index 9462ab845..345b1d8f4 100644 --- a/src/fobi/locale/de/LC_MESSAGES/django.po +++ b/src/fobi/locale/de/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-10 13:18+0100\n" +"POT-Creation-Date: 2015-03-23 13:39+0100\n" "PO-Revision-Date: 2015-02-27 23:51+0100\n" "Last-Translator: Artur Barseghyan \n" "Language-Team: Maximilian Kindshofer \n" @@ -18,11 +18,11 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Poedit 1.7.3\n" -#: admin.py:124 admin.py:193 admin.py:226 models.py:316 models.py:344 +#: admin.py:125 admin.py:194 admin.py:227 models.py:316 models.py:344 #: contrib/apps/djangocms_integration/models.py:26 #: contrib/apps/feincms_integration/widgets.py:30 #: contrib/apps/mezzanine_integration/models.py:24 -#: contrib/plugins/form_handlers/db_store/models.py:47 +#: contrib/plugins/form_handlers/db_store/models.py:49 #: contrib/plugins/form_handlers/db_store/templates/db_store/view_saved_form_data_entries.html:39 #: contrib/themes/foundation5/templates/foundation5/dashboard.html:29 #: contrib/themes/foundation5/widgets/form_handlers/db_store_foundation5_widget/templates/db_store_foundation5_widget/view_saved_form_data_entries.html:40 @@ -30,64 +30,76 @@ msgstr "" msgid "Form" msgstr "Formular" -#: admin.py:127 +#: admin.py:128 msgid "Custom" msgstr "Angepasst" -#: admin.py:135 models.py:78 models.py:216 models.py:264 -#: contrib/plugins/form_handlers/db_store/models.py:49 +#: admin.py:136 models.py:78 models.py:216 models.py:264 +#: contrib/plugins/form_handlers/db_store/models.py:51 msgid "User" msgstr "Benutzer" -#: admin.py:139 +#: admin.py:140 msgid "Additional" msgstr "Zusätzlich" -#: admin.py:147 admin.py:171 admin.py:199 admin.py:266 +#: admin.py:148 admin.py:172 admin.py:200 admin.py:267 #: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/base_edit.html:84 #: contrib/themes/simple/templates/simple/base_edit.html:76 msgid "Fobi" msgstr "Fobi" -#: admin.py:190 admin.py:223 models.py:121 +#: admin.py:191 admin.py:224 models.py:121 msgid "Plugin" msgstr "Plugin" -#: admin.py:232 models.py:472 +#: admin.py:233 models.py:472 msgid "Form handler entry" msgstr "Formularübergabe Einträge" -#: admin.py:336 +#: admin.py:338 msgid "{0} plugins were changed successfully." msgstr "{0} Plugins wurden erflgreich geändert" -#: admin.py:342 +#: admin.py:344 +msgid "Form contains errors: {}" +msgstr "" + +#: admin.py:350 msgid "POST required when changing in bulk!" msgstr "POST benötigt bei Massenänderungen" -#: base.py:108 +#: base.py:110 msgid "Build your forms" msgstr "Erstelle dein Forular" -#: base.py:521 models.py:217 models.py:265 models.py:318 +#: base.py:523 models.py:217 models.py:265 models.py:318 #: contrib/plugins/form_elements/fields/boolean/forms.py:32 -#: contrib/plugins/form_elements/fields/date/forms.py:33 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:34 +#: contrib/plugins/form_elements/fields/date/forms.py:35 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:42 -#: contrib/plugins/form_elements/fields/datetime/forms.py:33 +#: contrib/plugins/form_elements/fields/datetime/forms.py:35 +#: contrib/plugins/form_elements/fields/decimal/forms.py:40 #: contrib/plugins/form_elements/fields/email/forms.py:37 #: contrib/plugins/form_elements/fields/file/forms.py:34 +#: contrib/plugins/form_elements/fields/float/forms.py:36 #: contrib/plugins/form_elements/fields/hidden/forms.py:33 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:36 #: contrib/plugins/form_elements/fields/input/forms.py:61 -#: contrib/plugins/form_elements/fields/integer/forms.py:35 +#: contrib/plugins/form_elements/fields/integer/forms.py:36 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:38 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:32 #: contrib/plugins/form_elements/fields/password/forms.py:35 #: contrib/plugins/form_elements/fields/radio/forms.py:34 +#: contrib/plugins/form_elements/fields/regex/forms.py:38 #: contrib/plugins/form_elements/fields/select/forms.py:34 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:36 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:34 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:36 +#: contrib/plugins/form_elements/fields/slug/forms.py:35 #: contrib/plugins/form_elements/fields/text/forms.py:35 #: contrib/plugins/form_elements/fields/textarea/forms.py:33 +#: contrib/plugins/form_elements/fields/time/forms.py:35 #: contrib/plugins/form_elements/fields/url/forms.py:35 #: contrib/plugins/form_elements/security/captcha/forms.py:35 #: contrib/plugins/form_elements/security/honeypot/forms.py:35 @@ -97,24 +109,32 @@ msgstr "Erstelle dein Forular" msgid "Name" msgstr "Name" -#: base.py:526 contrib/plugins/form_elements/fields/boolean/forms.py:27 -#: contrib/plugins/form_elements/fields/date/forms.py:28 +#: base.py:528 contrib/plugins/form_elements/fields/boolean/forms.py:27 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:29 +#: contrib/plugins/form_elements/fields/date/forms.py:30 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:37 -#: contrib/plugins/form_elements/fields/datetime/forms.py:28 +#: contrib/plugins/form_elements/fields/datetime/forms.py:30 +#: contrib/plugins/form_elements/fields/decimal/forms.py:35 #: contrib/plugins/form_elements/fields/email/forms.py:32 #: contrib/plugins/form_elements/fields/file/forms.py:29 +#: contrib/plugins/form_elements/fields/float/forms.py:31 #: contrib/plugins/form_elements/fields/hidden/forms.py:28 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:31 #: contrib/plugins/form_elements/fields/input/forms.py:56 -#: contrib/plugins/form_elements/fields/integer/forms.py:30 +#: contrib/plugins/form_elements/fields/integer/forms.py:31 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:33 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:27 #: contrib/plugins/form_elements/fields/password/forms.py:30 #: contrib/plugins/form_elements/fields/radio/forms.py:29 +#: contrib/plugins/form_elements/fields/regex/forms.py:33 #: contrib/plugins/form_elements/fields/select/forms.py:29 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:31 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:29 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:31 +#: contrib/plugins/form_elements/fields/slug/forms.py:30 #: contrib/plugins/form_elements/fields/text/forms.py:30 #: contrib/plugins/form_elements/fields/textarea/forms.py:28 +#: contrib/plugins/form_elements/fields/time/forms.py:30 #: contrib/plugins/form_elements/fields/url/forms.py:30 #: contrib/plugins/form_elements/security/captcha/forms.py:30 #: contrib/plugins/form_elements/security/honeypot/forms.py:30 @@ -122,47 +142,63 @@ msgstr "Name" msgid "Label" msgstr "Label" -#: base.py:531 contrib/plugins/form_elements/fields/boolean/forms.py:37 -#: contrib/plugins/form_elements/fields/date/forms.py:38 +#: base.py:533 contrib/plugins/form_elements/fields/boolean/forms.py:37 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:60 +#: contrib/plugins/form_elements/fields/date/forms.py:40 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:47 -#: contrib/plugins/form_elements/fields/datetime/forms.py:38 +#: contrib/plugins/form_elements/fields/datetime/forms.py:40 +#: contrib/plugins/form_elements/fields/decimal/forms.py:45 #: contrib/plugins/form_elements/fields/email/forms.py:42 #: contrib/plugins/form_elements/fields/file/forms.py:39 +#: contrib/plugins/form_elements/fields/float/forms.py:41 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:47 #: contrib/plugins/form_elements/fields/input/forms.py:66 -#: contrib/plugins/form_elements/fields/integer/forms.py:40 +#: contrib/plugins/form_elements/fields/integer/forms.py:41 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:43 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:37 #: contrib/plugins/form_elements/fields/password/forms.py:40 #: contrib/plugins/form_elements/fields/radio/forms.py:60 +#: contrib/plugins/form_elements/fields/regex/forms.py:43 #: contrib/plugins/form_elements/fields/select/forms.py:60 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:47 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:60 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:47 +#: contrib/plugins/form_elements/fields/slug/forms.py:40 #: contrib/plugins/form_elements/fields/text/forms.py:40 #: contrib/plugins/form_elements/fields/textarea/forms.py:38 +#: contrib/plugins/form_elements/fields/time/forms.py:40 #: contrib/plugins/form_elements/fields/url/forms.py:40 #: contrib/plugins/form_elements/security/captcha/forms.py:40 #: contrib/plugins/form_elements/security/recaptcha/forms.py:40 msgid "Help text" msgstr "Hilfetext" -#: base.py:536 contrib/plugins/form_elements/fields/boolean/forms.py:47 -#: contrib/plugins/form_elements/fields/date/forms.py:53 +#: base.py:538 contrib/plugins/form_elements/fields/boolean/forms.py:47 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:70 +#: contrib/plugins/form_elements/fields/date/forms.py:56 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:72 -#: contrib/plugins/form_elements/fields/datetime/forms.py:53 +#: contrib/plugins/form_elements/fields/datetime/forms.py:56 +#: contrib/plugins/form_elements/fields/decimal/forms.py:75 #: contrib/plugins/form_elements/fields/email/forms.py:58 #: contrib/plugins/form_elements/fields/file/forms.py:55 +#: contrib/plugins/form_elements/fields/float/forms.py:61 #: contrib/plugins/form_elements/fields/hidden/forms.py:49 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:57 #: contrib/plugins/form_elements/fields/input/forms.py:82 -#: contrib/plugins/form_elements/fields/integer/forms.py:60 +#: contrib/plugins/form_elements/fields/integer/forms.py:61 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:70 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:47 #: contrib/plugins/form_elements/fields/password/forms.py:56 #: contrib/plugins/form_elements/fields/radio/forms.py:70 +#: contrib/plugins/form_elements/fields/regex/forms.py:65 #: contrib/plugins/form_elements/fields/select/forms.py:70 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:57 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:70 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:57 +#: contrib/plugins/form_elements/fields/slug/forms.py:56 #: contrib/plugins/form_elements/fields/text/forms.py:56 #: contrib/plugins/form_elements/fields/textarea/forms.py:48 +#: contrib/plugins/form_elements/fields/time/forms.py:56 #: contrib/plugins/form_elements/fields/url/forms.py:56 #: contrib/plugins/form_elements/security/captcha/forms.py:56 #: contrib/plugins/form_elements/security/honeypot/forms.py:56 @@ -170,27 +206,27 @@ msgstr "Hilfetext" msgid "Required" msgstr "Pflichtfeld" -#: base.py:558 +#: base.py:560 msgid "Duplicate field name!" msgstr "Feldname bereits vorhanden!" -#: base.py:563 +#: base.py:565 msgid "Duplicate label name!" msgstr "Labelname bereits vorhanden!" -#: base.py:642 +#: base.py:644 msgid "General" msgstr "Allgemein" -#: base.py:2143 +#: base.py:2147 msgid "Theme `{0}` does not exist!" msgstr "Theme `{0}` nicht vorhanden!" -#: constants.py:18 +#: constants.py:19 msgid "Append" msgstr "Hinzufügen" -#: constants.py:19 +#: constants.py:20 msgid "Replace" msgstr "Ersetzen" @@ -212,7 +248,7 @@ msgstr "" msgid "Groups action" msgstr "Gruppenaktion" -#: helpers.py:349 helpers.py:374 +#: helpers.py:388 helpers.py:413 msgid "Invalid value for initial: {0}. Should be any of the following: {1}" msgstr "" @@ -253,6 +289,7 @@ msgid "Form handler plugins" msgstr "Formularübergabeplugins" #: models.py:218 models.py:267 +#: contrib/plugins/form_elements/fields/slug/fobi_form_elements.py:22 msgid "Slug" msgstr "Slug" @@ -356,7 +393,7 @@ msgstr "Formular Fieldset" msgid "Form fieldset entries" msgstr "Formular Fieldsets" -#: models.py:345 contrib/plugins/form_handlers/db_store/models.py:53 +#: models.py:345 contrib/plugins/form_handlers/db_store/models.py:55 msgid "Plugin data" msgstr "Plugindaten" @@ -418,8 +455,8 @@ msgstr "Formular {0} erfolgreich erstellt." msgid "Errors occured while saving the form: {0}." msgstr "Beim speichern des Formulars {0} ist ein Fehler aufgetreten" -#: views.py:226 views.py:395 views.py:633 views.py:865 views.py:976 -#: views.py:1018 +#: views.py:226 views.py:396 views.py:634 views.py:866 views.py:977 +#: views.py:1019 msgid "Form entry not found." msgstr "Formular nicht gefunden." @@ -435,69 +472,69 @@ msgstr "Während der Änderung der Reihenfolge ist ein Fehler aufgetreten!" msgid "Form {0} was edited successfully." msgstr "Fomular {0} erfolgreich bearbeitet." -#: views.py:404 views.py:640 +#: views.py:405 views.py:641 #, fuzzy msgid "Plugin does not exist or you are not allowed to use this plugin!" msgstr "" "Plugin exisitiert nicht oder keine Berechtigung zur Nutzung des Plugins!" -#: views.py:467 +#: views.py:468 msgid "The form element plugin \"{0}\" was added successfully." msgstr "Das Fomularelementplugin \"{0}\" erfolgreich hinzuefügt." -#: views.py:515 +#: views.py:516 msgid "Form element entry not found." msgstr "Fomularelement nicht gefunden." -#: views.py:527 +#: views.py:528 msgid "The form element plugin \"{0}\" is not configurable!" msgstr "Formularelementplugin \"{0}\" ist nicht konfigurierbar!" -#: views.py:559 +#: views.py:560 msgid "The form element plugin \"{0}\" was edited successfully." msgstr "Formularelementplugin \"{0}\" wurde erfolgreich bearbeitet." -#: views.py:609 +#: views.py:610 msgid "The form element plugin \"{0}\" was deleted successfully." msgstr "Formularelementplugin \"{0}\" wurde erfolgreich gelöscht." -#: views.py:655 +#: views.py:656 msgid "The {0} plugin can be used only once in a form." msgstr "" -#: views.py:697 +#: views.py:698 msgid "The form handler plugin \"{0}\" was added successfully." msgstr "Das Formularübergabeplugin \"{0}\" wurde erfolgreich hinzugefügt." -#: views.py:750 +#: views.py:751 msgid "Form handler entry not found." msgstr "Formularübergabe nicht gefunden" -#: views.py:763 +#: views.py:764 msgid "The form handler plugin \"{0}\" is not configurable!" msgstr "Das Formularübergabeplugin \"{0}\" ist nicht Bearbeitbar!" -#: views.py:786 +#: views.py:787 msgid "The form handler plugin \"{0}\" was edited successfully." msgstr "Das Formularübergabeplugin \"{0}\" erfolgreich bearbeitet." -#: views.py:835 +#: views.py:836 msgid "The form handler plugin \"{0}\" was deleted successfully." msgstr "Das Formularübergabeplugin \"{0}\" erfolgreich gelöscht." -#: views.py:918 integration/processors.py:156 +#: views.py:919 integration/processors.py:156 msgid "Form {0} was submitted successfully." msgstr "Formular {0} wurde erfolgreich übertragen." -#: views.py:1024 +#: views.py:1025 msgid "The form \"{0}\" was deleted successfully." msgstr "Das Formular \"{0}\" wurde erfolgreich gelöscht." -#: widgets.py:22 +#: widgets.py:30 msgid "Yes" msgstr "Ja" -#: widgets.py:23 +#: widgets.py:31 msgid "No" msgstr "Nein" @@ -622,7 +659,7 @@ msgid "Fobi forms" msgstr "Fobi Formular" #: contrib/apps/mezzanine_integration/templates/mezzanine_integration/admin/change_form.html:8 -#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:78 +#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:80 #: contrib/plugins/form_handlers/db_store/templates/db_store/plugin_data_repr.html:4 #: contrib/themes/foundation5/widgets/form_handlers/db_store_foundation5_widget/templates/db_store_foundation5_widget/plugin_data_repr.html:4 msgid "View entries" @@ -715,57 +752,118 @@ msgid "Boolean" msgstr "Wahr/Falsch-Schalter" #: contrib/plugins/form_elements/fields/boolean/fobi_form_elements.py:21 -#: contrib/plugins/form_elements/fields/date/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/fobi_form_elements.py:32 +#: contrib/plugins/form_elements/fields/date/fobi_form_elements.py:25 #: contrib/plugins/form_elements/fields/date_drop_down/fobi_form_elements.py:25 -#: contrib/plugins/form_elements/fields/datetime/fobi_form_elements.py:24 +#: contrib/plugins/form_elements/fields/datetime/fobi_form_elements.py:26 +#: contrib/plugins/form_elements/fields/decimal/fobi_form_elements.py:27 #: contrib/plugins/form_elements/fields/email/fobi_form_elements.py:25 -#: contrib/plugins/form_elements/fields/file/fobi_form_elements.py:26 +#: contrib/plugins/form_elements/fields/file/fobi_form_elements.py:28 +#: contrib/plugins/form_elements/fields/float/fobi_form_elements.py:23 #: contrib/plugins/form_elements/fields/hidden/fobi_form_elements.py:25 #: contrib/plugins/form_elements/fields/hidden_model_object/fobi_form_elements.py:26 #: contrib/plugins/form_elements/fields/input/fobi_form_elements.py:23 -#: contrib/plugins/form_elements/fields/integer/fobi_form_elements.py:30 +#: contrib/plugins/form_elements/fields/integer/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/ip_address/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/null_boolean/fobi_form_elements.py:25 #: contrib/plugins/form_elements/fields/password/fobi_form_elements.py:24 -#: contrib/plugins/form_elements/fields/radio/fobi_form_elements.py:24 -#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:24 -#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:26 -#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:26 -#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:30 +#: contrib/plugins/form_elements/fields/radio/fobi_form_elements.py:30 +#: contrib/plugins/form_elements/fields/regex/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:32 +#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:31 +#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:32 +#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:36 +#: contrib/plugins/form_elements/fields/slug/fobi_form_elements.py:23 #: contrib/plugins/form_elements/fields/text/fobi_form_elements.py:23 #: contrib/plugins/form_elements/fields/textarea/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/time/fobi_form_elements.py:26 #: contrib/plugins/form_elements/fields/url/fobi_form_elements.py:30 msgid "Fields" msgstr "Felder" #: contrib/plugins/form_elements/fields/boolean/forms.py:42 -#: contrib/plugins/form_elements/fields/date/forms.py:43 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:65 +#: contrib/plugins/form_elements/fields/date/forms.py:45 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:62 -#: contrib/plugins/form_elements/fields/datetime/forms.py:43 +#: contrib/plugins/form_elements/fields/datetime/forms.py:45 +#: contrib/plugins/form_elements/fields/decimal/forms.py:50 #: contrib/plugins/form_elements/fields/email/forms.py:47 #: contrib/plugins/form_elements/fields/file/forms.py:44 +#: contrib/plugins/form_elements/fields/float/forms.py:46 #: contrib/plugins/form_elements/fields/hidden/forms.py:38 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:52 #: contrib/plugins/form_elements/fields/input/forms.py:71 -#: contrib/plugins/form_elements/fields/integer/forms.py:45 +#: contrib/plugins/form_elements/fields/integer/forms.py:46 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:48 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:42 #: contrib/plugins/form_elements/fields/password/forms.py:45 #: contrib/plugins/form_elements/fields/radio/forms.py:65 +#: contrib/plugins/form_elements/fields/regex/forms.py:54 #: contrib/plugins/form_elements/fields/select/forms.py:65 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:52 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:65 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:52 +#: contrib/plugins/form_elements/fields/slug/forms.py:45 #: contrib/plugins/form_elements/fields/text/forms.py:45 #: contrib/plugins/form_elements/fields/textarea/forms.py:43 +#: contrib/plugins/form_elements/fields/time/forms.py:45 #: contrib/plugins/form_elements/fields/url/forms.py:45 #: contrib/plugins/form_elements/security/honeypot/forms.py:45 msgid "Initial" msgstr "Vorausgefüllt" -#: contrib/plugins/form_elements/fields/date/fobi_form_elements.py:22 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/fobi_form_elements.py:31 +#, fuzzy +msgid "Checkbox select multiple" +msgstr "Mehrfachauswahl" + +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:39 +#: contrib/plugins/form_elements/fields/radio/forms.py:39 +#: contrib/plugins/form_elements/fields/select/forms.py:39 +#: contrib/plugins/form_elements/fields/select_multiple/forms.py:39 +msgid "Choices" +msgstr "Auswahl" + +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:41 +#: contrib/plugins/form_elements/fields/radio/forms.py:41 +#: contrib/plugins/form_elements/fields/select/forms.py:41 +#: contrib/plugins/form_elements/fields/select_multiple/forms.py:41 +msgid "" +"Enter single values/pairs per line. Example:
   " +" 1
    2
    alpha, " +"Alpha
    beta, Beta
    " +"omega

It finally transforms into the following HTML code:" +"
    <select id=\"id_NAME_OF_THE_ELEMENT\" " +"name=\"NAME_OF_THE_ELEMENT\">
      " +"  <option value=\"1\">1</option>
   " +"     <option value=\"2\">2</option>
        <option value=\"alpha" +"\">Alpha</option>
       " +" <option value=\"beta\">Beta</option>
   " +"     <option value=\"omega\">omega</" +"option>
    </select>
" +msgstr "" +"Jeweils ein Wert/Paar pro Zeile. Zum Beispiel:
   " +" 1
    2
    alpha, " +"Alpha
    beta, Beta
    " +"omega

It finally transforms into the following HTML code:" +"
    <select id=\"id_NAME_OF_THE_ELEMENT\" " +"name=\"NAME_OF_THE_ELEMENT\">
      " +"  <option value=\"1\">1</option>
   " +"     <option value=\"2\">2</option>
        <option value=\"alpha" +"\">Alpha</option>
       " +" <option value=\"beta\">Beta</option>
   " +"     <option value=\"omega\">omega</" +"option>
    </select>
" + +#: contrib/plugins/form_elements/fields/date/fobi_form_elements.py:24 #: contrib/plugins/form_handlers/db_store/templates/db_store/view_saved_form_data_entries.html:41 #: contrib/themes/foundation5/widgets/form_handlers/db_store_foundation5_widget/templates/db_store_foundation5_widget/view_saved_form_data_entries.html:42 msgid "Date" msgstr "Datum" -#: contrib/plugins/form_elements/fields/date/forms.py:48 +#: contrib/plugins/form_elements/fields/date/forms.py:51 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:67 msgid "Input formats" msgstr "Eingabeformat" @@ -782,14 +880,55 @@ msgstr "Startjahr" msgid "Maximum year value" msgstr "Endjahr" -#: contrib/plugins/form_elements/fields/datetime/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/datetime/fobi_form_elements.py:25 msgid "DateTime" msgstr "Datum und Zeit" -#: contrib/plugins/form_elements/fields/datetime/forms.py:48 +#: contrib/plugins/form_elements/fields/datetime/forms.py:51 +#: contrib/plugins/form_elements/fields/time/forms.py:51 msgid "Input formats" msgstr "Eingabeformat" +#: contrib/plugins/form_elements/fields/decimal/fobi_form_elements.py:26 +msgid "Decimal" +msgstr "" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:55 +#, fuzzy +msgid "Max digits" +msgstr "maximale Länge" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:60 +msgid "Decimal places" +msgstr "" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:65 +#: contrib/plugins/form_elements/fields/float/forms.py:51 +#: contrib/plugins/form_elements/fields/integer/forms.py:51 +msgid "Min value" +msgstr "minimal Wert" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:70 +#: contrib/plugins/form_elements/fields/float/forms.py:56 +#: contrib/plugins/form_elements/fields/integer/forms.py:56 +msgid "Max value" +msgstr "maxima Wert" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:80 +#: contrib/plugins/form_elements/fields/email/forms.py:63 +#: contrib/plugins/form_elements/fields/float/forms.py:66 +#: contrib/plugins/form_elements/fields/input/forms.py:87 +#: contrib/plugins/form_elements/fields/integer/forms.py:66 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:75 +#: contrib/plugins/form_elements/fields/password/forms.py:61 +#: contrib/plugins/form_elements/fields/regex/forms.py:70 +#: contrib/plugins/form_elements/fields/slug/forms.py:61 +#: contrib/plugins/form_elements/fields/text/forms.py:61 +#: contrib/plugins/form_elements/fields/textarea/forms.py:53 +#: contrib/plugins/form_elements/fields/url/forms.py:61 +msgid "Placeholder" +msgstr "Platzhalter" + #: contrib/plugins/form_elements/fields/email/fobi_form_elements.py:24 msgid "Email" msgstr "Email" @@ -798,27 +937,24 @@ msgstr "Email" #: contrib/plugins/form_elements/fields/file/forms.py:49 #: contrib/plugins/form_elements/fields/hidden/forms.py:43 #: contrib/plugins/form_elements/fields/input/forms.py:76 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:64 #: contrib/plugins/form_elements/fields/password/forms.py:50 +#: contrib/plugins/form_elements/fields/regex/forms.py:59 +#: contrib/plugins/form_elements/fields/slug/forms.py:50 #: contrib/plugins/form_elements/fields/text/forms.py:50 #: contrib/plugins/form_elements/fields/url/forms.py:50 #: contrib/plugins/form_elements/security/honeypot/forms.py:50 msgid "Max length" msgstr "maximale Länge" -#: contrib/plugins/form_elements/fields/email/forms.py:63 -#: contrib/plugins/form_elements/fields/input/forms.py:87 -#: contrib/plugins/form_elements/fields/integer/forms.py:65 -#: contrib/plugins/form_elements/fields/password/forms.py:61 -#: contrib/plugins/form_elements/fields/text/forms.py:61 -#: contrib/plugins/form_elements/fields/textarea/forms.py:53 -#: contrib/plugins/form_elements/fields/url/forms.py:61 -msgid "Placeholder" -msgstr "Platzhalter" - -#: contrib/plugins/form_elements/fields/file/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/file/fobi_form_elements.py:27 msgid "File" msgstr "Datei" +#: contrib/plugins/form_elements/fields/float/fobi_form_elements.py:22 +msgid "Float" +msgstr "" + #: contrib/plugins/form_elements/fields/hidden/fobi_form_elements.py:24 msgid "Hidden" msgstr "Versteckt" @@ -882,77 +1018,53 @@ msgstr "Schritt (HTML5)" msgid "Type (HTML type)" msgstr "Typen (HTML)" -#: contrib/plugins/form_elements/fields/integer/fobi_form_elements.py:29 +#: contrib/plugins/form_elements/fields/integer/fobi_form_elements.py:22 msgid "Integer" msgstr "Zahlenwert" -#: contrib/plugins/form_elements/fields/integer/forms.py:50 -msgid "Min value" -msgstr "minimal Wert" +#: contrib/plugins/form_elements/fields/ip_address/fobi_form_elements.py:24 +msgid "IP address" +msgstr "" -#: contrib/plugins/form_elements/fields/integer/forms.py:55 -msgid "Max value" -msgstr "maxima Wert" +#: contrib/plugins/form_elements/fields/ip_address/forms.py:53 +msgid "Protocol" +msgstr "" + +#: contrib/plugins/form_elements/fields/ip_address/forms.py:59 +msgid "Unpack IPV4" +msgstr "" + +#: contrib/plugins/form_elements/fields/null_boolean/fobi_form_elements.py:24 +#, fuzzy +msgid "Null boolean" +msgstr "Wahr/Falsch-Schalter" #: contrib/plugins/form_elements/fields/password/fobi_form_elements.py:23 msgid "Password" msgstr "Passwort" -#: contrib/plugins/form_elements/fields/radio/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/radio/fobi_form_elements.py:29 msgid "Radio" msgstr "Radio-Button" -#: contrib/plugins/form_elements/fields/radio/forms.py:39 -#: contrib/plugins/form_elements/fields/select/forms.py:39 -#: contrib/plugins/form_elements/fields/select_multiple/forms.py:39 -msgid "Choices" -msgstr "Auswahl" - -#: contrib/plugins/form_elements/fields/radio/forms.py:41 -#: contrib/plugins/form_elements/fields/select/forms.py:41 -#: contrib/plugins/form_elements/fields/select_multiple/forms.py:41 -msgid "" -"Enter single values/pairs per line. Example:
   " -" 1
    2
    alpha, " -"Alpha
    beta, Beta
    " -"omega

It finally transforms into the following HTML code:" -"
    <select id=\"id_NAME_OF_THE_ELEMENT\" " -"name=\"NAME_OF_THE_ELEMENT\">
      " -"  <option value=\"1\">1</option>
   " -"     <option value=\"2\">2</option>
        <option value=\"alpha" -"\">Alpha</option>
       " -" <option value=\"beta\">Beta</option>
   " -"     <option value=\"omega\">omega</" -"option>
    </select>
" +#: contrib/plugins/form_elements/fields/regex/fobi_form_elements.py:24 +#: contrib/plugins/form_elements/fields/regex/forms.py:48 +msgid "Regex" msgstr "" -"Jeweils ein Wert/Paar pro Zeile. Zum Beispiel:
   " -" 1
    2
    alpha, " -"Alpha
    beta, Beta
    " -"omega

It finally transforms into the following HTML code:" -"
    <select id=\"id_NAME_OF_THE_ELEMENT\" " -"name=\"NAME_OF_THE_ELEMENT\">
      " -"  <option value=\"1\">1</option>
   " -"     <option value=\"2\">2</option>
        <option value=\"alpha" -"\">Alpha</option>
       " -" <option value=\"beta\">Beta</option>
   " -"     <option value=\"omega\">omega</" -"option>
    </select>
" -#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:31 msgid "Select" msgstr "Auswahl" -#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:30 msgid "Select model object" msgstr "Modelobjekt Auswahl" -#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:31 msgid "Select multiple" msgstr "Mehrfachauswahl" -#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:29 +#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:35 msgid "Select multiple model objects" msgstr "Mehrfachauswahl Modelobjekte" @@ -960,6 +1072,11 @@ msgstr "Mehrfachauswahl Modelobjekte" msgid "Textarea" msgstr "Textbreich" +#: contrib/plugins/form_elements/fields/time/fobi_form_elements.py:25 +#, fuzzy +msgid "Time" +msgstr "Datum und Zeit" + #: contrib/plugins/form_elements/security/captcha/fobi_form_elements.py:75 msgid "Captcha" msgstr "Captcha" @@ -1006,7 +1123,7 @@ msgid "Raw" msgstr "Rohdaten" #: contrib/plugins/form_handlers/db_store/admin.py:39 -#: contrib/plugins/form_handlers/db_store/models.py:58 +#: contrib/plugins/form_handlers/db_store/models.py:60 msgid "Saved form data entry" msgstr "gespeicherte Formulardaten" @@ -1014,27 +1131,27 @@ msgstr "gespeicherte Formulardaten" msgid "Export data to CSV/XLS" msgstr "Daten als CSB/XLS exportieren " -#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:27 +#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:29 msgid "DB store" msgstr "Datenbankspeicher" -#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:84 +#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:86 msgid "Export entries" msgstr "Einträge exportieren" -#: contrib/plugins/form_handlers/db_store/models.py:51 +#: contrib/plugins/form_handlers/db_store/models.py:53 msgid "Form data headers" msgstr "Formular Daten Header" -#: contrib/plugins/form_handlers/db_store/models.py:54 +#: contrib/plugins/form_handlers/db_store/models.py:56 msgid "Date created" msgstr "Erstelldatum" -#: contrib/plugins/form_handlers/db_store/models.py:59 +#: contrib/plugins/form_handlers/db_store/models.py:61 msgid "Saved form data entries" msgstr "gespeicherte Formulardaten" -#: contrib/plugins/form_handlers/db_store/models.py:81 +#: contrib/plugins/form_handlers/db_store/models.py:83 msgid "Saved data" msgstr "gespeicherte Daten" @@ -1055,7 +1172,7 @@ msgstr "gespeicherte Formulardaten" msgid "Filter" msgstr "Filter" -#: contrib/plugins/form_handlers/http_repost/fobi_form_handlers.py:40 +#: contrib/plugins/form_handlers/http_repost/fobi_form_handlers.py:30 msgid "HTTP Repost" msgstr "HTTP Antwort" @@ -1064,32 +1181,32 @@ msgstr "HTTP Antwort" msgid "Endpoint URL" msgstr "URL Endpunkt" -#: contrib/plugins/form_handlers/mail/fobi_form_handlers.py:28 +#: contrib/plugins/form_handlers/mail/fobi_form_handlers.py:34 msgid "Mail" msgstr "E-Mail" -#: contrib/plugins/form_handlers/mail/forms.py:28 +#: contrib/plugins/form_handlers/mail/forms.py:30 msgid "From name" msgstr "Formular Name" -#: contrib/plugins/form_handlers/mail/forms.py:33 +#: contrib/plugins/form_handlers/mail/forms.py:35 msgid "From email" msgstr "Formular E-Mail" -#: contrib/plugins/form_handlers/mail/forms.py:38 +#: contrib/plugins/form_handlers/mail/forms.py:40 msgid "To name" msgstr "An Name" -#: contrib/plugins/form_handlers/mail/forms.py:43 +#: contrib/plugins/form_handlers/mail/forms.py:45 msgid "To email" msgstr "An E-Mail" -#: contrib/plugins/form_handlers/mail/forms.py:48 +#: contrib/plugins/form_handlers/mail/forms.py:50 #: contrib/plugins/form_handlers/mail/templates/mail/plugin_data_repr.html:3 msgid "Subject" msgstr "Betreff" -#: contrib/plugins/form_handlers/mail/forms.py:53 +#: contrib/plugins/form_handlers/mail/forms.py:55 msgid "Body" msgstr "Textkörper" diff --git a/src/fobi/locale/nl/LC_MESSAGES/django.mo b/src/fobi/locale/nl/LC_MESSAGES/django.mo index 119fa553e..6a7d2c82d 100644 Binary files a/src/fobi/locale/nl/LC_MESSAGES/django.mo and b/src/fobi/locale/nl/LC_MESSAGES/django.mo differ diff --git a/src/fobi/locale/nl/LC_MESSAGES/django.po b/src/fobi/locale/nl/LC_MESSAGES/django.po index 32802b75c..799d9c4e1 100644 --- a/src/fobi/locale/nl/LC_MESSAGES/django.po +++ b/src/fobi/locale/nl/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-10 13:18+0100\n" -"PO-Revision-Date: 2015-02-27 23:51+0100\n" +"POT-Creation-Date: 2015-03-23 13:39+0100\n" +"PO-Revision-Date: 2015-03-24 23:52+0100\n" "Last-Translator: Artur Barseghyan \n" "Language-Team: LANGUAGE \n" "Language: Dutch\n" @@ -17,11 +17,15 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: admin.py:124 admin.py:193 admin.py:226 models.py:316 models.py:344 +#: admin.py:125 +#: admin.py:194 +#: admin.py:227 +#: models.py:316 +#: models.py:344 #: contrib/apps/djangocms_integration/models.py:26 #: contrib/apps/feincms_integration/widgets.py:30 #: contrib/apps/mezzanine_integration/models.py:24 -#: contrib/plugins/form_handlers/db_store/models.py:47 +#: contrib/plugins/form_handlers/db_store/models.py:49 #: contrib/plugins/form_handlers/db_store/templates/db_store/view_saved_form_data_entries.html:39 #: contrib/themes/foundation5/templates/foundation5/dashboard.html:29 #: contrib/themes/foundation5/widgets/form_handlers/db_store_foundation5_widget/templates/db_store_foundation5_widget/view_saved_form_data_entries.html:40 @@ -29,64 +33,88 @@ msgstr "" msgid "Form" msgstr "Formulier" -#: admin.py:127 +#: admin.py:128 msgid "Custom" msgstr "Custom" -#: admin.py:135 models.py:78 models.py:216 models.py:264 -#: contrib/plugins/form_handlers/db_store/models.py:49 +#: admin.py:136 +#: models.py:78 +#: models.py:216 +#: models.py:264 +#: contrib/plugins/form_handlers/db_store/models.py:51 msgid "User" msgstr "Gebruiker" -#: admin.py:139 +#: admin.py:140 msgid "Additional" msgstr "Extra" -#: admin.py:147 admin.py:171 admin.py:199 admin.py:266 +#: admin.py:148 +#: admin.py:172 +#: admin.py:200 +#: admin.py:267 #: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/base_edit.html:84 #: contrib/themes/simple/templates/simple/base_edit.html:76 msgid "Fobi" msgstr "" -#: admin.py:190 admin.py:223 models.py:121 +#: admin.py:191 +#: admin.py:224 +#: models.py:121 msgid "Plugin" msgstr "Plugin" -#: admin.py:232 models.py:472 +#: admin.py:233 +#: models.py:472 msgid "Form handler entry" msgstr "Formulier afhandelaar" -#: admin.py:336 +#: admin.py:338 msgid "{0} plugins were changed successfully." msgstr "{0} plugins zijn succesvol bijgewerkt." -#: admin.py:342 +#: admin.py:344 +msgid "Form contains errors: {}" +msgstr "Formulier bevat fouten: {}" + +#: admin.py:350 msgid "POST required when changing in bulk!" msgstr "POST vereist bij het veranderen in bulk!" -#: base.py:108 +#: base.py:110 msgid "Build your forms" msgstr "Bouw je formulieren" -#: base.py:521 models.py:217 models.py:265 models.py:318 +#: base.py:523 +#: models.py:217 +#: models.py:265 +#: models.py:318 #: contrib/plugins/form_elements/fields/boolean/forms.py:32 -#: contrib/plugins/form_elements/fields/date/forms.py:33 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:34 +#: contrib/plugins/form_elements/fields/date/forms.py:35 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:42 -#: contrib/plugins/form_elements/fields/datetime/forms.py:33 +#: contrib/plugins/form_elements/fields/datetime/forms.py:35 +#: contrib/plugins/form_elements/fields/decimal/forms.py:40 #: contrib/plugins/form_elements/fields/email/forms.py:37 #: contrib/plugins/form_elements/fields/file/forms.py:34 +#: contrib/plugins/form_elements/fields/float/forms.py:36 #: contrib/plugins/form_elements/fields/hidden/forms.py:33 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:36 #: contrib/plugins/form_elements/fields/input/forms.py:61 -#: contrib/plugins/form_elements/fields/integer/forms.py:35 +#: contrib/plugins/form_elements/fields/integer/forms.py:36 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:38 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:32 #: contrib/plugins/form_elements/fields/password/forms.py:35 #: contrib/plugins/form_elements/fields/radio/forms.py:34 +#: contrib/plugins/form_elements/fields/regex/forms.py:38 #: contrib/plugins/form_elements/fields/select/forms.py:34 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:36 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:34 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:36 +#: contrib/plugins/form_elements/fields/slug/forms.py:35 #: contrib/plugins/form_elements/fields/text/forms.py:35 #: contrib/plugins/form_elements/fields/textarea/forms.py:33 +#: contrib/plugins/form_elements/fields/time/forms.py:35 #: contrib/plugins/form_elements/fields/url/forms.py:35 #: contrib/plugins/form_elements/security/captcha/forms.py:35 #: contrib/plugins/form_elements/security/honeypot/forms.py:35 @@ -96,24 +124,33 @@ msgstr "Bouw je formulieren" msgid "Name" msgstr "Naam" -#: base.py:526 contrib/plugins/form_elements/fields/boolean/forms.py:27 -#: contrib/plugins/form_elements/fields/date/forms.py:28 +#: base.py:528 +#: contrib/plugins/form_elements/fields/boolean/forms.py:27 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:29 +#: contrib/plugins/form_elements/fields/date/forms.py:30 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:37 -#: contrib/plugins/form_elements/fields/datetime/forms.py:28 +#: contrib/plugins/form_elements/fields/datetime/forms.py:30 +#: contrib/plugins/form_elements/fields/decimal/forms.py:35 #: contrib/plugins/form_elements/fields/email/forms.py:32 #: contrib/plugins/form_elements/fields/file/forms.py:29 +#: contrib/plugins/form_elements/fields/float/forms.py:31 #: contrib/plugins/form_elements/fields/hidden/forms.py:28 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:31 #: contrib/plugins/form_elements/fields/input/forms.py:56 -#: contrib/plugins/form_elements/fields/integer/forms.py:30 +#: contrib/plugins/form_elements/fields/integer/forms.py:31 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:33 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:27 #: contrib/plugins/form_elements/fields/password/forms.py:30 #: contrib/plugins/form_elements/fields/radio/forms.py:29 +#: contrib/plugins/form_elements/fields/regex/forms.py:33 #: contrib/plugins/form_elements/fields/select/forms.py:29 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:31 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:29 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:31 +#: contrib/plugins/form_elements/fields/slug/forms.py:30 #: contrib/plugins/form_elements/fields/text/forms.py:30 #: contrib/plugins/form_elements/fields/textarea/forms.py:28 +#: contrib/plugins/form_elements/fields/time/forms.py:30 #: contrib/plugins/form_elements/fields/url/forms.py:30 #: contrib/plugins/form_elements/security/captcha/forms.py:30 #: contrib/plugins/form_elements/security/honeypot/forms.py:30 @@ -121,47 +158,65 @@ msgstr "Naam" msgid "Label" msgstr "Label" -#: base.py:531 contrib/plugins/form_elements/fields/boolean/forms.py:37 -#: contrib/plugins/form_elements/fields/date/forms.py:38 +#: base.py:533 +#: contrib/plugins/form_elements/fields/boolean/forms.py:37 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:60 +#: contrib/plugins/form_elements/fields/date/forms.py:40 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:47 -#: contrib/plugins/form_elements/fields/datetime/forms.py:38 +#: contrib/plugins/form_elements/fields/datetime/forms.py:40 +#: contrib/plugins/form_elements/fields/decimal/forms.py:45 #: contrib/plugins/form_elements/fields/email/forms.py:42 #: contrib/plugins/form_elements/fields/file/forms.py:39 +#: contrib/plugins/form_elements/fields/float/forms.py:41 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:47 #: contrib/plugins/form_elements/fields/input/forms.py:66 -#: contrib/plugins/form_elements/fields/integer/forms.py:40 +#: contrib/plugins/form_elements/fields/integer/forms.py:41 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:43 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:37 #: contrib/plugins/form_elements/fields/password/forms.py:40 #: contrib/plugins/form_elements/fields/radio/forms.py:60 +#: contrib/plugins/form_elements/fields/regex/forms.py:43 #: contrib/plugins/form_elements/fields/select/forms.py:60 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:47 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:60 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:47 +#: contrib/plugins/form_elements/fields/slug/forms.py:40 #: contrib/plugins/form_elements/fields/text/forms.py:40 #: contrib/plugins/form_elements/fields/textarea/forms.py:38 +#: contrib/plugins/form_elements/fields/time/forms.py:40 #: contrib/plugins/form_elements/fields/url/forms.py:40 #: contrib/plugins/form_elements/security/captcha/forms.py:40 #: contrib/plugins/form_elements/security/recaptcha/forms.py:40 msgid "Help text" msgstr "Helptekst" -#: base.py:536 contrib/plugins/form_elements/fields/boolean/forms.py:47 -#: contrib/plugins/form_elements/fields/date/forms.py:53 +#: base.py:538 +#: contrib/plugins/form_elements/fields/boolean/forms.py:47 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:70 +#: contrib/plugins/form_elements/fields/date/forms.py:56 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:72 -#: contrib/plugins/form_elements/fields/datetime/forms.py:53 +#: contrib/plugins/form_elements/fields/datetime/forms.py:56 +#: contrib/plugins/form_elements/fields/decimal/forms.py:75 #: contrib/plugins/form_elements/fields/email/forms.py:58 #: contrib/plugins/form_elements/fields/file/forms.py:55 +#: contrib/plugins/form_elements/fields/float/forms.py:61 #: contrib/plugins/form_elements/fields/hidden/forms.py:49 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:57 #: contrib/plugins/form_elements/fields/input/forms.py:82 -#: contrib/plugins/form_elements/fields/integer/forms.py:60 +#: contrib/plugins/form_elements/fields/integer/forms.py:61 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:70 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:47 #: contrib/plugins/form_elements/fields/password/forms.py:56 #: contrib/plugins/form_elements/fields/radio/forms.py:70 +#: contrib/plugins/form_elements/fields/regex/forms.py:65 #: contrib/plugins/form_elements/fields/select/forms.py:70 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:57 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:70 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:57 +#: contrib/plugins/form_elements/fields/slug/forms.py:56 #: contrib/plugins/form_elements/fields/text/forms.py:56 #: contrib/plugins/form_elements/fields/textarea/forms.py:48 +#: contrib/plugins/form_elements/fields/time/forms.py:56 #: contrib/plugins/form_elements/fields/url/forms.py:56 #: contrib/plugins/form_elements/security/captcha/forms.py:56 #: contrib/plugins/form_elements/security/honeypot/forms.py:56 @@ -169,27 +224,27 @@ msgstr "Helptekst" msgid "Required" msgstr "Verplicht" -#: base.py:558 +#: base.py:560 msgid "Duplicate field name!" msgstr "Veldnaam is al in gebruik!" -#: base.py:563 +#: base.py:565 msgid "Duplicate label name!" msgstr "Labelnaam is al in gebruik!" -#: base.py:642 +#: base.py:644 msgid "General" msgstr "Algemeen" -#: base.py:2143 +#: base.py:2147 msgid "Theme `{0}` does not exist!" msgstr "Theme `{0}` niet gevonden!" -#: constants.py:18 +#: constants.py:19 msgid "Append" msgstr "Toevoegen" -#: constants.py:19 +#: constants.py:20 msgid "Replace" msgstr "Vervangen" @@ -201,25 +256,26 @@ msgstr "Geselecteerde plugins" msgid "Users action" msgstr "Gebruikersactie" -#: forms.py:115 forms.py:122 +#: forms.py:115 +#: forms.py:122 msgid "If set to ``replace``, the groups are replaced; otherwise - appended." -msgstr "" -"Indien ingesteld op ``replace``, de groepen worden vervangen; anders - " -"toegevoegd." +msgstr "Indien ingesteld op ``replace``, de groepen worden vervangen; anders - toegevoegd." #: forms.py:120 msgid "Groups action" msgstr "Groepenactie" -#: helpers.py:349 helpers.py:374 +#: helpers.py:388 +#: helpers.py:413 msgid "Invalid value for initial: {0}. Should be any of the following: {1}" -msgstr "" +msgstr "Ongeldige initiële waarde: {0}. Moet een van de volgende zijn: {1}" #: models.py:80 msgid "Group" msgstr "Groep" -#: models.py:113 models.py:414 +#: models.py:113 +#: models.py:414 msgid "UID" msgstr "" @@ -231,7 +287,8 @@ msgstr "Groepen" msgid "Users" msgstr "Gebruikers" -#: models.py:160 models.py:191 +#: models.py:160 +#: models.py:191 msgid "Plugin UID" msgstr "Plugin UID" @@ -251,7 +308,9 @@ msgstr "Formulier afhandelaar" msgid "Form handler plugins" msgstr "Formulier afhandelaar's" -#: models.py:218 models.py:267 +#: models.py:218 +#: models.py:267 +#: contrib/plugins/form_elements/fields/slug/fobi_form_elements.py:22 msgid "Slug" msgstr "Slug" @@ -301,7 +360,8 @@ msgstr "Kopieerbaar?" msgid "Makes your form cloneable by other users." msgstr "Maakt uw formulier kopieerbaar door andere gebruikers." -#: models.py:278 models.py:438 +#: models.py:278 +#: models.py:438 msgid "Position" msgstr "Positie" @@ -311,9 +371,7 @@ msgstr "Succes paginatitel" #: models.py:282 msgid "Custom message title to display after valid form is submitted" -msgstr "" -"Custom titel van het bericht die word getoond na het valideren en versturen " -"van het formulier" +msgstr "Custom titel van het bericht die word getoond na het valideren en versturen van het formulier" #: models.py:286 msgid "Success page body" @@ -321,9 +379,7 @@ msgstr "Succes pagina tekst" #: models.py:287 msgid "Custom message text to display after valid form is submitted" -msgstr "" -"Custom tekst van het bericht die word getoond na het valideren en versturen " -"van het formulier" +msgstr "Custom tekst van het bericht die word getoond na het valideren en versturen van het formulier" #: models.py:291 msgid "Action" @@ -357,11 +413,13 @@ msgstr "" msgid "Form fieldset entries" msgstr "" -#: models.py:345 contrib/plugins/form_handlers/db_store/models.py:53 +#: models.py:345 +#: contrib/plugins/form_handlers/db_store/models.py:55 msgid "Plugin data" msgstr "Plugin data" -#: models.py:433 models.py:467 +#: models.py:433 +#: models.py:467 msgid "Plugin name" msgstr "Plugin naam" @@ -415,12 +473,17 @@ msgstr "{0} niet gevonden." msgid "Form {0} was created successfully." msgstr "Formulier {0} is succesvol aangemaakt." -#: views.py:175 views.py:282 +#: views.py:175 +#: views.py:282 msgid "Errors occured while saving the form: {0}." msgstr "Er zijn fouten opgetreden tijdens het opslaan van het formulier: {0}." -#: views.py:226 views.py:395 views.py:633 views.py:865 views.py:976 -#: views.py:1018 +#: views.py:226 +#: views.py:396 +#: views.py:634 +#: views.py:866 +#: views.py:977 +#: views.py:1019 msgid "Form entry not found." msgstr "Formulier niet gevonden." @@ -430,76 +493,75 @@ msgstr "Volgorde van de elementen is met succes gewijzigd." #: views.py:256 msgid "Errors occured while trying to change the elements ordering!" -msgstr "" -"Er zijn fouten opgetreden tijdens het opslaan van het elementen volgoorde." +msgstr "Er zijn fouten opgetreden tijdens het opslaan van het elementen volgoorde." #: views.py:274 msgid "Form {0} was edited successfully." msgstr "Formulier {0} is succesvol gewijzigd." -#: views.py:404 views.py:640 -#, fuzzy +#: views.py:405 +#: views.py:641 msgid "Plugin does not exist or you are not allowed to use this plugin!" -msgstr "" -"Plugin bestaat niet of u bent niet toegestaan om deze plugin te gebruiken!" +msgstr "Plugin bestaat niet of u bent niet toegestaan om deze plugin te gebruiken!" -#: views.py:467 +#: views.py:468 msgid "The form element plugin \"{0}\" was added successfully." msgstr "Het formulier element \"{0}\" is met succes toegevoegd." -#: views.py:515 +#: views.py:516 msgid "Form element entry not found." msgstr "Formulier element niet gevonden." -#: views.py:527 +#: views.py:528 msgid "The form element plugin \"{0}\" is not configurable!" msgstr "Het formulier element \"{0}\" is niet configureerbaar!" -#: views.py:559 +#: views.py:560 msgid "The form element plugin \"{0}\" was edited successfully." msgstr "Het formulier element \"{0}\" is met succes gewijzigd." -#: views.py:609 +#: views.py:610 msgid "The form element plugin \"{0}\" was deleted successfully." msgstr "Het formulier element \"{0}\" is met succes verwijdert." -#: views.py:655 +#: views.py:656 msgid "The {0} plugin can be used only once in a form." -msgstr "" +msgstr "De {0} plugin kan slechts eenmaal worden gebruikt in een vorm." -#: views.py:697 +#: views.py:698 msgid "The form handler plugin \"{0}\" was added successfully." msgstr "Het formulier afhandelaar \"{0}\" is met succes toegevoegd." -#: views.py:750 +#: views.py:751 msgid "Form handler entry not found." msgstr "Het formulier niet gevonden." -#: views.py:763 +#: views.py:764 msgid "The form handler plugin \"{0}\" is not configurable!" msgstr "Het formulier afhandelaar \"{0}\" is niet configureerbaar!" -#: views.py:786 +#: views.py:787 msgid "The form handler plugin \"{0}\" was edited successfully." msgstr "Het formulier afhandelaar \"{0}\" is met succes gewijzigd." -#: views.py:835 +#: views.py:836 msgid "The form handler plugin \"{0}\" was deleted successfully." msgstr "Het formulier afhandelaar \"{0}\" is met succes verwijdert." -#: views.py:918 integration/processors.py:156 +#: views.py:919 +#: integration/processors.py:156 msgid "Form {0} was submitted successfully." msgstr "Formulier {0} is met succes verstuurd." -#: views.py:1024 +#: views.py:1025 msgid "The form \"{0}\" was deleted successfully." msgstr "Het formulier \"{0}\" is met succes verwijdert." -#: widgets.py:22 +#: widgets.py:30 msgid "Yes" msgstr "Ja" -#: widgets.py:23 +#: widgets.py:31 msgid "No" msgstr "Nee" @@ -623,7 +685,7 @@ msgid "Fobi forms" msgstr "Fobi formulieren" #: contrib/apps/mezzanine_integration/templates/mezzanine_integration/admin/change_form.html:8 -#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:78 +#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:80 #: contrib/plugins/form_handlers/db_store/templates/db_store/plugin_data_repr.html:4 #: contrib/themes/foundation5/widgets/form_handlers/db_store_foundation5_widget/templates/db_store_foundation5_widget/plugin_data_repr.html:4 msgid "View entries" @@ -715,57 +777,92 @@ msgid "Boolean" msgstr "Selectievakje" #: contrib/plugins/form_elements/fields/boolean/fobi_form_elements.py:21 -#: contrib/plugins/form_elements/fields/date/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/fobi_form_elements.py:32 +#: contrib/plugins/form_elements/fields/date/fobi_form_elements.py:25 #: contrib/plugins/form_elements/fields/date_drop_down/fobi_form_elements.py:25 -#: contrib/plugins/form_elements/fields/datetime/fobi_form_elements.py:24 +#: contrib/plugins/form_elements/fields/datetime/fobi_form_elements.py:26 +#: contrib/plugins/form_elements/fields/decimal/fobi_form_elements.py:27 #: contrib/plugins/form_elements/fields/email/fobi_form_elements.py:25 -#: contrib/plugins/form_elements/fields/file/fobi_form_elements.py:26 +#: contrib/plugins/form_elements/fields/file/fobi_form_elements.py:28 +#: contrib/plugins/form_elements/fields/float/fobi_form_elements.py:23 #: contrib/plugins/form_elements/fields/hidden/fobi_form_elements.py:25 #: contrib/plugins/form_elements/fields/hidden_model_object/fobi_form_elements.py:26 #: contrib/plugins/form_elements/fields/input/fobi_form_elements.py:23 -#: contrib/plugins/form_elements/fields/integer/fobi_form_elements.py:30 +#: contrib/plugins/form_elements/fields/integer/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/ip_address/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/null_boolean/fobi_form_elements.py:25 #: contrib/plugins/form_elements/fields/password/fobi_form_elements.py:24 -#: contrib/plugins/form_elements/fields/radio/fobi_form_elements.py:24 -#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:24 -#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:26 -#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:26 -#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:30 +#: contrib/plugins/form_elements/fields/radio/fobi_form_elements.py:30 +#: contrib/plugins/form_elements/fields/regex/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:32 +#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:31 +#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:32 +#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:36 +#: contrib/plugins/form_elements/fields/slug/fobi_form_elements.py:23 #: contrib/plugins/form_elements/fields/text/fobi_form_elements.py:23 #: contrib/plugins/form_elements/fields/textarea/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/time/fobi_form_elements.py:26 #: contrib/plugins/form_elements/fields/url/fobi_form_elements.py:30 msgid "Fields" msgstr "Velden" #: contrib/plugins/form_elements/fields/boolean/forms.py:42 -#: contrib/plugins/form_elements/fields/date/forms.py:43 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:65 +#: contrib/plugins/form_elements/fields/date/forms.py:45 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:62 -#: contrib/plugins/form_elements/fields/datetime/forms.py:43 +#: contrib/plugins/form_elements/fields/datetime/forms.py:45 +#: contrib/plugins/form_elements/fields/decimal/forms.py:50 #: contrib/plugins/form_elements/fields/email/forms.py:47 #: contrib/plugins/form_elements/fields/file/forms.py:44 +#: contrib/plugins/form_elements/fields/float/forms.py:46 #: contrib/plugins/form_elements/fields/hidden/forms.py:38 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:52 #: contrib/plugins/form_elements/fields/input/forms.py:71 -#: contrib/plugins/form_elements/fields/integer/forms.py:45 +#: contrib/plugins/form_elements/fields/integer/forms.py:46 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:48 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:42 #: contrib/plugins/form_elements/fields/password/forms.py:45 #: contrib/plugins/form_elements/fields/radio/forms.py:65 +#: contrib/plugins/form_elements/fields/regex/forms.py:54 #: contrib/plugins/form_elements/fields/select/forms.py:65 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:52 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:65 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:52 +#: contrib/plugins/form_elements/fields/slug/forms.py:45 #: contrib/plugins/form_elements/fields/text/forms.py:45 #: contrib/plugins/form_elements/fields/textarea/forms.py:43 +#: contrib/plugins/form_elements/fields/time/forms.py:45 #: contrib/plugins/form_elements/fields/url/forms.py:45 #: contrib/plugins/form_elements/security/honeypot/forms.py:45 msgid "Initial" msgstr "Initiële waarde" -#: contrib/plugins/form_elements/fields/date/fobi_form_elements.py:22 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/fobi_form_elements.py:31 +#, fuzzy +msgid "Checkbox select multiple" +msgstr "Keuzelijst meerkeuze" + +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:39 +#: contrib/plugins/form_elements/fields/radio/forms.py:39 +#: contrib/plugins/form_elements/fields/select/forms.py:39 +#: contrib/plugins/form_elements/fields/select_multiple/forms.py:39 +msgid "Choices" +msgstr "Kies" + +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:41 +#: contrib/plugins/form_elements/fields/radio/forms.py:41 +#: contrib/plugins/form_elements/fields/select/forms.py:41 +#: contrib/plugins/form_elements/fields/select_multiple/forms.py:41 +msgid "Enter single values/pairs per line. Example:
    1
    2
    alpha, Alpha
    beta, Beta
    omega

It finally transforms into the following HTML code:
    <select id=\"id_NAME_OF_THE_ELEMENT\" name=\"NAME_OF_THE_ELEMENT\">
        <option value=\"1\">1</option>
        <option value=\"2\">2</option>
        <option value=\"alpha\">Alpha</option>
        <option value=\"beta\">Beta</option>
        <option value=\"omega\">omega</option>
    </select>
" +msgstr "Voer ofwel enkele waarden of een paar - een per regel. Voorbeeld:
    1
    2
    alpha, Alpha
    beta, Beta
    omega

Word getoond als de volgende HTML code:
    <select id=\"id_NAME_OF_THE_ELEMENT\" name=\"NAME_OF_THE_ELEMENT\">
        <option value=\"1\">1</option>
        <option value=\"2\">2</option>
        <option value=\"alpha\">Alpha</option>
        <option value=\"beta\">Beta</option>
        <option value=\"omega\">omega</option>
    </select>
" + +#: contrib/plugins/form_elements/fields/date/fobi_form_elements.py:24 #: contrib/plugins/form_handlers/db_store/templates/db_store/view_saved_form_data_entries.html:41 #: contrib/themes/foundation5/widgets/form_handlers/db_store_foundation5_widget/templates/db_store_foundation5_widget/view_saved_form_data_entries.html:42 msgid "Date" msgstr "Datum" -#: contrib/plugins/form_elements/fields/date/forms.py:48 +#: contrib/plugins/form_elements/fields/date/forms.py:51 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:67 msgid "Input formats" msgstr "Invoerformaten" @@ -782,14 +879,54 @@ msgstr "Minimumwaarde jaar" msgid "Maximum year value" msgstr "Maximumwaarde jaar" -#: contrib/plugins/form_elements/fields/datetime/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/datetime/fobi_form_elements.py:25 msgid "DateTime" msgstr "Datum/tijd" -#: contrib/plugins/form_elements/fields/datetime/forms.py:48 +#: contrib/plugins/form_elements/fields/datetime/forms.py:51 +#: contrib/plugins/form_elements/fields/time/forms.py:51 msgid "Input formats" msgstr "Invoerformaten" +#: contrib/plugins/form_elements/fields/decimal/fobi_form_elements.py:26 +msgid "Decimal" +msgstr "Decimale" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:55 +msgid "Max digits" +msgstr "Maximale lengte" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:60 +msgid "Decimal places" +msgstr "" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:65 +#: contrib/plugins/form_elements/fields/float/forms.py:51 +#: contrib/plugins/form_elements/fields/integer/forms.py:51 +msgid "Min value" +msgstr "Minimumwaarde" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:70 +#: contrib/plugins/form_elements/fields/float/forms.py:56 +#: contrib/plugins/form_elements/fields/integer/forms.py:56 +msgid "Max value" +msgstr "Maximumwaarde" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:80 +#: contrib/plugins/form_elements/fields/email/forms.py:63 +#: contrib/plugins/form_elements/fields/float/forms.py:66 +#: contrib/plugins/form_elements/fields/input/forms.py:87 +#: contrib/plugins/form_elements/fields/integer/forms.py:66 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:75 +#: contrib/plugins/form_elements/fields/password/forms.py:61 +#: contrib/plugins/form_elements/fields/regex/forms.py:70 +#: contrib/plugins/form_elements/fields/slug/forms.py:61 +#: contrib/plugins/form_elements/fields/text/forms.py:61 +#: contrib/plugins/form_elements/fields/textarea/forms.py:53 +#: contrib/plugins/form_elements/fields/url/forms.py:61 +msgid "Placeholder" +msgstr "Aanduiding" + #: contrib/plugins/form_elements/fields/email/fobi_form_elements.py:24 msgid "Email" msgstr "Email" @@ -798,27 +935,24 @@ msgstr "Email" #: contrib/plugins/form_elements/fields/file/forms.py:49 #: contrib/plugins/form_elements/fields/hidden/forms.py:43 #: contrib/plugins/form_elements/fields/input/forms.py:76 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:64 #: contrib/plugins/form_elements/fields/password/forms.py:50 +#: contrib/plugins/form_elements/fields/regex/forms.py:59 +#: contrib/plugins/form_elements/fields/slug/forms.py:50 #: contrib/plugins/form_elements/fields/text/forms.py:50 #: contrib/plugins/form_elements/fields/url/forms.py:50 #: contrib/plugins/form_elements/security/honeypot/forms.py:50 msgid "Max length" msgstr "Maximale lengte" -#: contrib/plugins/form_elements/fields/email/forms.py:63 -#: contrib/plugins/form_elements/fields/input/forms.py:87 -#: contrib/plugins/form_elements/fields/integer/forms.py:65 -#: contrib/plugins/form_elements/fields/password/forms.py:61 -#: contrib/plugins/form_elements/fields/text/forms.py:61 -#: contrib/plugins/form_elements/fields/textarea/forms.py:53 -#: contrib/plugins/form_elements/fields/url/forms.py:61 -msgid "Placeholder" -msgstr "Aanduiding" - -#: contrib/plugins/form_elements/fields/file/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/file/fobi_form_elements.py:27 msgid "File" msgstr "Bestand" +#: contrib/plugins/form_elements/fields/float/fobi_form_elements.py:22 +msgid "Float" +msgstr "" + #: contrib/plugins/form_elements/fields/hidden/fobi_form_elements.py:24 msgid "Hidden" msgstr "Verborgen veld" @@ -882,77 +1016,52 @@ msgstr "" msgid "Type (HTML type)" msgstr "" -#: contrib/plugins/form_elements/fields/integer/fobi_form_elements.py:29 +#: contrib/plugins/form_elements/fields/integer/fobi_form_elements.py:22 msgid "Integer" msgstr "Nummer" -#: contrib/plugins/form_elements/fields/integer/forms.py:50 -msgid "Min value" -msgstr "Minimumwaarde" +#: contrib/plugins/form_elements/fields/ip_address/fobi_form_elements.py:24 +msgid "IP address" +msgstr "" -#: contrib/plugins/form_elements/fields/integer/forms.py:55 -msgid "Max value" -msgstr "Maximumwaarde" +#: contrib/plugins/form_elements/fields/ip_address/forms.py:53 +msgid "Protocol" +msgstr "" + +#: contrib/plugins/form_elements/fields/ip_address/forms.py:59 +msgid "Unpack IPV4" +msgstr "" + +#: contrib/plugins/form_elements/fields/null_boolean/fobi_form_elements.py:24 +msgid "Null boolean" +msgstr "Null selectievakje" #: contrib/plugins/form_elements/fields/password/fobi_form_elements.py:23 msgid "Password" msgstr "Wachtwoord" -#: contrib/plugins/form_elements/fields/radio/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/radio/fobi_form_elements.py:29 msgid "Radio" msgstr "Radio knop" -#: contrib/plugins/form_elements/fields/radio/forms.py:39 -#: contrib/plugins/form_elements/fields/select/forms.py:39 -#: contrib/plugins/form_elements/fields/select_multiple/forms.py:39 -msgid "Choices" -msgstr "Kies" - -#: contrib/plugins/form_elements/fields/radio/forms.py:41 -#: contrib/plugins/form_elements/fields/select/forms.py:41 -#: contrib/plugins/form_elements/fields/select_multiple/forms.py:41 -msgid "" -"Enter single values/pairs per line. Example:
   " -" 1
    2
    alpha, " -"Alpha
    beta, Beta
    " -"omega

It finally transforms into the following HTML code:" -"
    <select id=\"id_NAME_OF_THE_ELEMENT\" " -"name=\"NAME_OF_THE_ELEMENT\">
      " -"  <option value=\"1\">1</option>
   " -"     <option value=\"2\">2</option>
        <option value=\"alpha" -"\">Alpha</option>
       " -" <option value=\"beta\">Beta</option>
   " -"     <option value=\"omega\">omega</" -"option>
    </select>
" +#: contrib/plugins/form_elements/fields/regex/fobi_form_elements.py:24 +#: contrib/plugins/form_elements/fields/regex/forms.py:48 +msgid "Regex" msgstr "" -"Voer ofwel enkele waarden of een paar - een per regel. Voorbeeld:
    1
    2
  " -"  alpha, Alpha
    beta, Beta
 " -"   omega

Word getoond als de volgende HTML code:" -"
    <select id=\"id_NAME_OF_THE_ELEMENT\" " -"name=\"NAME_OF_THE_ELEMENT\">
      " -"  <option value=\"1\">1</option>
   " -"     <option value=\"2\">2</option>
        <option value=\"alpha" -"\">Alpha</option>
       " -" <option value=\"beta\">Beta</option>
   " -"     <option value=\"omega\">omega</" -"option>
    </select>
" - -#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:23 + +#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:31 msgid "Select" msgstr "Keuzelijst" -#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:30 msgid "Select model object" msgstr "Keuzelijst object model" -#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:31 msgid "Select multiple" msgstr "Keuzelijst meerkeuze" -#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:29 +#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:35 msgid "Select multiple model objects" msgstr "Keuzelijst meerkeuze model objecten" @@ -960,6 +1069,10 @@ msgstr "Keuzelijst meerkeuze model objecten" msgid "Textarea" msgstr "Tekstvak" +#: contrib/plugins/form_elements/fields/time/fobi_form_elements.py:25 +msgid "Time" +msgstr "Tijd" + #: contrib/plugins/form_elements/security/captcha/fobi_form_elements.py:75 msgid "Captcha" msgstr "" @@ -1005,7 +1118,7 @@ msgid "Raw" msgstr "Rui" #: contrib/plugins/form_handlers/db_store/admin.py:39 -#: contrib/plugins/form_handlers/db_store/models.py:58 +#: contrib/plugins/form_handlers/db_store/models.py:60 msgid "Saved form data entry" msgstr "Opgeslagen formulier data" @@ -1013,27 +1126,27 @@ msgstr "Opgeslagen formulier data" msgid "Export data to CSV/XLS" msgstr "Gegevens exporteren naar CSV/XLS" -#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:27 +#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:29 msgid "DB store" msgstr "Opslaan in database" -#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:84 +#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:86 msgid "Export entries" msgstr "Data export" -#: contrib/plugins/form_handlers/db_store/models.py:51 +#: contrib/plugins/form_handlers/db_store/models.py:53 msgid "Form data headers" msgstr "Formulier datatitels" -#: contrib/plugins/form_handlers/db_store/models.py:54 +#: contrib/plugins/form_handlers/db_store/models.py:56 msgid "Date created" msgstr "Datum aangemaakt" -#: contrib/plugins/form_handlers/db_store/models.py:59 +#: contrib/plugins/form_handlers/db_store/models.py:61 msgid "Saved form data entries" msgstr "Opgeslagen formulier inschrijvingen" -#: contrib/plugins/form_handlers/db_store/models.py:81 +#: contrib/plugins/form_handlers/db_store/models.py:83 msgid "Saved data" msgstr "Opgeslagen data" @@ -1054,7 +1167,7 @@ msgstr "Opgeslagen formuliergegevens" msgid "Filter" msgstr "" -#: contrib/plugins/form_handlers/http_repost/fobi_form_handlers.py:40 +#: contrib/plugins/form_handlers/http_repost/fobi_form_handlers.py:30 msgid "HTTP Repost" msgstr "" @@ -1063,32 +1176,32 @@ msgstr "" msgid "Endpoint URL" msgstr "" -#: contrib/plugins/form_handlers/mail/fobi_form_handlers.py:28 +#: contrib/plugins/form_handlers/mail/fobi_form_handlers.py:34 msgid "Mail" msgstr "" -#: contrib/plugins/form_handlers/mail/forms.py:28 +#: contrib/plugins/form_handlers/mail/forms.py:30 msgid "From name" msgstr "Naam afzender" -#: contrib/plugins/form_handlers/mail/forms.py:33 +#: contrib/plugins/form_handlers/mail/forms.py:35 msgid "From email" msgstr "Email afzender" -#: contrib/plugins/form_handlers/mail/forms.py:38 +#: contrib/plugins/form_handlers/mail/forms.py:40 msgid "To name" msgstr "Naam ontvanger" -#: contrib/plugins/form_handlers/mail/forms.py:43 +#: contrib/plugins/form_handlers/mail/forms.py:45 msgid "To email" msgstr "Email ontvanger" -#: contrib/plugins/form_handlers/mail/forms.py:48 +#: contrib/plugins/form_handlers/mail/forms.py:50 #: contrib/plugins/form_handlers/mail/templates/mail/plugin_data_repr.html:3 msgid "Subject" msgstr "Onderwerp" -#: contrib/plugins/form_handlers/mail/forms.py:53 +#: contrib/plugins/form_handlers/mail/forms.py:55 msgid "Body" msgstr "Tekst" @@ -1330,8 +1443,7 @@ msgstr "Wijzigingen bijwerken" #: templates/fobi/generic/snippets/form_properties_snippet.html:4 #: templates/fobi/generic/snippets/form_snippet.html:4 msgid "Fields marked with * are required" -msgstr "" -"Velden gemarkeerd met * zijn verplicht" +msgstr "Velden gemarkeerd met * zijn verplicht" #: contrib/themes/simple/fobi_themes.py:17 msgid "Simple" @@ -1422,12 +1534,8 @@ msgid "^forms/delete/(?P\\d+)/$" msgstr "^formulieren/verwijderen/(?P\\d+)/$" #: urls/edit.py:34 -msgid "" -"^forms/elements/add/(?P\\d+)/(?P[\\w_" -"\\-]+)/$" -msgstr "" -"^formulieren/elementen/toevoegen/(?P\\d+)/(?" -"P[\\w_\\-]+)/$" +msgid "^forms/elements/add/(?P\\d+)/(?P[\\w_\\-]+)/$" +msgstr "^formulieren/elementen/toevoegen/(?P\\d+)/(?P[\\w_\\-]+)/$" #: urls/edit.py:39 msgid "^forms/elements/edit/(?P\\d+)/$" @@ -1438,12 +1546,8 @@ msgid "^forms/elements/delete/(?P\\d+)/$" msgstr "^formulieren/elementen/verwijderen/(?P\\d+)/$" #: urls/edit.py:49 -msgid "" -"^forms/handlers/add/(?P\\d+)/(?P[\\w_" -"\\-]+)/$" -msgstr "" -"^formulieren/handlers/toevoegen/(?P\\d+)/(?" -"P[\\w_\\-]+)/$" +msgid "^forms/handlers/add/(?P\\d+)/(?P[\\w_\\-]+)/$" +msgstr "^formulieren/handlers/toevoegen/(?P\\d+)/(?P[\\w_\\-]+)/$" #: urls/edit.py:54 msgid "^forms/handlers/edit/(?P\\d+)/$" diff --git a/src/fobi/locale/ru/LC_MESSAGES/django.mo b/src/fobi/locale/ru/LC_MESSAGES/django.mo index aae5d8fe8..04e3bcb86 100644 Binary files a/src/fobi/locale/ru/LC_MESSAGES/django.mo and b/src/fobi/locale/ru/LC_MESSAGES/django.mo differ diff --git a/src/fobi/locale/ru/LC_MESSAGES/django.po b/src/fobi/locale/ru/LC_MESSAGES/django.po index 646e5c3f6..60c583cd6 100644 --- a/src/fobi/locale/ru/LC_MESSAGES/django.po +++ b/src/fobi/locale/ru/LC_MESSAGES/django.po @@ -7,22 +7,25 @@ msgid "" msgstr "" "Project-Id-Version: 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-03-10 13:18+0100\n" -"PO-Revision-Date: 2015-02-27 23:51+0100\n" +"POT-Creation-Date: 2015-03-23 13:39+0100\n" +"PO-Revision-Date: 2015-03-24 23:44+0100\n" "Last-Translator: Artur Barseghyan \n" "Language-Team: LANGUAGE \n" "Language: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: admin.py:124 admin.py:193 admin.py:226 models.py:316 models.py:344 +#: admin.py:125 +#: admin.py:194 +#: admin.py:227 +#: models.py:316 +#: models.py:344 #: contrib/apps/djangocms_integration/models.py:26 #: contrib/apps/feincms_integration/widgets.py:30 #: contrib/apps/mezzanine_integration/models.py:24 -#: contrib/plugins/form_handlers/db_store/models.py:47 +#: contrib/plugins/form_handlers/db_store/models.py:49 #: contrib/plugins/form_handlers/db_store/templates/db_store/view_saved_form_data_entries.html:39 #: contrib/themes/foundation5/templates/foundation5/dashboard.html:29 #: contrib/themes/foundation5/widgets/form_handlers/db_store_foundation5_widget/templates/db_store_foundation5_widget/view_saved_form_data_entries.html:40 @@ -30,64 +33,88 @@ msgstr "" msgid "Form" msgstr "Форма" -#: admin.py:127 +#: admin.py:128 msgid "Custom" msgstr "Дополнительно" -#: admin.py:135 models.py:78 models.py:216 models.py:264 -#: contrib/plugins/form_handlers/db_store/models.py:49 +#: admin.py:136 +#: models.py:78 +#: models.py:216 +#: models.py:264 +#: contrib/plugins/form_handlers/db_store/models.py:51 msgid "User" msgstr "Пользователь" -#: admin.py:139 +#: admin.py:140 msgid "Additional" msgstr "Дополнительно" -#: admin.py:147 admin.py:171 admin.py:199 admin.py:266 +#: admin.py:148 +#: admin.py:172 +#: admin.py:200 +#: admin.py:267 #: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/base_edit.html:84 #: contrib/themes/simple/templates/simple/base_edit.html:76 msgid "Fobi" msgstr "" -#: admin.py:190 admin.py:223 models.py:121 +#: admin.py:191 +#: admin.py:224 +#: models.py:121 msgid "Plugin" msgstr "Плагин" -#: admin.py:232 models.py:472 +#: admin.py:233 +#: models.py:472 msgid "Form handler entry" msgstr "Обработчик формы" -#: admin.py:336 +#: admin.py:338 msgid "{0} plugins were changed successfully." msgstr "{0} плагинов были изменены успешно." -#: admin.py:342 +#: admin.py:344 +msgid "Form contains errors: {}" +msgstr "Форма содержит ошибки: {}" + +#: admin.py:350 msgid "POST required when changing in bulk!" msgstr "Для множественных изменений необходим POST!" -#: base.py:108 +#: base.py:110 msgid "Build your forms" msgstr "Разработчик форм" -#: base.py:521 models.py:217 models.py:265 models.py:318 +#: base.py:523 +#: models.py:217 +#: models.py:265 +#: models.py:318 #: contrib/plugins/form_elements/fields/boolean/forms.py:32 -#: contrib/plugins/form_elements/fields/date/forms.py:33 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:34 +#: contrib/plugins/form_elements/fields/date/forms.py:35 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:42 -#: contrib/plugins/form_elements/fields/datetime/forms.py:33 +#: contrib/plugins/form_elements/fields/datetime/forms.py:35 +#: contrib/plugins/form_elements/fields/decimal/forms.py:40 #: contrib/plugins/form_elements/fields/email/forms.py:37 #: contrib/plugins/form_elements/fields/file/forms.py:34 +#: contrib/plugins/form_elements/fields/float/forms.py:36 #: contrib/plugins/form_elements/fields/hidden/forms.py:33 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:36 #: contrib/plugins/form_elements/fields/input/forms.py:61 -#: contrib/plugins/form_elements/fields/integer/forms.py:35 +#: contrib/plugins/form_elements/fields/integer/forms.py:36 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:38 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:32 #: contrib/plugins/form_elements/fields/password/forms.py:35 #: contrib/plugins/form_elements/fields/radio/forms.py:34 +#: contrib/plugins/form_elements/fields/regex/forms.py:38 #: contrib/plugins/form_elements/fields/select/forms.py:34 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:36 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:34 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:36 +#: contrib/plugins/form_elements/fields/slug/forms.py:35 #: contrib/plugins/form_elements/fields/text/forms.py:35 #: contrib/plugins/form_elements/fields/textarea/forms.py:33 +#: contrib/plugins/form_elements/fields/time/forms.py:35 #: contrib/plugins/form_elements/fields/url/forms.py:35 #: contrib/plugins/form_elements/security/captcha/forms.py:35 #: contrib/plugins/form_elements/security/honeypot/forms.py:35 @@ -97,24 +124,33 @@ msgstr "Разработчик форм" msgid "Name" msgstr "Название" -#: base.py:526 contrib/plugins/form_elements/fields/boolean/forms.py:27 -#: contrib/plugins/form_elements/fields/date/forms.py:28 +#: base.py:528 +#: contrib/plugins/form_elements/fields/boolean/forms.py:27 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:29 +#: contrib/plugins/form_elements/fields/date/forms.py:30 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:37 -#: contrib/plugins/form_elements/fields/datetime/forms.py:28 +#: contrib/plugins/form_elements/fields/datetime/forms.py:30 +#: contrib/plugins/form_elements/fields/decimal/forms.py:35 #: contrib/plugins/form_elements/fields/email/forms.py:32 #: contrib/plugins/form_elements/fields/file/forms.py:29 +#: contrib/plugins/form_elements/fields/float/forms.py:31 #: contrib/plugins/form_elements/fields/hidden/forms.py:28 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:31 #: contrib/plugins/form_elements/fields/input/forms.py:56 -#: contrib/plugins/form_elements/fields/integer/forms.py:30 +#: contrib/plugins/form_elements/fields/integer/forms.py:31 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:33 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:27 #: contrib/plugins/form_elements/fields/password/forms.py:30 #: contrib/plugins/form_elements/fields/radio/forms.py:29 +#: contrib/plugins/form_elements/fields/regex/forms.py:33 #: contrib/plugins/form_elements/fields/select/forms.py:29 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:31 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:29 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:31 +#: contrib/plugins/form_elements/fields/slug/forms.py:30 #: contrib/plugins/form_elements/fields/text/forms.py:30 #: contrib/plugins/form_elements/fields/textarea/forms.py:28 +#: contrib/plugins/form_elements/fields/time/forms.py:30 #: contrib/plugins/form_elements/fields/url/forms.py:30 #: contrib/plugins/form_elements/security/captcha/forms.py:30 #: contrib/plugins/form_elements/security/honeypot/forms.py:30 @@ -122,47 +158,65 @@ msgstr "Название" msgid "Label" msgstr "Ярлык" -#: base.py:531 contrib/plugins/form_elements/fields/boolean/forms.py:37 -#: contrib/plugins/form_elements/fields/date/forms.py:38 +#: base.py:533 +#: contrib/plugins/form_elements/fields/boolean/forms.py:37 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:60 +#: contrib/plugins/form_elements/fields/date/forms.py:40 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:47 -#: contrib/plugins/form_elements/fields/datetime/forms.py:38 +#: contrib/plugins/form_elements/fields/datetime/forms.py:40 +#: contrib/plugins/form_elements/fields/decimal/forms.py:45 #: contrib/plugins/form_elements/fields/email/forms.py:42 #: contrib/plugins/form_elements/fields/file/forms.py:39 +#: contrib/plugins/form_elements/fields/float/forms.py:41 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:47 #: contrib/plugins/form_elements/fields/input/forms.py:66 -#: contrib/plugins/form_elements/fields/integer/forms.py:40 +#: contrib/plugins/form_elements/fields/integer/forms.py:41 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:43 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:37 #: contrib/plugins/form_elements/fields/password/forms.py:40 #: contrib/plugins/form_elements/fields/radio/forms.py:60 +#: contrib/plugins/form_elements/fields/regex/forms.py:43 #: contrib/plugins/form_elements/fields/select/forms.py:60 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:47 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:60 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:47 +#: contrib/plugins/form_elements/fields/slug/forms.py:40 #: contrib/plugins/form_elements/fields/text/forms.py:40 #: contrib/plugins/form_elements/fields/textarea/forms.py:38 +#: contrib/plugins/form_elements/fields/time/forms.py:40 #: contrib/plugins/form_elements/fields/url/forms.py:40 #: contrib/plugins/form_elements/security/captcha/forms.py:40 #: contrib/plugins/form_elements/security/recaptcha/forms.py:40 msgid "Help text" msgstr "Помощь" -#: base.py:536 contrib/plugins/form_elements/fields/boolean/forms.py:47 -#: contrib/plugins/form_elements/fields/date/forms.py:53 +#: base.py:538 +#: contrib/plugins/form_elements/fields/boolean/forms.py:47 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:70 +#: contrib/plugins/form_elements/fields/date/forms.py:56 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:72 -#: contrib/plugins/form_elements/fields/datetime/forms.py:53 +#: contrib/plugins/form_elements/fields/datetime/forms.py:56 +#: contrib/plugins/form_elements/fields/decimal/forms.py:75 #: contrib/plugins/form_elements/fields/email/forms.py:58 #: contrib/plugins/form_elements/fields/file/forms.py:55 +#: contrib/plugins/form_elements/fields/float/forms.py:61 #: contrib/plugins/form_elements/fields/hidden/forms.py:49 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:57 #: contrib/plugins/form_elements/fields/input/forms.py:82 -#: contrib/plugins/form_elements/fields/integer/forms.py:60 +#: contrib/plugins/form_elements/fields/integer/forms.py:61 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:70 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:47 #: contrib/plugins/form_elements/fields/password/forms.py:56 #: contrib/plugins/form_elements/fields/radio/forms.py:70 +#: contrib/plugins/form_elements/fields/regex/forms.py:65 #: contrib/plugins/form_elements/fields/select/forms.py:70 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:57 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:70 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:57 +#: contrib/plugins/form_elements/fields/slug/forms.py:56 #: contrib/plugins/form_elements/fields/text/forms.py:56 #: contrib/plugins/form_elements/fields/textarea/forms.py:48 +#: contrib/plugins/form_elements/fields/time/forms.py:56 #: contrib/plugins/form_elements/fields/url/forms.py:56 #: contrib/plugins/form_elements/security/captcha/forms.py:56 #: contrib/plugins/form_elements/security/honeypot/forms.py:56 @@ -170,27 +224,27 @@ msgstr "Помощь" msgid "Required" msgstr "Обязательно" -#: base.py:558 +#: base.py:560 msgid "Duplicate field name!" msgstr "Название поля должно быть уникальным!" -#: base.py:563 +#: base.py:565 msgid "Duplicate label name!" msgstr "Ярлык поля должен быть уникальым!" -#: base.py:642 +#: base.py:644 msgid "General" msgstr "Основное" -#: base.py:2143 +#: base.py:2147 msgid "Theme `{0}` does not exist!" msgstr "Темы `{0}` не существует!" -#: constants.py:18 +#: constants.py:19 msgid "Append" msgstr "Добавить" -#: constants.py:19 +#: constants.py:20 msgid "Replace" msgstr "Заменить" @@ -202,25 +256,26 @@ msgstr "Выбранные плагины" msgid "Users action" msgstr "Действие над пользователями" -#: forms.py:115 forms.py:122 +#: forms.py:115 +#: forms.py:122 msgid "If set to ``replace``, the groups are replaced; otherwise - appended." -msgstr "" -"Если вы выберете ``заменить``, группы будут перезаписаны; в обратном случае " -"- добавлены." +msgstr "Если вы выберете ``заменить``, группы будут перезаписаны; в обратном случае - добавлены." #: forms.py:120 msgid "Groups action" msgstr "Действие над группами" -#: helpers.py:349 helpers.py:374 +#: helpers.py:388 +#: helpers.py:413 msgid "Invalid value for initial: {0}. Should be any of the following: {1}" -msgstr "" +msgstr "Неверное начальное значение: {0}. Допустимые значения: {1}" #: models.py:80 msgid "Group" msgstr "Группа" -#: models.py:113 models.py:414 +#: models.py:113 +#: models.py:414 msgid "UID" msgstr "" @@ -232,7 +287,8 @@ msgstr "Группы" msgid "Users" msgstr "Пользователи" -#: models.py:160 models.py:191 +#: models.py:160 +#: models.py:191 msgid "Plugin UID" msgstr "UID плагина" @@ -252,7 +308,9 @@ msgstr "Плагин обработчика формы" msgid "Form handler plugins" msgstr "Плагины обработчиков формы" -#: models.py:218 models.py:267 +#: models.py:218 +#: models.py:267 +#: contrib/plugins/form_elements/fields/slug/fobi_form_elements.py:22 msgid "Slug" msgstr "Слаг" @@ -302,7 +360,8 @@ msgstr "Можно клонировать?" msgid "Makes your form cloneable by other users." msgstr "Другие пользователи смогут клонировать вашу форму." -#: models.py:278 models.py:438 +#: models.py:278 +#: models.py:438 msgid "Position" msgstr "Порядок" @@ -354,11 +413,13 @@ msgstr "" msgid "Form fieldset entries" msgstr "" -#: models.py:345 contrib/plugins/form_handlers/db_store/models.py:53 +#: models.py:345 +#: contrib/plugins/form_handlers/db_store/models.py:55 msgid "Plugin data" msgstr "Данные плагина" -#: models.py:433 models.py:467 +#: models.py:433 +#: models.py:467 msgid "Plugin name" msgstr "Название плагина" @@ -390,7 +451,7 @@ msgstr "Обработчики формы" #: templates/fobi/generic/edit_form_entry_ajax.html:119 #: templates/fobi/generic/view_form_entry.html:8 msgid "Edit" -msgstr "Изменить" +msgstr "Редактировать" #: utils.py:334 #: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/dashboard.html:83 @@ -412,12 +473,17 @@ msgstr "{0} не найдено." msgid "Form {0} was created successfully." msgstr "Форма {0} успешно создана." -#: views.py:175 views.py:282 +#: views.py:175 +#: views.py:282 msgid "Errors occured while saving the form: {0}." msgstr "Во время сохранения данных формы произошли следующие ошибки: {0}." -#: views.py:226 views.py:395 views.py:633 views.py:865 views.py:976 -#: views.py:1018 +#: views.py:226 +#: views.py:396 +#: views.py:634 +#: views.py:866 +#: views.py:977 +#: views.py:1019 msgid "Form entry not found." msgstr "Форма не найдена" @@ -433,68 +499,69 @@ msgstr "При попытке сохранения порядка элемент msgid "Form {0} was edited successfully." msgstr "Форма {0} успешно сохранена." -#: views.py:404 views.py:640 -#, fuzzy +#: views.py:405 +#: views.py:641 msgid "Plugin does not exist or you are not allowed to use this plugin!" msgstr "Плагин не найден или вам не разрешено его использовать!" -#: views.py:467 +#: views.py:468 msgid "The form element plugin \"{0}\" was added successfully." msgstr "Элемент формы \"{0}\" добавлен успешно." -#: views.py:515 +#: views.py:516 msgid "Form element entry not found." msgstr "Элемент формы не найден." -#: views.py:527 +#: views.py:528 msgid "The form element plugin \"{0}\" is not configurable!" msgstr "Элемент формы \"{0}\" не настраивается!" -#: views.py:559 +#: views.py:560 msgid "The form element plugin \"{0}\" was edited successfully." msgstr "Элемент формы \"{0}\" успешно сохранен." -#: views.py:609 +#: views.py:610 msgid "The form element plugin \"{0}\" was deleted successfully." msgstr "Элемент формы \"{0}\" успешно удален." -#: views.py:655 +#: views.py:656 msgid "The {0} plugin can be used only once in a form." -msgstr "" +msgstr "{0} плагин разрешено использовать единожды в форме." -#: views.py:697 +#: views.py:698 msgid "The form handler plugin \"{0}\" was added successfully." msgstr "Обработчик формы \"{0}\" успешно добавлен." -#: views.py:750 +#: views.py:751 msgid "Form handler entry not found." msgstr "Обработчик формы не найден." -#: views.py:763 +#: views.py:764 msgid "The form handler plugin \"{0}\" is not configurable!" msgstr "Обработчик формы \"{0}\" не настраивается!" -#: views.py:786 +#: views.py:787 msgid "The form handler plugin \"{0}\" was edited successfully." msgstr "Обработчик формы \"{0}\" успешно изменен." -#: views.py:835 +#: views.py:836 msgid "The form handler plugin \"{0}\" was deleted successfully." msgstr "Oработчик формы \"{0}\" успешно удален." -#: views.py:918 integration/processors.py:156 +#: views.py:919 +#: integration/processors.py:156 msgid "Form {0} was submitted successfully." msgstr "Форма {0} успешно отправлена." -#: views.py:1024 +#: views.py:1025 msgid "The form \"{0}\" was deleted successfully." msgstr "Форма \"{0}\" успешно удалена." -#: widgets.py:22 +#: widgets.py:30 msgid "Yes" msgstr "Да" -#: widgets.py:23 +#: widgets.py:31 msgid "No" msgstr "Нет" @@ -618,7 +685,7 @@ msgid "Fobi forms" msgstr "Формы fobi" #: contrib/apps/mezzanine_integration/templates/mezzanine_integration/admin/change_form.html:8 -#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:78 +#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:80 #: contrib/plugins/form_handlers/db_store/templates/db_store/plugin_data_repr.html:4 #: contrib/themes/foundation5/widgets/form_handlers/db_store_foundation5_widget/templates/db_store_foundation5_widget/plugin_data_repr.html:4 msgid "View entries" @@ -626,7 +693,7 @@ msgstr "Просмотреть записи" #: contrib/apps/mezzanine_integration/templates/mezzanine_integration/admin/change_form.html:9 msgid "History" -msgstr "" +msgstr "История" #: contrib/apps/mezzanine_integration/templates/mezzanine_integration/admin/change_form.html:10 msgid "View on site" @@ -685,12 +752,12 @@ msgstr "Изображение отсутствует!" #: contrib/plugins/form_elements/content/content_text/fobi_form_elements.py:22 msgid "Content text" -msgstr "Текст" +msgstr "Текст (визуальный элемент)" #: contrib/plugins/form_elements/content/content_text/forms.py:24 #: contrib/plugins/form_elements/fields/text/fobi_form_elements.py:22 msgid "Text" -msgstr "Текст (визуальный элемент)" +msgstr "Текст" #: contrib/plugins/form_elements/content/content_video/fobi_form_elements.py:24 msgid "Content video" @@ -710,57 +777,92 @@ msgid "Boolean" msgstr "Галочка" #: contrib/plugins/form_elements/fields/boolean/fobi_form_elements.py:21 -#: contrib/plugins/form_elements/fields/date/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/fobi_form_elements.py:32 +#: contrib/plugins/form_elements/fields/date/fobi_form_elements.py:25 #: contrib/plugins/form_elements/fields/date_drop_down/fobi_form_elements.py:25 -#: contrib/plugins/form_elements/fields/datetime/fobi_form_elements.py:24 +#: contrib/plugins/form_elements/fields/datetime/fobi_form_elements.py:26 +#: contrib/plugins/form_elements/fields/decimal/fobi_form_elements.py:27 #: contrib/plugins/form_elements/fields/email/fobi_form_elements.py:25 -#: contrib/plugins/form_elements/fields/file/fobi_form_elements.py:26 +#: contrib/plugins/form_elements/fields/file/fobi_form_elements.py:28 +#: contrib/plugins/form_elements/fields/float/fobi_form_elements.py:23 #: contrib/plugins/form_elements/fields/hidden/fobi_form_elements.py:25 #: contrib/plugins/form_elements/fields/hidden_model_object/fobi_form_elements.py:26 #: contrib/plugins/form_elements/fields/input/fobi_form_elements.py:23 -#: contrib/plugins/form_elements/fields/integer/fobi_form_elements.py:30 +#: contrib/plugins/form_elements/fields/integer/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/ip_address/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/null_boolean/fobi_form_elements.py:25 #: contrib/plugins/form_elements/fields/password/fobi_form_elements.py:24 -#: contrib/plugins/form_elements/fields/radio/fobi_form_elements.py:24 -#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:24 -#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:26 -#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:26 -#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:30 +#: contrib/plugins/form_elements/fields/radio/fobi_form_elements.py:30 +#: contrib/plugins/form_elements/fields/regex/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:32 +#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:31 +#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:32 +#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:36 +#: contrib/plugins/form_elements/fields/slug/fobi_form_elements.py:23 #: contrib/plugins/form_elements/fields/text/fobi_form_elements.py:23 #: contrib/plugins/form_elements/fields/textarea/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/time/fobi_form_elements.py:26 #: contrib/plugins/form_elements/fields/url/fobi_form_elements.py:30 msgid "Fields" msgstr "Поля" #: contrib/plugins/form_elements/fields/boolean/forms.py:42 -#: contrib/plugins/form_elements/fields/date/forms.py:43 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:65 +#: contrib/plugins/form_elements/fields/date/forms.py:45 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:62 -#: contrib/plugins/form_elements/fields/datetime/forms.py:43 +#: contrib/plugins/form_elements/fields/datetime/forms.py:45 +#: contrib/plugins/form_elements/fields/decimal/forms.py:50 #: contrib/plugins/form_elements/fields/email/forms.py:47 #: contrib/plugins/form_elements/fields/file/forms.py:44 +#: contrib/plugins/form_elements/fields/float/forms.py:46 #: contrib/plugins/form_elements/fields/hidden/forms.py:38 #: contrib/plugins/form_elements/fields/hidden_model_object/forms.py:52 #: contrib/plugins/form_elements/fields/input/forms.py:71 -#: contrib/plugins/form_elements/fields/integer/forms.py:45 +#: contrib/plugins/form_elements/fields/integer/forms.py:46 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:48 +#: contrib/plugins/form_elements/fields/null_boolean/forms.py:42 #: contrib/plugins/form_elements/fields/password/forms.py:45 #: contrib/plugins/form_elements/fields/radio/forms.py:65 +#: contrib/plugins/form_elements/fields/regex/forms.py:54 #: contrib/plugins/form_elements/fields/select/forms.py:65 #: contrib/plugins/form_elements/fields/select_model_object/forms.py:52 #: contrib/plugins/form_elements/fields/select_multiple/forms.py:65 #: contrib/plugins/form_elements/fields/select_multiple_model_objects/forms.py:52 +#: contrib/plugins/form_elements/fields/slug/forms.py:45 #: contrib/plugins/form_elements/fields/text/forms.py:45 #: contrib/plugins/form_elements/fields/textarea/forms.py:43 +#: contrib/plugins/form_elements/fields/time/forms.py:45 #: contrib/plugins/form_elements/fields/url/forms.py:45 #: contrib/plugins/form_elements/security/honeypot/forms.py:45 msgid "Initial" msgstr "Начальное значение" -#: contrib/plugins/form_elements/fields/date/fobi_form_elements.py:22 +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/fobi_form_elements.py:31 +#, fuzzy +msgid "Checkbox select multiple" +msgstr "Выпадающий список множественного выбора" + +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:39 +#: contrib/plugins/form_elements/fields/radio/forms.py:39 +#: contrib/plugins/form_elements/fields/select/forms.py:39 +#: contrib/plugins/form_elements/fields/select_multiple/forms.py:39 +msgid "Choices" +msgstr "Варианы" + +#: contrib/plugins/form_elements/fields/checkbox_select_multiple/forms.py:41 +#: contrib/plugins/form_elements/fields/radio/forms.py:41 +#: contrib/plugins/form_elements/fields/select/forms.py:41 +#: contrib/plugins/form_elements/fields/select_multiple/forms.py:41 +msgid "Enter single values/pairs per line. Example:
    1
    2
    alpha, Alpha
    beta, Beta
    omega

It finally transforms into the following HTML code:
    <select id=\"id_NAME_OF_THE_ELEMENT\" name=\"NAME_OF_THE_ELEMENT\">
        <option value=\"1\">1</option>
        <option value=\"2\">2</option>
        <option value=\"alpha\">Alpha</option>
        <option value=\"beta\">Beta</option>
        <option value=\"omega\">omega</option>
    </select>
" +msgstr "Введите либо отдельные, либо партные значения - по одному на строку. Пример:
    1
    2
    alpha, Alpha
    beta, Beta
    omega

В результате получится следующий HTML код:
    <select id=\"id_NAME_OF_THE_ELEMENT\" name=\"NAME_OF_THE_ELEMENT\">
        <option value=\"1\">1</option>
        <option value=\"2\">2</option>
        <option value=\"alpha\">Alpha</option>
        <option value=\"beta\">Beta</option>
        <option value=\"omega\">omega</option>
    </select>
" + +#: contrib/plugins/form_elements/fields/date/fobi_form_elements.py:24 #: contrib/plugins/form_handlers/db_store/templates/db_store/view_saved_form_data_entries.html:41 #: contrib/themes/foundation5/widgets/form_handlers/db_store_foundation5_widget/templates/db_store_foundation5_widget/view_saved_form_data_entries.html:42 msgid "Date" msgstr "Дата" -#: contrib/plugins/form_elements/fields/date/forms.py:48 +#: contrib/plugins/form_elements/fields/date/forms.py:51 #: contrib/plugins/form_elements/fields/date_drop_down/forms.py:67 msgid "Input formats" msgstr "Форматы ввода" @@ -777,14 +879,54 @@ msgstr "Минимальное значение года" msgid "Maximum year value" msgstr "Максимальное значение года" -#: contrib/plugins/form_elements/fields/datetime/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/datetime/fobi_form_elements.py:25 msgid "DateTime" msgstr "Дата/время" -#: contrib/plugins/form_elements/fields/datetime/forms.py:48 +#: contrib/plugins/form_elements/fields/datetime/forms.py:51 +#: contrib/plugins/form_elements/fields/time/forms.py:51 msgid "Input formats" msgstr "Форматы ввода" +#: contrib/plugins/form_elements/fields/decimal/fobi_form_elements.py:26 +msgid "Decimal" +msgstr "Десятичное число" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:55 +msgid "Max digits" +msgstr "Максимальное кол-во цифр" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:60 +msgid "Decimal places" +msgstr "Разрядность" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:65 +#: contrib/plugins/form_elements/fields/float/forms.py:51 +#: contrib/plugins/form_elements/fields/integer/forms.py:51 +msgid "Min value" +msgstr "Минимальное значение" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:70 +#: contrib/plugins/form_elements/fields/float/forms.py:56 +#: contrib/plugins/form_elements/fields/integer/forms.py:56 +msgid "Max value" +msgstr "Максимальное значение" + +#: contrib/plugins/form_elements/fields/decimal/forms.py:80 +#: contrib/plugins/form_elements/fields/email/forms.py:63 +#: contrib/plugins/form_elements/fields/float/forms.py:66 +#: contrib/plugins/form_elements/fields/input/forms.py:87 +#: contrib/plugins/form_elements/fields/integer/forms.py:66 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:75 +#: contrib/plugins/form_elements/fields/password/forms.py:61 +#: contrib/plugins/form_elements/fields/regex/forms.py:70 +#: contrib/plugins/form_elements/fields/slug/forms.py:61 +#: contrib/plugins/form_elements/fields/text/forms.py:61 +#: contrib/plugins/form_elements/fields/textarea/forms.py:53 +#: contrib/plugins/form_elements/fields/url/forms.py:61 +msgid "Placeholder" +msgstr "Метка-заполнитель " + #: contrib/plugins/form_elements/fields/email/fobi_form_elements.py:24 msgid "Email" msgstr "Эл. почта" @@ -793,27 +935,24 @@ msgstr "Эл. почта" #: contrib/plugins/form_elements/fields/file/forms.py:49 #: contrib/plugins/form_elements/fields/hidden/forms.py:43 #: contrib/plugins/form_elements/fields/input/forms.py:76 +#: contrib/plugins/form_elements/fields/ip_address/forms.py:64 #: contrib/plugins/form_elements/fields/password/forms.py:50 +#: contrib/plugins/form_elements/fields/regex/forms.py:59 +#: contrib/plugins/form_elements/fields/slug/forms.py:50 #: contrib/plugins/form_elements/fields/text/forms.py:50 #: contrib/plugins/form_elements/fields/url/forms.py:50 #: contrib/plugins/form_elements/security/honeypot/forms.py:50 msgid "Max length" msgstr "Максимальная длина" -#: contrib/plugins/form_elements/fields/email/forms.py:63 -#: contrib/plugins/form_elements/fields/input/forms.py:87 -#: contrib/plugins/form_elements/fields/integer/forms.py:65 -#: contrib/plugins/form_elements/fields/password/forms.py:61 -#: contrib/plugins/form_elements/fields/text/forms.py:61 -#: contrib/plugins/form_elements/fields/textarea/forms.py:53 -#: contrib/plugins/form_elements/fields/url/forms.py:61 -msgid "Placeholder" -msgstr "Метка-заполнитель " - -#: contrib/plugins/form_elements/fields/file/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/file/fobi_form_elements.py:27 msgid "File" msgstr "Файл" +#: contrib/plugins/form_elements/fields/float/fobi_form_elements.py:22 +msgid "Float" +msgstr "Число с плавающей точкой" + #: contrib/plugins/form_elements/fields/hidden/fobi_form_elements.py:24 msgid "Hidden" msgstr "Скрытое поле" @@ -877,78 +1016,52 @@ msgstr "Шаг (HTML5 step)" msgid "Type (HTML type)" msgstr "Тип (HTML type)" -#: contrib/plugins/form_elements/fields/integer/fobi_form_elements.py:29 +#: contrib/plugins/form_elements/fields/integer/fobi_form_elements.py:22 msgid "Integer" msgstr "Целое число" -#: contrib/plugins/form_elements/fields/integer/forms.py:50 -msgid "Min value" -msgstr "Минимальное значение" +#: contrib/plugins/form_elements/fields/ip_address/fobi_form_elements.py:24 +msgid "IP address" +msgstr "IP адрес" -#: contrib/plugins/form_elements/fields/integer/forms.py:55 -msgid "Max value" -msgstr "Максимальное значение" +#: contrib/plugins/form_elements/fields/ip_address/forms.py:53 +msgid "Protocol" +msgstr "Протокол" + +#: contrib/plugins/form_elements/fields/ip_address/forms.py:59 +msgid "Unpack IPV4" +msgstr "Распаковать IPV4" + +#: contrib/plugins/form_elements/fields/null_boolean/fobi_form_elements.py:24 +msgid "Null boolean" +msgstr "Булевое (выпадающий список)" #: contrib/plugins/form_elements/fields/password/fobi_form_elements.py:23 msgid "Password" msgstr "Пароль" -#: contrib/plugins/form_elements/fields/radio/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/radio/fobi_form_elements.py:29 msgid "Radio" msgstr "Радио кнопка" -#: contrib/plugins/form_elements/fields/radio/forms.py:39 -#: contrib/plugins/form_elements/fields/select/forms.py:39 -#: contrib/plugins/form_elements/fields/select_multiple/forms.py:39 -msgid "Choices" -msgstr "Варианы" +#: contrib/plugins/form_elements/fields/regex/fobi_form_elements.py:24 +#: contrib/plugins/form_elements/fields/regex/forms.py:48 +msgid "Regex" +msgstr "Регулярное выражение" -#: contrib/plugins/form_elements/fields/radio/forms.py:41 -#: contrib/plugins/form_elements/fields/select/forms.py:41 -#: contrib/plugins/form_elements/fields/select_multiple/forms.py:41 -msgid "" -"Enter single values/pairs per line. Example:
   " -" 1
    2
    alpha, " -"Alpha
    beta, Beta
    " -"omega

It finally transforms into the following HTML code:" -"
    <select id=\"id_NAME_OF_THE_ELEMENT\" " -"name=\"NAME_OF_THE_ELEMENT\">
      " -"  <option value=\"1\">1</option>
   " -"     <option value=\"2\">2</option>
        <option value=\"alpha" -"\">Alpha</option>
       " -" <option value=\"beta\">Beta</option>
   " -"     <option value=\"omega\">omega</" -"option>
    </select>
" -msgstr "" -"Введите либо отдельные, либо партные значения - по одному на строку. Пример: " -"
    1
    2
 " -"   alpha, Alpha
    beta, Beta
    omega

В результате получится следующий " -"HTML код:
    <select id=" -"\"id_NAME_OF_THE_ELEMENT\" name=\"NAME_OF_THE_ELEMENT\">
  " -"      <option value=\"1\">1</" -"option>
        <option " -"value=\"2\">2</option>
      " -"  <option value=\"alpha\">Alpha</option>
 " -"       <option value=\"beta\">" -"Beta</option>
        <" -"option value=\"omega\">omega</option>
    " -"</select>
" - -#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:23 +#: contrib/plugins/form_elements/fields/select/fobi_form_elements.py:31 msgid "Select" msgstr "Выпадающий список" -#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/select_model_object/fobi_form_elements.py:30 msgid "Select model object" msgstr "Выпадающий список объектов моделей" -#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:25 +#: contrib/plugins/form_elements/fields/select_multiple/fobi_form_elements.py:31 msgid "Select multiple" msgstr "Выпадающий список множественного выбора" -#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:29 +#: contrib/plugins/form_elements/fields/select_multiple_model_objects/fobi_form_elements.py:35 msgid "Select multiple model objects" msgstr "Выпадающий список множественного выбора объектов моделей" @@ -956,6 +1069,10 @@ msgstr "Выпадающий список множественного выбо msgid "Textarea" msgstr "Блок текста" +#: contrib/plugins/form_elements/fields/time/fobi_form_elements.py:25 +msgid "Time" +msgstr "Время" + #: contrib/plugins/form_elements/security/captcha/fobi_form_elements.py:75 msgid "Captcha" msgstr "" @@ -1001,7 +1118,7 @@ msgid "Raw" msgstr "Сырое" #: contrib/plugins/form_handlers/db_store/admin.py:39 -#: contrib/plugins/form_handlers/db_store/models.py:58 +#: contrib/plugins/form_handlers/db_store/models.py:60 msgid "Saved form data entry" msgstr "Сохраненная запись формы" @@ -1009,27 +1126,27 @@ msgstr "Сохраненная запись формы" msgid "Export data to CSV/XLS" msgstr "Экспортировать данные в формат CSV/XLS" -#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:27 +#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:29 msgid "DB store" msgstr "Сохранить в базе" -#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:84 +#: contrib/plugins/form_handlers/db_store/fobi_form_handlers.py:86 msgid "Export entries" msgstr "Экспортировать данные" -#: contrib/plugins/form_handlers/db_store/models.py:51 +#: contrib/plugins/form_handlers/db_store/models.py:53 msgid "Form data headers" msgstr "Заголовки данных формы" -#: contrib/plugins/form_handlers/db_store/models.py:54 +#: contrib/plugins/form_handlers/db_store/models.py:56 msgid "Date created" msgstr "Дата создания" -#: contrib/plugins/form_handlers/db_store/models.py:59 +#: contrib/plugins/form_handlers/db_store/models.py:61 msgid "Saved form data entries" msgstr "Сохраненные записи форм" -#: contrib/plugins/form_handlers/db_store/models.py:81 +#: contrib/plugins/form_handlers/db_store/models.py:83 msgid "Saved data" msgstr "Сохраненные данные" @@ -1048,9 +1165,9 @@ msgstr "Сохраненные данные формы" #: contrib/plugins/form_handlers/db_store/templates/db_store/view_saved_form_data_entries.html:49 #: contrib/themes/foundation5/widgets/form_handlers/db_store_foundation5_widget/templates/db_store_foundation5_widget/view_saved_form_data_entries.html:50 msgid "Filter" -msgstr "" +msgstr "Фильтровать" -#: contrib/plugins/form_handlers/http_repost/fobi_form_handlers.py:40 +#: contrib/plugins/form_handlers/http_repost/fobi_form_handlers.py:30 msgid "HTTP Repost" msgstr "Перепост по HTTP" @@ -1059,32 +1176,32 @@ msgstr "Перепост по HTTP" msgid "Endpoint URL" msgstr "Ссылка отправной точки" -#: contrib/plugins/form_handlers/mail/fobi_form_handlers.py:28 +#: contrib/plugins/form_handlers/mail/fobi_form_handlers.py:34 msgid "Mail" msgstr "Переслать по эл. почте" -#: contrib/plugins/form_handlers/mail/forms.py:28 +#: contrib/plugins/form_handlers/mail/forms.py:30 msgid "From name" msgstr "Имя отправителя" -#: contrib/plugins/form_handlers/mail/forms.py:33 +#: contrib/plugins/form_handlers/mail/forms.py:35 msgid "From email" msgstr "Эл. почта отправителя" -#: contrib/plugins/form_handlers/mail/forms.py:38 +#: contrib/plugins/form_handlers/mail/forms.py:40 msgid "To name" msgstr "Имя получателя" -#: contrib/plugins/form_handlers/mail/forms.py:43 +#: contrib/plugins/form_handlers/mail/forms.py:45 msgid "To email" msgstr "Эл. почта получателя" -#: contrib/plugins/form_handlers/mail/forms.py:48 +#: contrib/plugins/form_handlers/mail/forms.py:50 #: contrib/plugins/form_handlers/mail/templates/mail/plugin_data_repr.html:3 msgid "Subject" msgstr "Тема" -#: contrib/plugins/form_handlers/mail/forms.py:53 +#: contrib/plugins/form_handlers/mail/forms.py:55 msgid "Body" msgstr "Содержание" @@ -1106,7 +1223,7 @@ msgstr "Ошибка" #: contrib/themes/djangocms_admin_style_theme/fobi_themes.py:17 msgid "DjangoCMS admin style" -msgstr "" +msgstr "Стиль DjangoCMS admin" #: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/add_form_element_entry.html:10 #: contrib/themes/simple/templates/simple/add_form_element_entry.html:10 @@ -1195,7 +1312,7 @@ msgstr "Действия" #: contrib/themes/simple/templates/simple/edit_form_element_entry.html:10 #, python-format msgid "Edit \"%(plugin_name)s\" form element" -msgstr "Изменить \"%(plugin_name)s\" элемент формы" +msgstr "Редактировать \"%(plugin_name)s\" элемент формы" #: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/edit_form_entry_ajax.html:3 #: contrib/themes/foundation5/templates/foundation5/edit_form_entry_ajax.html:3 @@ -1228,7 +1345,7 @@ msgstr "Свойства" #: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/edit_form_entry_ajax.html:16 #: contrib/themes/simple/templates/simple/edit_form_entry_ajax.html:15 msgid "Change form elements" -msgstr "Изменить элементы" +msgstr "Редактировать элементы" #: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/edit_form_entry_ajax.html:24 #: contrib/themes/simple/templates/simple/edit_form_entry_ajax.html:23 @@ -1245,7 +1362,7 @@ msgstr "Сохранить порядок" #: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/edit_form_entry_ajax.html:67 #: contrib/themes/simple/templates/simple/edit_form_entry_ajax.html:66 msgid "Change form handlers" -msgstr "Изменить обработчик" +msgstr "Редактировать обработчики" #: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/edit_form_entry_ajax.html:75 #: contrib/themes/simple/templates/simple/edit_form_entry_ajax.html:74 @@ -1268,7 +1385,7 @@ msgstr "Информация" #: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/edit_form_entry_ajax.html:151 #: contrib/themes/simple/templates/simple/edit_form_entry_ajax.html:150 msgid "Change form properties" -msgstr "Изменить свойства формы" +msgstr "Редактировать свойства формы" #: contrib/themes/djangocms_admin_style_theme/templates/djangocms_admin_style_theme/edit_form_entry_ajax.html:163 #: contrib/themes/simple/templates/simple/edit_form_entry_ajax.html:162 @@ -1279,7 +1396,7 @@ msgstr "Сохранить" #: contrib/themes/simple/templates/simple/edit_form_handler_entry.html:10 #, python-format msgid "Edit \"%(plugin_name)s\" form handler" -msgstr "Изменить обработчик \"%(plugin_name)s\"" +msgstr "Редактировать обработчик \"%(plugin_name)s\"" #: contrib/themes/foundation5/fobi_themes.py:18 msgid "Foundation 5" @@ -1326,8 +1443,7 @@ msgstr "Сохранить изменения" #: templates/fobi/generic/snippets/form_properties_snippet.html:4 #: templates/fobi/generic/snippets/form_snippet.html:4 msgid "Fields marked with * are required" -msgstr "" -"Поля помеченные * заполнять обязательно" +msgstr "Поля помеченные * заполнять обязательно" #: contrib/themes/simple/fobi_themes.py:17 msgid "Simple" @@ -1337,7 +1453,7 @@ msgstr "Простая" #: templates/fobi/admin/bulk_change_plugins.html:32 #: templates/fobi/admin/bulk_change_plugins.html:37 msgid "Edit multiple objects" -msgstr "Изменить несколько объектов" +msgstr "Редактировать множество объектов" #: templates/fobi/admin/bulk_change_plugins.html:5 msgid "Django site admin" @@ -1357,7 +1473,7 @@ msgstr "Создать форму" #: templates/fobi/generic/edit_form_element_entry_ajax.html:6 #, python-format msgid "Edit \"%(plugin_name)s\" element of the form" -msgstr "Изменить элемент \"%(plugin_name)s\"" +msgstr "Редактировать элемент \"%(plugin_name)s\"" #: templates/fobi/generic/edit_form_element_entry_ajax.html:9 #: templates/fobi/generic/edit_form_handler_entry_ajax.html:9 @@ -1367,7 +1483,7 @@ msgstr "Отправить" #: templates/fobi/generic/edit_form_entry.html:5 msgid "Edit form entry" -msgstr "Изменить форму" +msgstr "Редактировать форму" #: templates/fobi/generic/edit_form_entry.html:9 #: templates/fobi/generic/view_form_entry.html:9 @@ -1378,7 +1494,7 @@ msgstr "Просмотреть" #: templates/fobi/generic/edit_form_handler_entry_ajax.html:6 #, python-format msgid "Edit \"%(plugin_name)s\" handler of the form" -msgstr "Изменить обработчик \"%(plugin_name)s\" вашей формы" +msgstr "Редактировать обработчик \"%(plugin_name)s\" вашей формы" #: templates/fobi/generic/form_entry_submitted.html:5 msgid "Form submitted!" @@ -1407,43 +1523,39 @@ msgstr "Вход" #: urls/edit.py:19 msgid "^forms/create/$" -msgstr "" +msgstr "^формы/создать/$" #: urls/edit.py:24 msgid "^forms/edit/(?P\\d+)/$" -msgstr "" +msgstr "^формы/редактировать/(?P\\d+)/$" #: urls/edit.py:29 msgid "^forms/delete/(?P\\d+)/$" -msgstr "" +msgstr "^формы/удалить/(?P\\d+)/$" #: urls/edit.py:34 -msgid "" -"^forms/elements/add/(?P\\d+)/(?P[\\w_" -"\\-]+)/$" -msgstr "" +msgid "^forms/elements/add/(?P\\d+)/(?P[\\w_\\-]+)/$" +msgstr "^формы/элементы/добавить/(?P\\d+)/(?P[\\w_\\-]+)/$" #: urls/edit.py:39 msgid "^forms/elements/edit/(?P\\d+)/$" -msgstr "" +msgstr "^формы/элементы/редактировать/(?P\\d+)/$" #: urls/edit.py:44 msgid "^forms/elements/delete/(?P\\d+)/$" -msgstr "" +msgstr "^формы/элементры/удалить/(?P\\d+)/" #: urls/edit.py:49 -msgid "" -"^forms/handlers/add/(?P\\d+)/(?P[\\w_" -"\\-]+)/$" -msgstr "" +msgid "^forms/handlers/add/(?P\\d+)/(?P[\\w_\\-]+)/$" +msgstr "^формы/обработчики/добавить/(?P\\d+)/(?P[\\w_\\-]+)/$" #: urls/edit.py:54 msgid "^forms/handlers/edit/(?P\\d+)/$" -msgstr "" +msgstr "^формы/обработчики/редактировать/(?P\\d+)/$" #: urls/edit.py:59 msgid "^forms/handlers/delete/(?P\\d+)/$" -msgstr "" +msgstr "^формы/обработчики/удалить/(?P\\d+)/$" #: urls/edit.py:64 msgid "^$" @@ -1451,15 +1563,15 @@ msgstr "" #: urls/view.py:16 msgid "^view/submitted/$" -msgstr "" +msgstr "^просмотр/отправлено/$" #: urls/view.py:21 msgid "^view/(?P[\\w_\\-]+)/$" -msgstr "" +msgstr "^просмотр/(?P[\\w_\\-]+)/$" #: urls/view.py:26 msgid "^view/(?P[\\w_\\-]+)/submitted/$" -msgstr "" +msgstr "^просмотр/(?P[\\w_\\-]+)/отправлено/$" #~ msgid "Is cloneable" #~ msgstr "Можно клонировать" diff --git a/src/fobi/utils.py b/src/fobi/utils.py index d1659f813..0098fa1c8 100644 --- a/src/fobi/utils.py +++ b/src/fobi/utils.py @@ -1,6 +1,11 @@ +""" +Another helper module. This module can NOT be safely imported from any fobi +(sub)module - thus should be imported carefully. +""" + __title__ = 'fobi.utils' __author__ = 'Artur Barseghyan ' -__copyright__ = 'Copyright (c) 2014 Artur Barseghyan' +__copyright__ = '2014-2015 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' __all__ = ( 'get_allowed_plugin_uids', 'get_user_plugins', 'get_user_plugin_uids', diff --git a/src/fobi/views.py b/src/fobi/views.py index b5c42de16..6f0036601 100644 --- a/src/fobi/views.py +++ b/src/fobi/views.py @@ -1,6 +1,10 @@ +""" +Views. +""" + __title__ = 'fobi.views' __author__ = 'Artur Barseghyan ' -__copyright__ = 'Copyright (c) 2014 Artur Barseghyan' +__copyright__ = '2014-2015 Artur Barseghyan' __license__ = 'GPL 2.0/LGPL 2.1' __all__ = ( 'create_form_entry', 'edit_form_entry', 'delete_form_entry', @@ -899,13 +903,22 @@ def view_form_entry(request, form_entry_slug, theme=None, template_name=None): stage=CALLBACK_FORM_VALID) # Run all handlers - run_form_handlers( + handler_responses, handler_errors = run_form_handlers( form_entry = form_entry, request = request, form = form, form_element_entries = form_element_entries ) + # Warning that not everything went ok. + if handler_errors: + for handler_error in handler_errors: + messages.warning( + request, + _("Error occured: {0}." + "").format(handler_error) + ) + # Fire post handler callbacks fire_form_callbacks( form_entry = form_entry, @@ -916,7 +929,8 @@ def view_form_entry(request, form_entry_slug, theme=None, template_name=None): messages.info( request, - _('Form {0} was submitted successfully.').format(form_entry.name) + _("Form {0} was submitted successfully." + "").format(form_entry.name) ) return redirect( reverse('fobi.form_entry_submitted', args=[form_entry.slug])