From ada7342777994d8f6983c2a8eb127e7de54ac460 Mon Sep 17 00:00:00 2001
From: Jan Kristinus <jan.kristinus@yakamara.de>
Date: Sat, 7 Sep 2024 18:02:13 +0200
Subject: [PATCH] WIP: Plugin less (#1526)

* E-Mail Plugin ins AddOn

* REST plugIn  ins addon

* Tools PlugIn ins AddOn

* Plugin Manager entfernt

* CS

* Docs
---
 .../daterangepicker/README.md                 |   0
 .../daterangepicker/bower.json                |   0
 .../daterangepicker/daterangepicker.css       |   0
 .../daterangepicker/daterangepicker.js        |   0
 .../daterangepicker/moment.min.js             |   0
 .../daterangepicker/package.js                |   0
 .../daterangepicker/package.json              |   0
 .../manager/assets => assets}/frontend.js     |   0
 .../assets => assets}/inputmask/CHANGELOG.md  |   0
 .../assets => assets}/inputmask/Gruntfile.js  |   0
 .../assets => assets}/inputmask/LICENSE.txt   |   0
 .../assets => assets}/inputmask/README.md     |   0
 .../inputmask/README_date.md                  |   0
 .../inputmask/README_numeric.md               |   0
 .../inputmask/README_other.md                 |   0
 .../assets => assets}/inputmask/bower.json    |   0
 .../inputmask/bundle.jquery.js                |   0
 .../assets => assets}/inputmask/bundle.js     |   0
 .../assets => assets}/inputmask/composer.json |   0
 .../dist/bindings/inputmask.binding.js        |   0
 .../inputmask/dist/inputmask.js               |   0
 .../inputmask/dist/inputmask.min.js           |   0
 .../inputmask/dist/jquery.inputmask.js        |   0
 .../inputmask/dist/jquery.inputmask.min.js    |   0
 .../inputmask/package-lock.json               |   0
 .../assets => assets}/inputmask/package.json  |   0
 .../inputmask/webpack.config.js               |   0
 .../manager/assets => assets}/manager.css     |   0
 {plugins/manager/assets => assets}/manager.js |   0
 .../manager/assets => assets}/relations.js    |   0
 {plugins/tools/assets => assets}/tools.js     |   0
 {plugins/manager/assets => assets}/widget.js  |   0
 boot.php                                      | 131 ++++++
 docs/02_email.md                              |   7 +-
 docs/03_table_manager.md                      |   2 +-
 docs/05_rest.md                               |   2 +-
 docs/08_tools.md                              |   2 +-
 .../yform/manager/action_buttons.php          |   0
 .../yform/manager/page/layout.php             |   0
 .../yform/manager/page/list.php               |   0
 install.php                                   | 337 ++++++++++++++-
 lang/de_de.lang                               | 395 ++++++++++++++++++
 lang/en_gb.lang                               | 377 +++++++++++++++++
 lang/es_es.lang                               | 370 ++++++++++++++++
 lang/pt_br.lang                               | 291 +++++++++++++
 lang/sv_se.lang                               | 381 +++++++++++++++++
 .../email_template.php                        |   0
 {plugins/manager/lib => lib}/list.php         |   0
 {plugins/manager/lib => lib}/list_tools.php   |   0
 .../lib/yform => lib}/manager/collection.php  |   0
 .../lib/yform => lib}/manager/dataset.php     |   0
 .../lib/yform => lib}/manager/field.php       |   0
 .../lib/yform => lib/manager}/manager.php     |   0
 .../lib/yform => lib}/manager/query.php       |   0
 .../lib/yform => lib}/manager/search.php      |   0
 .../lib/yform => lib}/manager/table.php       |   0
 .../lib/yform => lib}/manager/table/api.php   |   0
 .../manager/table/authorization.php           |   0
 .../yform => lib}/manager/table/perm/edit.php |   0
 .../yform => lib}/manager/table/perm/view.php |   0
 {plugins/rest/lib => lib}/rest/auth/auth.php  |   0
 {plugins/rest/lib => lib/rest}/rest.php       |   0
 {plugins/rest/lib => lib}/rest/route.php      |   0
 {plugins/email/lib => lib}/var_yform_data.php |   0
 .../manager/lib => lib}/var_yform_dataset.php |   0
 .../lib => lib}/yform/action/manage_db.php    |   0
 .../yform/action/tpl2email.php                |   0
 .../lib => lib}/yform/value/be_link.php       |   0
 .../yform/value/be_manager_relation.php       |   0
 .../lib => lib}/yform/value/be_media.php      |   0
 .../lib => lib}/yform/value/be_table.php      |   0
 .../lib => lib}/yform/value/be_user.php       |   0
 .../manager/lib => lib}/yform/value/prio.php  |   0
 lib/yform/value/uuid.php                      |   2 +-
 lib/{ => yform}/yform.php                     |   0
 package.yml                                   |  26 +-
 .../email/pages/index.php => pages/email.php  |   8 +-
 .../manager.data_edit.php                     |   0
 .../manager.data_export.php                   |   0
 .../manager.data_history.php                  |   0
 .../manager.data_import.php                   |   0
 .../manager.table_edit.php                    |   0
 .../manager.table_field.php                   |   0
 .../manager.table_migrate.php                 |   0
 .../manager.tableset_export.php               |   0
 .../manager.tableset_import.php               |   0
 .../pages/access.php => pages/rest.access.php |   0
 .../pages/token.php => pages/rest.token.php   |   0
 plugins/email/boot.php                        |  13 -
 plugins/email/install.php                     |  26 --
 plugins/email/lang/de_de.lang                 |  34 --
 plugins/email/lang/en_gb.lang                 |  33 --
 plugins/email/lang/es_es.lang                 |  33 --
 plugins/email/lang/pt_br.lang                 |  31 --
 plugins/email/lang/sv_se.lang                 |  34 --
 plugins/email/package.yml                     |  12 -
 plugins/email/uninstall.php                   |  11 -
 plugins/email/update.php                      |   8 -
 plugins/manager/boot.php                      | 109 -----
 plugins/manager/install.php                   | 263 ------------
 plugins/manager/lang/de_de.lang               | 308 --------------
 plugins/manager/lang/en_gb.lang               | 290 -------------
 plugins/manager/lang/es_es.lang               | 283 -------------
 plugins/manager/lang/pt_br.lang               | 257 ------------
 plugins/manager/lang/sv_se.lang               | 293 -------------
 plugins/manager/package.yml                   |  18 -
 plugins/manager/update.php                    |   8 -
 plugins/rest/boot.php                         |  16 -
 plugins/rest/install.php                      |  18 -
 plugins/rest/lang/de_de.lang                  |  49 ---
 plugins/rest/lang/en_gb.lang                  |  49 ---
 plugins/rest/lang/es_es.lang                  |  49 ---
 plugins/rest/lang/sv_se.lang                  |  49 ---
 plugins/rest/package.yml                      |  13 -
 plugins/rest/update.php                       |   8 -
 plugins/tools/boot.php                        |  21 -
 plugins/tools/package.yml                     |   5 -
 {plugins/manager/scss => scss}/manager.scss   |   0
 .../manager/uninstall.php => uninstall.php    |  14 +
 update.php                                    |   5 +
 .../bootstrap/value.be_link.tpl.php           |   0
 ...ue.be_manager_inline_relation-view.tpl.php |   0
 .../value.be_manager_inline_relation.tpl.php  |   0
 ...ue.be_manager_inline_relation_form.tpl.php |   0
 .../value.be_manager_relation.tpl.php         |   0
 .../bootstrap/value.be_media.tpl.php          |   0
 .../bootstrap/value.be_table-view.tpl.php     |   0
 .../bootstrap/value.be_table.tpl.php          |   0
 128 files changed, 2321 insertions(+), 2370 deletions(-)
 rename {plugins/tools/assets => assets}/daterangepicker/README.md (100%)
 rename {plugins/tools/assets => assets}/daterangepicker/bower.json (100%)
 rename {plugins/tools/assets => assets}/daterangepicker/daterangepicker.css (100%)
 rename {plugins/tools/assets => assets}/daterangepicker/daterangepicker.js (100%)
 rename {plugins/tools/assets => assets}/daterangepicker/moment.min.js (100%)
 rename {plugins/tools/assets => assets}/daterangepicker/package.js (100%)
 rename {plugins/tools/assets => assets}/daterangepicker/package.json (100%)
 rename {plugins/manager/assets => assets}/frontend.js (100%)
 rename {plugins/tools/assets => assets}/inputmask/CHANGELOG.md (100%)
 rename {plugins/tools/assets => assets}/inputmask/Gruntfile.js (100%)
 rename {plugins/tools/assets => assets}/inputmask/LICENSE.txt (100%)
 rename {plugins/tools/assets => assets}/inputmask/README.md (100%)
 rename {plugins/tools/assets => assets}/inputmask/README_date.md (100%)
 rename {plugins/tools/assets => assets}/inputmask/README_numeric.md (100%)
 rename {plugins/tools/assets => assets}/inputmask/README_other.md (100%)
 rename {plugins/tools/assets => assets}/inputmask/bower.json (100%)
 rename {plugins/tools/assets => assets}/inputmask/bundle.jquery.js (100%)
 rename {plugins/tools/assets => assets}/inputmask/bundle.js (100%)
 rename {plugins/tools/assets => assets}/inputmask/composer.json (100%)
 rename {plugins/tools/assets => assets}/inputmask/dist/bindings/inputmask.binding.js (100%)
 rename {plugins/tools/assets => assets}/inputmask/dist/inputmask.js (100%)
 rename {plugins/tools/assets => assets}/inputmask/dist/inputmask.min.js (100%)
 rename {plugins/tools/assets => assets}/inputmask/dist/jquery.inputmask.js (100%)
 rename {plugins/tools/assets => assets}/inputmask/dist/jquery.inputmask.min.js (100%)
 rename {plugins/tools/assets => assets}/inputmask/package-lock.json (100%)
 rename {plugins/tools/assets => assets}/inputmask/package.json (100%)
 rename {plugins/tools/assets => assets}/inputmask/webpack.config.js (100%)
 rename {plugins/manager/assets => assets}/manager.css (100%)
 rename {plugins/manager/assets => assets}/manager.js (100%)
 rename {plugins/manager/assets => assets}/relations.js (100%)
 rename {plugins/tools/assets => assets}/tools.js (100%)
 rename {plugins/manager/assets => assets}/widget.js (100%)
 rename {plugins/manager/fragments => fragments}/yform/manager/action_buttons.php (100%)
 rename {plugins/manager/fragments => fragments}/yform/manager/page/layout.php (100%)
 rename {plugins/manager/fragments => fragments}/yform/manager/page/list.php (100%)
 rename plugins/email/lib/yform_email_template.php => lib/email_template.php (100%)
 rename {plugins/manager/lib => lib}/list.php (100%)
 rename {plugins/manager/lib => lib}/list_tools.php (100%)
 rename {plugins/manager/lib/yform => lib}/manager/collection.php (100%)
 rename {plugins/manager/lib/yform => lib}/manager/dataset.php (100%)
 rename {plugins/manager/lib/yform => lib}/manager/field.php (100%)
 rename {plugins/manager/lib/yform => lib/manager}/manager.php (100%)
 rename {plugins/manager/lib/yform => lib}/manager/query.php (100%)
 rename {plugins/manager/lib/yform => lib}/manager/search.php (100%)
 rename {plugins/manager/lib/yform => lib}/manager/table.php (100%)
 rename {plugins/manager/lib/yform => lib}/manager/table/api.php (100%)
 rename {plugins/manager/lib/yform => lib}/manager/table/authorization.php (100%)
 rename {plugins/manager/lib/yform => lib}/manager/table/perm/edit.php (100%)
 rename {plugins/manager/lib/yform => lib}/manager/table/perm/view.php (100%)
 rename {plugins/rest/lib => lib}/rest/auth/auth.php (100%)
 rename {plugins/rest/lib => lib/rest}/rest.php (100%)
 rename {plugins/rest/lib => lib}/rest/route.php (100%)
 rename {plugins/email/lib => lib}/var_yform_data.php (100%)
 rename {plugins/manager/lib => lib}/var_yform_dataset.php (100%)
 rename {plugins/manager/lib => lib}/yform/action/manage_db.php (100%)
 rename plugins/email/lib/yform_action_tpl2email.php => lib/yform/action/tpl2email.php (100%)
 rename {plugins/manager/lib => lib}/yform/value/be_link.php (100%)
 rename {plugins/manager/lib => lib}/yform/value/be_manager_relation.php (100%)
 rename {plugins/manager/lib => lib}/yform/value/be_media.php (100%)
 rename {plugins/manager/lib => lib}/yform/value/be_table.php (100%)
 rename {plugins/manager/lib => lib}/yform/value/be_user.php (100%)
 rename {plugins/manager/lib => lib}/yform/value/prio.php (100%)
 rename lib/{ => yform}/yform.php (100%)
 rename plugins/email/pages/index.php => pages/email.php (98%)
 rename plugins/manager/pages/data_edit.php => pages/manager.data_edit.php (100%)
 rename plugins/manager/pages/data_export.php => pages/manager.data_export.php (100%)
 rename plugins/manager/pages/data_history.php => pages/manager.data_history.php (100%)
 rename plugins/manager/pages/data_import.php => pages/manager.data_import.php (100%)
 rename plugins/manager/pages/table_edit.php => pages/manager.table_edit.php (100%)
 rename plugins/manager/pages/table_field.php => pages/manager.table_field.php (100%)
 rename plugins/manager/pages/table_migrate.php => pages/manager.table_migrate.php (100%)
 rename plugins/manager/pages/tableset_export.php => pages/manager.tableset_export.php (100%)
 rename plugins/manager/pages/tableset_import.php => pages/manager.tableset_import.php (100%)
 rename plugins/rest/pages/access.php => pages/rest.access.php (100%)
 rename plugins/rest/pages/token.php => pages/rest.token.php (100%)
 delete mode 100644 plugins/email/boot.php
 delete mode 100644 plugins/email/install.php
 delete mode 100644 plugins/email/lang/de_de.lang
 delete mode 100644 plugins/email/lang/en_gb.lang
 delete mode 100644 plugins/email/lang/es_es.lang
 delete mode 100644 plugins/email/lang/pt_br.lang
 delete mode 100644 plugins/email/lang/sv_se.lang
 delete mode 100644 plugins/email/package.yml
 delete mode 100644 plugins/email/uninstall.php
 delete mode 100644 plugins/email/update.php
 delete mode 100644 plugins/manager/boot.php
 delete mode 100644 plugins/manager/install.php
 delete mode 100644 plugins/manager/lang/de_de.lang
 delete mode 100644 plugins/manager/lang/en_gb.lang
 delete mode 100644 plugins/manager/lang/es_es.lang
 delete mode 100644 plugins/manager/lang/pt_br.lang
 delete mode 100644 plugins/manager/lang/sv_se.lang
 delete mode 100644 plugins/manager/package.yml
 delete mode 100644 plugins/manager/update.php
 delete mode 100644 plugins/rest/boot.php
 delete mode 100644 plugins/rest/install.php
 delete mode 100644 plugins/rest/lang/de_de.lang
 delete mode 100644 plugins/rest/lang/en_gb.lang
 delete mode 100644 plugins/rest/lang/es_es.lang
 delete mode 100644 plugins/rest/lang/sv_se.lang
 delete mode 100644 plugins/rest/package.yml
 delete mode 100644 plugins/rest/update.php
 delete mode 100644 plugins/tools/boot.php
 delete mode 100644 plugins/tools/package.yml
 rename {plugins/manager/scss => scss}/manager.scss (100%)
 rename plugins/manager/uninstall.php => uninstall.php (62%)
 rename {plugins/manager/ytemplates => ytemplates}/bootstrap/value.be_link.tpl.php (100%)
 rename {plugins/manager/ytemplates => ytemplates}/bootstrap/value.be_manager_inline_relation-view.tpl.php (100%)
 rename {plugins/manager/ytemplates => ytemplates}/bootstrap/value.be_manager_inline_relation.tpl.php (100%)
 rename {plugins/manager/ytemplates => ytemplates}/bootstrap/value.be_manager_inline_relation_form.tpl.php (100%)
 rename {plugins/manager/ytemplates => ytemplates}/bootstrap/value.be_manager_relation.tpl.php (100%)
 rename {plugins/manager/ytemplates => ytemplates}/bootstrap/value.be_media.tpl.php (100%)
 rename {plugins/manager/ytemplates => ytemplates}/bootstrap/value.be_table-view.tpl.php (100%)
 rename {plugins/manager/ytemplates => ytemplates}/bootstrap/value.be_table.tpl.php (100%)

diff --git a/plugins/tools/assets/daterangepicker/README.md b/assets/daterangepicker/README.md
similarity index 100%
rename from plugins/tools/assets/daterangepicker/README.md
rename to assets/daterangepicker/README.md
diff --git a/plugins/tools/assets/daterangepicker/bower.json b/assets/daterangepicker/bower.json
similarity index 100%
rename from plugins/tools/assets/daterangepicker/bower.json
rename to assets/daterangepicker/bower.json
diff --git a/plugins/tools/assets/daterangepicker/daterangepicker.css b/assets/daterangepicker/daterangepicker.css
similarity index 100%
rename from plugins/tools/assets/daterangepicker/daterangepicker.css
rename to assets/daterangepicker/daterangepicker.css
diff --git a/plugins/tools/assets/daterangepicker/daterangepicker.js b/assets/daterangepicker/daterangepicker.js
similarity index 100%
rename from plugins/tools/assets/daterangepicker/daterangepicker.js
rename to assets/daterangepicker/daterangepicker.js
diff --git a/plugins/tools/assets/daterangepicker/moment.min.js b/assets/daterangepicker/moment.min.js
similarity index 100%
rename from plugins/tools/assets/daterangepicker/moment.min.js
rename to assets/daterangepicker/moment.min.js
diff --git a/plugins/tools/assets/daterangepicker/package.js b/assets/daterangepicker/package.js
similarity index 100%
rename from plugins/tools/assets/daterangepicker/package.js
rename to assets/daterangepicker/package.js
diff --git a/plugins/tools/assets/daterangepicker/package.json b/assets/daterangepicker/package.json
similarity index 100%
rename from plugins/tools/assets/daterangepicker/package.json
rename to assets/daterangepicker/package.json
diff --git a/plugins/manager/assets/frontend.js b/assets/frontend.js
similarity index 100%
rename from plugins/manager/assets/frontend.js
rename to assets/frontend.js
diff --git a/plugins/tools/assets/inputmask/CHANGELOG.md b/assets/inputmask/CHANGELOG.md
similarity index 100%
rename from plugins/tools/assets/inputmask/CHANGELOG.md
rename to assets/inputmask/CHANGELOG.md
diff --git a/plugins/tools/assets/inputmask/Gruntfile.js b/assets/inputmask/Gruntfile.js
similarity index 100%
rename from plugins/tools/assets/inputmask/Gruntfile.js
rename to assets/inputmask/Gruntfile.js
diff --git a/plugins/tools/assets/inputmask/LICENSE.txt b/assets/inputmask/LICENSE.txt
similarity index 100%
rename from plugins/tools/assets/inputmask/LICENSE.txt
rename to assets/inputmask/LICENSE.txt
diff --git a/plugins/tools/assets/inputmask/README.md b/assets/inputmask/README.md
similarity index 100%
rename from plugins/tools/assets/inputmask/README.md
rename to assets/inputmask/README.md
diff --git a/plugins/tools/assets/inputmask/README_date.md b/assets/inputmask/README_date.md
similarity index 100%
rename from plugins/tools/assets/inputmask/README_date.md
rename to assets/inputmask/README_date.md
diff --git a/plugins/tools/assets/inputmask/README_numeric.md b/assets/inputmask/README_numeric.md
similarity index 100%
rename from plugins/tools/assets/inputmask/README_numeric.md
rename to assets/inputmask/README_numeric.md
diff --git a/plugins/tools/assets/inputmask/README_other.md b/assets/inputmask/README_other.md
similarity index 100%
rename from plugins/tools/assets/inputmask/README_other.md
rename to assets/inputmask/README_other.md
diff --git a/plugins/tools/assets/inputmask/bower.json b/assets/inputmask/bower.json
similarity index 100%
rename from plugins/tools/assets/inputmask/bower.json
rename to assets/inputmask/bower.json
diff --git a/plugins/tools/assets/inputmask/bundle.jquery.js b/assets/inputmask/bundle.jquery.js
similarity index 100%
rename from plugins/tools/assets/inputmask/bundle.jquery.js
rename to assets/inputmask/bundle.jquery.js
diff --git a/plugins/tools/assets/inputmask/bundle.js b/assets/inputmask/bundle.js
similarity index 100%
rename from plugins/tools/assets/inputmask/bundle.js
rename to assets/inputmask/bundle.js
diff --git a/plugins/tools/assets/inputmask/composer.json b/assets/inputmask/composer.json
similarity index 100%
rename from plugins/tools/assets/inputmask/composer.json
rename to assets/inputmask/composer.json
diff --git a/plugins/tools/assets/inputmask/dist/bindings/inputmask.binding.js b/assets/inputmask/dist/bindings/inputmask.binding.js
similarity index 100%
rename from plugins/tools/assets/inputmask/dist/bindings/inputmask.binding.js
rename to assets/inputmask/dist/bindings/inputmask.binding.js
diff --git a/plugins/tools/assets/inputmask/dist/inputmask.js b/assets/inputmask/dist/inputmask.js
similarity index 100%
rename from plugins/tools/assets/inputmask/dist/inputmask.js
rename to assets/inputmask/dist/inputmask.js
diff --git a/plugins/tools/assets/inputmask/dist/inputmask.min.js b/assets/inputmask/dist/inputmask.min.js
similarity index 100%
rename from plugins/tools/assets/inputmask/dist/inputmask.min.js
rename to assets/inputmask/dist/inputmask.min.js
diff --git a/plugins/tools/assets/inputmask/dist/jquery.inputmask.js b/assets/inputmask/dist/jquery.inputmask.js
similarity index 100%
rename from plugins/tools/assets/inputmask/dist/jquery.inputmask.js
rename to assets/inputmask/dist/jquery.inputmask.js
diff --git a/plugins/tools/assets/inputmask/dist/jquery.inputmask.min.js b/assets/inputmask/dist/jquery.inputmask.min.js
similarity index 100%
rename from plugins/tools/assets/inputmask/dist/jquery.inputmask.min.js
rename to assets/inputmask/dist/jquery.inputmask.min.js
diff --git a/plugins/tools/assets/inputmask/package-lock.json b/assets/inputmask/package-lock.json
similarity index 100%
rename from plugins/tools/assets/inputmask/package-lock.json
rename to assets/inputmask/package-lock.json
diff --git a/plugins/tools/assets/inputmask/package.json b/assets/inputmask/package.json
similarity index 100%
rename from plugins/tools/assets/inputmask/package.json
rename to assets/inputmask/package.json
diff --git a/plugins/tools/assets/inputmask/webpack.config.js b/assets/inputmask/webpack.config.js
similarity index 100%
rename from plugins/tools/assets/inputmask/webpack.config.js
rename to assets/inputmask/webpack.config.js
diff --git a/plugins/manager/assets/manager.css b/assets/manager.css
similarity index 100%
rename from plugins/manager/assets/manager.css
rename to assets/manager.css
diff --git a/plugins/manager/assets/manager.js b/assets/manager.js
similarity index 100%
rename from plugins/manager/assets/manager.js
rename to assets/manager.js
diff --git a/plugins/manager/assets/relations.js b/assets/relations.js
similarity index 100%
rename from plugins/manager/assets/relations.js
rename to assets/relations.js
diff --git a/plugins/tools/assets/tools.js b/assets/tools.js
similarity index 100%
rename from plugins/tools/assets/tools.js
rename to assets/tools.js
diff --git a/plugins/manager/assets/widget.js b/assets/widget.js
similarity index 100%
rename from plugins/manager/assets/widget.js
rename to assets/widget.js
diff --git a/boot.php b/boot.php
index 8a51219ce..9eeeb7103 100644
--- a/boot.php
+++ b/boot.php
@@ -45,3 +45,134 @@
         }
     });
 }
+
+// E-Mail
+
+rex_extension::register('EDITOR_URL', static function (rex_extension_point $ep) {
+    if (preg_match('@^rex:///yform/email/template/(.*)/(.*)@', $ep->getParam('file'), $match)) {
+        return rex_url::backendPage(
+            'yform/email/index',
+            [
+                'func' => 'edit',
+                'template_key' => $match[1],
+            ],
+        );
+    }
+});
+
+// REST
+
+rex_extension::register('PACKAGES_INCLUDED', static function () {
+    if (!rex::isBackend()) {
+        rex_yform_rest::handleRoutes();
+    }
+});
+
+// Tools
+
+if (rex::isBackend() && rex::getUser()) {
+    rex_view::addJsFile($this->getAssetsUrl('daterangepicker/moment.min.js'));
+    rex_view::addJsFile($this->getAssetsUrl('daterangepicker/daterangepicker.js'));
+    rex_view::addCssFile($this->getAssetsUrl('daterangepicker/daterangepicker.css'));
+    rex_view::addJsFile($this->getAssetsUrl('inputmask/dist/jquery.inputmask.min.js'));
+    rex_view::addJsFile($this->getAssetsUrl('tools.js'));
+}
+
+// Manager
+
+rex_complex_perm::register('yform_manager_table_edit', 'rex_yform_manager_table_perm_edit');
+rex_complex_perm::register('yform_manager_table_view', 'rex_yform_manager_table_perm_view');
+
+if (rex::isBackend() && rex::getUser()) {
+    rex_extension::register('PACKAGES_INCLUDED', function () {
+        if ($this->getProperty('compile')) {
+            $compiler = new rex_scss_compiler();
+            $compiler->setRootDir($this->getPath('scss/'));
+            $compiler->setScssFile($this->getPath('scss/manager.scss'));
+            $compiler->setCssFile($this->getPath('assets/manager.css'));
+            $compiler->compile();
+            rex_dir::copy($this->getPath('assets'), $this->getAssetsPath()); // copy whole assets directory
+        }
+    });
+
+    rex_view::addJsFile($this->getAssetsUrl('manager.js'));
+    rex_view::addJsFile($this->getAssetsUrl('relations.js'));
+    rex_view::addCssFile($this->getAssetsUrl('manager.css'));
+    rex_view::addJsFile($this->getAssetsUrl('widget.js'));
+
+    if (!rex::getUser()->isAdmin()) {
+        $page = $this->getProperty('page');
+        $page['hidden'] = true;
+        $this->setProperty('page', $page);
+    }
+
+    try {
+        $tables = rex_yform_manager_table::getAll();
+    } catch (Exception $e) {
+        $tables = [];
+    }
+    $pages = [];
+
+    $prio = 1;
+    foreach ($tables as $table) {
+        if ($table->isActive() && $table->isGranted('VIEW', rex::getUser())) {
+            $be_page = new rex_be_page_main('yform_tables', $table->getTableName(), rex_escape($table->getNameLocalized()));
+            $be_page->setHref('index.php?page=yform/manager/data_edit&table_name=' . $table->getTableName());
+            $icon = rex_escape($table->getCustomIcon() ?: 'rex-icon-module');
+            $be_page->setIcon('rex-icon ' . $icon);
+            $be_page->setPrio($prio);
+
+            if ($table->isHidden()) {
+                $be_page->setHidden();
+            }
+
+            if ('yform/manager/data_edit' == rex_request('page', 'string') && rex_request('table_name', 'string') == $table->getTableName()) {
+                $be_page->setIsActive();
+
+                $main_page = $this->getAddon()->getProperty('page');
+                $main_page['isActive'] = false;
+
+                $rex_yform_manager_opener = rex_request('rex_yform_manager_opener', 'array');
+                $rex_yform_manager_popup = rex_request('rex_yform_manager_popup', 'int');
+                $rex_yform_filter = rex_request('rex_yform_filter', 'array');
+
+                if ((isset($rex_yform_manager_opener['id']) && '' != $rex_yform_manager_opener['id']) || 1 == $rex_yform_manager_popup) {
+                    $main_page['popup'] = true;
+                }
+
+                $this->getAddon()->setProperty('page', $main_page);
+            }
+
+            $pages[] = $be_page;
+
+            ++$prio;
+        }
+    }
+
+    $this->setProperty('pages', $pages);
+}
+
+rex_extension::register('MEDIA_IS_IN_USE', 'rex_yform_value_be_media::isMediaInUse');
+rex_extension::register('PACKAGES_INCLUDED', 'rex_yform_value_be_link::isArticleInUse');
+
+rex_extension::register('YFORM_SAVED', static function (rex_extension_point $ep) {
+    if ($ep->getSubject() instanceof Exception) {
+        return;
+    }
+
+    $table = rex_yform_manager_table::get($ep->getParam('table'));
+    if (!$table) {
+        return;
+    }
+
+    $dataset = $ep->getParam('form')->getParam('manager_dataset');
+    if (!$dataset) {
+        $dataset = rex_yform_manager_dataset::getRaw($ep->getParam('id'), $table->getTableName());
+    }
+    $dataset->invalidateData();
+
+    if ($table->hasHistory() && $dataset->isHistoryEnabled()) {
+        $action = 'insert' === $ep->getParam('action') ? rex_yform_manager_dataset::ACTION_CREATE : rex_yform_manager_dataset::ACTION_UPDATE;
+        $dataset->makeSnapshot($action);
+    }
+});
diff --git a/docs/02_email.md b/docs/02_email.md
index eaf108436..78f21a06d 100644
--- a/docs/02_email.md
+++ b/docs/02_email.md
@@ -1,7 +1,4 @@
-# E-Mail-Templates (PlugIn)
-
-> **Hinweis:**
-> Plugins erweitern YForm und können optional aktiviert werden.
+# E-Mail-Templates
 
 ## Zweck der E-Mail-Templates
 
@@ -138,7 +135,7 @@ REX_YFORM_DATA[field="custom"]
 
 ## Variante 2: E-Mail-Versand zur Verwendung in Cronjobs, Addons, etc.
 
-Dieser Code basiert auf [plugins/email/lib/yform_action_tpl2email.php](https://github.com/yakamara/redaxo_yform/blob/master/plugins/email/lib/yform_action_tpl2email.php).
+Dieser Code basiert auf [lib/yform/action/tpl2email.php](https://github.com/yakamara/redaxo_yform/blob/master/plugins/email/lib/yform_action_tpl2email.php).
 
 ```php
 <?php
diff --git a/docs/03_table_manager.md b/docs/03_table_manager.md
index 9ecbf53eb..5b835c618 100644
--- a/docs/03_table_manager.md
+++ b/docs/03_table_manager.md
@@ -1,4 +1,4 @@
-# Table Manager (PlugIn)
+# Table Manager
 
 > **Hinweis:**
 > Plugins erweitern YForm und können optional aktiviert werden.
diff --git a/docs/05_rest.md b/docs/05_rest.md
index 87ddaa72f..6a9b01184 100644
--- a/docs/05_rest.md
+++ b/docs/05_rest.md
@@ -1,4 +1,4 @@
-# REST-API (PlugIn)
+# REST-API
 
 > **Hinweis:**
 > Plugins erweitern YForm und können optional aktiviert werden.
diff --git a/docs/08_tools.md b/docs/08_tools.md
index d831bc8d8..64f94decc 100644
--- a/docs/08_tools.md
+++ b/docs/08_tools.md
@@ -1,4 +1,4 @@
-# Tools (Plugin)
+# Tools
 
 > **Hinweis:**
 > Plugins erweitern YForm und können optional aktiviert werden.
diff --git a/plugins/manager/fragments/yform/manager/action_buttons.php b/fragments/yform/manager/action_buttons.php
similarity index 100%
rename from plugins/manager/fragments/yform/manager/action_buttons.php
rename to fragments/yform/manager/action_buttons.php
diff --git a/plugins/manager/fragments/yform/manager/page/layout.php b/fragments/yform/manager/page/layout.php
similarity index 100%
rename from plugins/manager/fragments/yform/manager/page/layout.php
rename to fragments/yform/manager/page/layout.php
diff --git a/plugins/manager/fragments/yform/manager/page/list.php b/fragments/yform/manager/page/list.php
similarity index 100%
rename from plugins/manager/fragments/yform/manager/page/list.php
rename to fragments/yform/manager/page/list.php
diff --git a/install.php b/install.php
index c85fff109..042a5f210 100644
--- a/install.php
+++ b/install.php
@@ -15,21 +15,334 @@
     throw new rex_exception('db does not support transactions: ' . $e->getMessage(), $e);
 }
 
-// old plugin docs still exists ? -> delete
-$pluginDocs = __DIR__ . '/plugins/docs';
-if (file_exists($pluginDocs)) {
-    rex_dir::delete($pluginDocs);
+rex_autoload::removeCache();
+
+// E-Mail
+
+rex_sql_table::get(rex::getTable('yform_email_template'))
+    ->ensurePrimaryIdColumn()
+    ->ensureColumn(new rex_sql_column('name', 'varchar(191)', false, ''))
+    ->ensureColumn(new rex_sql_column('mail_from', 'varchar(191)', false, ''))
+    ->ensureColumn(new rex_sql_column('mail_from_name', 'varchar(191)', false, ''))
+    ->ensureColumn(new rex_sql_column('mail_reply_to', 'varchar(191)', false, ''))
+    ->ensureColumn(new rex_sql_column('mail_reply_to_name', 'varchar(191)', false, ''))
+    ->ensureColumn(new rex_sql_column('subject', 'varchar(191)', false, ''))
+    ->ensureColumn(new rex_sql_column('body', 'text'))
+    ->ensureColumn(new rex_sql_column('body_html', 'text'))
+    ->ensureColumn(new rex_sql_column('attachments', 'text'))
+    ->ensureColumn(new rex_sql_column('updatedate', 'datetime'))
+    ->ensureIndex(new rex_sql_index('name', ['name'], rex_sql_index::UNIQUE))
+    ->ensure();
+
+$c = rex_sql::factory();
+$c->setQuery('ALTER TABLE `' . rex::getTable('yform_email_template') . '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
+
+// REST
+
+rex_sql_table::get(rex::getTable('yform_rest_token'))
+    ->ensurePrimaryIdColumn()
+    ->ensureColumn(new rex_sql_column('name', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('token', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('status', 'tinyint(1)', false, '1'))
+    ->ensureColumn(new rex_sql_column('amount', 'int(11)'))
+    ->ensureColumn(new rex_sql_column('interval', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('paths', 'text'))
+    ->ensure();
+
+rex_sql_table::get(rex::getTable('yform_rest_token_access'))
+    ->ensurePrimaryIdColumn()
+    ->ensureColumn(new rex_sql_column('token_id', 'int(11)'))
+    ->ensureColumn(new rex_sql_column('datetime_created', 'datetime'))
+    ->ensureColumn(new rex_sql_column('url', 'text'))
+    ->ensure();
+
+// Manager
+
+$table = rex_sql_table::get(rex::getTable('yform_table'));
+$hasMassDeletion = $table->hasColumn('mass_deletion');
+$hasMassEdit = $table->hasColumn('mass_edit');
+$addon = rex_addon::get('yform');
+
+$table
+    ->ensurePrimaryIdColumn()
+    ->ensureColumn(new rex_sql_column('status', 'tinyint(1)'))
+    ->ensureColumn(new rex_sql_column('table_name', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('name', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('description', 'text'))
+    ->ensureColumn(new rex_sql_column('table_icon', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('list_amount', 'int(11)', false, '50'))
+    ->ensureColumn(new rex_sql_column('list_sortfield', 'varchar(191)', false, 'id'))
+    ->ensureColumn(new rex_sql_column('list_sortorder', 'enum(\'ASC\',\'DESC\')', false, 'ASC'))
+    ->ensureColumn(new rex_sql_column('prio', 'int(11)'))
+    ->ensureColumn(new rex_sql_column('search', 'tinyint(1)'))
+    ->ensureColumn(new rex_sql_column('hidden', 'tinyint(1)'))
+    ->ensureColumn(new rex_sql_column('export', 'tinyint(1)'))
+    ->ensureColumn(new rex_sql_column('import', 'tinyint(1)'))
+    ->ensureColumn(new rex_sql_column('mass_deletion', 'tinyint(1)'))
+    ->ensureColumn(new rex_sql_column('mass_edit', 'tinyint(1)'))
+    ->ensureColumn(new rex_sql_column('schema_overwrite', 'tinyint(1)', false, '1'))
+    ->ensureColumn(new rex_sql_column('history', 'tinyint(1)'))
+    ->ensureIndex(new rex_sql_index('table_name', ['table_name'], rex_sql_index::UNIQUE))
+    ->ensure();
+
+rex_sql_table::get(rex::getTable('yform_field'))
+    ->ensurePrimaryIdColumn()
+    ->ensureColumn(new rex_sql_column('table_name', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('prio', 'int(11)'))
+    ->ensureColumn(new rex_sql_column('type_id', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('type_name', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('db_type', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('list_hidden', 'tinyint(1)'))
+    ->ensureColumn(new rex_sql_column('search', 'tinyint(1)'))
+    ->ensureColumn(new rex_sql_column('name', 'text'))
+    ->ensureColumn(new rex_sql_column('label', 'text'))
+    ->ensureColumn(new rex_sql_column('not_required', 'text'))
+    ->ensureColumn(new rex_sql_column('multiple', 'text'))
+    ->ensureColumn(new rex_sql_column('expanded', 'text'))
+    ->ensureColumn(new rex_sql_column('choices', 'text'))
+    ->ensureColumn(new rex_sql_column('choice_attributes', 'text'))
+    ->ensure();
+
+rex_sql_table::get(rex::getTable('yform_history'))
+    ->ensurePrimaryIdColumn()
+    ->ensureColumn(new rex_sql_column('table_name', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('dataset_id', 'int(11)'))
+    ->ensureColumn(new rex_sql_column('action', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('user', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('timestamp', 'datetime'))
+    ->ensureIndex(new rex_sql_index('dataset', ['table_name', 'dataset_id']))
+    ->ensure();
+
+rex_sql_table::get(rex::getTable('yform_history_field'))
+    ->ensureColumn(new rex_sql_column('history_id', 'int(11)'))
+    ->ensureColumn(new rex_sql_column('field', 'varchar(191)'))
+    ->ensureColumn(new rex_sql_column('value', 'longtext'))
+    ->setPrimaryKey(['history_id', 'field'])
+    ->ensure();
+
+if (!$hasMassDeletion) {
+    rex_sql::factory()
+        ->setTable(rex::getTable('yform_table'))
+        ->setValue('mass_deletion', 1)
+        ->update();
+}
+
+if (!$hasMassEdit) {
+    rex_sql::factory()
+        ->setTable(rex::getTable('yform_table'))
+        ->setValue('mass_edit', 1)
+        ->update();
 }
 
-foreach ($this->getInstalledPlugins() as $plugin) {
-    // use path relative to __DIR__ to get correct path in update temp dir
-    $file = __DIR__ . '/plugins/' . $plugin->getName() . '/install.php';
+$c = rex_sql::factory();
+$c->setQuery(
+    'ALTER TABLE `' . rex::getTable('yform_table') . '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;',
+);
+$c->setQuery(
+    'ALTER TABLE `' . rex::getTable('yform_field') . '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;',
+);
+$c->setQuery(
+    'ALTER TABLE `' . rex::getTable('yform_history') . '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;',
+);
+$c->setQuery(
+    'ALTER TABLE `' . rex::getTable(
+        'yform_history_field',
+    ) . '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;',
+);
 
-    if (file_exists($file)) {
-        $plugin->includeFile($file);
+// from 4.0 on, but on every reinstall
+if ($this->isInstalled()) {
+    foreach (rex_sql::factory()->getArray('SELECT id, perms FROM ' . rex::getTablePrefix() . 'user_role') as $role) {
+        if (!str_contains((string) $role['perms'], '"yform_manager_table_edit":')) {
+            $perms = str_replace('"yform_manager_table":', '"yform_manager_table_edit":', (string) $role['perms']);
+            rex_sql::factory()->setQuery(
+                'UPDATE ' . rex::getTablePrefix() . 'user_role SET perms=? where id=?',
+                [$perms, $role['id']],
+            );
+        }
+    }
+
+    try {
+        rex_sql::factory()->setQuery(
+            'UPDATE ' . rex::getTable(
+                'yform_field',
+            ) . ' SET `format` = "" WHERE type_name = "datestamp" AND `format` = "mysql"',
+        );
+    } catch (rex_sql_exception $e) {
     }
-}
 
-rex_dir::delete($this->getDataPath('fonts'));
+    foreach (rex_sql::factory()->getArray('select * from `' . rex::getTable('yform_field') . '`') as $field) {
+        if ('value' == $field['type_id']) {
+            switch ($field['type_name']) {
+                case 'be_media_category':
+                case 'be_select_category':
+                case 'remembervalues':
+                case 'mediafile':
+                case 'captcha':
+                case 'captcha_calc':
+                case 'recaptcha':
+                case 'recaptcha_v3':
+                    // remove these fields
+                    rex_sql::factory()->setQuery(
+                        'delete from `' . rex::getTable('yform_field') . '` where id = :id',
+                        ['id' => $field['id']],
+                    );
+                    break;
 
-rex_autoload::removeCache();
+                case 'labelexist':
+                    // rename
+                    $field_new_name = 'labelexist';
+                    $field_old_name = 'in_names';
+                    try {
+                        rex_sql::factory()->setQuery(
+                            'update ' . rex::getTable(
+                                'yform_field',
+                            ) . ' set type_name = ? where type_id="value" and type_name = ?',
+                            [$field_new_name, $field_old_name],
+                        );
+                        rex_sql::factory()->setQuery(
+                            'update ' . rex::getTable('yform_history_field') . ' set field = ? where field = ?',
+                            [$field_new_name, $field_old_name],
+                        );
+                    } catch (rex_sql_exception $e) {
+                    }
+                    break;
+
+                case 'existintable':
+                    // rename
+                    $field_new_name = 'existintable';
+                    $field_old_name = 'in_table';
+                    try {
+                        rex_sql::factory()->setQuery(
+                            'update ' . rex::getTable(
+                                'yform_field',
+                            ) . ' set type_name = ? where type_id="value" and type_name = ?',
+                            [$field_new_name, $field_old_name],
+                        );
+                        rex_sql::factory()->setQuery(
+                            'update ' . rex::getTable('yform_history_field') . ' set field = ? where field = ?',
+                            [$field_new_name, $field_old_name],
+                        );
+                    } catch (rex_sql_exception $e) {
+                    }
+                    break;
+
+                case 'float':
+                    // change to number
+                    rex_sql::factory()->setQuery(
+                        'update `' . rex::getTable('yform_field') . '` set
+                        type_name = "number", db_type = "", `default` = ""
+                        where id = :id',
+                        ['id' => $field['id']],
+                    );
+                    break;
+
+                case 'select':
+                    // change to choice
+                    rex_sql::factory()->setQuery(
+                        'update `' . rex::getTable('yform_field') . '` set
+                        type_name = "choice",
+                        db_type = "text",
+                        expanded = 0,
+                        choices = :choices,
+                        choice_attributes = :choice_attributes
+                        where id = :id',
+                        [
+                            'id' => $field['id'],
+                            'choices' => $field['options'],
+                            'choice_attributes' => $field['attributes'] ?? '',
+                        ],
+                    );
+                    break;
+
+                case 'radio':
+                    // change to choice
+                    rex_sql::factory()->setQuery(
+                        'update `' . rex::getTable('yform_field') . '` set
+                        type_name = "choice",
+                        db_type = "text",
+                        expanded = 1,
+                        multiple = 0,
+                        choices = :choices,
+                        choice_attributes = :choice_attributes
+                        where id = :id',
+                        [
+                            'id' => $field['id'],
+                            'choices' => $field['options'],
+                            'choice_attributes' => $field['attributes'] ?? '',
+                        ],
+                    );
+                    break;
+
+                case 'checkbox_sql':
+                    // change to choice
+                    rex_sql::factory()->setQuery(
+                        'update `' . rex::getTable('yform_field') . '` set
+                        type_name = "choice",
+                        db_type = "text",
+                        expanded = 1,
+                        multiple = 1,
+                        choices = :choices
+                        where id = :id',
+                        [
+                            'id' => $field['id'],
+                            'choices' => $field['query'] ?? '',
+                        ],
+                    );
+                    break;
+
+                case 'radio_sql':
+                    // change to choice
+                    rex_sql::factory()->setQuery(
+                        'update `' . rex::getTable('yform_field') . '` set
+                        type_name = "choice",
+                        db_type = "text",
+                        expanded = 1,
+                        multiple = 0,
+                        choices = :choices,
+                        choice_attributes = :choice_attributes
+                        where id = :id',
+                        [
+                            'id' => $field['id'],
+                            'choices' => $field['query'] ?? '',
+                            'choice_attributes' => $field['attributes'] ?? '',
+                        ],
+                    );
+                    break;
+
+                case 'select_sql':
+                    // change to choice
+                    rex_sql::factory()->setQuery(
+                        'update `' . rex::getTable('yform_field') . '` set
+                        type_name = "choice",
+                        db_type = "text",
+                        expanded = 0,
+                        choices = :choices,
+                        choice_attributes = :choice_attributes
+                        where id = :id',
+                        [
+                            'id' => $field['id'],
+                            'choices' => $field['query'] ?? '',
+                            'choice_attributes' => $field['attributes'] ?? '',
+                        ],
+                    );
+                    break;
+                case 'password':
+                    // change to text
+                    rex_sql::factory()->setQuery(
+                        'update `' . rex::getTable('yform_field') . '` set
+                        type_name = "text",
+                        where id = :id',
+                        [
+                            'id' => $field['id'],
+                        ],
+                    );
+                    break;
+            }
+        }
+    }
+}
+
+if (class_exists('rex_yform_manager_table')) {
+    rex_yform_manager_table::deleteCache();
+}
diff --git a/lang/de_de.lang b/lang/de_de.lang
index 98bb865e3..373a49f93 100644
--- a/lang/de_de.lang
+++ b/lang/de_de.lang
@@ -281,4 +281,399 @@ yform_docs_email = E-Mail Templates
 yform_docs_rest = REST-API
 yform_docs_tools = Tools
 
+yform_email_templates = E-Mail Templates
 
+yform_email_key = Key - bitte nicht verändern
+yform_email_from = Absender-E-Mail [z.B.info@redaxo.de]
+yform_email_from_name = Absender-Name [z.B. REDAXO Server]
+yform_email_reply_to = Reply-To-E-Mail [z.B. yform@redaxo.de]
+yform_email_reply_to_name = Reply-To-Name [z.B. YForm Server]
+yform_email_header_template_mail_reply_to = Antwort an
+yform_email_subject = Betreff
+yform_email_body = Body
+yform_email_body_html = Body (Html)
+yform_email_create = E-Mail Template hinzufügen
+yform_email_update = E-Mail Template aktualisieren
+yform_email_header_template_description = Key
+yform_email_header_template_mail_from = von
+yform_email_header_template_mail_from_name = Name
+yform_email_header_template_subject = Betreff
+yform_email_create_template = Template erstellen
+yform_email_header_template_functions = Funktionen
+yform_email_templates_not_found = Keine Templates gefunden
+yform_email_delete_template = Löschen
+
+yform_email_info_template_added = Template wurde hinzugefügt
+yform_email_info_template_updated = Template wurde aktualisiert
+yform_email_info_template_deleted = Template wurde gelöscht
+
+yform_email_attachments = Anhänge
+
+yform_delete_template = Template löschen
+
+yform_email_caption = Liste der Templates
+
+yform_email_info_text = <p>Felder, die in Formularen verwendet werden, können in den Templates angezeigt und verarbeitet werden. <mark>Grundsätzlich ist auch PHP erlaubt</mark>, sodass man ganz individuell auf einzelne Fälle eingehen kann. Die normale Ausgabe eines Feldes geschieht folgendermaßen:<br /><br />REX_YFORM_DATA[field="name" output="plain"] für Text E-Mail<br />REX_YFORM_DATA[field="name" output="html"] für HTML-Emails<br />REX_YFORM_DATA[field="email" instead="E-Mail wurde ausgefüllt"]<br />REX_YFORM_DATA[field="name" instead="defaultwert"]<br />REX_YFORM_DATA[field="name" prefix="Mein Name: " suffix=""]</p>
+
+// REST
+
+yform_rest = REST-API
+
+yform_rest_token = Token
+
+yform_rest_token_header = REST: Token
+
+yform_rest_token_name = Name
+yform_rest_token_token = Token
+yform_rest_token_token_notice = Neuer Token gewünscht ? [{0}]
+yform_rest_token_status = Aktiv
+
+yform_rest_token_deleted = Token wurde gelöscht
+yform_rest_token_info_text =
+yform_rest_token_update = Tokendaten aktualisieren
+yform_rest_token_info_updated
+yform_rest_token_create = Token anlegen
+yform_rest_token_info_added
+
+yform_rest_token_updated = Tokendaten wurden aktualisiert
+yform_rest_token_added = Token wurde hinzugefügt
+
+yform_rest_token_header_summary
+
+yform_rest_token_header_description
+yform_rest_token_not_found = Keine Token gefunden
+yform_rest_token_caption = Liste der Token
+
+yform_rest_token_name_validate = Bitte eine Bezeichnung/Name eingeben
+yform_rest_token_token_validate = Bitte einen Token eintragen
+
+yform_rest_token_amount = Erlaubte Anzahl der Zugriff
+
+yform_rest_token_interval = Interval
+yform_rest_token_none = Ohne Einschränkung
+yform_rest_token_per_hour = Maximale Aufrufe pro Stunde
+yform_rest_token_per_day = Maximale Aufrufe pro Tag
+yform_rest_token_per_month = Maximale Aufrufe pro Monat
+yform_rest_token_overall = Maximale Zugriffe
+
+yform_rest_token_access = Zugriffe
+yform_rest_token_access_header = REST: Zugriffe
+yform_rest_token_access_caption = Liste der Zugriffe
+yform_rest_token_access_update = Eintrag bearbeiten
+yform_rest_token_access_deleted = Eintrag wurde gelöscht
+yform_rest_token_access_updated = Eintrag wurde aktualisiert
+yform_rest_token_access_datetime_created = Zugriff am
+yform_rest_token_url = URL
+
+yform_rest_token_token_paths = Erlaubte Endpoints
+
+// Manager
+
+yform_function_button = Aktion
+
+yform_manager = Table Manager
+
+navigation_manager = Tabellen
+yform_manager_fields = Felder
+
+# yform manager
+yform_alltables = Alle Tabellen
+yform_back_to_overview = Zurück zur Übersicht
+yform_updatetable = aktualisieren
+yform_tablesupdated = Tabelle/n wurde/n aktualisiert
+yform_errors_occurred = Es sind Fehler aufgetreten
+yform_help_empty = Leereinträge können mit <br />"(empty)" gesucht werden
+yform_help_multipleselect = Mehrfachauswahl mit gedrückter CTRL/CMD Taste
+yform_updatetable_with_delete = mit Feldlöschung
+yform_updatetable_with_delete_confirm = Wirklich aktualisieren mit Feldlöschung ?
+
+yform_relation_move_first_data = Ausgewählten Datensatz an den Anfang verschieben
+yform_relation_move_up_data = Ausgewählten Datensatz nach oben verschieben
+yform_relation_move_down_data = Ausgewählten Datensatz nach unten verschieben
+yform_relation_move_last_data = Ausgewählten Datensatz an das Ende verschieben
+yform_relation_add_entry = Datensatz hinzufügen
+yform_relation_choose_entry = Datensatz auswählen
+yform_relation_delete_entry = Ausgewählten Datensatz löschen
+yform_relation_no_entry = Kein Datensatz zugewiesen
+yform_relation_view_entry = Datensatz ansehen
+yform_relation_first_create_data = Bitte zunächst diesen Datensatz erstellen
+yform_relation_edit_relations = Verknüpfungen verwalten
+
+yform_prio_top = Am Anfang
+yform_prio_after = Nach "{0}"
+yform_prio_bottom = Am Ende
+
+yform_truncate_table = leeren
+yform_table_truncated = Die Datensätze dieser Tabelle wurden gelöscht.
+yform_table_not_found = Die Tabelle wurde nicht gefunden
+yform_truncate_table_confirm = Alle Datensätze dieser Tabelle werden gelöscht. Fortfahren?
+yform_table_overview = Tabellenübersicht
+
+yform_manager_edit_table = Tabelle editieren
+yform_manager_add_table = Tabelle hinzufügen
+
+yform_update_table = Tabelle aktualisieren
+yform_add_table = Tabelle hinzufügen
+yform_add_row = Reihe hinzufügen
+
+yform_edit_datatable = Daten verwalten
+
+# tables.inc.php
+yform_importcsv = CSV Importieren
+yform_tbl_active = aktiv
+yform_tbl_inactive = inaktiv
+
+yform_tbl_active = aktiv
+yform_tbl_inactive = inaktiv
+
+yform_manager_table_updated = Tabelle und Felder wurden erstellt und/oder aktualisiert
+yform_manager_table_entry_saved = Vielen Dank fuer die Eintragung
+yform_manager_table_enter_name = Bitte tragen Sie die Tabellenbezeichnung ein
+yform_manager_table_enter_specialchars = Bitte tragen Sie beim Tabellenname nur Kleinbuchstaben und Zahlen ein. Das erste Zeichen muss ein Buchstabe sein
+yform_manager_table_exists = Dieser Tabellenname ist bereits vorhanden
+
+yform_manager_table_prio = Priorität
+yform_manager_table_prio_short = Prio
+yform_manager_table_name = Name
+yform_manager_table_status = Status
+yform_manager_name = Bezeichnung
+yform_manager_table_description = Beschreibung
+yform_manager_custom_icon = Individuelles Icon
+yform_manager_entries_per_page = Datensätze pro Seite
+yform_manager_sortfield = Standardsortierung: Feld
+yform_manager_sortorder = Richtung
+yform_manager_sortorder_asc = aufsteigend
+yform_manager_sortorder_desc = absteigend
+yform_manager_search_active = Suche aktiv
+yform_manager_enter_number = Bitte geben Sie eine Zahl für die Datensätze pro Seite ein
+yform_manager_table_hide = In Navigation versteckt
+yform_manager_table_allow_export = Export der Daten erlauben
+yform_manager_table_allow_import = Import von Daten erlauben
+yform_manager_table_allow_mass_deletion = Massenlöschung erlauben
+yform_manager_table_allow_mass_edit = Massenbearbeitung erlauben
+yform_manager_table_history = Historie anlegen
+yform_manager_tablefield_overview = Feldübersicht
+yform_manager_table_schema_overwrite = Datenbankfelder werden entsprechend des erkannten Schemas angeglichen
+yform_manager_table_basic_info = Basisinfo
+yform_manager_table_func = Tabellenfunktionen
+yform_manager_table_user_func = Benutzer-Komfortfunktionen
+
+yform_manager_table_updated = Vielen Dank für die Aktualisierung.
+yform_manager_table_added = Vielen Dank für den Eintrag.
+yform_manager_table_deleted = Tabellendefinitionen wurden gelöscht [Tabelle wurde nicht gelöscht]
+yform_manager_table_add = Tabelle anlegen
+yform_manager_table_update = Tabellen und Felder updaten
+yform_manager_table_import = Tabelle importieren
+yform_manager_table_features = Aktivierte Optionen
+
+yform_manager_type_id = Typ
+yform_manager_type_name = Typname
+
+yform_manager_tableset = Tableset
+yform_manager_table = Tabelle
+yform_manager_tables = Tabellen
+
+yform_manager_import = importieren
+yform_manager_export = exportieren
+yform_manager_create = anlegen
+yform_manager_migrate = migrieren
+
+yform_manager_table_migrate = Tabelle migrieren
+yform_manager_table_migrated_failed = Migration für `{0}` ist fehlgeschlagen. Fehler: {1}
+yform_manager_table_migrate_info = Der Migrationsmanager erstellt aus einer vorhandenen Tabelle, eine, die über den Tablemanager verwaltet werden kann. Dazu ist in der Tabelle ein Autoinkrement-Feld mit dem Namen `id` nötig. Ohne dieses Feld funktioniert der Tablemanager nicht.<br /><br />Optional ist die Entscheidung ein vorhandenes Autoinkrementfeld umzuwandeln. Z.B. "event_id" zu "id".
+yform_manager_migrate_table_id_convert = `id`-Feld konvertieren falls nicht vorhanden
+yform_manager_table_migrated_success = Die Tabelle wurde erfolgreich migriert.
+
+yform_manager_tableset_import = Tableset importieren
+yform_manager_tableset_import_jsonimportfile = JSON Datei einspielen
+yform_manager_tableset_import_info = Info
+yform_manager_tableset_import_warning_selectfile = Es wurde keine .json Datei verwendet, oder die Datei war fehlerhaft.
+yform_manager_tableset_import_warning_type = Der Dateityp ist falsch. Es muss eine JSON Datei sein.
+yform_manager_tableset_import_success = Tabelle/n wurde/n erfolgreich importiert
+yform_manager_tableset_import_failed = Tableset Import ist fehlgeschlagen:<br />{0}
+
+yform_manager_table_edit = Tabellen bearbeiten
+
+yform_manager_tableset_export = Tableset exportieren
+yform_manager_tableset_export_info = Info
+yform_manager_export_error_empty = Bitte mindestens eine Tabelle für den Export auswählen
+
+yform_manager_table_hidden = Sichtbarkeit
+yform_hidden = versteckt
+yform_visible = sichtbar
+
+yform_manager_actions_all = Alle Aktionen
+yform_manager_users_all = Alle Benutzer
+yform_manager_history_date_notice = Alle Einträge vor und gleich diesen Datums werden angezeigt
+
+# edit.inc.php
+yform_thankyouforupdate = Datensatz wurde aktualisiert.
+yform_thankyouforupdates = Datensätze wurde aktualisiert.
+yform_thankyouforentry = Datensatz wurde eingetragen.
+yform_editdata = Datensatz editieren [ID: {0}]
+yform_editdata_collection = {0} Datensätze editieren
+yform_editdata_collection_error_abort = Transaktion wurde wegen folgendem Fehler nicht ausgeführt: {0}
+yform_clonedata = Datensatz klonen [Original ID: {0}]
+yform_adddata = Datensatz anlegen
+yform_searchtext = Suchbegriff
+yform_searchfields = Tabellenfelder über die gesucht wird
+yform_id = Id
+yform_function = Funktion
+yform_function_button = Aktion
+yform_add = hinzufügen
+yform_add_apply = übernehmen
+yform_edit = editieren
+yform_clone = klonen
+yform_view = anzeigen
+yform_save = speichern
+yform_save_apply = übernehmen
+yform_delete = löschen
+yform_delete_definitions = Schema löschen
+yform_delete_definitions_info = Datenbanktabelle bleibt erhalten
+yform_search = suchen
+yform_export = exportieren
+yform_import = importieren
+yform_datadeleted = Datensatz wurde gelöscht
+yform_openerinfo = Opener-Info
+
+yform_table_info = Info
+yform_dataset = Datenergebnis
+
+yform_dataset_delete = Datenergebnis löschen
+yform_dataset_deleted = Datenergebnis wurde geleert
+yform_dataset_delete_confirm = Wirklich das Datenergebnis leeren?
+
+yform_dataset_edit_confirm = Sollen wirklich alle gewählten Datensätze bearbeitet werden?
+
+yform_data = Datensatz
+yform_datas = Datensätze
+yform_manager_search = Suche
+
+yform_data_view = ansehen
+
+
+yform_data_select = übernehmen
+
+# field.inc.php
+yform_tablenotexists = Diese Tabelle existiert nicht!
+yform_tablefield = Tabellenfeld
+yform_values = Werte
+yform_validates = Validierung/Überprüfung
+yform_actions = Aktionen
+yform_validatenamenotempty = Bitte tragen Sie den Namen ein
+yform_validatenamepregmatch = Bitte tragen Sie beim Namen nur Buchstaben und "_" ein
+yform_validatenamecheck = Dieser Name ist bereits vorhanden
+yform_donotsaveindb = Nicht in Datenbank speichern
+yform_hideinlist = In Liste verstecken
+yform_useassearchfieldalidatenamenotempty = Als Suchfeld aufnehmen
+yform_tablefielddeleted = Tabellenfeld wurde gelöscht
+yform_tablefieldnotfound = Tabllenfeld wurde nicht gefunden
+yform_addtablefield = Tabellenfeld anlegen
+yform_table = Tabelle
+yform_editfield = Feld editieren
+yform_choosenadd = Felder auswählen
+yform_choosenadd_description = Bitte wählen Sie das Feld aus, welches Sie bei Ihrer Verwaltung verwenden wollen. Dabei gibt es Value-Felder, mit denen normalerweise Eingaben getätigt werden, wie auch Validate-Felder, mit denen die Value-Felder nach diversen Kriterien überprüft werden können.
+yform_addfield = Feld hinzufügen
+yform_editfields = Felder editieren
+
+yform_id_is_missing = ID fehlt
+yform_id_missing_info = Die Tabelle hat leider kein ID Feld mit autoincrement. Somit kann yform nicht damit arbeiten. Bitte aktualisieren Sie die Tabelle und legen notfalls die ID manuell an.
+
+# import
+yform_manager_import_error_missingfile = Bitte laden Sie eine Importdatei hoch
+yform_manager_import_error_missingfields = Es fehlen folgende Felder: {0}
+yform_manager_import_error_min_missingfields = Es fehlt mindestens ein Feld: {0}
+yform_manager_import_error_field = Feld "{0}" konnte nicht angelegt werden: "{1}"
+yform_manager_import_field_added = Feld "{0}" wurde angelegt
+yform_manager_import_error_import_abort = Import wurde wegen folgendem Fehler nicht ausgeführt: {0}
+yform_manager_import_error_import_stopped = Import wurde abgebrochen, da Fehler aufgetaucht sind.
+yform_manager_import_error_dataimport = Datensatz ({0}) konnte nicht importiert werden: {1}
+yform_manager_import_error_import = Es wurden {0} Datensätze importiert. Davon waren {1} neue Datensätze und {2} Datensätze wurden ersetzt.
+yform_manager_import_info_data_imported = Es wurde/n {0} Datensätze nicht importiert.
+yform_manager_import_error_not_started = Import wurde nicht gestartet.
+yform_manager_import_csv = CSV Datei importieren
+yform_manager_import_csv_info = Hiermit kann man Daten in diese Tabelle importieren. BItte beachten Sie, dass Sie nur Textdateien importieren können und in der <b>ersten Zeile die Felddefinitionen</b> vorhanden sein müssen. Weiter sollte das <b>Encoding der Importdatei UTF-8</b> sein. D.h. es kann sein, dass man diese vorher konvertieren muss.
+yform_manager_import_if_no_column = Wenn Spalte in der Datenbank nicht vorhanden ist,
+yform_manager_import_if_no_column_ignore = dann Spalte ignorieren.
+yform_manager_import_if_no_column_addtext = dann Spalte als TEXT in der Datenbank anlegen (Zur Verwaltung müssen später diese Felder noch bestimmt werden).
+yform_manager_import_if_no_column_break = dann Import abbrechen.
+yform_manager_import_divider = Trennzeichen
+yform_manager_import_divider_semicolon = Semikolon
+yform_manager_import_divider_comma = Komma
+yform_manager_import_divider_tab = Tabulator
+yform_manager_import_unique_field = Wenn dieses Feld identisch ist, dann wird der Datensatz ersetzt
+yform_manager_import_start = Hinzufügen
+yform_manager_import_file = Datei
+yform_manager_import_error_missingfielddefinition = Es gibt Felder, welche leer sind und daher nicht zugewiesen werden können. Bitte die erste Zeile des Importes prüfen.
+yform_manager_import_error_duplicatefielddefinition = Es gibt Felder, welche identisch sind. Bitte die erste Zeile des Importes prüfen.
+
+# history
+yform_history = Historie
+yform_history_dataset_id = Datensatz-ID
+yform_history_dataset = Datensatz
+yform_history_action = Aktion
+yform_history_action_create = erstellt
+yform_history_action_update = bearbeitet
+yform_history_action_delete = gelöscht
+yform_history_user = Benutzer
+yform_history_timestamp = Zeitstempel
+yform_history_view = ansehen
+yform_history_restore = zurücksetzen
+yform_history_restore_this = Datensatz auf diese Version zurücksetzen
+yform_history_restore_success = Datensatz wurde zurückgesetzt.
+yform_history_restore_error = Datensatz konnte nicht zurückgesetzt werden.
+yform_history_delete = Historie löschen
+yform_history_delete_all = komplett
+yform_history_delete_older_3_months = älter als 3 Monate
+yform_history_delete_confirm = Historie wirklich löschen?
+yform_history_delete_success = Die Historien-Datensätze wurden gelöscht.
+
+yform_manager_show_form_notation = Formular-Code
+
+navigation_yform_tables = Tabellen
+yform_tabledata_overview = Datentabelle
+
+yform_manager_multi_edit_field = Feld „{0}“ bearbeiten
+
+yform_values_be_link_description = 				Ein Redaxo-Feld, um einen <b>Redaxo-Artikel</b> auszuwählen.
+yform_values_be_manager_relation_description = 	Ein Auswahlfeld / Popup, um ein oder mehrere <b>Datensätze</b> mit denen einer fremden Tabelle zu <b>verknüpfen</b>.
+yform_values_be_media_description = 			Ein Redaxo-Feld, um eine einzelne oder mehrere <b>Medienpool-Datei/en</b> auszuwählen.
+yform_values_be_table_description = 			Eine Reihe von Eingabefeldern, um <b>tabellarische Daten</b> einzugeben.
+yform_values_prio_description =					Ein <b>Auswahlfeld</b>, um Datensätze in eine <b>bestimmte Reihenfolge</b> zu sortieren.
+
+yform_values_defaults_prio = Priorität
+yform_values_be_manager_relation_table = Ziel Tabelle
+yform_values_be_manager_relation_field = Ziel Tabellenfeld(er) zur Anzeige oder Feld, das die Relations-ID enthält.
+yform_values_be_manager_relation_type = Mehrfachauswahl
+yform_values_be_manager_relation_empty_option = Mit "Leer-Option"
+yform_values_be_manager_relation_empty_value = Fehlermeldung wenn "Leer-Option" nicht aktiviert ist.
+yform_values_be_manager_relation_size = Höhe der Auswahlbox
+yform_values_be_manager_relation_filter = Filter
+yform_values_be_manager_relation_relation_table = Relationstabelle
+yform_values_be_media_preview = Preview
+yform_values_be_media_category = Medienpool Kategorie
+yform_values_be_media_types = Erlaubte Dateien
+yform_values_be_media_types_notice = Format: jpg,gif,png ... (kommaseparierte Liste) oder * (für alle Dateien)
+yform_values_be_media_multiple = Mehrfachauswahl
+yform_values_be_table_columns = Bezeichnung der Spalten (Menge,Preis,Irgendwas)
+yform_values_be_link_multiple = Mehrfachauswahl
+yform_values_prio_fields = Anzeige
+yform_values_prio_scope = Beschränkung
+yform_values_prio_default = Am Anfang
+
+yform_is = ist
+yform_will_set_to = wird
+
+yform_field_add = Feld hinzufügen
+yform_field_update = Feld aktualisieren
+yform_field_db_type = Datenbank-Feldtyp
+
+yform_manager_table_data_view_roles = Datenansicht beschränkt auf
+yform_manager_table_data_edit_roles = Datenbearbeitung beschränkt auf
+
+yform_manager_table_nopermission = Keine Berechtigung auf diese Tabelle
+
+yform_manager_tables_edit = Tabellen mit Bearbeitungsrechten
+yform_manager_tables_view = Tabellen mit Recht zur Ansicht
+
+yform_structure_article_could_not_be_deleted = Der Artikel konnte nicht gelöscht werden, da er von folgenden Datensätzen verwendet wird:
diff --git a/lang/en_gb.lang b/lang/en_gb.lang
index 7104bb946..edde3f5b5 100644
--- a/lang/en_gb.lang
+++ b/lang/en_gb.lang
@@ -265,3 +265,380 @@ yform_docs_demos = Demos
 yform_docs_yorm = Yorm
 yform_docs_plugins = Plugins
 
+yform_email_templates = E-mail Templates
+
+yform_email_key = Key - please do not change
+yform_email_from = Sender e-mail [ex.: info@redaxo.de]
+yform_email_from_name = Sender name [ex. REDAXO Server]
+yform_email_reply_to = Reply-To email address [ex. yform@redaxo.de]
+yform_email_reply_to_name = Reply-To name [ex. YForm Server]
+yform_email_subject = Subject
+yform_email_body = Body
+yform_email_body_html = Body (HTML)
+yform_email_create = Create e-mail template
+yform_email_update = Update e-mail template
+yform_email_header_template_description = Description
+yform_email_header_template_mail_from = From e-mail
+yform_email_header_template_mail_from_name = From name
+yform_email_header_template_subject = Subject
+yform_email_create_template = Create template
+yform_email_header_template_functions = Functions
+yform_email_templates_not_found = No templates found
+yform_email_delete_template = Delete
+
+yform_email_info_template_added = Template added
+yform_email_info_template_updated = Template updated
+yform_email_info_template_deleted = Template deleted
+
+yform_email_attachments = Attachements
+
+yform_delete_template = Delete template
+
+yform_email_caption = List of templates
+
+yform_email_info_text = <p>Fields which are being used in forms, can be displayed/processed in templates. <mark>PHP is allowed</mark> making it possible to handle/process very specific cases. Outputting normal fields is as simple as:<br /><br />REX_YFORM_DATA[field="name"]<br />REX_YFORM_DATA[field="email" instead="E-mail address was entered"]<br />REX_YFORM_DATA[field="name" instead="default value"]<br />REX_YFORM_DATA[field="name" prefix="My name is:" suffix=""]</p>
+
+// REST
+
+yform_rest = REST-API
+
+yform_rest_token = Token
+
+yform_rest_token_header = REST: Token
+
+yform_rest_token_name = Name
+yform_rest_token_token = Token
+yform_rest_token_token_notice = New token? [{0}]
+yform_rest_token_status = Active
+
+yform_rest_token_deleted = Token deleted
+yform_rest_token_info_text =
+yform_rest_token_update = Token saved
+yform_rest_token_info_updated
+yform_rest_token_create = Create token
+yform_rest_token_info_added
+
+yform_rest_token_updated = Token data saved
+yform_rest_token_added = Token added
+
+yform_rest_token_header_summary
+
+yform_rest_token_header_description
+yform_rest_token_not_found = No token found
+yform_rest_token_caption = List of token
+
+yform_rest_token_name_validate = Please enter a description/name
+yform_rest_token_token_validate = Please create a token
+
+yform_rest_token_amount = Allowed number of requests
+
+yform_rest_token_interval = Interval
+yform_rest_token_none = Without restriction
+yform_rest_token_per_hour = Maximum number of requests per hour
+yform_rest_token_per_day = Maximum number of requests per day
+yform_rest_token_per_month = Maximum number of requests per month
+yform_rest_token_overall = Maximum number of requests
+
+yform_rest_token_access = Requests
+yform_rest_token_access_header = REST: requests
+yform_rest_token_access_caption = List of requests
+yform_rest_token_access_update = Edit entry
+yform_rest_token_access_deleted = Entry deleted
+yform_rest_token_access_updated = Entry saved
+yform_rest_token_access_datetime_created = Requested on the
+yform_rest_token_url = URL
+
+yform_rest_token_token_paths = Allowed endpoints
+
+// Manager
+
+yform_manager = Table Manager
+
+navigation_manager = Tables
+yform_manager_fields = Fields
+
+# yform manager
+yform_alltables = All tables
+yform_back_to_overview = Back to overview
+yform_updatetable = Update table/s
+yform_tablesupdated = Table/s updated
+yform_errors_occurred  = Error occurred
+yform_help_empty = Empty entries can be searched with (empty)
+yform_help_multipleselect = Select multiple while holding down CTRL or CMD
+yform_updatetable_with_delete = with field deletion
+yform_updatetable_with_delete_confirm = Update with field deletion?
+
+yform_relation_move_first_data = Move selected entry to the top
+yform_relation_move_up_data = Move selected entry up
+yform_relation_move_down_data = Move selected entry down
+yform_relation_move_last_data = Move selected entry to the bottom
+yform_relation_add_entry = Add record
+yform_relation_choose_entry = Select record
+yform_relation_delete_entry = Delete selected record
+yform_relation_no_entry = No record selected
+yform_relation_view_entry = View record
+yform_relation_first_create_data = Please first create this record
+yform_relation_edit_relations = Edit relations
+
+yform_prio_top = At the top
+yform_prio_after = After "{0}"
+yform_prio_bottom = At the bottom
+
+yform_truncate_table = truncate
+yform_table_truncated = Table truncated
+yform_table_not_found = Table not found
+yform_truncate_table_confirm = Delete ALL records in the table?
+yform_table_overview = Table overview
+
+yform_manager_edit_table = Edit table
+yform_manager_add_table = Add table
+
+yform_update_table = Update table
+yform_add_table = Add table
+yform_add_row = Add row
+
+yform_edit_datatable = Edit data
+
+# tables.inc.php
+yform_importcsv = Import CSV file
+yform_tbl_active = Active
+yform_tbl_inactive = Inactive
+
+yform_tbl_active = Active
+yform_tbl_inactive = Inactive
+
+yform_manager_table_updated = Thank you for the update.
+yform_manager_table_entry_saved = Thank you for the edit.
+yform_manager_table_enter_name = Please enter table name
+yform_manager_table_enter_specialchars = Please enter only letters and numbers for the table name. The first character must be a letter
+yform_manager_table_exists = This table name already exists
+
+yform_manager_table_prio = Priority
+yform_manager_table_prio_short = Prio
+yform_manager_table_name = Name
+yform_manager_table_status = Status
+yform_manager_name = Label
+yform_manager_table_description = Description
+yform_manager_entries_per_page = Records per page
+yform_manager_sortfield = Default sort: field
+yform_manager_sortorder = Default sort: order
+yform_manager_sortorder_asc = ascending
+yform_manager_sortorder_desc = descending
+yform_manager_search_active = Search active
+yform_manager_enter_number = Please specify the number of records per page
+yform_manager_table_hide = Don't show in menu
+yform_manager_table_allow_export = Allow data export
+yform_manager_table_allow_import = Allow data import
+yform_manager_table_allow_mass_deletion = Allow mass deletion
+yform_manager_table_allow_mass_edit = Allow mass edit
+yform_manager_table_history = Use History AddOn
+yform_manager_tablefield_overview = Field overview
+yform_manager_table_schema_overwrite = ALWAYS overwrite database field types with schema definitions
+yform_manager_table_basic_info = Basic info
+yform_manager_table_func = Table functions
+yform_manager_table_user_func = User functions
+
+yform_manager_table_updated = Thank you for the update.
+yform_manager_table_added = Thank you for the entry.
+yform_manager_table_deleted = Tabledefinitions deleted [table still exists]
+yform_manager_table_add = Create table
+yform_manager_table_update = Update table and fields
+yform_manager_table_import = Import table
+yform_manager_table_features = Activated options
+
+yform_manager_type_id = Type
+yform_manager_type_name = Type name
+
+yform_manager_tableset = Table set
+yform_manager_table = Table
+yform_manager_tables = Tables
+
+yform_manager_import = import
+yform_manager_export = export
+yform_manager_create = create
+yform_manager_migrate = migrate
+
+yform_manager_table_migrate = migrate table
+yform_manager_table_migrated_failed = Failed migrating table `{0}`. Error: {1}
+yform_manager_table_migrate_info = The migration manager creates a compatible table from an existing table, to make it work with the table manager. To do this the existing tables required an auto increment field called "id". The table manager won't work without this field. <br /><br />Optionally specify an existing auto increment field to adopt. Ex: "event_id" will be changed to "id".
+yform_manager_migrate_table_id_convert = Convert `id`-field if it does not exist
+yform_manager_table_migrated_success = Table successfully migrated.
+
+yform_manager_tableset_import = Import table set
+yform_manager_tableset_import_jsonimportfile = Import JSON file
+yform_manager_tableset_import_info = Info
+yform_manager_tableset_import_warning_selectfile = The specified JSON file could not be used, it may contain errors.
+yform_manager_tableset_import_warning_type = Wrong file type. File needs to be of type JSON.
+yform_manager_tableset_import_success = Table/s successfully imported
+yform_manager_tableset_import_failed = Import of table set failed:<br />{0}
+
+yform_manager_table_edit = Edit tables
+
+yform_manager_tableset_export = Export table set
+yform_manager_tableset_export_info = Info
+yform_manager_export_error_empty = Please select at least one table
+
+yform_manager_table_hidden = Visibility
+yform_hidden = hidden
+yform_visible = visible
+
+
+# edit.inc.php
+yform_thankyouforupdate = Record updated.
+yform_thankyouforupdates = Records updated.
+yform_thankyouforentry = Record added.
+yform_editdata = Edit record [id: {0}]
+yform_editdata_collection = Edit {0} records
+yform_editdata_collection_error_abort = Transaction failed due to the following error: {0}
+yform_clonedata = Clone record [original id: {0}]
+yform_adddata = Create record
+yform_searchtext = Search term
+yform_searchfields = The fields to be searched
+yform_id = ID
+yform_function = Function
+yform_function_button = Action
+yform_add = add
+yform_add_apply = apply
+yform_edit = edit
+yform_clone = clone
+yform_view = show
+yform_save = save
+yform_save_apply = apply
+yform_delete = delete
+yform_delete_definitions = delete definitions
+yform_delete_definitions_info = Database table will be preserved
+yform_search = search
+yform_export = export
+yform_import = import
+yform_datadeleted = Record deleted
+yform_openerinfo = Opener info
+
+yform_table_info = Info
+yform_dataset = Result set
+
+yform_dataset_delete = Delete result reset
+yform_dataset_deleted = Result set deleted
+yform_dataset_delete_confirm = Delete result set?
+
+yform_data = Record
+yform_datas = Records
+yform_manager_search = Search
+
+yform_data_view = show
+
+
+yform_data_select = apply
+
+# field.inc.php
+yform_tablenotexists = This table does not exist!
+yform_tablefield = Table field
+yform_values = Values
+yform_validates = Validation
+yform_actions = Actions
+yform_validatenamenotempty = Please enter name
+yform_validatenamepregmatch = Please enter only letters and "_"
+yform_validatenamecheck = Specified name already exists
+yform_donotsaveindb = Don't save to database
+yform_hideinlist = Don't show in list
+yform_useassearchfieldalidatenamenotempty = Add to search fields
+yform_tablefielddeleted = Table field deleted
+yform_tablefieldnotfound = Table field not found
+yform_addtablefield = Create table field
+yform_table = Table
+yform_editfield = Edit fields
+yform_choosenadd = Select fields
+yform_choosenadd_description = Please select the field to use for administration. There are Value Fields, usually used for user input, Validate Fields used to validate the data inputed into Value Fields.
+yform_addfield = Add field
+yform_editfields = Edit fields
+
+yform_id_is_missing = ID missing
+yform_id_missing_info = Table does not conaint an id field with the auto increment attribute. YForm requires such a field to be present. Please alter the table accordingly.
+
+# import
+yform_manager_import_error_missingfile = Please upload a file to import
+yform_manager_import_error_missingfields = The following gields are missing: {0}
+yform_manager_import_error_min_missingfields = At least one field is missing: {0}
+yform_manager_import_error_field = Field {0} could not be created: "{1}"
+yform_manager_import_field_added = Field "{0}" created
+yform_manager_import_error_import_abort = Import failed due to the following error: {0}
+yform_manager_import_error_import_stopped = Import aborted due to errors.
+yform_manager_import_error_dataimport = Record ({0}) could not be imported: {1}
+yform_manager_import_error_import = {0} records imported. {1} records added, {2} records updated/replaced
+yform_manager_import_info_data_imported = {0} records were NOT imported
+yform_manager_import_error_not_started = Import not started.
+yform_manager_import_csv = Import CSV file
+yform_manager_import_csv_info = Here new records can be imported. Please note that only text files can be imported which contain field definitions <b>in the first row</b>. Additionally, files need to be encoded with UTF-8 and may need to be converted before.
+yform_manager_import_if_no_column = If column does not exist in table
+yform_manager_import_if_no_column_ignore = then ignore this column
+yform_manager_import_if_no_column_addtext = then create a text column with the same name (to manage this later these fields need to be specified later).
+yform_manager_import_if_no_column_break = then abort import.
+yform_manager_import_divider = Separator character
+yform_manager_import_divider_semicolon = Semi colon
+yform_manager_import_divider_comma = Comma
+yform_manager_import_divider_tab = Tab
+yform_manager_import_unique_field = If this field is identical, the record will be replaced
+yform_manager_import_start = Add
+yform_manager_import_file = File
+yform_manager_import_error_missingfielddefinition = There are empty fields, empty fields cannot be allocated. Please check the first line of the import.
+yform_manager_import_error_duplicatefielddefinition = There are identical fields. Please check the first line of the import.
+
+# history
+yform_history = History
+yform_history_dataset_id = Record ID
+yform_history_dataset = Record
+yform_history_action = Action
+yform_history_action_create = created
+yform_history_action_update = updated
+yform_history_action_delete = deleted
+yform_history_user = User
+yform_history_timestamp = Timestamp
+yform_history_view = view
+yform_history_restore = revert
+yform_history_restore_this = Revert record to this version
+yform_history_restore_success = Record reverted
+yform_history_restore_error = Record could not be reverted.
+yform_history_delete = Delete History
+yform_history_delete_all = completely
+yform_history_delete_older_3_months = older than 3 months
+yform_history_delete_confirm = Delete History?
+yform_history_delete_success = History records deleted.
+
+yform_manager_show_form_notation = Form code
+
+navigation_yform_tables = Tables
+yform_tabledata_overview = Data tables
+
+yform_manager_multi_edit_field = Edit field "{0}"
+
+yform_values_be_link_description = 				A field to select a <b>REDAXO article</b>
+yform_values_be_manager_relation_description = 	A select field/popup to <b>link multiple records</b> with records from a foreign table.
+yform_values_be_media_description = 			A field to select on or more <b>files from the mediapool</b>.
+yform_values_be_table_description = 			A set of input fields to enter <b>data rendered as a table</b>.
+yform_values_prio_description =					A select field used to <b>sort records in a specific order</b>.
+
+yform_values_defaults_prio = Priority
+yform_values_be_manager_relation_table = Target table
+yform_values_be_manager_relation_field = Target columns for displaying ro target field
+yform_values_be_manager_relation_type = Multiselect
+yform_values_be_manager_relation_empty_option = Add "empty" option
+yform_values_be_manager_relation_empty_value = Error message if "empty" option is not active.
+yform_values_be_manager_relation_size = Height of select box
+yform_values_be_manager_relation_filter = Filter
+yform_values_be_manager_relation_relation_table = Related table
+yform_values_be_media_preview = Preview
+yform_values_be_media_category = Mediapool category
+yform_values_be_media_types = Types
+yform_values_be_media_types_notice = Format: jpg, gif
+yform_values_be_media_multiple = Multiselect
+yform_values_be_table_columns = Column labels (amount, price, whatever)
+yform_values_be_link_multiple = Multiselect
+yform_values_prio_fields = Display
+yform_values_prio_scope = Restriction
+yform_values_prio_default = At the top
+
+yform_is = is
+yform_will_set_to = will be
+
+yform_field_add = Add field
+yform_field_update = Update field
+yform_field_db_type = Database field type
diff --git a/lang/es_es.lang b/lang/es_es.lang
index d2e8fa24d..3719db1cf 100644
--- a/lang/es_es.lang
+++ b/lang/es_es.lang
@@ -262,3 +262,373 @@ yform_docs_demos = Demos
 yform_docs_yorm = Yorm
 yform_docs_plugins = PlugIns
 
+yform_email_templates = Plantillas de E-mail
+
+yform_email_key = Clave - por favor no cambie
+yform_email_from = E-mail del remitente [z.b.info@redaxo.de]
+yform_email_from_name = Nombre del remitente [ej. Servidor REDAXO]
+yform_email_reply_to = Respuesta-a-E-Mail [z.B. yform@redaxo.de]
+yform_email_reply_to_name = Responder a nombre [z.B. Servidor YForm]
+yform_email_subject = Respecto
+yform_email_body = Cuerpo
+yform_email_body_html = Cuerpo (Html)
+yform_email_create = Añadir plantilla de correo electrónico
+yform_email_update = Actualizar la plantilla de correo electrónico
+yform_email_header_template_description = Clave
+yform_email_header_template_mail_from = De
+yform_email_header_template_mail_from_name = Nombre
+yform_email_header_template_subject = Respecto
+yform_email_create_template = Crear plantilla
+yform_email_header_template_functions = Características
+yform_email_templates_not_found = No se encontraron plantillas
+yform_email_delete_template = Borrar
+
+yform_email_info_template_added = Plantilla fue agregada
+yform_email_info_template_updated = Plantilla ha sido actualizada
+yform_email_info_template_deleted = Plantilla ha sido eliminada
+
+yform_email_attachments = Adjuntos
+
+yform_delete_template = Eliminar plantilla
+
+yform_email_caption = Lista de plantillas
+
+yform_email_info_text = <p>Los campos utilizados en los formularios se pueden ver y procesar en las plantillas. <mark>Básicamente, PHP también está permitido</mark>, por lo que puede responder individualmente a casos individuales. La salida normal de un campo es la siguiente:<br/><br/>REX_YFORM_DATA[field="name"]<br/>REX_YFORM_DATA[field="email" instead="El email se completó"]<br/>REX_YFORM_DATA[field="name" instead="Valor predeterminado"]<br/>REX_YFORM_DATA[field="name" prefix="Mein name:" suffix=""]</p>
+
+// REST
+
+yform_rest = REST-API
+
+yform_rest_token = Token
+
+yform_rest_token_header = REST: Token
+
+yform_rest_token_name = Nombre
+yform_rest_token_token = Token
+yform_rest_token_token_notice = ¿Se necesita una nueva ficha? [{0}]
+yform_rest_token_status = Activo
+
+yform_rest_token_deleted = El token ha sido eliminado
+yform_rest_token_info_text =
+yform_rest_token_update = Actualizar datos de token
+yform_rest_token_info_updated
+yform_rest_token_create = Crear token
+yform_rest_token_info_added
+
+yform_rest_token_updated = Datos de token se han actualizado.
+yform_rest_token_added = Token fue agregado
+
+yform_rest_token_header_summary
+
+yform_rest_token_header_description
+yform_rest_token_not_found = No se encontraron fichas
+yform_rest_token_caption = Lista de fichas
+
+yform_rest_token_name_validate = Por favor ingrese una descripción/nombre
+yform_rest_token_token_validate = Por favor ingrese un token
+
+yform_rest_token_amount = Número permitido de acceso
+
+yform_rest_token_interval = Intervalo
+yform_rest_token_none = Sin limitación
+yform_rest_token_per_hour = Máximas vistas por hora.
+yform_rest_token_per_day = Máximas vistas por día.
+yform_rest_token_per_month = Máximas vistas al mes.
+yform_rest_token_overall = Tráfico máximo
+
+yform_rest_token_access = Token de acceso
+yform_rest_token_access_header = REST:peticiones
+yform_rest_token_access_caption = Listado de accesos
+yform_rest_token_access_update = Editar entrada
+yform_rest_token_access_deleted = Se ha eliminado la entrada.
+yform_rest_token_access_updated = La entrada ha sido actualizada.
+yform_rest_token_access_datetime_created = Acceso en
+yform_rest_token_url = URL
+
+yform_rest_token_token_paths = Endpoints permitidos
+
+// Manager
+
+yform_manager = Gestor de tabla
+
+navigation_manager = Tablas
+yform_manager_fields = Campos
+
+# yform manager
+yform_alltables = Todas las tablas
+yform_back_to_overview = Volver al resumen
+yform_updatetable = Actualizar tabla (s)
+yform_tablesupdated = Table/n ha sido actualizado
+
+yform_help_empty = Las entradas vacías se pueden buscar con <br/> "(vacío)"
+yform_help_multipleselect = Selección múltiple con tecla CTRL/CMD presionada
+yform_updatetable_with_delete = con eliminación de campo
+yform_updatetable_with_delete_confirm = Esta seguro de actualizar con eliminación de campo?
+
+yform_relation_move_first_data = Mueva el registro seleccionado al principio
+yform_relation_move_up_data = Mover el registro seleccionado hacia arriba
+yform_relation_move_down_data = Mover el registro seleccionado hacia abajo
+yform_relation_move_last_data = Mover el registro seleccionado al final
+yform_relation_choose_entry = Seleccionar registro
+yform_relation_delete_entry = Eliminar el registro seleccionado
+yform_relation_first_create_data = Por favor crea este registro primero
+yform_relation_edit_relations = Administrar accesos directos
+
+yform_prio_top = En el comienzo
+yform_prio_after = Después de "{0}"
+yform_prio_bottom = Al final
+
+yform_truncate_table = Vacía
+yform_table_truncated = La tabla fue vaciada
+yform_table_not_found = La tabla no fue encontrada
+yform_truncate_table_confirm = ¿De verdad vaciar la tabla completa?
+yform_table_overview = Tabla de resumen
+
+yform_manager_edit_table = Editar tabla
+yform_manager_add_table = Agrega una tabla
+
+yform_update_table = Actualizar tabla
+yform_add_table = Agrega una tabla
+yform_add_row = Agregar fila
+
+yform_edit_datatable = Administrar datos
+
+# tables.inc.php
+yform_importcsv = Importar CSV
+yform_tbl_active = Activamente
+yform_tbl_inactive = Inactivo
+
+yform_tbl_active = Activamente
+yform_tbl_inactive = Inactivo
+
+yform_manager_table_updated = Gracias por la actualización.
+yform_manager_table_entry_saved = Gracias por el registro
+yform_manager_table_enter_name = Por favor ingrese el nombre de la tabla
+yform_manager_table_enter_specialchars = Por favor ingrese solo letras y números para el nombre de la tabla. El primer personaje debe ser una letra
+yform_manager_table_exists = Este nombre de tabla ya existe
+
+yform_manager_table_prio = Prioridad
+yform_manager_table_prio_short = Prio
+yform_manager_table_name = Nombre
+yform_manager_table_status = Estado
+yform_manager_name = Designación
+yform_manager_table_description = Descripción
+yform_manager_entries_per_page = Registros por página
+yform_manager_sortfield = Clasificación estándar: campo
+yform_manager_sortorder = Clasificación estándar: dirección
+yform_manager_sortorder_asc = Ascendente
+yform_manager_sortorder_desc = Descendente
+yform_manager_search_active = Búsqueda activa
+yform_manager_enter_number = Por favor ingrese un número para los registros por página
+yform_manager_table_hide = Escondido en la navegación
+yform_manager_table_allow_export = Permitir la exportación de datos
+yform_manager_table_allow_import = Permitir la importación de datos
+yform_manager_table_allow_mass_deletion = Permitir eliminación masiva
+yform_manager_table_allow_mass_edit = Permitir procesamiento masivo
+yform_manager_table_history = Crear historial
+yform_manager_tablefield_overview = Resumen campo
+yform_manager_table_schema_overwrite = SIEMPRE sobrescriba los campos de la base de datos con definición de esquema
+yform_manager_table_basic_info = Información básica
+yform_manager_table_func = Las funciones de tabla
+yform_manager_table_user_func = funciones de confort del usuario
+
+yform_manager_table_updated = Gracias por la actualización.
+yform_manager_table_added = Gracias por la entrada.
+yform_manager_table_deleted = Se eliminaron las definiciones de la tabla [la tabla no se eliminó]
+yform_manager_table_add = Crea una tabla
+yform_manager_table_update = Actualizar tablas y campos
+yform_manager_table_import = Tabla de importación
+yform_manager_table_features = Opciones activadas
+
+yform_manager_type_id = Tipo
+yform_manager_type_name = Nombre tipo
+
+yform_manager_tableset = Tableset
+yform_manager_table = Tabla
+yform_manager_tables = Tablas
+
+yform_manager_import = Importación
+yform_manager_export = Exportación
+yform_manager_create = Invertir
+yform_manager_migrate = Emigrar
+
+yform_manager_table_migrate = Migrar una tabla
+yform_manager_table_migrated_failed = La migración de `{0}` falló. Error: {1}
+yform_manager_table_migrate_info = El administrador de migración crea a partir de una tabla existente, una que se puede gestionar a través del gestor de tablas. Esto requiere un campo de autoincremento llamado `id` en la tabla. El administrador de tablas no funciona sin este campo. <br /> <br /> Opcionalmente, la decisión es convertir un campo de autoincrecimiento existente. Por ejemplo, "event_id" a "id".
+yform_manager_migrate_table_id_convert = Convierte el campo 'id' si no está disponible
+yform_manager_table_migrated_success = La tabla ha sido migrada con éxito.
+
+yform_manager_tableset_import = Importar grupo de tabla
+yform_manager_tableset_import_jsonimportfile = Importar archivo JSON
+yform_manager_tableset_import_info = Info
+yform_manager_tableset_import_warning_selectfile = No se utilizó ningún archivo .json o el archivo estaba dañado.
+yform_manager_tableset_import_warning_type = El tipo de archivo es incorrecto. Debe ser un archivo JSON.
+yform_manager_tableset_import_success = Tabla/s se importó con éxito
+yform_manager_tableset_import_failed = La importación de tablas falló: <br /> {0}
+
+yform_manager_table_edit = Editar tablas
+
+yform_manager_tableset_export = Exportar grupo de tabla
+yform_manager_tableset_export_info = Info
+yform_manager_export_error_empty = Seleccione al menos una tabla para exportar
+
+yform_manager_table_hidden = Visibilidad
+yform_hidden = Oculto
+yform_visible = Visible
+
+
+# edit.inc.php
+yform_thankyouforupdate = Record ha sido actualizado.
+yform_thankyouforentry = Registro fue ingresado
+yform_editdata = Editar registro [id: {0}]
+yform_editdata_collection = {0} editar registros
+yform_editdata_collection_error_abort = La transacción falló debido a un error: {0}
+yform_adddata = Crear registro de datos
+yform_searchtext = Palabra clave
+yform_searchfields = Campos de tabla para buscar
+yform_id = Id
+yform_function = Función
+yform_function_button = Accion
+yform_add = Añadir
+yform_add_apply = Tomar el relevo
+yform_edit = Editar
+yform_save = Guardar
+yform_save_apply = Tomar el relevo
+yform_delete = Borrar
+yform_delete_definitions = Eliminar definiciones
+yform_delete_definitions_info = Tabla de base de datos se conserva
+yform_search = Búsqueda
+yform_export = Exportación
+yform_import = Importación
+yform_datadeleted = El registro ha sido eliminado
+yform_openerinfo = Abridor de Información
+
+yform_table_info = Info
+yform_dataset = Resultado de datos
+
+yform_dataset_delete = Eliminar resultado de datos
+yform_dataset_deleted = El resultado de los datos fue vaciado
+yform_dataset_delete_confirm = ¿Realmente vaciar el resultado de los datos?
+
+yform_data = Registro
+yform_datas = Archivos
+yform_manager_search = Búsqueda
+
+yform_data_view = Vista
+
+
+yform_data_select = Tomar el relevo
+
+# field.inc.php
+yform_tablenotexists = ¡Esta tabla no existe!
+yform_tablefield = Campo de tabla
+yform_values = Valores
+yform_validates = Validación/verificación
+yform_actions = Acciones
+yform_validatenamenotempty = Por favor ingrese el nombre
+yform_validatenamepregmatch = Ingrese solo letras y "_" en el nombre
+yform_validatenamecheck = Este nombre ya existe
+yform_donotsaveindb = No guardar en la base de datos
+yform_hideinlist = Ocultar en la lista
+yform_useassearchfieldalidatenamenotempty = Grabar como campo de búsqueda
+yform_tablefielddeleted = El campo de tabla fue eliminado
+yform_tablefieldnotfound = No se encontró el campo de tabla
+yform_addtablefield = Crear campo de tabla
+yform_table = Tabla
+yform_editfield = Campo de edición
+yform_choosenadd = Seleccionar campos
+yform_choosenadd_description = Seleccione el campo que desea usar en su administración. Hay campos de valor, con los que generalmente se realizan las entradas, así como también campos de validación, con los cuales se pueden examinar los campos de valor según diversos criterios.
+yform_addfield = Agregar campo
+yform_editfields = Editar campos
+
+yform_id_is_missing = ID falta
+yform_id_missing_info = Desafortunadamente, la tabla no tiene campo ID con autoincrement. Por lo tanto, yform no puede trabajar con eso. Actualice la tabla y cree la ID manualmente si es necesario.
+
+# import
+yform_manager_import_error_missingfile = Por favor cargue un archivo de importación
+yform_manager_import_error_missingfields = Faltan los siguientes campos: {0}
+yform_manager_import_error_min_missingfields = Al menos falta un campo: {0}
+yform_manager_import_error_field = No se pudo crear el campo "{0}": "{1}"
+yform_manager_import_field_added = El campo "{0}" ha sido creado
+yform_manager_import_error_import_abort = La importación no se ejecutó debido al siguiente error: {0}
+yform_manager_import_error_import_stopped = La importación fue abortada porque aparecieron errores.
+yform_manager_import_error_dataimport = El registro ({0}) no se pudo importar: {1}
+yform_manager_import_error_import = {0} registros fueron importados De estos, {1} nuevos registros y {2} registros fueron reemplazados.
+yform_manager_import_info_data_imported = {0} registros no fueron importados
+yform_manager_import_error_not_started = La importación no se inició.
+yform_manager_import_csv = Importar archivo CSV
+yform_manager_import_csv_info = Con esto puedes importar datos en esta tabla. Tenga en cuenta que solo puede importar archivos de texto y que la <b>primera línea debe contener las definiciones de campo</b>. A continuación debería estar la codificación <b>del archivo de importación UTF-8</b>. que puede ser que tengas que convertirlos antes.
+yform_manager_import_if_no_column = Si la columna no existe en la base de datos,
+yform_manager_import_if_no_column_ignore = luego ignora la columna.
+yform_manager_import_if_no_column_addtext = luego crea una columna como TEXTO en la base de datos (estos campos deben determinarse más tarde para gestionarlos).
+yform_manager_import_if_no_column_break = luego cancela la importación.
+yform_manager_import_divider = Separador
+yform_manager_import_divider_semicolon = Punto y coma
+yform_manager_import_divider_comma = Coma
+yform_manager_import_divider_tab = Tabulador
+yform_manager_import_unique_field = Si este campo es idéntico, el registro será reemplazado
+yform_manager_import_start = Añadir
+yform_manager_import_file = Expediente
+yform_manager_import_error_missingfielddefinition = Hay campos que están vacíos y, por lo tanto, no se pueden asignar. Por favor, compruebe la primera línea de la importación.
+yform_manager_import_error_duplicatefielddefinition = Hay campos que son idénticos. Por favor, compruebe la primera línea de la importación.
+
+# history
+yform_history = historia
+yform_history_dataset_id = Identificación del registro
+yform_history_dataset = registro
+yform_history_action = Acción
+yform_history_action_create = Creado
+yform_history_action_update = Editado
+yform_history_action_delete = Suprimido
+yform_history_user = Usuario
+yform_history_timestamp = Fecha y hora
+yform_history_view = Vista
+yform_history_restore = Regreso
+yform_history_restore_this = Restablecer registro a esta versión
+yform_history_restore_success = El registro ha sido reiniciado.
+yform_history_restore_error = El registro no se pudo restablecer.
+yform_history_delete = Eliminar historial
+yform_history_delete_all = Completo
+yform_history_delete_older_3_months = Más de 3 meses
+yform_history_delete_confirm = ¿Realmente borras la historia?
+yform_history_delete_success = Los registros de historial han sido eliminados.
+
+yform_manager_show_form_notation = Código del formulario
+
+navigation_yform_tables = Tablas
+yform_tabledata_overview = Tabla de datos
+
+yform_manager_multi_edit_field = Editar campo "{0}"
+
+yform_values_be_link_description = 				Un campo de Redaxo para seleccionar un <b>artículo de Redaxo</b>.
+yform_values_be_manager_relation_description = 	Una casilla de verificación / ventana emergente para <b>vincular</b> uno o más <b>registros</b> a una hoja de cálculo extranjera.
+yform_values_be_media_description = 			Un campo Redaxo para seleccionar uno o varios <b>archivos de grupo de medios</b>.
+yform_values_be_table_description = 			Una serie de campos de entrada para ingresar <b>datos tabulares</b>.
+yform_values_prio_description =					Un <b>cuadro de selección</b> para ordenar registros en un <b>orden específico</b>.
+
+yform_values_defaults_prio = Prioridad
+yform_values_be_manager_relation_table = Tabla de objetivos
+yform_values_be_manager_relation_field = Campo(s) de tabla de destino para mostrar o campo que contiene la relación ID.
+yform_values_be_manager_relation_type = La selección múltiple
+yform_values_be_manager_relation_empty_option = Con "opción vacía"
+yform_values_be_manager_relation_empty_value = Mensaje de error si la "opción vacía" no está activada.
+yform_values_be_manager_relation_size = Altura del cuadro de selección
+yform_values_be_manager_relation_filter = Filtro
+yform_values_be_manager_relation_relation_table = Tabla de relaciones
+yform_values_be_media_preview = Preestreno
+yform_values_be_media_category = Categoría de grupo de medios
+yform_values_be_media_types = Tipos
+yform_values_be_media_types_notice = Formato: jpg, gif
+yform_values_be_media_multiple = La selección múltiple
+yform_values_be_table_columns = Nombre de las columnas (cantidad, precio, cualquier cosa)
+yform_values_be_link_multiple = La selección múltiple
+yform_values_prio_fields = Visualización
+yform_values_prio_scope = Restricción
+yform_values_prio_default = En el comienzo
+
+yform_is = Es
+yform_will_set_to = Deberá
+
+yform_field_add = Añadir campo
+yform_field_update = Campo de actualización
+yform_field_db_type = Tipo de campo de base de datos
diff --git a/lang/pt_br.lang b/lang/pt_br.lang
index 4229154a4..472115f7d 100644
--- a/lang/pt_br.lang
+++ b/lang/pt_br.lang
@@ -170,3 +170,294 @@ yform_values_options_boolvalues	= 	Valores  Values (0,1 = não selecionado, sele
 
 yform_geo_get_position = Obter a localização
 yform_geo_clear_position = Criar localização
+
+yform_email_templates = Templates do e-mail
+
+yform_email_key = Key - por favor, não altere
+yform_email_from = Enviar e-mail [ex.: info@redaxo.de]
+yform_email_from_name = Nome do remetente [ex. REDAXO Server]
+yform_email_subject = Assunto
+yform_email_body = Corpo
+yform_email_body_html = Body (HTML)
+yform_email_create = Adicionar um template para o e-mail
+yform_email_update = Atualizar o template do e-mail
+yform_email_header_template_description = Descrição
+yform_email_header_template_mail_from = Do e-mail
+yform_email_header_template_mail_from_name = Do nome
+yform_email_header_template_subject = Assunto
+yform_email_create_template = Criar template
+yform_email_header_template_functions = Funções
+yform_email_templates_not_found = Nenhum template encontrado
+yform_email_delete_template = Deletar
+
+yform_email_info_template_added = Template adicionado
+yform_email_info_template_updated = Template atualizado
+yform_email_info_template_deleted = Template deletado
+
+yform_email_attachments = Anexos
+
+yform_delete_template = Deletar template
+
+yform_email_caption = Lista de templates
+
+yform_email_info_text = <p> Campos que são usados pr outros campos podem ser exibidos/processados em um template. <mark>PHP é permitido para</mark> tornando possível o processamento de casos extremamente específicos. A saída normal de um campo é feito da seguinte forma:<br /><br />REX_YFORM_DATA[field="name"]<br />REX_YFORM_DATA[field="email" instead="E-mail address was entered"]<br />REX_YFORM_DATA[field="name" instead="default value"]<br />REX_YFORM_DATA[field="name" prefix="My name is:" suffix=""]</p>
+
+// Manager
+
+yform_manager = Gerenciar tabela
+
+navigation_manager = Tabelas
+yform_manager_fields = Campos
+
+# yform manager
+yform_alltables = Todas as tabelas
+yform_back_to_overview = Voltar para a visão geral
+yform_updatetable = Atualizar tabelas/s
+yform_tablesupdated = Tabela/s atualizada/s
+
+yform_help_empty = Entradas vazias podem ser procuradas com <br />"(empty)"
+yform_help_multipleselect = Seleção múltipla, mantendo pressionada a tecla CTRL / CMD
+yform_updatetable_with_delete = com exclusão de campo
+yform_updatetable_with_delete_confirm = deseja realmente atualizar com a extinção campo?
+
+yform_relation_move_first_data = Mover entrada selecionada para o topo
+yform_relation_move_up_data = Mover entrada selecionada para cima
+yform_relation_move_down_data = Mover entrada selecionada para baixo
+yform_relation_move_last_data = Mover entrada selecionada para o final
+yform_relation_choose_entry = Selecionar um registro
+yform_relation_delete_entry = Deletar registro selecionado
+yform_relation_first_create_data = Por favor, crie um registro primeiramente
+yform_relation_edit_relations = Editar relações
+
+yform_prio_top = No topo
+yform_prio_after = Depois "{0}"
+yform_prio_bottom = No final
+
+yform_truncate_table = esvaziar
+yform_table_truncated = A tabela foi esvaziada
+yform_table_not_found = Atabela não foi encontrada
+yform_truncate_table_confirm = Deletar todos os registros da tabela?
+yform_table_overview = Visão geral da tabela
+
+yform_manager_edit_table = Editar tabela
+yform_manager_add_table = Adicionar tabela
+
+yform_add_row = Adicionar linha
+
+# tables.inc.php
+yform_importcsv = Importar arquivo CSV
+yform_tbl_active = Ativo
+yform_tbl_inactive = Inativo
+
+yform_tbl_active = Ativo
+yform_tbl_inactive = Inativo
+
+yform_manager_table_updated = Obrigada por sua atualização.
+yform_manager_table_entry_saved = Obrigada por sua edição.
+yform_manager_table_enter_name = Por favor, insira um nome para a tabela
+yform_manager_table_enter_specialchars = Por favor, insira somente letras e números no nome da tabela. O primeiro caractere deve ser uma letra.
+yform_manager_table_exists = Esse noem já existe.
+
+yform_manager_table_prio = Prioridade
+yform_manager_table_prio_short = Prio
+yform_manager_table_name = Nome
+yform_manager_table_status = Status
+yform_manager_name = Designação
+yform_manager_table_description = Descrição
+yform_manager_entries_per_page = Registros por página
+yform_manager_sortfield = Classificação Standard: Campo
+yform_manager_sortorder = Classificação Standard: Direção
+yform_manager_sortorder_asc = crescente
+yform_manager_sortorder_desc = decrescente
+yform_manager_search_active = Busca ativa
+yform_manager_enter_number = Por favor, especifique o número de registro por página
+yform_manager_table_hide = Não exibir no menu
+yform_manager_table_allow_export = Permitir exportação de dados
+yform_manager_table_allow_import = Permitir importação de dados
+yform_manager_table_allow_mass_deletion = Permitir exclusão em massa
+yform_manager_table_history = Criar história
+yform_manager_tablefield_overview = Visão geral do campo
+
+yform_manager_table_updated = Obrigada por sua atualização.
+yform_manager_table_added = Obrigada pela entrada.
+yform_manager_table_deleted = Tabela deletada [Table definitions deleted, not table]
+yform_manager_table_add = Criar tabela
+yform_manager_table_update = Atualizar tabelas e campos
+yform_manager_table_import = Importar tabela
+yform_manager_table_features = Opções ativadas
+
+yform_manager_type_id = Tipo
+yform_manager_type_name = Nome do tipo
+
+yform_manager_tableset = Definir tabela
+yform_manager_table = Tabela
+yform_manager_tables = Tabelas
+
+yform_manager_import = Importar
+yform_manager_export = Exportar
+yform_manager_create = Criar
+yform_manager_migrate = Migrar
+
+yform_manager_table_migrate = Migrar tabela
+yform_manager_table_migrated_failed = Falha na migração da tabela  `{0}`. Erro: {1}
+yform_manager_table_migrate_info = O gerenciador de migração cria uma tabela compatível a partir de uma tabela existente, para fazê-la funcionar com o gerenciador de tabelas. Para fazer isso, as tabelas existentes exigem um campo de incremento automático chamado "id". O gerenciador de tabelas não funcionará sem este campo. <br /><br /> Opcionalmente, especifique um campo com preenchimento automático para adotar. Ex: "event_id será alterado para "id".
+yform_manager_migrate_table_id_convert = Converter campo-"id", se esse não existir
+yform_manager_table_migrated_success = Tabela migrada com sucesso.
+
+yform_manager_tableset_import = Importar conjunto de tabelas
+yform_manager_tableset_import_jsonimportfile = Importar arquivo JSON
+yform_manager_tableset_import_info = Info
+yform_manager_tableset_import_warning_selectfile = O arquivo JSON selecionado não pôde ser utilizado pois contem muitos erros.
+yform_manager_tableset_import_warning_type = Tipo de arquivo errado. Arquivo deve estar no formato JSON
+yform_manager_tableset_import_success = Tabela/s importada/s com sucesso
+yform_manager_tableset_import_failed = Importação de conjunto tabelas falhou:<br />{0}
+
+yform_manager_table_edit = Editar tabelas
+
+yform_manager_tableset_export = Exportar conjunto de tabelas
+yform_manager_tableset_export_info = Info
+yform_manager_export_error_empty = Por favor, selecione ao menos uma tabela
+
+yform_manager_table_hidden = Visibilidade
+yform_hidden = oculto
+yform_visible = visível
+
+
+# edit.inc.php
+yform_thankyouforupdate = Registro atualizado.
+yform_thankyouforentry = Registro adicionado.
+yform_editdata = Editar registro [id: {0}]
+yform_editdata_collection = Editar {0} registro
+yform_adddata = Criar registro
+yform_searchtext = Procurar termo
+yform_searchfields = Campos a serem procurados
+yform_id = Id
+yform_function = Função
+yform_function_button = açao
+yform_add = Adicionar
+yform_add_apply = Aplicar
+yform_edit = Editar
+yform_save = Salvar
+yform_save_apply = Aplicar
+yform_delete = Deletar
+yform_search = Buscar
+yform_export = Exportar
+yform_import = Importar
+yform_datadeleted = Deletar registro
+yform_openerinfo = Opener info
+
+yform_table_info = Info
+yform_dataset = Resultado de dados
+
+yform_dataset_delete = Apagar resultado de dados
+yform_dataset_deleted = Resultado de dados foi apagado
+yform_dataset_delete_confirm = Deletar resultado de dados?
+
+yform_data = Registro
+yform_manager_search = Buscar
+
+yform_data_select = Aplicar
+
+# field.inc.php
+yform_tablenotexists = Essa tabela não existe!
+yform_tablefield = Campo da tabela
+yform_values = Valores
+yform_validates = Validação
+yform_actions = Ações
+yform_validatenamenotempty = Por favor, insira um nome
+yform_validatenamepregmatch = Por favor, utilize somente letras e "_"
+yform_validatenamecheck = Nome já em uso
+yform_donotsaveindb = Não salvar do banco de dados
+yform_hideinlist = Não exibir na lista
+yform_useassearchfieldalidatenamenotempty = Adicionar aos campos de busca
+yform_tablefielddeleted = Campo de tabela deletado
+yform_tablefieldnotfound = Campo de tabela não encontrado
+yform_addtablefield = Criar campo de tabela
+yform_table = Tabela
+yform_editfield = Editar campos
+yform_choosenadd = Selecionar campos
+yform_choosenadd_description = Por favor, selecione os campos para admnistração. O valores destes campos, normalmente usado apra Input, validam campos usados para validar os dados introduzidos nos campos de valores.
+yform_addfield = Adicionar campos
+yform_editfields = Editar campos
+
+yform_id_is_missing = Falta Id
+yform_id_missing_info = A tabela não contém um campo id com o atributo de incremento automático. Yform precisa deste campo para funcionar. Por favor, altere a tabela.
+
+# import
+yform_manager_import_error_missingfile = Faça o upload de um arquivo de importação
+yform_manager_import_error_missingfields = Faltam os seguintes campos: {0}
+yform_manager_import_error_min_missingfields = Falta pelo menos um campo: {0}
+yform_manager_import_error_field = Campo {0} não pôde ser criado: "{1}"
+yform_manager_import_field_added = Campo "{0}" criado
+yform_manager_import_error_import_stopped = Importação interrompida devido a erros
+yform_manager_import_error_dataimport = Registro ({0}) não pôde ser importado: {1}
+yform_manager_import_error_import = {0} registros importados. {1} registros adicionado, {2} registros atualizados/substituídos
+yform_manager_import_info_data_imported = {0} registros não foram importados
+yform_manager_import_error_not_started = A importação não iniciou
+yform_manager_import_csv = Importar arquivo CSV
+yform_manager_import_csv_info = Aqui podem ser importados dados para a tabela. Por favor, note que você somente pode adicionar dados textuais e <b> que a primeira linha </b> deve contar as informações do campo. Também é necessário codificar os arquivos com UTF-8 e talvez devam ser convertido antes.
+yform_manager_import_if_no_column = Se a coluna não existir na tabela
+yform_manager_import_if_no_column_ignore = ignorar a coluna
+yform_manager_import_if_no_column_addtext = e criar, então, um texto de coluna com o mesmo nome (para trabalhar nos campos, estes devem ser especificados depois).
+yform_manager_import_if_no_column_break = em seguida, cancelar a importação.
+yform_manager_import_divider = separador
+yform_manager_import_divider_semicolon = Semi colon
+yform_manager_import_divider_comma = Vírgula
+yform_manager_import_divider_tab = Tab
+yform_manager_import_unique_field = Se este campo for idêntico, o registro será substituído
+yform_manager_import_start = Adicionar
+yform_manager_import_file = Arquivo
+
+# history
+yform_history = História
+yform_history_dataset_id = Id do registro
+yform_history_dataset = Registro
+yform_history_action = Ação
+yform_history_action_create = Criada
+yform_history_action_update = Atualizada
+yform_history_action_delete = Deletada
+yform_history_user = Usuário
+yform_history_timestamp = Timestamp
+yform_history_view = Visualizar
+yform_history_restore = Reverter
+yform_history_restore_this = Reverter registro para esta versão
+yform_history_restore_success = Registro revertido
+yform_history_restore_error = Registro não pôde ser revertido
+yform_history_delete = Deletar história
+yform_history_delete_all = Completamente
+yform_history_delete_older_3_months = mais de 3 meses
+yform_history_delete_confirm = Deletar histórico?
+yform_history_delete_success = Registros do histórico deletados
+
+yform_manager_show_form_notation = Código do formulário
+
+navigation_yform_tables = Tabelas
+yform_tabledata_overview = Tabelas de dados
+
+yform_manager_multi_edit_field = Editar campo "{0}"
+
+yform_values_be_link_description = 				Um campo para selecionar um <b>artigo do REDAXO </b>
+yform_values_be_manager_relation_description = 	Um campo / Popup selecionado para linkar os seus dados com o de uma outra tabela.
+yform_values_be_media_description = 			Um campo para selecionar um ou mais <b>campos da mediapool</b>.
+yform_values_be_table_description = 			Um conjunto de campos de entrada para inserção de <b> dados tabelados</b>.
+yform_values_prio_description =					Um campo selecionado usado para <b> organizar dados em um ordem específica</b>.
+
+yform_values_defaults_prio = Prioridade
+yform_values_be_manager_relation_table = Tabela de destino
+yform_values_be_manager_relation_field = Campos de tabela alvo para exibição ou campos de destino
+yform_values_be_manager_relation_type = Seleção múltipla
+yform_values_be_manager_relation_empty_option = Adicionar opção "vazia"
+yform_values_be_manager_relation_empty_value = Mensagem de erro se a opção "vazio" não está ativa.
+yform_values_be_manager_relation_size = Altura da caixa de seleção
+yform_values_be_manager_relation_filter = Filtro
+yform_values_be_manager_relation_relation_table = Tabela relacionada
+yform_values_be_media_preview = Preview
+yform_values_be_media_category = Categoria Mediapool
+yform_values_be_media_types = Tipos
+yform_values_be_media_types_notice = Formato: jpg, gif
+yform_values_be_media_multiple = Seleção múltipla
+yform_values_be_table_columns = Labels das colunas (quantidade, preço, qualquer coisa)
+yform_values_be_link_multiple = Seleção múltipla
+yform_values_prio_fields = Exibir
+yform_values_prio_scope = Restrição
+yform_values_prio_default = No começo
diff --git a/lang/sv_se.lang b/lang/sv_se.lang
index 525fddcdc..3a594110e 100644
--- a/lang/sv_se.lang
+++ b/lang/sv_se.lang
@@ -268,4 +268,385 @@ yform_docs_email = E-Mail mallar
 yform_docs_rest = REST-API
 yform_docs_tools = Verktyg
 
+yform_email_templates = E-post maller
+
+yform_email_key = Key - var god ändra inte
+yform_email_from = Avsändare e-post (t.ex. info@redaxo.de)
+yform_email_from_name = Avsändarens namn (t.ex. REDAXO server)
+yform_email_reply_to = Reply-To-E-Mail [t.ex. yform@redaxo.de]
+yform_email_reply_to_name = Reply-To-Name [t.ex. YForm Server]
+yform_email_header_template_mail_reply_to = Svar till
+yform_email_subject = Ämne
+yform_email_body = Body
+yform_email_body_html = Body (HTML)
+yform_email_create = Skapa e-post mall
+yform_email_update = Aktualisera e-post mallen
+yform_email_header_template_description = Description
+yform_email_header_template_mail_from = från
+yform_email_header_template_mail_from_name = Namn
+yform_email_header_template_subject = Ämne
+yform_email_create_template = Skapa mall
+yform_email_header_template_functions = Funktioner
+yform_email_templates_not_found = Ingenmall hittades
+yform_email_delete_template = Radera
+
+yform_email_info_template_added = Mallen tillfogades
+yform_email_info_template_updated = Mallen aktualiserades
+yform_email_info_template_deleted = Mallen raderades
+
+yform_email_attachments = Bilagor
+
+yform_delete_template = Radera mall
+
+yform_email_caption = Lista över alla mallar
+
+yform_email_info_text = <p> Fält som används i formulär kan visas och redigeras i mallarna. <mark> PHP är också principiellt tillåten </ marke>, så att man kan gå in individuellt på enskilda fall. Den normala visningen av ett fält sker enligt följande sätt: <br /> <br /> REX_YFORM_DATA [field = "name"] <br /> REX_YFORM_DATA [field = "email" instead = "E-post har fyllts in"] <br /> REX_YFORM_DATA [field = "name" instead = "standardvärde "] <br /> REX_YFORM_DATA [field = "name" prefix = "Mitt namn:" suffix = ""] </ p>
+
+// REST
+
+yform_rest = REST-API
+
+yform_rest_token = Token
+
+yform_rest_token_header = REST: Token
+
+yform_rest_token_name = Namn
+yform_rest_token_token = Token
+yform_rest_token_token_notice = Önslas ny token ? [{0}]
+yform_rest_token_status = Aktiv
+
+yform_rest_token_deleted = Token raderades!
+yform_rest_token_info_text =
+yform_rest_token_update = Aktualisera token-data
+yform_rest_token_info_updated
+yform_rest_token_create = Skapa token
+yform_rest_token_info_added
+
+yform_rest_token_updated = Token aktualiserades
+yform_rest_token_added = Token skapades
+
+yform_rest_token_header_summary
+
+yform_rest_token_header_description
+yform_rest_token_not_found = Kunde inte hitta några token
+yform_rest_token_caption = List av alla token
+
+yform_rest_token_name_validate = Vänligen ange en beteckning/ett namn
+yform_rest_token_token_validate = Vänligen skapa en token
+
+yform_rest_token_amount = Tillåtet antal åtkomster
+
+yform_rest_token_interval = Intervall
+yform_rest_token_none = Utan beskränkning
+yform_rest_token_per_hour = Maximala visningar per timme
+yform_rest_token_per_day = Maximala visningar per dag
+yform_rest_token_per_month = Maximala visningar per månad
+yform_rest_token_overall = Maximala visningar
+
+yform_rest_token_access = Visningar
+yform_rest_token_access_header = REST: Visningar
+yform_rest_token_access_caption = List av alla visningar
+yform_rest_token_access_update = Bearbeta inlägg
+yform_rest_token_access_deleted = Inlägg raderades
+yform_rest_token_access_updated = Inlägg aktualiserades
+yform_rest_token_access_datetime_created = Visning den
+yform_rest_token_url = URL
+
+yform_rest_token_token_paths = Tillåtna slutpunkter
+
+// Manager
+
+yform_manager = Table Manager
+
+navigation_manager = Tabeller
+yform_manager_fields = Fält
+
+# yform manager
+yform_alltables = Alla tabeller
+yform_back_to_overview = Tillbaa till översikten
+yform_updatetable = aktualisera tabell/er
+yform_tablesupdated = Tabell/er aktualiserades
+yform_errors_occurred = Fel uppstod
+yform_help_empty = Tomma inmatningar kan sökas med (empty)
+yform_help_multipleselect = Välj flera samtidigt genom att håller ned CTRL eller CMD
+yform_updatetable_with_delete = med fältradering
+yform_updatetable_with_delete_confirm = Vill du verkligen aktualisera med att fältradering?
+
+yform_relation_move_first_data = Flytta utvald datasats till början
+yform_relation_move_up_data = Flytta utvald datasats uppåt
+yform_relation_move_down_data = Flytta utvald datasats neråt
+yform_relation_move_last_data = Flytta utvald datasats till slutet
+yform_relation_choose_entry = Välj datasats
+yform_relation_delete_entry = Radera utvald datasats
+yform_relation_first_create_data = Var god skapa denna datasats först
+yform_relation_edit_relations = Förvalta förbindelsenar
+
+yform_prio_top = Vid början
+yform_prio_after = Efter "{0}"
+yform_prio_bottom = längs ner
+
+yform_truncate_table = tömma
+yform_table_truncated = Tabellen tömdes
+yform_table_not_found = Tabellen kunde inte hittas
+yform_truncate_table_confirm = Vll verkligen radera hela tabellen?
+yform_table_overview = Tabellöversikt
+
+yform_manager_edit_table = Redigera tabell
+yform_manager_add_table = Tillfoga tabell
+
+yform_update_table = Uppdatera tabellen
+yform_add_table = Tillfoga tabell
+yform_add_row = Tillfoga rad
+
+yform_edit_datatable = Hantera data
+
+# tables.inc.php
+yform_importcsv = Importera CSV
+yform_tbl_active = aktiv
+yform_tbl_inactive = inaktiv
+
+yform_tbl_active = aktiv
+yform_tbl_inactive = inaktiv
+
+yform_manager_table_updated = Tack för aktualiseringen
+yform_manager_table_entry_saved = Tack för  registreringen
+yform_manager_table_enter_name = Var god ange tabellnamnet
+yform_manager_table_enter_specialchars = Var god ange endast bokstäver och siffror vid tabellnamnet. Första tecknet måste vara en bokstav.
+yform_manager_table_exists = Tabellnamnet finns redan
+
+yform_manager_table_prio = Prioritet
+yform_manager_table_prio_short = Prio
+yform_manager_table_name = Namn
+yform_manager_table_status = Status
+yform_manager_name = Beteckning
+yform_manager_table_description = Beskrivning
+yform_manager_entries_per_page = Datasatser per sida
+yform_manager_sortfield = Standardsortering: fält
+yform_manager_sortorder = Standardsortering: riktning
+yform_manager_sortorder_asc = uppstigande
+yform_manager_sortorder_desc = nerstigande
+yform_manager_search_active = Sök aktiverad
+yform_manager_enter_number = Var god ange antalet datasatser per sida
+yform_manager_table_hide = Dölj i navigationen
+yform_manager_table_allow_export = Tillåt export från data
+yform_manager_table_allow_import = Tillåt import från data
+yform_manager_table_allow_mass_deletion = Tillåt mass radering
+yform_manager_table_allow_mass_edit = Tillåta massbearbetning
+yform_manager_table_history = Skapa historik
+yform_manager_tablefield_overview = Fältöversikt
+yform_manager_table_schema_overwrite = Skriv ALLTID databasfält med schemadefinition
+yform_manager_table_basic_info = Basinfo
+yform_manager_table_func = Tabellfuntkion
+yform_manager_table_user_func = Användarkomfortfunktioner
+
+yform_manager_table_updated = Tack för aktualiseringen
+yform_manager_table_added = Tack för inlägget.
+yform_manager_table_deleted = Tabell raderades [Table definitions deleted, not table]
+yform_manager_table_add = Skapa tabell
+yform_manager_table_update = Aktualisera tabeller och fält
+yform_manager_table_import = Importera tabellen
+yform_manager_table_features = Aktiverade optioner
+
+yform_manager_type_id = Typ
+yform_manager_type_name = Typnamn
+
+yform_manager_tableset = Tabellset
+yform_manager_table = Tabell
+yform_manager_tables = Tabeller
+
+yform_manager_import = importera
+yform_manager_export = exportera
+yform_manager_create = skapa
+yform_manager_migrate = migrera
+
+yform_manager_table_migrate = Migrera tabellen
+yform_manager_table_migrated_failed = Migrationen för {0} misslyckades. Fel: {1}
+yform_manager_table_migrate_info = Migrationsmanagern skapar från en befintlig tabell en tabell som kan förvaltas med tabellmanagern. För detta är i tabellen ett AUTOINCREMENT-fält med namnet 'id' nödvändigt. Utan detta fältet fungerar tabellmanagern inte. <br /> <br /> Optional kan ett befintligt AUTOINCREMENT-fält konverteras. Till exempel "Event_id" till "id".
+yform_manager_migrate_table_id_convert = Konvertera 'id'-fältet om det inte finns
+yform_manager_table_migrated_success = Tabellen migrerades.
+
+yform_manager_tableset_import = Importera tabellset
+yform_manager_tableset_import_jsonimportfile = Importera JSON fil
+yform_manager_tableset_import_info = Info
+yform_manager_tableset_import_warning_selectfile = Ingen .json fil användes eller filen var felaktig.
+yform_manager_tableset_import_warning_type = Fel typ av fil. Det måste vara en JSON fil.
+yform_manager_tableset_import_success = Tabell/er importerades
+yform_manager_tableset_import_failed = Import av tabellsetet misslyckades: <br/>{0}
+
+yform_manager_table_edit = Redigera tabeller
+
+yform_manager_tableset_export = Exportera tabellset
+yform_manager_tableset_export_info = Info
+yform_manager_export_error_empty = Var god välja ut minst en tabell till exporten
+
+yform_manager_table_hidden = Synlighet
+yform_hidden = Dold
+yform_visible = Synligt
+
+
+# edit.inc.php
+yform_thankyouforupdate = Datasatsen aktualiserades.
+yform_thankyouforupdates = Datasatser aktualiserades.
+yform_thankyouforentry = Datasatsen tillfogades.
+yform_editdata = Redigera datasats
+yform_editdata_collection = Redigera {0} datasatser
+yform_editdata_collection_error_abort = Transaktionen misslyckades på grund av fel: {0}
+yform_adddata = Skapa datasats
+yform_searchtext = Sökbegrepp
+yform_searchfields = Fälten som ska sökas igenom
+yform_id = ID
+yform_function = Funktion
+yform_function_button = Handling
+yform_add = tillfoga
+yform_add_apply = ta över
+yform_edit = redigera
+yform_view = visa
+yform_save = spara
+yform_save_apply = ta över
+yform_delete = radera
+yform_delete_definitions = Radera definitioner
+yform_delete_definitions_info = Databas tabellen behålls
+yform_search = sök
+yform_export = exportera
+yform_import = importera
+yform_datadeleted = Datasatsen readerades
+yform_openerinfo = Opener info
+
+yform_table_info = Info
+yform_dataset = Dataresultat
+
+yform_dataset_delete = Radera dataresultatet
+yform_dataset_deleted = Dataresultatet raderades
+yform_dataset_delete_confirm = Radera dataresultatet?
+
+yform_data = Datasats
+yform_datas = Dataset
+yform_manager_search = Sök
+
+yform_data_view = visa
+
+
+yform_data_select = ta över
+
+# field.inc.php
+yform_tablenotexists = Denna tabell finns inte!
+yform_tablefield = Tabellfält
+yform_values = Värden
+yform_validates = Validering
+yform_actions = Aktioner
+yform_validatenamenotempty = Var god ange namnet
+yform_validatenamepregmatch = Var god och mata endast in bokstävar och "_"
+yform_validatenamecheck = Detta namnet finns redan
+yform_donotsaveindb = Spara inte i databasen
+yform_hideinlist = Dölj i lista
+yform_useassearchfieldalidatenamenotempty = Tillfoga till sökfält
+yform_tablefielddeleted = Tabellfält raderades
+yform_tablefieldnotfound = Tabellfält kunde inte hittas
+yform_addtablefield = Skapa tabellfält
+yform_table = Tabell
+yform_editfield = Redigera fält
+yform_choosenadd = Välj ut fält
+yform_choosenadd_description = Var god välj det fält som ska användas för din administration. Det finns värdefält som vanligtvis används för användarinmatning, men också validate-fält som används för att validera data som matas in i värdefält.
+yform_addfield = Tillfoga fält
+yform_editfields = Redigera fält
+
+yform_id_is_missing = ID saknas
+yform_id_missing_info = Tabellen har tyvärr inget ID-fält med AUTOINCREMENT. Således kan yform inte arbeta med det. Var god uppdatera tabellen och placera den nödvändiga ID:n manuellt.
+
+# import
+yform_manager_import_error_missingfile = Var god och ladda upp  importfilen
+yform_manager_import_error_missingfields = Det saknas följande fält: {0}
+yform_manager_import_error_min_missingfields = Det saknas minst ett fält: {0}
+yform_manager_import_error_field = Fält "{0}" kunde inte skapas: "{1}"
+yform_manager_import_field_added = Fält "{0}" har skapats
+yform_manager_import_error_import_abort = Importen utfördes inte på grund av följande fel: {0}
+yform_manager_import_error_import_stopped = Importen avbröts eftersom det uppstod fel.
+yform_manager_import_error_dataimport = Datasatts ({0}) kunde inte importeras: {1}
+yform_manager_import_error_import = {0} datasatser har importerats. Av det var {1} nya datasatser och {2} datasatser har ersätts.
+yform_manager_import_info_data_imported = {0} datasatser har INTE importerats.
+yform_manager_import_error_not_started = Import har inte startats
+yform_manager_import_csv = Importera CSV-fil
+yform_manager_import_csv_info = Detta kan användas för att importera data i denna tabell. Observera att du endast kan importera textfiler och att de måste finnas i </ b> första raden av fältdefinitionerna<b>. Vidare bör <b> kodningen av importfilen vara UTF-8 </ b>. Det kan betyda att du måste konvertera dem först.
+yform_manager_import_if_no_column = Om kolumen inte finns i tabellen
+yform_manager_import_if_no_column_ignore = Ignorera kolumnen
+yform_manager_import_if_no_column_addtext = Skapa sedan en textkolumn med samma namn (för att hantera detta senare måste dessa fält anges senare).
+yform_manager_import_if_no_column_break = avbryta importen.
+yform_manager_import_divider = Separator
+yform_manager_import_divider_semicolon = Semikolon
+yform_manager_import_divider_comma = Komma
+yform_manager_import_divider_tab = Tabulator
+yform_manager_import_unique_field = Om fältet är identisk kommer datasatsen att ersättas
+yform_manager_import_start = Tillfoga
+yform_manager_import_file = Fil
+yform_manager_import_error_missingfielddefinition = Det finns fält som är tomma och som därför inte kan tilldelas. Kontrollera först importens första rad.
+yform_manager_import_error_duplicatefielddefinition = Det finns fält som är identiska. Kontrollera först importens första rad.
+
+# history
+yform_history = Historik
+yform_history_dataset_id = Datasats-ID
+yform_history_dataset = Datasats
+yform_history_action = Aktion
+yform_history_action_create = skapat
+yform_history_action_update = redigerat
+yform_history_action_delete = raderat
+yform_history_user = Användare
+yform_history_timestamp = Tidstämpel
+yform_history_view = visa
+yform_history_restore = återgå
+yform_history_restore_this = återställ datasatsen till den här versionen
+yform_history_restore_success = Data återställdes
+yform_history_restore_error = Data kunde inte återställas
+yform_history_delete = Radera historiken
+yform_history_delete_all = totalt
+yform_history_delete_older_3_months = äldre än 3 månader
+yform_history_delete_confirm = Vill du verkligen radera historiken?
+yform_history_delete_success = Poster från historiken raderades.
+
+yform_manager_show_form_notation = Formularkod
+
+navigation_yform_tables = Tabeller
+yform_tabledata_overview = Datatabell
+
+yform_manager_multi_edit_field = Redigera fält  "{0}"
+
+yform_values_be_link_description = 				Ett select-fält för att välja ut en <b>REDAXO-artikel</b>
+yform_values_be_manager_relation_description = 	Ett select-fält / popup till <b> länka flera poster </ b> med poster från en annan tabell.
+yform_values_be_media_description = 			Ett fält att välja på eller fler <b> filer från mediapoolen (filhanteraren) </ b>.
+yform_values_be_table_description = 			En uppsättning inmatningsfält för att mata in <b> tabelldata</ b>.
+yform_values_prio_description =					Ett select-fält som används för att <b> sortera poster i en viss order </ b>.
+
+yform_values_defaults_prio = Prioritet
+yform_values_be_manager_relation_table = Måltabell
+yform_values_be_manager_relation_field = Mål kolumner för visning eller målfält
+yform_values_be_manager_relation_type = Multiselect
+yform_values_be_manager_relation_empty_option = Med "tom-option"
+yform_values_be_manager_relation_empty_value = Felmeddelande när "tom-option" är inte aktiv.
+yform_values_be_manager_relation_size = Höjd av select box
+yform_values_be_manager_relation_filter = Filter
+yform_values_be_manager_relation_relation_table = Relationstabell
+yform_values_be_media_preview = Preview
+yform_values_be_media_category = Medienpool (filhanterare) kategori
+yform_values_be_media_types = Types
+yform_values_be_media_types_notice = Format: jpg,gif
+yform_values_be_media_multiple = Multiselect
+yform_values_be_table_columns = Beteckning av kolumnerna (kvantitet, pris, någoting)
+yform_values_be_link_multiple = Multiselect
+yform_values_prio_fields = Display
+yform_values_prio_scope = Begränsning
+yform_values_prio_default = Till början
+
+yform_is = är
+yform_will_set_to = kommer att bli
+
+yform_field_add = Tillfoga fält
+yform_field_update = Updatera fält
+yform_field_db_type = Databas fälttyp
+
+yform_manager_table_data_view_roles = Datavy begränsad till
+yform_manager_table_data_edit_roles = Databehandling begränsad till
+
+yform_manager_table_nopermission = Ingen behörighet till den här tabellen
+
+yform_manager_tables_edit = Tabeller med redigeringsrättigheter
+yform_manager_tables_view = Tabeller med påsiktsrättigheter
 
diff --git a/plugins/email/lib/yform_email_template.php b/lib/email_template.php
similarity index 100%
rename from plugins/email/lib/yform_email_template.php
rename to lib/email_template.php
diff --git a/plugins/manager/lib/list.php b/lib/list.php
similarity index 100%
rename from plugins/manager/lib/list.php
rename to lib/list.php
diff --git a/plugins/manager/lib/list_tools.php b/lib/list_tools.php
similarity index 100%
rename from plugins/manager/lib/list_tools.php
rename to lib/list_tools.php
diff --git a/plugins/manager/lib/yform/manager/collection.php b/lib/manager/collection.php
similarity index 100%
rename from plugins/manager/lib/yform/manager/collection.php
rename to lib/manager/collection.php
diff --git a/plugins/manager/lib/yform/manager/dataset.php b/lib/manager/dataset.php
similarity index 100%
rename from plugins/manager/lib/yform/manager/dataset.php
rename to lib/manager/dataset.php
diff --git a/plugins/manager/lib/yform/manager/field.php b/lib/manager/field.php
similarity index 100%
rename from plugins/manager/lib/yform/manager/field.php
rename to lib/manager/field.php
diff --git a/plugins/manager/lib/yform/manager.php b/lib/manager/manager.php
similarity index 100%
rename from plugins/manager/lib/yform/manager.php
rename to lib/manager/manager.php
diff --git a/plugins/manager/lib/yform/manager/query.php b/lib/manager/query.php
similarity index 100%
rename from plugins/manager/lib/yform/manager/query.php
rename to lib/manager/query.php
diff --git a/plugins/manager/lib/yform/manager/search.php b/lib/manager/search.php
similarity index 100%
rename from plugins/manager/lib/yform/manager/search.php
rename to lib/manager/search.php
diff --git a/plugins/manager/lib/yform/manager/table.php b/lib/manager/table.php
similarity index 100%
rename from plugins/manager/lib/yform/manager/table.php
rename to lib/manager/table.php
diff --git a/plugins/manager/lib/yform/manager/table/api.php b/lib/manager/table/api.php
similarity index 100%
rename from plugins/manager/lib/yform/manager/table/api.php
rename to lib/manager/table/api.php
diff --git a/plugins/manager/lib/yform/manager/table/authorization.php b/lib/manager/table/authorization.php
similarity index 100%
rename from plugins/manager/lib/yform/manager/table/authorization.php
rename to lib/manager/table/authorization.php
diff --git a/plugins/manager/lib/yform/manager/table/perm/edit.php b/lib/manager/table/perm/edit.php
similarity index 100%
rename from plugins/manager/lib/yform/manager/table/perm/edit.php
rename to lib/manager/table/perm/edit.php
diff --git a/plugins/manager/lib/yform/manager/table/perm/view.php b/lib/manager/table/perm/view.php
similarity index 100%
rename from plugins/manager/lib/yform/manager/table/perm/view.php
rename to lib/manager/table/perm/view.php
diff --git a/plugins/rest/lib/rest/auth/auth.php b/lib/rest/auth/auth.php
similarity index 100%
rename from plugins/rest/lib/rest/auth/auth.php
rename to lib/rest/auth/auth.php
diff --git a/plugins/rest/lib/rest.php b/lib/rest/rest.php
similarity index 100%
rename from plugins/rest/lib/rest.php
rename to lib/rest/rest.php
diff --git a/plugins/rest/lib/rest/route.php b/lib/rest/route.php
similarity index 100%
rename from plugins/rest/lib/rest/route.php
rename to lib/rest/route.php
diff --git a/plugins/email/lib/var_yform_data.php b/lib/var_yform_data.php
similarity index 100%
rename from plugins/email/lib/var_yform_data.php
rename to lib/var_yform_data.php
diff --git a/plugins/manager/lib/var_yform_dataset.php b/lib/var_yform_dataset.php
similarity index 100%
rename from plugins/manager/lib/var_yform_dataset.php
rename to lib/var_yform_dataset.php
diff --git a/plugins/manager/lib/yform/action/manage_db.php b/lib/yform/action/manage_db.php
similarity index 100%
rename from plugins/manager/lib/yform/action/manage_db.php
rename to lib/yform/action/manage_db.php
diff --git a/plugins/email/lib/yform_action_tpl2email.php b/lib/yform/action/tpl2email.php
similarity index 100%
rename from plugins/email/lib/yform_action_tpl2email.php
rename to lib/yform/action/tpl2email.php
diff --git a/plugins/manager/lib/yform/value/be_link.php b/lib/yform/value/be_link.php
similarity index 100%
rename from plugins/manager/lib/yform/value/be_link.php
rename to lib/yform/value/be_link.php
diff --git a/plugins/manager/lib/yform/value/be_manager_relation.php b/lib/yform/value/be_manager_relation.php
similarity index 100%
rename from plugins/manager/lib/yform/value/be_manager_relation.php
rename to lib/yform/value/be_manager_relation.php
diff --git a/plugins/manager/lib/yform/value/be_media.php b/lib/yform/value/be_media.php
similarity index 100%
rename from plugins/manager/lib/yform/value/be_media.php
rename to lib/yform/value/be_media.php
diff --git a/plugins/manager/lib/yform/value/be_table.php b/lib/yform/value/be_table.php
similarity index 100%
rename from plugins/manager/lib/yform/value/be_table.php
rename to lib/yform/value/be_table.php
diff --git a/plugins/manager/lib/yform/value/be_user.php b/lib/yform/value/be_user.php
similarity index 100%
rename from plugins/manager/lib/yform/value/be_user.php
rename to lib/yform/value/be_user.php
diff --git a/plugins/manager/lib/yform/value/prio.php b/lib/yform/value/prio.php
similarity index 100%
rename from plugins/manager/lib/yform/value/prio.php
rename to lib/yform/value/prio.php
diff --git a/lib/yform/value/uuid.php b/lib/yform/value/uuid.php
index d7ee635c7..bb759dc3b 100644
--- a/lib/yform/value/uuid.php
+++ b/lib/yform/value/uuid.php
@@ -11,7 +11,7 @@ class rex_yform_value_uuid extends rex_yform_value_abstract
 {
     public function preValidateAction(): void
     {
-        if(rex_get('func', 'string') == "clone") {
+        if ('clone' == rex_get('func', 'string')) {
             // Beim Klonen eine neue UUID generieren
             $this->setValue(self::guidv4());
         } elseif ('' != $this->getValue()) {
diff --git a/lib/yform.php b/lib/yform/yform.php
similarity index 100%
rename from lib/yform.php
rename to lib/yform/yform.php
diff --git a/package.yml b/package.yml
index 9d17bfb1d..3c481933b 100644
--- a/package.yml
+++ b/package.yml
@@ -10,6 +10,17 @@ page:
     pjax: false
     icon: rex-icon rex-icon-module
     subpages:
+        manager:
+            title: 'translate:yform_manager'
+            pjax: false
+            subpages:
+                table_edit: {title: translate:yform_manager_table_edit, perm: admin}
+                table_migrate: {title: translate:yform_manager_table_migrate, perm: admin}
+                tableset_export: {title: translate:yform_manager_tableset_export, perm: admin}
+                tableset_import: {title: translate:yform_manager_tableset_import, perm: admin}
+                table_field: {title: '', hidden: true, perm: admin}
+                data_edit: {title: '', hidden: true}
+                data_import: {title: '', hidden: true}
         setup:
             title: 'translate:setup'
             perm: admin
@@ -19,6 +30,17 @@ page:
             pjax: false
             itemClass: pull-right
             icon: rex-icon fa-info-circle
+        email:
+            title: 'translate:yform_email_templates'
+            perm: admin[]
+            pjax: true
+        rest:
+            title: 'translate:yform_rest'
+            pjax: true
+            perm: admin
+            subpages:
+                token: {title: translate:yform_rest_token}
+                access: {title: translate:yform_rest_token_access}
 
 stylesheets:
     - yform.css
@@ -29,9 +51,5 @@ requires:
     php:
         version: '^8.1'
 
-system_plugins:
-    - manager
-    - email
-
 installer_ignore:
     - .tools
diff --git a/plugins/email/pages/index.php b/pages/email.php
similarity index 98%
rename from plugins/email/pages/index.php
rename to pages/email.php
index 74889e21a..1dac02ff8 100644
--- a/plugins/email/pages/index.php
+++ b/pages/email.php
@@ -15,8 +15,8 @@
 $bezeichner = rex_i18n::msg('yform_email_template');
 $csuchfelder = ['name', 'mail_from', 'mail_subject', 'body'];
 
-$func = rex_request('func', 'string', '');
-$page = rex_request('page', 'string', '');
+$func = rex_request('func', 'string');
+$page = rex_request('page', 'string');
 $template_id = rex_request('template_id', 'int', null);
 $template_key = rex_request('template_key', 'string', null);
 $template = null;
@@ -69,7 +69,7 @@
     $form_data[] = 'datestamp|updatedate||||0';
 
     $yform = rex_yform::factory();
-    $yform->setObjectparams('form_action', 'index.php?page=yform/email/index');
+    $yform->setObjectparams('form_action', 'index.php?page=yform/email');
     $yform->setObjectparams('form_name', 'yform-email-template');
 
     $yform->setFormData(implode("\n", $form_data));
@@ -126,7 +126,7 @@
             // -> add
             if (2 == $submit_type) {
                 $title = rex_i18n::msg('yform_email_update');
-                $template_id = $yform->objparams['main_id'];
+                $template_id = (int) $yform->objparams['main_id'];
                 $func = 'edit';
 
                 $yform = $yform_clone;
diff --git a/plugins/manager/pages/data_edit.php b/pages/manager.data_edit.php
similarity index 100%
rename from plugins/manager/pages/data_edit.php
rename to pages/manager.data_edit.php
diff --git a/plugins/manager/pages/data_export.php b/pages/manager.data_export.php
similarity index 100%
rename from plugins/manager/pages/data_export.php
rename to pages/manager.data_export.php
diff --git a/plugins/manager/pages/data_history.php b/pages/manager.data_history.php
similarity index 100%
rename from plugins/manager/pages/data_history.php
rename to pages/manager.data_history.php
diff --git a/plugins/manager/pages/data_import.php b/pages/manager.data_import.php
similarity index 100%
rename from plugins/manager/pages/data_import.php
rename to pages/manager.data_import.php
diff --git a/plugins/manager/pages/table_edit.php b/pages/manager.table_edit.php
similarity index 100%
rename from plugins/manager/pages/table_edit.php
rename to pages/manager.table_edit.php
diff --git a/plugins/manager/pages/table_field.php b/pages/manager.table_field.php
similarity index 100%
rename from plugins/manager/pages/table_field.php
rename to pages/manager.table_field.php
diff --git a/plugins/manager/pages/table_migrate.php b/pages/manager.table_migrate.php
similarity index 100%
rename from plugins/manager/pages/table_migrate.php
rename to pages/manager.table_migrate.php
diff --git a/plugins/manager/pages/tableset_export.php b/pages/manager.tableset_export.php
similarity index 100%
rename from plugins/manager/pages/tableset_export.php
rename to pages/manager.tableset_export.php
diff --git a/plugins/manager/pages/tableset_import.php b/pages/manager.tableset_import.php
similarity index 100%
rename from plugins/manager/pages/tableset_import.php
rename to pages/manager.tableset_import.php
diff --git a/plugins/rest/pages/access.php b/pages/rest.access.php
similarity index 100%
rename from plugins/rest/pages/access.php
rename to pages/rest.access.php
diff --git a/plugins/rest/pages/token.php b/pages/rest.token.php
similarity index 100%
rename from plugins/rest/pages/token.php
rename to pages/rest.token.php
diff --git a/plugins/email/boot.php b/plugins/email/boot.php
deleted file mode 100644
index 921ff3fd6..000000000
--- a/plugins/email/boot.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-rex_extension::register('EDITOR_URL', static function (rex_extension_point $ep) {
-    if (preg_match('@^rex:///yform/email/template/(.*)/(.*)@', $ep->getParam('file'), $match)) {
-        return rex_url::backendPage(
-            'yform/email/index',
-            [
-                'func' => 'edit',
-                'template_key' => $match[1],
-            ],
-        );
-    }
-});
diff --git a/plugins/email/install.php b/plugins/email/install.php
deleted file mode 100644
index 5fa6135a4..000000000
--- a/plugins/email/install.php
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/**
- * yform.
- *
- * @author jan.kristinus[at]redaxo[dot]org Jan Kristinus
- * @author <a href="http://www.yakamara.de">www.yakamara.de</a>
- */
-
-rex_sql_table::get(rex::getTable('yform_email_template'))
-    ->ensurePrimaryIdColumn()
-    ->ensureColumn(new rex_sql_column('name', 'varchar(191)', false, ''))
-    ->ensureColumn(new rex_sql_column('mail_from', 'varchar(191)', false, ''))
-    ->ensureColumn(new rex_sql_column('mail_from_name', 'varchar(191)', false, ''))
-    ->ensureColumn(new rex_sql_column('mail_reply_to', 'varchar(191)', false, ''))
-    ->ensureColumn(new rex_sql_column('mail_reply_to_name', 'varchar(191)', false, ''))
-    ->ensureColumn(new rex_sql_column('subject', 'varchar(191)', false, ''))
-    ->ensureColumn(new rex_sql_column('body', 'text'))
-    ->ensureColumn(new rex_sql_column('body_html', 'text'))
-    ->ensureColumn(new rex_sql_column('attachments', 'text'))
-    ->ensureColumn(new rex_sql_column('updatedate', 'datetime'))
-    ->ensureIndex(new rex_sql_index('name', ['name'], rex_sql_index::UNIQUE))
-    ->ensure();
-
-$c = rex_sql::factory();
-$c->setQuery('ALTER TABLE `' . rex::getTable('yform_email_template') . '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
diff --git a/plugins/email/lang/de_de.lang b/plugins/email/lang/de_de.lang
deleted file mode 100644
index 0503cc15f..000000000
--- a/plugins/email/lang/de_de.lang
+++ /dev/null
@@ -1,34 +0,0 @@
-yform_email_templates = E-Mail Templates
-
-yform_email_key = Key - bitte nicht verändern
-yform_email_from = Absender-E-Mail [z.B.info@redaxo.de]
-yform_email_from_name = Absender-Name [z.B. REDAXO Server]
-yform_email_reply_to = Reply-To-E-Mail [z.B. yform@redaxo.de]
-yform_email_reply_to_name = Reply-To-Name [z.B. YForm Server]
-yform_email_header_template_mail_reply_to = Antwort an
-yform_email_subject = Betreff
-yform_email_body = Body
-yform_email_body_html = Body (Html)
-yform_email_create = E-Mail Template hinzufügen
-yform_email_update = E-Mail Template aktualisieren
-yform_email_header_template_description = Key
-yform_email_header_template_mail_from = von
-yform_email_header_template_mail_from_name = Name
-yform_email_header_template_subject = Betreff
-yform_email_create_template = Template erstellen
-yform_email_header_template_functions = Funktionen
-yform_email_templates_not_found = Keine Templates gefunden
-yform_email_delete_template = Löschen
-
-yform_email_info_template_added = Template wurde hinzugefügt
-yform_email_info_template_updated = Template wurde aktualisiert
-yform_email_info_template_deleted = Template wurde gelöscht
-
-yform_email_attachments = Anhänge
-
-yform_delete_template = Template löschen
-
-yform_email_caption = Liste der Templates
-
-yform_email_info_text = <p>Felder, die in Formularen verwendet werden, können in den Templates angezeigt und verarbeitet werden. <mark>Grundsätzlich ist auch PHP erlaubt</mark>, sodass man ganz individuell auf einzelne Fälle eingehen kann. Die normale Ausgabe eines Feldes geschieht folgendermaßen:<br /><br />REX_YFORM_DATA[field="name" output="plain"] für Text E-Mail<br />REX_YFORM_DATA[field="name" output="html"] für HTML-Emails<br />REX_YFORM_DATA[field="email" instead="E-Mail wurde ausgefüllt"]<br />REX_YFORM_DATA[field="name" instead="defaultwert"]<br />REX_YFORM_DATA[field="name" prefix="Mein Name: " suffix=""]</p>
-
diff --git a/plugins/email/lang/en_gb.lang b/plugins/email/lang/en_gb.lang
deleted file mode 100644
index 88f443aa3..000000000
--- a/plugins/email/lang/en_gb.lang
+++ /dev/null
@@ -1,33 +0,0 @@
-yform_email_templates = E-mail Templates
-
-yform_email_key = Key - please do not change
-yform_email_from = Sender e-mail [ex.: info@redaxo.de]
-yform_email_from_name = Sender name [ex. REDAXO Server]
-yform_email_reply_to = Reply-To email address [ex. yform@redaxo.de]
-yform_email_reply_to_name = Reply-To name [ex. YForm Server]
-yform_email_subject = Subject
-yform_email_body = Body
-yform_email_body_html = Body (HTML)
-yform_email_create = Create e-mail template
-yform_email_update = Update e-mail template
-yform_email_header_template_description = Description
-yform_email_header_template_mail_from = From e-mail
-yform_email_header_template_mail_from_name = From name
-yform_email_header_template_subject = Subject
-yform_email_create_template = Create template
-yform_email_header_template_functions = Functions
-yform_email_templates_not_found = No templates found
-yform_email_delete_template = Delete
-
-yform_email_info_template_added = Template added
-yform_email_info_template_updated = Template updated
-yform_email_info_template_deleted = Template deleted
-
-yform_email_attachments = Attachements
-
-yform_delete_template = Delete template
-
-yform_email_caption = List of templates
-
-yform_email_info_text = <p>Fields which are being used in forms, can be displayed/processed in templates. <mark>PHP is allowed</mark> making it possible to handle/process very specific cases. Outputting normal fields is as simple as:<br /><br />REX_YFORM_DATA[field="name"]<br />REX_YFORM_DATA[field="email" instead="E-mail address was entered"]<br />REX_YFORM_DATA[field="name" instead="default value"]<br />REX_YFORM_DATA[field="name" prefix="My name is:" suffix=""]</p>
-
diff --git a/plugins/email/lang/es_es.lang b/plugins/email/lang/es_es.lang
deleted file mode 100644
index 428de9410..000000000
--- a/plugins/email/lang/es_es.lang
+++ /dev/null
@@ -1,33 +0,0 @@
-yform_email_templates = Plantillas de E-mail
-
-yform_email_key = Clave - por favor no cambie
-yform_email_from = E-mail del remitente [z.b.info@redaxo.de]
-yform_email_from_name = Nombre del remitente [ej. Servidor REDAXO]
-yform_email_reply_to = Respuesta-a-E-Mail [z.B. yform@redaxo.de]
-yform_email_reply_to_name = Responder a nombre [z.B. Servidor YForm]
-yform_email_subject = Respecto
-yform_email_body = Cuerpo
-yform_email_body_html = Cuerpo (Html)
-yform_email_create = Añadir plantilla de correo electrónico
-yform_email_update = Actualizar la plantilla de correo electrónico
-yform_email_header_template_description = Clave
-yform_email_header_template_mail_from = De
-yform_email_header_template_mail_from_name = Nombre
-yform_email_header_template_subject = Respecto
-yform_email_create_template = Crear plantilla
-yform_email_header_template_functions = Características
-yform_email_templates_not_found = No se encontraron plantillas
-yform_email_delete_template = Borrar
-
-yform_email_info_template_added = Plantilla fue agregada
-yform_email_info_template_updated = Plantilla ha sido actualizada
-yform_email_info_template_deleted = Plantilla ha sido eliminada
-
-yform_email_attachments = Adjuntos
-
-yform_delete_template = Eliminar plantilla
-
-yform_email_caption = Lista de plantillas
-
-yform_email_info_text = <p>Los campos utilizados en los formularios se pueden ver y procesar en las plantillas. <mark>Básicamente, PHP también está permitido</mark>, por lo que puede responder individualmente a casos individuales. La salida normal de un campo es la siguiente:<br/><br/>REX_YFORM_DATA[field="name"]<br/>REX_YFORM_DATA[field="email" instead="El email se completó"]<br/>REX_YFORM_DATA[field="name" instead="Valor predeterminado"]<br/>REX_YFORM_DATA[field="name" prefix="Mein name:" suffix=""]</p>
-
diff --git a/plugins/email/lang/pt_br.lang b/plugins/email/lang/pt_br.lang
deleted file mode 100644
index ee7aecb4b..000000000
--- a/plugins/email/lang/pt_br.lang
+++ /dev/null
@@ -1,31 +0,0 @@
-yform_email_templates = Templates do e-mail
-
-yform_email_key = Key - por favor, não altere
-yform_email_from = Enviar e-mail [ex.: info@redaxo.de]
-yform_email_from_name = Nome do remetente [ex. REDAXO Server]
-yform_email_subject = Assunto
-yform_email_body = Corpo
-yform_email_body_html = Body (HTML)
-yform_email_create = Adicionar um template para o e-mail
-yform_email_update = Atualizar o template do e-mail
-yform_email_header_template_description = Descrição
-yform_email_header_template_mail_from = Do e-mail
-yform_email_header_template_mail_from_name = Do nome
-yform_email_header_template_subject = Assunto
-yform_email_create_template = Criar template
-yform_email_header_template_functions = Funções
-yform_email_templates_not_found = Nenhum template encontrado
-yform_email_delete_template = Deletar
-
-yform_email_info_template_added = Template adicionado
-yform_email_info_template_updated = Template atualizado
-yform_email_info_template_deleted = Template deletado
-
-yform_email_attachments = Anexos
-
-yform_delete_template = Deletar template
-
-yform_email_caption = Lista de templates
-
-yform_email_info_text = <p> Campos que são usados pr outros campos podem ser exibidos/processados em um template. <mark>PHP é permitido para</mark> tornando possível o processamento de casos extremamente específicos. A saída normal de um campo é feito da seguinte forma:<br /><br />REX_YFORM_DATA[field="name"]<br />REX_YFORM_DATA[field="email" instead="E-mail address was entered"]<br />REX_YFORM_DATA[field="name" instead="default value"]<br />REX_YFORM_DATA[field="name" prefix="My name is:" suffix=""]</p>
-
diff --git a/plugins/email/lang/sv_se.lang b/plugins/email/lang/sv_se.lang
deleted file mode 100644
index ecc307298..000000000
--- a/plugins/email/lang/sv_se.lang
+++ /dev/null
@@ -1,34 +0,0 @@
-yform_email_templates = E-post maller
-
-yform_email_key = Key - var god ändra inte
-yform_email_from = Avsändare e-post (t.ex. info@redaxo.de)
-yform_email_from_name = Avsändarens namn (t.ex. REDAXO server)
-yform_email_reply_to = Reply-To-E-Mail [t.ex. yform@redaxo.de]
-yform_email_reply_to_name = Reply-To-Name [t.ex. YForm Server]
-yform_email_header_template_mail_reply_to = Svar till
-yform_email_subject = Ämne
-yform_email_body = Body
-yform_email_body_html = Body (HTML)
-yform_email_create = Skapa e-post mall
-yform_email_update = Aktualisera e-post mallen
-yform_email_header_template_description = Description
-yform_email_header_template_mail_from = från
-yform_email_header_template_mail_from_name = Namn
-yform_email_header_template_subject = Ämne
-yform_email_create_template = Skapa mall
-yform_email_header_template_functions = Funktioner
-yform_email_templates_not_found = Ingenmall hittades
-yform_email_delete_template = Radera
-
-yform_email_info_template_added = Mallen tillfogades
-yform_email_info_template_updated = Mallen aktualiserades
-yform_email_info_template_deleted = Mallen raderades
-
-yform_email_attachments = Bilagor
-
-yform_delete_template = Radera mall
-
-yform_email_caption = Lista över alla mallar
-
-yform_email_info_text = <p> Fält som används i formulär kan visas och redigeras i mallarna. <mark> PHP är också principiellt tillåten </ marke>, så att man kan gå in individuellt på enskilda fall. Den normala visningen av ett fält sker enligt följande sätt: <br /> <br /> REX_YFORM_DATA [field = "name"] <br /> REX_YFORM_DATA [field = "email" instead = "E-post har fyllts in"] <br /> REX_YFORM_DATA [field = "name" instead = "standardvärde "] <br /> REX_YFORM_DATA [field = "name" prefix = "Mitt namn:" suffix = ""] </ p>
-
diff --git a/plugins/email/package.yml b/plugins/email/package.yml
deleted file mode 100644
index f4d62f739..000000000
--- a/plugins/email/package.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-package: yform/email
-version: '4.2.1'
-license: MIT
-author: 'Jan Kristinus'
-supportpage: 'https://github.com/yakamara/yform/issues'
-
-page:
-    title: 'translate:yform_email_templates'
-    perm: admin[]
-    pjax: true
-    subpages:
-        index: { title: 'translate:yform_email_templates', hidden: true }
diff --git a/plugins/email/uninstall.php b/plugins/email/uninstall.php
deleted file mode 100644
index 160719ffe..000000000
--- a/plugins/email/uninstall.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-/**
- * yform.
- *
- * @author jan.kristinus[at]redaxo[dot]org Jan Kristinus
- * @author <a href="http://www.yakamara.de">www.yakamara.de</a>
- */
-
-rex_sql_table::get(rex::getTable('yform_email_template'))
-    ->drop();
diff --git a/plugins/email/update.php b/plugins/email/update.php
deleted file mode 100644
index b9438c13a..000000000
--- a/plugins/email/update.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-/**
- * @var rex_plugin $this
- * @psalm-scope-this rex_plugin
- */
-
-$this->includeFile(__DIR__ . '/install.php');
diff --git a/plugins/manager/boot.php b/plugins/manager/boot.php
deleted file mode 100644
index 58f7c1ec0..000000000
--- a/plugins/manager/boot.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-
-/**
- * yform.
- *
- * @author jan.kristinus[at]redaxo[dot]org Jan Kristinus
- * @author <a href="http://www.yakamara.de">www.yakamara.de</a>
- *
- * @var rex_plugin $this
- * @psalm-scope-this rex_plugin
- */
-
-rex_yform::addTemplatePath(rex_path::plugin('yform', 'manager', 'ytemplates'));
-rex_complex_perm::register('yform_manager_table_edit', 'rex_yform_manager_table_perm_edit');
-rex_complex_perm::register('yform_manager_table_view', 'rex_yform_manager_table_perm_view');
-
-if (rex::isBackend() && rex::getUser()) {
-    rex_extension::register('PACKAGES_INCLUDED', function () {
-        if ($this->getProperty('compile')) {
-            $compiler = new rex_scss_compiler();
-            $compiler->setRootDir($this->getPath('scss/'));
-            $compiler->setScssFile($this->getPath('scss/manager.scss'));
-            $compiler->setCssFile($this->getPath('assets/manager.css'));
-            $compiler->compile();
-            rex_dir::copy($this->getPath('assets'), $this->getAssetsPath()); // copy whole assets directory
-        }
-    });
-
-    rex_view::addJsFile($this->getAssetsUrl('manager.js'));
-    rex_view::addJsFile($this->getAssetsUrl('relations.js'));
-    rex_view::addCssFile($this->getAssetsUrl('manager.css'));
-    rex_view::addJsFile($this->getAssetsUrl('widget.js'));
-
-    if (!rex::getUser()->isAdmin()) {
-        $page = $this->getProperty('page');
-        $page['hidden'] = true;
-        $this->setProperty('page', $page);
-    }
-
-    try {
-        $tables = rex_yform_manager_table::getAll();
-    } catch (Exception $e) {
-        $tables = [];
-    }
-    $pages = [];
-
-    $prio = 1;
-    foreach ($tables as $table) {
-        if ($table->isActive() && $table->isGranted('VIEW', rex::getUser())) {
-            $be_page = new rex_be_page_main('yform_tables', $table->getTableName(), rex_escape($table->getNameLocalized()));
-            $be_page->setHref('index.php?page=yform/manager/data_edit&table_name=' . $table->getTableName());
-            $icon = rex_escape($table->getCustomIcon() ?: 'rex-icon-module');
-            $be_page->setIcon('rex-icon ' . $icon);
-            $be_page->setPrio($prio);
-
-            if ($table->isHidden()) {
-                $be_page->setHidden();
-            }
-
-            if ('yform/manager/data_edit' == rex_request('page', 'string') && rex_request('table_name', 'string') == $table->getTableName()) {
-                $be_page->setIsActive();
-
-                $main_page = $this->getAddon()->getProperty('page');
-                $main_page['isActive'] = false;
-
-                $rex_yform_manager_opener = rex_request('rex_yform_manager_opener', 'array');
-                $rex_yform_manager_popup = rex_request('rex_yform_manager_popup', 'int');
-                $rex_yform_filter = rex_request('rex_yform_filter', 'array');
-
-                if ((isset($rex_yform_manager_opener['id']) && '' != $rex_yform_manager_opener['id']) || 1 == $rex_yform_manager_popup) {
-                    $main_page['popup'] = true;
-                }
-
-                $this->getAddon()->setProperty('page', $main_page);
-            }
-
-            $pages[] = $be_page;
-
-            ++$prio;
-        }
-    }
-
-    $this->setProperty('pages', $pages);
-}
-
-rex_extension::register('MEDIA_IS_IN_USE', 'rex_yform_value_be_media::isMediaInUse');
-rex_extension::register('PACKAGES_INCLUDED', 'rex_yform_value_be_link::isArticleInUse');
-
-rex_extension::register('YFORM_SAVED', static function (rex_extension_point $ep) {
-    if ($ep->getSubject() instanceof Exception) {
-        return;
-    }
-
-    $table = rex_yform_manager_table::get($ep->getParam('table'));
-    if (!$table) {
-        return;
-    }
-
-    $dataset = $ep->getParam('form')->getParam('manager_dataset');
-    if (!$dataset) {
-        $dataset = rex_yform_manager_dataset::getRaw($ep->getParam('id'), $table->getTableName());
-    }
-    $dataset->invalidateData();
-
-    if ($table->hasHistory() && $dataset->isHistoryEnabled()) {
-        $action = 'insert' === $ep->getParam('action') ? rex_yform_manager_dataset::ACTION_CREATE : rex_yform_manager_dataset::ACTION_UPDATE;
-        $dataset->makeSnapshot($action);
-    }
-});
diff --git a/plugins/manager/install.php b/plugins/manager/install.php
deleted file mode 100644
index 7fbbe9602..000000000
--- a/plugins/manager/install.php
+++ /dev/null
@@ -1,263 +0,0 @@
-<?php
-
-/**
- * yform.
- *
- * @author jan.kristinus[at]redaxo[dot]org Jan Kristinus
- * @author <a href="http://www.yakamara.de">www.yakamara.de</a>
- */
-
-/**
- * @var rex_plugin $this
- * @psalm-scope-this rex_plugin
- */
-
-$table = rex_sql_table::get(rex::getTable('yform_table'));
-$hasMassDeletion = $table->hasColumn('mass_deletion');
-$hasMassEdit = $table->hasColumn('mass_edit');
-$addon = rex_addon::get('yform');
-
-$table
-    ->ensurePrimaryIdColumn()
-    ->ensureColumn(new rex_sql_column('status', 'tinyint(1)'))
-    ->ensureColumn(new rex_sql_column('table_name', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('name', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('description', 'text'))
-    ->ensureColumn(new rex_sql_column('table_icon', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('list_amount', 'int(11)', false, '50'))
-    ->ensureColumn(new rex_sql_column('list_sortfield', 'varchar(191)', false, 'id'))
-    ->ensureColumn(new rex_sql_column('list_sortorder', 'enum(\'ASC\',\'DESC\')', false, 'ASC'))
-    ->ensureColumn(new rex_sql_column('prio', 'int(11)'))
-    ->ensureColumn(new rex_sql_column('search', 'tinyint(1)'))
-    ->ensureColumn(new rex_sql_column('hidden', 'tinyint(1)'))
-    ->ensureColumn(new rex_sql_column('export', 'tinyint(1)'))
-    ->ensureColumn(new rex_sql_column('import', 'tinyint(1)'))
-    ->ensureColumn(new rex_sql_column('mass_deletion', 'tinyint(1)'))
-    ->ensureColumn(new rex_sql_column('mass_edit', 'tinyint(1)'))
-    ->ensureColumn(new rex_sql_column('schema_overwrite', 'tinyint(1)', false, '1'))
-    ->ensureColumn(new rex_sql_column('history', 'tinyint(1)'))
-    ->ensureIndex(new rex_sql_index('table_name', ['table_name'], rex_sql_index::UNIQUE))
-    ->ensure();
-
-rex_sql_table::get(rex::getTable('yform_field'))
-    ->ensurePrimaryIdColumn()
-    ->ensureColumn(new rex_sql_column('table_name', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('prio', 'int(11)'))
-    ->ensureColumn(new rex_sql_column('type_id', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('type_name', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('db_type', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('list_hidden', 'tinyint(1)'))
-    ->ensureColumn(new rex_sql_column('search', 'tinyint(1)'))
-    ->ensureColumn(new rex_sql_column('name', 'text'))
-    ->ensureColumn(new rex_sql_column('label', 'text'))
-    ->ensureColumn(new rex_sql_column('not_required', 'text'))
-    ->ensureColumn(new rex_sql_column('multiple', 'text'))
-    ->ensureColumn(new rex_sql_column('expanded', 'text'))
-    ->ensureColumn(new rex_sql_column('choices', 'text'))
-    ->ensureColumn(new rex_sql_column('choice_attributes', 'text'))
-    ->ensure();
-
-rex_sql_table::get(rex::getTable('yform_history'))
-    ->ensurePrimaryIdColumn()
-    ->ensureColumn(new rex_sql_column('table_name', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('dataset_id', 'int(11)'))
-    ->ensureColumn(new rex_sql_column('action', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('user', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('timestamp', 'datetime'))
-    ->ensureIndex(new rex_sql_index('dataset', ['table_name', 'dataset_id']))
-    ->ensure();
-
-rex_sql_table::get(rex::getTable('yform_history_field'))
-    ->ensureColumn(new rex_sql_column('history_id', 'int(11)'))
-    ->ensureColumn(new rex_sql_column('field', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('value', 'longtext'))
-    ->setPrimaryKey(['history_id', 'field'])
-    ->ensure();
-
-if (!$hasMassDeletion) {
-    rex_sql::factory()
-        ->setTable(rex::getTable('yform_table'))
-        ->setValue('mass_deletion', 1)
-        ->update();
-}
-
-if (!$hasMassEdit) {
-    rex_sql::factory()
-        ->setTable(rex::getTable('yform_table'))
-        ->setValue('mass_edit', 1)
-        ->update();
-}
-
-$c = rex_sql::factory();
-$c->setQuery('ALTER TABLE `' . rex::getTable('yform_table') . '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
-$c->setQuery('ALTER TABLE `' . rex::getTable('yform_field') . '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
-$c->setQuery('ALTER TABLE `' . rex::getTable('yform_history') . '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
-$c->setQuery('ALTER TABLE `' . rex::getTable('yform_history_field') . '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
-
-// from 4.0 on, but on every reinstall
-if ($this->isInstalled()) {
-    foreach (rex_sql::factory()->getArray('SELECT id, perms FROM ' . rex::getTablePrefix() . 'user_role') as $role) {
-        if (!str_contains((string) $role['perms'], '"yform_manager_table_edit":')) {
-            $perms = str_replace('"yform_manager_table":', '"yform_manager_table_edit":', (string) $role['perms']);
-            rex_sql::factory()->setQuery('UPDATE ' . rex::getTablePrefix() . 'user_role SET perms=? where id=?', [$perms, $role['id']]);
-        }
-    }
-
-    try {
-        rex_sql::factory()->setQuery('UPDATE ' . rex::getTable('yform_field') . ' SET `format` = "" WHERE type_name = "datestamp" AND `format` = "mysql"');
-    } catch (rex_sql_exception $e) {
-    }
-
-    foreach (rex_sql::factory()->getArray('select * from `' . rex::getTable('yform_field') . '`') as $field) {
-        if ('value' == $field['type_id']) {
-            switch ($field['type_name']) {
-                case 'be_media_category':
-                case 'be_select_category':
-                case 'remembervalues':
-                case 'mediafile':
-                case 'captcha':
-                case 'captcha_calc':
-                case 'recaptcha':
-                case 'recaptcha_v3':
-                    // remove these fields
-                    rex_sql::factory()->setQuery('delete from `' . rex::getTable('yform_field') . '` where id = :id', ['id' => $field['id']]);
-                    break;
-
-                case 'labelexist':
-                    // rename
-                    $field_new_name = 'labelexist';
-                    $field_old_name = 'in_names';
-                    try {
-                        rex_sql::factory()->setQuery('update ' . rex::getTable('yform_field') . ' set type_name = ? where type_id="value" and type_name = ?', [$field_new_name, $field_old_name]);
-                        rex_sql::factory()->setQuery('update ' . rex::getTable('yform_history_field') . ' set field = ? where field = ?', [$field_new_name, $field_old_name]);
-                    } catch (rex_sql_exception $e) {
-                    }
-                    break;
-
-                case 'existintable':
-                    // rename
-                    $field_new_name = 'existintable';
-                    $field_old_name = 'in_table';
-                    try {
-                        rex_sql::factory()->setQuery('update ' . rex::getTable('yform_field') . ' set type_name = ? where type_id="value" and type_name = ?', [$field_new_name, $field_old_name]);
-                        rex_sql::factory()->setQuery('update ' . rex::getTable('yform_history_field') . ' set field = ? where field = ?', [$field_new_name, $field_old_name]);
-                    } catch (rex_sql_exception $e) {
-                    }
-                    break;
-
-                case 'float':
-                    // change to number
-                    rex_sql::factory()->setQuery('update `' . rex::getTable('yform_field') . '` set
-                        type_name = "number", db_type = "", `default` = ""
-                        where id = :id', ['id' => $field['id']]);
-                    break;
-
-                case 'select':
-                    // change to choice
-                    rex_sql::factory()->setQuery(
-                        'update `' . rex::getTable('yform_field') . '` set
-                        type_name = "choice",
-                        db_type = "text",
-                        expanded = 0,
-                        choices = :choices,
-                        choice_attributes = :choice_attributes
-                        where id = :id',
-                        [
-                            'id' => $field['id'],
-                            'choices' => $field['options'],
-                            'choice_attributes' => $field['attributes'] ?? '',
-                        ],
-                    );
-                    break;
-
-                case 'radio':
-                    // change to choice
-                    rex_sql::factory()->setQuery(
-                        'update `' . rex::getTable('yform_field') . '` set
-                        type_name = "choice",
-                        db_type = "text",
-                        expanded = 1,
-                        multiple = 0,
-                        choices = :choices,
-                        choice_attributes = :choice_attributes
-                        where id = :id',
-                        [
-                            'id' => $field['id'],
-                            'choices' => $field['options'],
-                            'choice_attributes' => $field['attributes'] ?? '',
-                        ],
-                    );
-                    break;
-
-                case 'checkbox_sql':
-                    // change to choice
-                    rex_sql::factory()->setQuery(
-                        'update `' . rex::getTable('yform_field') . '` set
-                        type_name = "choice",
-                        db_type = "text",
-                        expanded = 1,
-                        multiple = 1,
-                        choices = :choices
-                        where id = :id',
-                        [
-                            'id' => $field['id'],
-                            'choices' => $field['query'] ?? '',
-                        ],
-                    );
-                    break;
-
-                case 'radio_sql':
-                    // change to choice
-                    rex_sql::factory()->setQuery(
-                        'update `' . rex::getTable('yform_field') . '` set
-                        type_name = "choice",
-                        db_type = "text",
-                        expanded = 1,
-                        multiple = 0,
-                        choices = :choices,
-                        choice_attributes = :choice_attributes
-                        where id = :id',
-                        [
-                            'id' => $field['id'],
-                            'choices' => $field['query'] ?? '',
-                            'choice_attributes' => $field['attributes'] ?? '',
-                        ],
-                    );
-                    break;
-
-                case 'select_sql':
-                    // change to choice
-                    rex_sql::factory()->setQuery(
-                        'update `' . rex::getTable('yform_field') . '` set
-                        type_name = "choice",
-                        db_type = "text",
-                        expanded = 0,
-                        choices = :choices,
-                        choice_attributes = :choice_attributes
-                        where id = :id',
-                        [
-                            'id' => $field['id'],
-                            'choices' => $field['query'] ?? '',
-                            'choice_attributes' => $field['attributes'] ?? '',
-                        ],
-                    );
-                    break;
-                case 'password':
-                    // change to text
-                    rex_sql::factory()->setQuery(
-                        'update `' . rex::getTable('yform_field') . '` set
-                        type_name = "text",
-                        where id = :id',
-                        [
-                            'id' => $field['id'],
-                        ],
-                    );
-                    break;
-            }
-        }
-    }
-}
-
-if (class_exists('rex_yform_manager_table')) {
-    rex_yform_manager_table::deleteCache();
-}
diff --git a/plugins/manager/lang/de_de.lang b/plugins/manager/lang/de_de.lang
deleted file mode 100644
index f4300de7a..000000000
--- a/plugins/manager/lang/de_de.lang
+++ /dev/null
@@ -1,308 +0,0 @@
-yform_function_button = Aktion
-
-yform_manager = Table Manager
-
-navigation_manager = Tabellen
-yform_manager_fields = Felder
-
-# yform manager
-yform_alltables = Alle Tabellen
-yform_back_to_overview = Zurück zur Übersicht
-yform_updatetable = aktualisieren
-yform_tablesupdated = Tabelle/n wurde/n aktualisiert
-yform_errors_occurred = Es sind Fehler aufgetreten
-yform_help_empty = Leereinträge können mit <br />"(empty)" gesucht werden
-yform_help_multipleselect = Mehrfachauswahl mit gedrückter CTRL/CMD Taste
-yform_updatetable_with_delete = mit Feldlöschung
-yform_updatetable_with_delete_confirm = Wirklich aktualisieren mit Feldlöschung ?
-
-yform_relation_move_first_data = Ausgewählten Datensatz an den Anfang verschieben
-yform_relation_move_up_data = Ausgewählten Datensatz nach oben verschieben
-yform_relation_move_down_data = Ausgewählten Datensatz nach unten verschieben
-yform_relation_move_last_data = Ausgewählten Datensatz an das Ende verschieben
-yform_relation_add_entry = Datensatz hinzufügen
-yform_relation_choose_entry = Datensatz auswählen
-yform_relation_delete_entry = Ausgewählten Datensatz löschen
-yform_relation_no_entry = Kein Datensatz zugewiesen
-yform_relation_view_entry = Datensatz ansehen
-yform_relation_first_create_data = Bitte zunächst diesen Datensatz erstellen
-yform_relation_edit_relations = Verknüpfungen verwalten
-
-yform_prio_top = Am Anfang
-yform_prio_after = Nach "{0}"
-yform_prio_bottom = Am Ende
-
-yform_truncate_table = leeren
-yform_table_truncated = Die Datensätze dieser Tabelle wurden gelöscht.
-yform_table_not_found = Die Tabelle wurde nicht gefunden
-yform_truncate_table_confirm = Alle Datensätze dieser Tabelle werden gelöscht. Fortfahren?
-yform_table_overview = Tabellenübersicht
-
-yform_manager_edit_table = Tabelle editieren
-yform_manager_add_table = Tabelle hinzufügen
-
-yform_update_table = Tabelle aktualisieren
-yform_add_table = Tabelle hinzufügen
-yform_add_row = Reihe hinzufügen
-
-yform_edit_datatable = Daten verwalten
-
-# tables.inc.php
-yform_importcsv = CSV Importieren
-yform_tbl_active = aktiv
-yform_tbl_inactive = inaktiv
-
-yform_tbl_active = aktiv
-yform_tbl_inactive = inaktiv
-
-yform_manager_table_updated = Tabelle und Felder wurden erstellt und/oder aktualisiert
-yform_manager_table_entry_saved = Vielen Dank fuer die Eintragung
-yform_manager_table_enter_name = Bitte tragen Sie die Tabellenbezeichnung ein
-yform_manager_table_enter_specialchars = Bitte tragen Sie beim Tabellenname nur Kleinbuchstaben und Zahlen ein. Das erste Zeichen muss ein Buchstabe sein
-yform_manager_table_exists = Dieser Tabellenname ist bereits vorhanden
-
-yform_manager_table_prio = Priorität
-yform_manager_table_prio_short = Prio
-yform_manager_table_name = Name
-yform_manager_table_status = Status
-yform_manager_name = Bezeichnung
-yform_manager_table_description = Beschreibung
-yform_manager_custom_icon = Individuelles Icon
-yform_manager_entries_per_page = Datensätze pro Seite
-yform_manager_sortfield = Standardsortierung: Feld
-yform_manager_sortorder = Richtung
-yform_manager_sortorder_asc = aufsteigend
-yform_manager_sortorder_desc = absteigend
-yform_manager_search_active = Suche aktiv
-yform_manager_enter_number = Bitte geben Sie eine Zahl für die Datensätze pro Seite ein
-yform_manager_table_hide = In Navigation versteckt
-yform_manager_table_allow_export = Export der Daten erlauben
-yform_manager_table_allow_import = Import von Daten erlauben
-yform_manager_table_allow_mass_deletion = Massenlöschung erlauben
-yform_manager_table_allow_mass_edit = Massenbearbeitung erlauben
-yform_manager_table_history = Historie anlegen
-yform_manager_tablefield_overview = Feldübersicht
-yform_manager_table_schema_overwrite = Datenbankfelder werden entsprechend des erkannten Schemas angeglichen
-yform_manager_table_basic_info = Basisinfo
-yform_manager_table_func = Tabellenfunktionen
-yform_manager_table_user_func = Benutzer-Komfortfunktionen
-
-yform_manager_table_updated = Vielen Dank für die Aktualisierung.
-yform_manager_table_added = Vielen Dank für den Eintrag.
-yform_manager_table_deleted = Tabellendefinitionen wurden gelöscht [Tabelle wurde nicht gelöscht]
-yform_manager_table_add = Tabelle anlegen
-yform_manager_table_update = Tabellen und Felder updaten
-yform_manager_table_import = Tabelle importieren
-yform_manager_table_features = Aktivierte Optionen
-
-yform_manager_type_id = Typ
-yform_manager_type_name = Typname
-
-yform_manager_tableset = Tableset
-yform_manager_table = Tabelle
-yform_manager_tables = Tabellen
-
-yform_manager_import = importieren
-yform_manager_export = exportieren
-yform_manager_create = anlegen
-yform_manager_migrate = migrieren
-
-yform_manager_table_migrate = Tabelle migrieren
-yform_manager_table_migrated_failed = Migration für `{0}` ist fehlgeschlagen. Fehler: {1}
-yform_manager_table_migrate_info = Der Migrationsmanager erstellt aus einer vorhandenen Tabelle, eine, die über den Tablemanager verwaltet werden kann. Dazu ist in der Tabelle ein Autoinkrement-Feld mit dem Namen `id` nötig. Ohne dieses Feld funktioniert der Tablemanager nicht.<br /><br />Optional ist die Entscheidung ein vorhandenes Autoinkrementfeld umzuwandeln. Z.B. "event_id" zu "id".
-yform_manager_migrate_table_id_convert = `id`-Feld konvertieren falls nicht vorhanden
-yform_manager_table_migrated_success = Die Tabelle wurde erfolgreich migriert.
-
-yform_manager_tableset_import = Tableset importieren
-yform_manager_tableset_import_jsonimportfile = JSON Datei einspielen
-yform_manager_tableset_import_info = Info
-yform_manager_tableset_import_warning_selectfile = Es wurde keine .json Datei verwendet, oder die Datei war fehlerhaft.
-yform_manager_tableset_import_warning_type = Der Dateityp ist falsch. Es muss eine JSON Datei sein.
-yform_manager_tableset_import_success = Tabelle/n wurde/n erfolgreich importiert
-yform_manager_tableset_import_failed = Tableset Import ist fehlgeschlagen:<br />{0}
-
-yform_manager_table_edit = Tabellen bearbeiten
-
-yform_manager_tableset_export = Tableset exportieren
-yform_manager_tableset_export_info = Info
-yform_manager_export_error_empty = Bitte mindestens eine Tabelle für den Export auswählen
-
-yform_manager_table_hidden = Sichtbarkeit
-yform_hidden = versteckt
-yform_visible = sichtbar
-
-yform_manager_actions_all = Alle Aktionen
-yform_manager_users_all = Alle Benutzer
-yform_manager_history_date_notice = Alle Einträge vor und gleich diesen Datums werden angezeigt
-
-# edit.inc.php
-yform_thankyouforupdate = Datensatz wurde aktualisiert.
-yform_thankyouforupdates = Datensätze wurde aktualisiert.
-yform_thankyouforentry = Datensatz wurde eingetragen.
-yform_editdata = Datensatz editieren [ID: {0}]
-yform_editdata_collection = {0} Datensätze editieren
-yform_editdata_collection_error_abort = Transaktion wurde wegen folgendem Fehler nicht ausgeführt: {0}
-yform_clonedata = Datensatz klonen [Original ID: {0}]
-yform_adddata = Datensatz anlegen
-yform_searchtext = Suchbegriff
-yform_searchfields = Tabellenfelder über die gesucht wird
-yform_id = Id
-yform_function = Funktion
-yform_function_button = Aktion
-yform_add = hinzufügen
-yform_add_apply = übernehmen
-yform_edit = editieren
-yform_clone = klonen
-yform_view = anzeigen
-yform_save = speichern
-yform_save_apply = übernehmen
-yform_delete = löschen
-yform_delete_definitions = Schema löschen
-yform_delete_definitions_info = Datenbanktabelle bleibt erhalten
-yform_search = suchen
-yform_export = exportieren
-yform_import = importieren
-yform_datadeleted = Datensatz wurde gelöscht
-yform_openerinfo = Opener-Info
-
-yform_table_info = Info
-yform_dataset = Datenergebnis
-
-yform_dataset_delete = Datenergebnis löschen
-yform_dataset_deleted = Datenergebnis wurde geleert
-yform_dataset_delete_confirm = Wirklich das Datenergebnis leeren?
-
-yform_dataset_edit_confirm = Sollen wirklich alle gewählten Datensätze bearbeitet werden?
-
-yform_data = Datensatz
-yform_datas = Datensätze
-yform_manager_search = Suche
-
-yform_data_view = ansehen
-
-
-yform_data_select = übernehmen
-
-# field.inc.php
-yform_tablenotexists = Diese Tabelle existiert nicht!
-yform_tablefield = Tabellenfeld
-yform_values = Werte
-yform_validates = Validierung/Überprüfung
-yform_actions = Aktionen
-yform_validatenamenotempty = Bitte tragen Sie den Namen ein
-yform_validatenamepregmatch = Bitte tragen Sie beim Namen nur Buchstaben und "_" ein
-yform_validatenamecheck = Dieser Name ist bereits vorhanden
-yform_donotsaveindb = Nicht in Datenbank speichern
-yform_hideinlist = In Liste verstecken
-yform_useassearchfieldalidatenamenotempty = Als Suchfeld aufnehmen
-yform_tablefielddeleted = Tabellenfeld wurde gelöscht
-yform_tablefieldnotfound = Tabllenfeld wurde nicht gefunden
-yform_addtablefield = Tabellenfeld anlegen
-yform_table = Tabelle
-yform_editfield = Feld editieren
-yform_choosenadd = Felder auswählen
-yform_choosenadd_description = Bitte wählen Sie das Feld aus, welches Sie bei Ihrer Verwaltung verwenden wollen. Dabei gibt es Value-Felder, mit denen normalerweise Eingaben getätigt werden, wie auch Validate-Felder, mit denen die Value-Felder nach diversen Kriterien überprüft werden können.
-yform_addfield = Feld hinzufügen
-yform_editfields = Felder editieren
-
-yform_id_is_missing = ID fehlt
-yform_id_missing_info = Die Tabelle hat leider kein ID Feld mit autoincrement. Somit kann yform nicht damit arbeiten. Bitte aktualisieren Sie die Tabelle und legen notfalls die ID manuell an.
-
-# import
-yform_manager_import_error_missingfile = Bitte laden Sie eine Importdatei hoch
-yform_manager_import_error_missingfields = Es fehlen folgende Felder: {0}
-yform_manager_import_error_min_missingfields = Es fehlt mindestens ein Feld: {0}
-yform_manager_import_error_field = Feld "{0}" konnte nicht angelegt werden: "{1}"
-yform_manager_import_field_added = Feld "{0}" wurde angelegt
-yform_manager_import_error_import_abort = Import wurde wegen folgendem Fehler nicht ausgeführt: {0}
-yform_manager_import_error_import_stopped = Import wurde abgebrochen, da Fehler aufgetaucht sind.
-yform_manager_import_error_dataimport = Datensatz ({0}) konnte nicht importiert werden: {1}
-yform_manager_import_error_import = Es wurden {0} Datensätze importiert. Davon waren {1} neue Datensätze und {2} Datensätze wurden ersetzt.
-yform_manager_import_info_data_imported = Es wurde/n {0} Datensätze nicht importiert.
-yform_manager_import_error_not_started = Import wurde nicht gestartet.
-yform_manager_import_csv = CSV Datei importieren
-yform_manager_import_csv_info = Hiermit kann man Daten in diese Tabelle importieren. BItte beachten Sie, dass Sie nur Textdateien importieren können und in der <b>ersten Zeile die Felddefinitionen</b> vorhanden sein müssen. Weiter sollte das <b>Encoding der Importdatei UTF-8</b> sein. D.h. es kann sein, dass man diese vorher konvertieren muss.
-yform_manager_import_if_no_column = Wenn Spalte in der Datenbank nicht vorhanden ist,
-yform_manager_import_if_no_column_ignore = dann Spalte ignorieren.
-yform_manager_import_if_no_column_addtext = dann Spalte als TEXT in der Datenbank anlegen (Zur Verwaltung müssen später diese Felder noch bestimmt werden).
-yform_manager_import_if_no_column_break = dann Import abbrechen.
-yform_manager_import_divider = Trennzeichen
-yform_manager_import_divider_semicolon = Semikolon
-yform_manager_import_divider_comma = Komma
-yform_manager_import_divider_tab = Tabulator
-yform_manager_import_unique_field = Wenn dieses Feld identisch ist, dann wird der Datensatz ersetzt
-yform_manager_import_start = Hinzufügen
-yform_manager_import_file = Datei
-yform_manager_import_error_missingfielddefinition = Es gibt Felder, welche leer sind und daher nicht zugewiesen werden können. Bitte die erste Zeile des Importes prüfen.
-yform_manager_import_error_duplicatefielddefinition = Es gibt Felder, welche identisch sind. Bitte die erste Zeile des Importes prüfen.
-
-# history
-yform_history = Historie
-yform_history_dataset_id = Datensatz-ID
-yform_history_dataset = Datensatz
-yform_history_action = Aktion
-yform_history_action_create = erstellt
-yform_history_action_update = bearbeitet
-yform_history_action_delete = gelöscht
-yform_history_user = Benutzer
-yform_history_timestamp = Zeitstempel
-yform_history_view = ansehen
-yform_history_restore = zurücksetzen
-yform_history_restore_this = Datensatz auf diese Version zurücksetzen
-yform_history_restore_success = Datensatz wurde zurückgesetzt.
-yform_history_restore_error = Datensatz konnte nicht zurückgesetzt werden.
-yform_history_delete = Historie löschen
-yform_history_delete_all = komplett
-yform_history_delete_older_3_months = älter als 3 Monate
-yform_history_delete_confirm = Historie wirklich löschen?
-yform_history_delete_success = Die Historien-Datensätze wurden gelöscht.
-
-yform_manager_show_form_notation = Formular-Code
-
-navigation_yform_tables = Tabellen
-yform_tabledata_overview = Datentabelle
-
-yform_manager_multi_edit_field = Feld „{0}“ bearbeiten
-
-yform_values_be_link_description = 				Ein Redaxo-Feld, um einen <b>Redaxo-Artikel</b> auszuwählen.
-yform_values_be_manager_relation_description = 	Ein Auswahlfeld / Popup, um ein oder mehrere <b>Datensätze</b> mit denen einer fremden Tabelle zu <b>verknüpfen</b>.
-yform_values_be_media_description = 			Ein Redaxo-Feld, um eine einzelne oder mehrere <b>Medienpool-Datei/en</b> auszuwählen.
-yform_values_be_table_description = 			Eine Reihe von Eingabefeldern, um <b>tabellarische Daten</b> einzugeben.
-yform_values_prio_description =					Ein <b>Auswahlfeld</b>, um Datensätze in eine <b>bestimmte Reihenfolge</b> zu sortieren.
-
-yform_values_defaults_prio = Priorität
-yform_values_be_manager_relation_table = Ziel Tabelle
-yform_values_be_manager_relation_field = Ziel Tabellenfeld(er) zur Anzeige oder Feld, das die Relations-ID enthält.
-yform_values_be_manager_relation_type = Mehrfachauswahl
-yform_values_be_manager_relation_empty_option = Mit "Leer-Option"
-yform_values_be_manager_relation_empty_value = Fehlermeldung wenn "Leer-Option" nicht aktiviert ist.
-yform_values_be_manager_relation_size = Höhe der Auswahlbox
-yform_values_be_manager_relation_filter = Filter
-yform_values_be_manager_relation_relation_table = Relationstabelle
-yform_values_be_media_preview = Preview
-yform_values_be_media_category = Medienpool Kategorie
-yform_values_be_media_types = Erlaubte Dateien
-yform_values_be_media_types_notice = Format: jpg,gif,png ... (kommaseparierte Liste) oder * (für alle Dateien)
-yform_values_be_media_multiple = Mehrfachauswahl
-yform_values_be_table_columns = Bezeichnung der Spalten (Menge,Preis,Irgendwas)
-yform_values_be_link_multiple = Mehrfachauswahl
-yform_values_prio_fields = Anzeige
-yform_values_prio_scope = Beschränkung
-yform_values_prio_default = Am Anfang
-
-yform_is = ist
-yform_will_set_to = wird
-
-yform_field_add = Feld hinzufügen
-yform_field_update = Feld aktualisieren
-yform_field_db_type = Datenbank-Feldtyp
-
-yform_manager_table_data_view_roles = Datenansicht beschränkt auf
-yform_manager_table_data_edit_roles = Datenbearbeitung beschränkt auf
-
-yform_manager_table_nopermission = Keine Berechtigung auf diese Tabelle
-
-yform_manager_tables_edit = Tabellen mit Bearbeitungsrechten
-yform_manager_tables_view = Tabellen mit Recht zur Ansicht
-
-yform_structure_article_could_not_be_deleted = Der Artikel konnte nicht gelöscht werden, da er von folgenden Datensätzen verwendet wird:
diff --git a/plugins/manager/lang/en_gb.lang b/plugins/manager/lang/en_gb.lang
deleted file mode 100644
index 24dfbea8d..000000000
--- a/plugins/manager/lang/en_gb.lang
+++ /dev/null
@@ -1,290 +0,0 @@
-yform_manager = Table Manager
-
-navigation_manager = Tables
-yform_manager_fields = Fields
-
-# yform manager
-yform_alltables = All tables
-yform_back_to_overview = Back to overview
-yform_updatetable = Update table/s
-yform_tablesupdated = Table/s updated
-yform_errors_occurred  = Error occurred
-yform_help_empty = Empty entries can be searched with (empty)
-yform_help_multipleselect = Select multiple while holding down CTRL or CMD
-yform_updatetable_with_delete = with field deletion
-yform_updatetable_with_delete_confirm = Update with field deletion?
-
-yform_relation_move_first_data = Move selected entry to the top
-yform_relation_move_up_data = Move selected entry up
-yform_relation_move_down_data = Move selected entry down
-yform_relation_move_last_data = Move selected entry to the bottom
-yform_relation_add_entry = Add record
-yform_relation_choose_entry = Select record
-yform_relation_delete_entry = Delete selected record
-yform_relation_no_entry = No record selected
-yform_relation_view_entry = View record
-yform_relation_first_create_data = Please first create this record
-yform_relation_edit_relations = Edit relations
-
-yform_prio_top = At the top
-yform_prio_after = After "{0}"
-yform_prio_bottom = At the bottom
-
-yform_truncate_table = truncate
-yform_table_truncated = Table truncated
-yform_table_not_found = Table not found
-yform_truncate_table_confirm = Delete ALL records in the table?
-yform_table_overview = Table overview
-
-yform_manager_edit_table = Edit table
-yform_manager_add_table = Add table
-
-yform_update_table = Update table
-yform_add_table = Add table
-yform_add_row = Add row
-
-yform_edit_datatable = Edit data
-
-# tables.inc.php
-yform_importcsv = Import CSV file
-yform_tbl_active = Active
-yform_tbl_inactive = Inactive
-
-yform_tbl_active = Active
-yform_tbl_inactive = Inactive
-
-yform_manager_table_updated = Thank you for the update.
-yform_manager_table_entry_saved = Thank you for the edit.
-yform_manager_table_enter_name = Please enter table name
-yform_manager_table_enter_specialchars = Please enter only letters and numbers for the table name. The first character must be a letter
-yform_manager_table_exists = This table name already exists
-
-yform_manager_table_prio = Priority
-yform_manager_table_prio_short = Prio
-yform_manager_table_name = Name
-yform_manager_table_status = Status
-yform_manager_name = Label
-yform_manager_table_description = Description
-yform_manager_entries_per_page = Records per page
-yform_manager_sortfield = Default sort: field
-yform_manager_sortorder = Default sort: order
-yform_manager_sortorder_asc = ascending
-yform_manager_sortorder_desc = descending
-yform_manager_search_active = Search active
-yform_manager_enter_number = Please specify the number of records per page
-yform_manager_table_hide = Don't show in menu
-yform_manager_table_allow_export = Allow data export
-yform_manager_table_allow_import = Allow data import
-yform_manager_table_allow_mass_deletion = Allow mass deletion
-yform_manager_table_allow_mass_edit = Allow mass edit
-yform_manager_table_history = Use History AddOn
-yform_manager_tablefield_overview = Field overview
-yform_manager_table_schema_overwrite = ALWAYS overwrite database field types with schema definitions
-yform_manager_table_basic_info = Basic info
-yform_manager_table_func = Table functions
-yform_manager_table_user_func = User functions
-
-yform_manager_table_updated = Thank you for the update.
-yform_manager_table_added = Thank you for the entry.
-yform_manager_table_deleted = Tabledefinitions deleted [table still exists]
-yform_manager_table_add = Create table
-yform_manager_table_update = Update table and fields
-yform_manager_table_import = Import table
-yform_manager_table_features = Activated options
-
-yform_manager_type_id = Type
-yform_manager_type_name = Type name
-
-yform_manager_tableset = Table set
-yform_manager_table = Table
-yform_manager_tables = Tables
-
-yform_manager_import = import
-yform_manager_export = export
-yform_manager_create = create
-yform_manager_migrate = migrate
-
-yform_manager_table_migrate = migrate table
-yform_manager_table_migrated_failed = Failed migrating table `{0}`. Error: {1}
-yform_manager_table_migrate_info = The migration manager creates a compatible table from an existing table, to make it work with the table manager. To do this the existing tables required an auto increment field called "id". The table manager won't work without this field. <br /><br />Optionally specify an existing auto increment field to adopt. Ex: "event_id" will be changed to "id".
-yform_manager_migrate_table_id_convert = Convert `id`-field if it does not exist
-yform_manager_table_migrated_success = Table successfully migrated.
-
-yform_manager_tableset_import = Import table set
-yform_manager_tableset_import_jsonimportfile = Import JSON file
-yform_manager_tableset_import_info = Info
-yform_manager_tableset_import_warning_selectfile = The specified JSON file could not be used, it may contain errors.
-yform_manager_tableset_import_warning_type = Wrong file type. File needs to be of type JSON.
-yform_manager_tableset_import_success = Table/s successfully imported
-yform_manager_tableset_import_failed = Import of table set failed:<br />{0}
-
-yform_manager_table_edit = Edit tables
-
-yform_manager_tableset_export = Export table set
-yform_manager_tableset_export_info = Info
-yform_manager_export_error_empty = Please select at least one table
-
-yform_manager_table_hidden = Visibility
-yform_hidden = hidden
-yform_visible = visible
-
-
-# edit.inc.php
-yform_thankyouforupdate = Record updated.
-yform_thankyouforupdates = Records updated.
-yform_thankyouforentry = Record added.
-yform_editdata = Edit record [id: {0}]
-yform_editdata_collection = Edit {0} records
-yform_editdata_collection_error_abort = Transaction failed due to the following error: {0}
-yform_clonedata = Clone record [original id: {0}]
-yform_adddata = Create record
-yform_searchtext = Search term
-yform_searchfields = The fields to be searched
-yform_id = ID
-yform_function = Function
-yform_function_button = Action
-yform_add = add
-yform_add_apply = apply
-yform_edit = edit
-yform_clone = clone
-yform_view = show
-yform_save = save
-yform_save_apply = apply
-yform_delete = delete
-yform_delete_definitions = delete definitions
-yform_delete_definitions_info = Database table will be preserved
-yform_search = search
-yform_export = export
-yform_import = import
-yform_datadeleted = Record deleted
-yform_openerinfo = Opener info
-
-yform_table_info = Info
-yform_dataset = Result set
-
-yform_dataset_delete = Delete result reset
-yform_dataset_deleted = Result set deleted
-yform_dataset_delete_confirm = Delete result set?
-
-yform_data = Record
-yform_datas = Records
-yform_manager_search = Search
-
-yform_data_view = show
-
-
-yform_data_select = apply
-
-# field.inc.php
-yform_tablenotexists = This table does not exist!
-yform_tablefield = Table field
-yform_values = Values
-yform_validates = Validation
-yform_actions = Actions
-yform_validatenamenotempty = Please enter name
-yform_validatenamepregmatch = Please enter only letters and "_"
-yform_validatenamecheck = Specified name already exists
-yform_donotsaveindb = Don't save to database
-yform_hideinlist = Don't show in list
-yform_useassearchfieldalidatenamenotempty = Add to search fields
-yform_tablefielddeleted = Table field deleted
-yform_tablefieldnotfound = Table field not found
-yform_addtablefield = Create table field
-yform_table = Table
-yform_editfield = Edit fields
-yform_choosenadd = Select fields
-yform_choosenadd_description = Please select the field to use for administration. There are Value Fields, usually used for user input, Validate Fields used to validate the data inputed into Value Fields.
-yform_addfield = Add field
-yform_editfields = Edit fields
-
-yform_id_is_missing = ID missing
-yform_id_missing_info = Table does not conaint an id field with the auto increment attribute. YForm requires such a field to be present. Please alter the table accordingly.
-
-# import
-yform_manager_import_error_missingfile = Please upload a file to import
-yform_manager_import_error_missingfields = The following gields are missing: {0}
-yform_manager_import_error_min_missingfields = At least one field is missing: {0}
-yform_manager_import_error_field = Field {0} could not be created: "{1}"
-yform_manager_import_field_added = Field "{0}" created
-yform_manager_import_error_import_abort = Import failed due to the following error: {0}
-yform_manager_import_error_import_stopped = Import aborted due to errors.
-yform_manager_import_error_dataimport = Record ({0}) could not be imported: {1}
-yform_manager_import_error_import = {0} records imported. {1} records added, {2} records updated/replaced
-yform_manager_import_info_data_imported = {0} records were NOT imported
-yform_manager_import_error_not_started = Import not started.
-yform_manager_import_csv = Import CSV file
-yform_manager_import_csv_info = Here new records can be imported. Please note that only text files can be imported which contain field definitions <b>in the first row</b>. Additionally, files need to be encoded with UTF-8 and may need to be converted before.
-yform_manager_import_if_no_column = If column does not exist in table
-yform_manager_import_if_no_column_ignore = then ignore this column
-yform_manager_import_if_no_column_addtext = then create a text column with the same name (to manage this later these fields need to be specified later).
-yform_manager_import_if_no_column_break = then abort import.
-yform_manager_import_divider = Separator character
-yform_manager_import_divider_semicolon = Semi colon
-yform_manager_import_divider_comma = Comma
-yform_manager_import_divider_tab = Tab
-yform_manager_import_unique_field = If this field is identical, the record will be replaced
-yform_manager_import_start = Add
-yform_manager_import_file = File
-yform_manager_import_error_missingfielddefinition = There are empty fields, empty fields cannot be allocated. Please check the first line of the import.
-yform_manager_import_error_duplicatefielddefinition = There are identical fields. Please check the first line of the import.
-
-# history
-yform_history = History
-yform_history_dataset_id = Record ID
-yform_history_dataset = Record
-yform_history_action = Action
-yform_history_action_create = created
-yform_history_action_update = updated
-yform_history_action_delete = deleted
-yform_history_user = User
-yform_history_timestamp = Timestamp
-yform_history_view = view
-yform_history_restore = revert
-yform_history_restore_this = Revert record to this version
-yform_history_restore_success = Record reverted
-yform_history_restore_error = Record could not be reverted.
-yform_history_delete = Delete History
-yform_history_delete_all = completely
-yform_history_delete_older_3_months = older than 3 months
-yform_history_delete_confirm = Delete History?
-yform_history_delete_success = History records deleted.
-
-yform_manager_show_form_notation = Form code
-
-navigation_yform_tables = Tables
-yform_tabledata_overview = Data tables
-
-yform_manager_multi_edit_field = Edit field "{0}"
-
-yform_values_be_link_description = 				A field to select a <b>REDAXO article</b>
-yform_values_be_manager_relation_description = 	A select field/popup to <b>link multiple records</b> with records from a foreign table.
-yform_values_be_media_description = 			A field to select on or more <b>files from the mediapool</b>.
-yform_values_be_table_description = 			A set of input fields to enter <b>data rendered as a table</b>.
-yform_values_prio_description =					A select field used to <b>sort records in a specific order</b>.
-
-yform_values_defaults_prio = Priority
-yform_values_be_manager_relation_table = Target table
-yform_values_be_manager_relation_field = Target columns for displaying ro target field
-yform_values_be_manager_relation_type = Multiselect
-yform_values_be_manager_relation_empty_option = Add "empty" option
-yform_values_be_manager_relation_empty_value = Error message if "empty" option is not active.
-yform_values_be_manager_relation_size = Height of select box
-yform_values_be_manager_relation_filter = Filter
-yform_values_be_manager_relation_relation_table = Related table
-yform_values_be_media_preview = Preview
-yform_values_be_media_category = Mediapool category
-yform_values_be_media_types = Types
-yform_values_be_media_types_notice = Format: jpg, gif
-yform_values_be_media_multiple = Multiselect
-yform_values_be_table_columns = Column labels (amount, price, whatever)
-yform_values_be_link_multiple = Multiselect
-yform_values_prio_fields = Display
-yform_values_prio_scope = Restriction
-yform_values_prio_default = At the top
-
-yform_is = is
-yform_will_set_to = will be
-
-yform_field_add = Add field
-yform_field_update = Update field
-yform_field_db_type = Database field type
diff --git a/plugins/manager/lang/es_es.lang b/plugins/manager/lang/es_es.lang
deleted file mode 100644
index 3e2bc3820..000000000
--- a/plugins/manager/lang/es_es.lang
+++ /dev/null
@@ -1,283 +0,0 @@
-yform_manager = Gestor de tabla
-
-navigation_manager = Tablas
-yform_manager_fields = Campos
-
-# yform manager
-yform_alltables = Todas las tablas
-yform_back_to_overview = Volver al resumen
-yform_updatetable = Actualizar tabla (s)
-yform_tablesupdated = Table/n ha sido actualizado
-
-yform_help_empty = Las entradas vacías se pueden buscar con <br/> "(vacío)"
-yform_help_multipleselect = Selección múltiple con tecla CTRL/CMD presionada
-yform_updatetable_with_delete = con eliminación de campo
-yform_updatetable_with_delete_confirm = Esta seguro de actualizar con eliminación de campo?
-
-yform_relation_move_first_data = Mueva el registro seleccionado al principio
-yform_relation_move_up_data = Mover el registro seleccionado hacia arriba
-yform_relation_move_down_data = Mover el registro seleccionado hacia abajo
-yform_relation_move_last_data = Mover el registro seleccionado al final
-yform_relation_choose_entry = Seleccionar registro
-yform_relation_delete_entry = Eliminar el registro seleccionado
-yform_relation_first_create_data = Por favor crea este registro primero
-yform_relation_edit_relations = Administrar accesos directos
-
-yform_prio_top = En el comienzo
-yform_prio_after = Después de "{0}"
-yform_prio_bottom = Al final
-
-yform_truncate_table = Vacía
-yform_table_truncated = La tabla fue vaciada
-yform_table_not_found = La tabla no fue encontrada
-yform_truncate_table_confirm = ¿De verdad vaciar la tabla completa?
-yform_table_overview = Tabla de resumen
-
-yform_manager_edit_table = Editar tabla
-yform_manager_add_table = Agrega una tabla
-
-yform_update_table = Actualizar tabla
-yform_add_table = Agrega una tabla
-yform_add_row = Agregar fila
-
-yform_edit_datatable = Administrar datos
-
-# tables.inc.php
-yform_importcsv = Importar CSV
-yform_tbl_active = Activamente
-yform_tbl_inactive = Inactivo
-
-yform_tbl_active = Activamente
-yform_tbl_inactive = Inactivo
-
-yform_manager_table_updated = Gracias por la actualización.
-yform_manager_table_entry_saved = Gracias por el registro
-yform_manager_table_enter_name = Por favor ingrese el nombre de la tabla
-yform_manager_table_enter_specialchars = Por favor ingrese solo letras y números para el nombre de la tabla. El primer personaje debe ser una letra
-yform_manager_table_exists = Este nombre de tabla ya existe
-
-yform_manager_table_prio = Prioridad
-yform_manager_table_prio_short = Prio
-yform_manager_table_name = Nombre
-yform_manager_table_status = Estado
-yform_manager_name = Designación
-yform_manager_table_description = Descripción
-yform_manager_entries_per_page = Registros por página
-yform_manager_sortfield = Clasificación estándar: campo
-yform_manager_sortorder = Clasificación estándar: dirección
-yform_manager_sortorder_asc = Ascendente
-yform_manager_sortorder_desc = Descendente
-yform_manager_search_active = Búsqueda activa
-yform_manager_enter_number = Por favor ingrese un número para los registros por página
-yform_manager_table_hide = Escondido en la navegación
-yform_manager_table_allow_export = Permitir la exportación de datos
-yform_manager_table_allow_import = Permitir la importación de datos
-yform_manager_table_allow_mass_deletion = Permitir eliminación masiva
-yform_manager_table_allow_mass_edit = Permitir procesamiento masivo
-yform_manager_table_history = Crear historial
-yform_manager_tablefield_overview = Resumen campo
-yform_manager_table_schema_overwrite = SIEMPRE sobrescriba los campos de la base de datos con definición de esquema
-yform_manager_table_basic_info = Información básica
-yform_manager_table_func = Las funciones de tabla
-yform_manager_table_user_func = funciones de confort del usuario
-
-yform_manager_table_updated = Gracias por la actualización.
-yform_manager_table_added = Gracias por la entrada.
-yform_manager_table_deleted = Se eliminaron las definiciones de la tabla [la tabla no se eliminó]
-yform_manager_table_add = Crea una tabla
-yform_manager_table_update = Actualizar tablas y campos
-yform_manager_table_import = Tabla de importación
-yform_manager_table_features = Opciones activadas
-
-yform_manager_type_id = Tipo
-yform_manager_type_name = Nombre tipo
-
-yform_manager_tableset = Tableset
-yform_manager_table = Tabla
-yform_manager_tables = Tablas
-
-yform_manager_import = Importación
-yform_manager_export = Exportación
-yform_manager_create = Invertir
-yform_manager_migrate = Emigrar
-
-yform_manager_table_migrate = Migrar una tabla
-yform_manager_table_migrated_failed = La migración de `{0}` falló. Error: {1}
-yform_manager_table_migrate_info = El administrador de migración crea a partir de una tabla existente, una que se puede gestionar a través del gestor de tablas. Esto requiere un campo de autoincremento llamado `id` en la tabla. El administrador de tablas no funciona sin este campo. <br /> <br /> Opcionalmente, la decisión es convertir un campo de autoincrecimiento existente. Por ejemplo, "event_id" a "id".
-yform_manager_migrate_table_id_convert = Convierte el campo 'id' si no está disponible
-yform_manager_table_migrated_success = La tabla ha sido migrada con éxito.
-
-yform_manager_tableset_import = Importar grupo de tabla
-yform_manager_tableset_import_jsonimportfile = Importar archivo JSON
-yform_manager_tableset_import_info = Info
-yform_manager_tableset_import_warning_selectfile = No se utilizó ningún archivo .json o el archivo estaba dañado.
-yform_manager_tableset_import_warning_type = El tipo de archivo es incorrecto. Debe ser un archivo JSON.
-yform_manager_tableset_import_success = Tabla/s se importó con éxito
-yform_manager_tableset_import_failed = La importación de tablas falló: <br /> {0}
-
-yform_manager_table_edit = Editar tablas
-
-yform_manager_tableset_export = Exportar grupo de tabla
-yform_manager_tableset_export_info = Info
-yform_manager_export_error_empty = Seleccione al menos una tabla para exportar
-
-yform_manager_table_hidden = Visibilidad
-yform_hidden = Oculto
-yform_visible = Visible
-
-
-# edit.inc.php
-yform_thankyouforupdate = Record ha sido actualizado.
-yform_thankyouforentry = Registro fue ingresado
-yform_editdata = Editar registro [id: {0}]
-yform_editdata_collection = {0} editar registros
-yform_editdata_collection_error_abort = La transacción falló debido a un error: {0}
-yform_adddata = Crear registro de datos
-yform_searchtext = Palabra clave
-yform_searchfields = Campos de tabla para buscar
-yform_id = Id
-yform_function = Función
-yform_function_button = Accion
-yform_add = Añadir
-yform_add_apply = Tomar el relevo
-yform_edit = Editar
-yform_save = Guardar
-yform_save_apply = Tomar el relevo
-yform_delete = Borrar
-yform_delete_definitions = Eliminar definiciones
-yform_delete_definitions_info = Tabla de base de datos se conserva
-yform_search = Búsqueda
-yform_export = Exportación
-yform_import = Importación
-yform_datadeleted = El registro ha sido eliminado
-yform_openerinfo = Abridor de Información
-
-yform_table_info = Info
-yform_dataset = Resultado de datos
-
-yform_dataset_delete = Eliminar resultado de datos
-yform_dataset_deleted = El resultado de los datos fue vaciado
-yform_dataset_delete_confirm = ¿Realmente vaciar el resultado de los datos?
-
-yform_data = Registro
-yform_datas = Archivos
-yform_manager_search = Búsqueda
-
-yform_data_view = Vista
-
-
-yform_data_select = Tomar el relevo
-
-# field.inc.php
-yform_tablenotexists = ¡Esta tabla no existe!
-yform_tablefield = Campo de tabla
-yform_values = Valores
-yform_validates = Validación/verificación
-yform_actions = Acciones
-yform_validatenamenotempty = Por favor ingrese el nombre
-yform_validatenamepregmatch = Ingrese solo letras y "_" en el nombre
-yform_validatenamecheck = Este nombre ya existe
-yform_donotsaveindb = No guardar en la base de datos
-yform_hideinlist = Ocultar en la lista
-yform_useassearchfieldalidatenamenotempty = Grabar como campo de búsqueda
-yform_tablefielddeleted = El campo de tabla fue eliminado
-yform_tablefieldnotfound = No se encontró el campo de tabla
-yform_addtablefield = Crear campo de tabla
-yform_table = Tabla
-yform_editfield = Campo de edición
-yform_choosenadd = Seleccionar campos
-yform_choosenadd_description = Seleccione el campo que desea usar en su administración. Hay campos de valor, con los que generalmente se realizan las entradas, así como también campos de validación, con los cuales se pueden examinar los campos de valor según diversos criterios.
-yform_addfield = Agregar campo
-yform_editfields = Editar campos
-
-yform_id_is_missing = ID falta
-yform_id_missing_info = Desafortunadamente, la tabla no tiene campo ID con autoincrement. Por lo tanto, yform no puede trabajar con eso. Actualice la tabla y cree la ID manualmente si es necesario.
-
-# import
-yform_manager_import_error_missingfile = Por favor cargue un archivo de importación
-yform_manager_import_error_missingfields = Faltan los siguientes campos: {0}
-yform_manager_import_error_min_missingfields = Al menos falta un campo: {0}
-yform_manager_import_error_field = No se pudo crear el campo "{0}": "{1}"
-yform_manager_import_field_added = El campo "{0}" ha sido creado
-yform_manager_import_error_import_abort = La importación no se ejecutó debido al siguiente error: {0}
-yform_manager_import_error_import_stopped = La importación fue abortada porque aparecieron errores.
-yform_manager_import_error_dataimport = El registro ({0}) no se pudo importar: {1}
-yform_manager_import_error_import = {0} registros fueron importados De estos, {1} nuevos registros y {2} registros fueron reemplazados.
-yform_manager_import_info_data_imported = {0} registros no fueron importados
-yform_manager_import_error_not_started = La importación no se inició.
-yform_manager_import_csv = Importar archivo CSV
-yform_manager_import_csv_info = Con esto puedes importar datos en esta tabla. Tenga en cuenta que solo puede importar archivos de texto y que la <b>primera línea debe contener las definiciones de campo</b>. A continuación debería estar la codificación <b>del archivo de importación UTF-8</b>. que puede ser que tengas que convertirlos antes.
-yform_manager_import_if_no_column = Si la columna no existe en la base de datos,
-yform_manager_import_if_no_column_ignore = luego ignora la columna.
-yform_manager_import_if_no_column_addtext = luego crea una columna como TEXTO en la base de datos (estos campos deben determinarse más tarde para gestionarlos).
-yform_manager_import_if_no_column_break = luego cancela la importación.
-yform_manager_import_divider = Separador
-yform_manager_import_divider_semicolon = Punto y coma
-yform_manager_import_divider_comma = Coma
-yform_manager_import_divider_tab = Tabulador
-yform_manager_import_unique_field = Si este campo es idéntico, el registro será reemplazado
-yform_manager_import_start = Añadir
-yform_manager_import_file = Expediente
-yform_manager_import_error_missingfielddefinition = Hay campos que están vacíos y, por lo tanto, no se pueden asignar. Por favor, compruebe la primera línea de la importación.
-yform_manager_import_error_duplicatefielddefinition = Hay campos que son idénticos. Por favor, compruebe la primera línea de la importación.
-
-# history
-yform_history = historia
-yform_history_dataset_id = Identificación del registro
-yform_history_dataset = registro
-yform_history_action = Acción
-yform_history_action_create = Creado
-yform_history_action_update = Editado
-yform_history_action_delete = Suprimido
-yform_history_user = Usuario
-yform_history_timestamp = Fecha y hora
-yform_history_view = Vista
-yform_history_restore = Regreso
-yform_history_restore_this = Restablecer registro a esta versión
-yform_history_restore_success = El registro ha sido reiniciado.
-yform_history_restore_error = El registro no se pudo restablecer.
-yform_history_delete = Eliminar historial
-yform_history_delete_all = Completo
-yform_history_delete_older_3_months = Más de 3 meses
-yform_history_delete_confirm = ¿Realmente borras la historia?
-yform_history_delete_success = Los registros de historial han sido eliminados.
-
-yform_manager_show_form_notation = Código del formulario
-
-navigation_yform_tables = Tablas
-yform_tabledata_overview = Tabla de datos
-
-yform_manager_multi_edit_field = Editar campo "{0}"
-
-yform_values_be_link_description = 				Un campo de Redaxo para seleccionar un <b>artículo de Redaxo</b>.
-yform_values_be_manager_relation_description = 	Una casilla de verificación / ventana emergente para <b>vincular</b> uno o más <b>registros</b> a una hoja de cálculo extranjera.
-yform_values_be_media_description = 			Un campo Redaxo para seleccionar uno o varios <b>archivos de grupo de medios</b>.
-yform_values_be_table_description = 			Una serie de campos de entrada para ingresar <b>datos tabulares</b>.
-yform_values_prio_description =					Un <b>cuadro de selección</b> para ordenar registros en un <b>orden específico</b>.
-
-yform_values_defaults_prio = Prioridad
-yform_values_be_manager_relation_table = Tabla de objetivos
-yform_values_be_manager_relation_field = Campo(s) de tabla de destino para mostrar o campo que contiene la relación ID.
-yform_values_be_manager_relation_type = La selección múltiple
-yform_values_be_manager_relation_empty_option = Con "opción vacía"
-yform_values_be_manager_relation_empty_value = Mensaje de error si la "opción vacía" no está activada.
-yform_values_be_manager_relation_size = Altura del cuadro de selección
-yform_values_be_manager_relation_filter = Filtro
-yform_values_be_manager_relation_relation_table = Tabla de relaciones
-yform_values_be_media_preview = Preestreno
-yform_values_be_media_category = Categoría de grupo de medios
-yform_values_be_media_types = Tipos
-yform_values_be_media_types_notice = Formato: jpg, gif
-yform_values_be_media_multiple = La selección múltiple
-yform_values_be_table_columns = Nombre de las columnas (cantidad, precio, cualquier cosa)
-yform_values_be_link_multiple = La selección múltiple
-yform_values_prio_fields = Visualización
-yform_values_prio_scope = Restricción
-yform_values_prio_default = En el comienzo
-
-yform_is = Es
-yform_will_set_to = Deberá
-
-yform_field_add = Añadir campo
-yform_field_update = Campo de actualización
-yform_field_db_type = Tipo de campo de base de datos
diff --git a/plugins/manager/lang/pt_br.lang b/plugins/manager/lang/pt_br.lang
deleted file mode 100644
index 460d00bcb..000000000
--- a/plugins/manager/lang/pt_br.lang
+++ /dev/null
@@ -1,257 +0,0 @@
-yform_manager = Gerenciar tabela
-
-navigation_manager = Tabelas
-yform_manager_fields = Campos
-
-# yform manager
-yform_alltables = Todas as tabelas
-yform_back_to_overview = Voltar para a visão geral
-yform_updatetable = Atualizar tabelas/s
-yform_tablesupdated = Tabela/s atualizada/s
-
-yform_help_empty = Entradas vazias podem ser procuradas com <br />"(empty)"
-yform_help_multipleselect = Seleção múltipla, mantendo pressionada a tecla CTRL / CMD
-yform_updatetable_with_delete = com exclusão de campo
-yform_updatetable_with_delete_confirm = deseja realmente atualizar com a extinção campo?
-
-yform_relation_move_first_data = Mover entrada selecionada para o topo
-yform_relation_move_up_data = Mover entrada selecionada para cima
-yform_relation_move_down_data = Mover entrada selecionada para baixo
-yform_relation_move_last_data = Mover entrada selecionada para o final
-yform_relation_choose_entry = Selecionar um registro
-yform_relation_delete_entry = Deletar registro selecionado
-yform_relation_first_create_data = Por favor, crie um registro primeiramente
-yform_relation_edit_relations = Editar relações
-
-yform_prio_top = No topo
-yform_prio_after = Depois "{0}"
-yform_prio_bottom = No final
-
-yform_truncate_table = esvaziar
-yform_table_truncated = A tabela foi esvaziada
-yform_table_not_found = Atabela não foi encontrada
-yform_truncate_table_confirm = Deletar todos os registros da tabela?
-yform_table_overview = Visão geral da tabela
-
-yform_manager_edit_table = Editar tabela
-yform_manager_add_table = Adicionar tabela
-
-yform_add_row = Adicionar linha
-
-# tables.inc.php
-yform_importcsv = Importar arquivo CSV
-yform_tbl_active = Ativo
-yform_tbl_inactive = Inativo
-
-yform_tbl_active = Ativo
-yform_tbl_inactive = Inativo
-
-yform_manager_table_updated = Obrigada por sua atualização.
-yform_manager_table_entry_saved = Obrigada por sua edição.
-yform_manager_table_enter_name = Por favor, insira um nome para a tabela
-yform_manager_table_enter_specialchars = Por favor, insira somente letras e números no nome da tabela. O primeiro caractere deve ser uma letra.
-yform_manager_table_exists = Esse noem já existe.
-
-yform_manager_table_prio = Prioridade
-yform_manager_table_prio_short = Prio
-yform_manager_table_name = Nome
-yform_manager_table_status = Status
-yform_manager_name = Designação
-yform_manager_table_description = Descrição
-yform_manager_entries_per_page = Registros por página
-yform_manager_sortfield = Classificação Standard: Campo
-yform_manager_sortorder = Classificação Standard: Direção
-yform_manager_sortorder_asc = crescente
-yform_manager_sortorder_desc = decrescente
-yform_manager_search_active = Busca ativa
-yform_manager_enter_number = Por favor, especifique o número de registro por página
-yform_manager_table_hide = Não exibir no menu
-yform_manager_table_allow_export = Permitir exportação de dados
-yform_manager_table_allow_import = Permitir importação de dados
-yform_manager_table_allow_mass_deletion = Permitir exclusão em massa
-yform_manager_table_history = Criar história
-yform_manager_tablefield_overview = Visão geral do campo
-
-yform_manager_table_updated = Obrigada por sua atualização.
-yform_manager_table_added = Obrigada pela entrada.
-yform_manager_table_deleted = Tabela deletada [Table definitions deleted, not table]
-yform_manager_table_add = Criar tabela
-yform_manager_table_update = Atualizar tabelas e campos
-yform_manager_table_import = Importar tabela
-yform_manager_table_features = Opções ativadas
-
-yform_manager_type_id = Tipo
-yform_manager_type_name = Nome do tipo
-
-yform_manager_tableset = Definir tabela
-yform_manager_table = Tabela
-yform_manager_tables = Tabelas
-
-yform_manager_import = Importar
-yform_manager_export = Exportar
-yform_manager_create = Criar
-yform_manager_migrate = Migrar
-
-yform_manager_table_migrate = Migrar tabela
-yform_manager_table_migrated_failed = Falha na migração da tabela  `{0}`. Erro: {1}
-yform_manager_table_migrate_info = O gerenciador de migração cria uma tabela compatível a partir de uma tabela existente, para fazê-la funcionar com o gerenciador de tabelas. Para fazer isso, as tabelas existentes exigem um campo de incremento automático chamado "id". O gerenciador de tabelas não funcionará sem este campo. <br /><br /> Opcionalmente, especifique um campo com preenchimento automático para adotar. Ex: "event_id será alterado para "id".
-yform_manager_migrate_table_id_convert = Converter campo-"id", se esse não existir
-yform_manager_table_migrated_success = Tabela migrada com sucesso.
-
-yform_manager_tableset_import = Importar conjunto de tabelas
-yform_manager_tableset_import_jsonimportfile = Importar arquivo JSON
-yform_manager_tableset_import_info = Info
-yform_manager_tableset_import_warning_selectfile = O arquivo JSON selecionado não pôde ser utilizado pois contem muitos erros.
-yform_manager_tableset_import_warning_type = Tipo de arquivo errado. Arquivo deve estar no formato JSON
-yform_manager_tableset_import_success = Tabela/s importada/s com sucesso
-yform_manager_tableset_import_failed = Importação de conjunto tabelas falhou:<br />{0}
-
-yform_manager_table_edit = Editar tabelas
-
-yform_manager_tableset_export = Exportar conjunto de tabelas
-yform_manager_tableset_export_info = Info
-yform_manager_export_error_empty = Por favor, selecione ao menos uma tabela
-
-yform_manager_table_hidden = Visibilidade
-yform_hidden = oculto
-yform_visible = visível
-
-
-# edit.inc.php
-yform_thankyouforupdate = Registro atualizado.
-yform_thankyouforentry = Registro adicionado.
-yform_editdata = Editar registro [id: {0}]
-yform_editdata_collection = Editar {0} registro
-yform_adddata = Criar registro
-yform_searchtext = Procurar termo
-yform_searchfields = Campos a serem procurados
-yform_id = Id
-yform_function = Função
-yform_function_button = açao
-yform_add = Adicionar
-yform_add_apply = Aplicar
-yform_edit = Editar
-yform_save = Salvar
-yform_save_apply = Aplicar
-yform_delete = Deletar
-yform_search = Buscar
-yform_export = Exportar
-yform_import = Importar
-yform_datadeleted = Deletar registro
-yform_openerinfo = Opener info
-
-yform_table_info = Info
-yform_dataset = Resultado de dados
-
-yform_dataset_delete = Apagar resultado de dados
-yform_dataset_deleted = Resultado de dados foi apagado
-yform_dataset_delete_confirm = Deletar resultado de dados?
-
-yform_data = Registro
-yform_manager_search = Buscar
-
-yform_data_select = Aplicar
-
-# field.inc.php
-yform_tablenotexists = Essa tabela não existe!
-yform_tablefield = Campo da tabela
-yform_values = Valores
-yform_validates = Validação
-yform_actions = Ações
-yform_validatenamenotempty = Por favor, insira um nome
-yform_validatenamepregmatch = Por favor, utilize somente letras e "_"
-yform_validatenamecheck = Nome já em uso
-yform_donotsaveindb = Não salvar do banco de dados
-yform_hideinlist = Não exibir na lista
-yform_useassearchfieldalidatenamenotempty = Adicionar aos campos de busca
-yform_tablefielddeleted = Campo de tabela deletado
-yform_tablefieldnotfound = Campo de tabela não encontrado
-yform_addtablefield = Criar campo de tabela
-yform_table = Tabela
-yform_editfield = Editar campos
-yform_choosenadd = Selecionar campos
-yform_choosenadd_description = Por favor, selecione os campos para admnistração. O valores destes campos, normalmente usado apra Input, validam campos usados para validar os dados introduzidos nos campos de valores.
-yform_addfield = Adicionar campos
-yform_editfields = Editar campos
-
-yform_id_is_missing = Falta Id
-yform_id_missing_info = A tabela não contém um campo id com o atributo de incremento automático. Yform precisa deste campo para funcionar. Por favor, altere a tabela.
-
-# import
-yform_manager_import_error_missingfile = Faça o upload de um arquivo de importação
-yform_manager_import_error_missingfields = Faltam os seguintes campos: {0}
-yform_manager_import_error_min_missingfields = Falta pelo menos um campo: {0}
-yform_manager_import_error_field = Campo {0} não pôde ser criado: "{1}"
-yform_manager_import_field_added = Campo "{0}" criado
-yform_manager_import_error_import_stopped = Importação interrompida devido a erros
-yform_manager_import_error_dataimport = Registro ({0}) não pôde ser importado: {1}
-yform_manager_import_error_import = {0} registros importados. {1} registros adicionado, {2} registros atualizados/substituídos
-yform_manager_import_info_data_imported = {0} registros não foram importados
-yform_manager_import_error_not_started = A importação não iniciou
-yform_manager_import_csv = Importar arquivo CSV
-yform_manager_import_csv_info = Aqui podem ser importados dados para a tabela. Por favor, note que você somente pode adicionar dados textuais e <b> que a primeira linha </b> deve contar as informações do campo. Também é necessário codificar os arquivos com UTF-8 e talvez devam ser convertido antes.
-yform_manager_import_if_no_column = Se a coluna não existir na tabela
-yform_manager_import_if_no_column_ignore = ignorar a coluna
-yform_manager_import_if_no_column_addtext = e criar, então, um texto de coluna com o mesmo nome (para trabalhar nos campos, estes devem ser especificados depois).
-yform_manager_import_if_no_column_break = em seguida, cancelar a importação.
-yform_manager_import_divider = separador
-yform_manager_import_divider_semicolon = Semi colon
-yform_manager_import_divider_comma = Vírgula
-yform_manager_import_divider_tab = Tab
-yform_manager_import_unique_field = Se este campo for idêntico, o registro será substituído
-yform_manager_import_start = Adicionar
-yform_manager_import_file = Arquivo
-
-# history
-yform_history = História
-yform_history_dataset_id = Id do registro
-yform_history_dataset = Registro
-yform_history_action = Ação
-yform_history_action_create = Criada
-yform_history_action_update = Atualizada
-yform_history_action_delete = Deletada
-yform_history_user = Usuário
-yform_history_timestamp = Timestamp
-yform_history_view = Visualizar
-yform_history_restore = Reverter
-yform_history_restore_this = Reverter registro para esta versão
-yform_history_restore_success = Registro revertido
-yform_history_restore_error = Registro não pôde ser revertido
-yform_history_delete = Deletar história
-yform_history_delete_all = Completamente
-yform_history_delete_older_3_months = mais de 3 meses
-yform_history_delete_confirm = Deletar histórico?
-yform_history_delete_success = Registros do histórico deletados
-
-yform_manager_show_form_notation = Código do formulário
-
-navigation_yform_tables = Tabelas
-yform_tabledata_overview = Tabelas de dados
-
-yform_manager_multi_edit_field = Editar campo "{0}"
-
-yform_values_be_link_description = 				Um campo para selecionar um <b>artigo do REDAXO </b>
-yform_values_be_manager_relation_description = 	Um campo / Popup selecionado para linkar os seus dados com o de uma outra tabela.
-yform_values_be_media_description = 			Um campo para selecionar um ou mais <b>campos da mediapool</b>.
-yform_values_be_table_description = 			Um conjunto de campos de entrada para inserção de <b> dados tabelados</b>.
-yform_values_prio_description =					Um campo selecionado usado para <b> organizar dados em um ordem específica</b>.
-
-yform_values_defaults_prio = Prioridade
-yform_values_be_manager_relation_table = Tabela de destino
-yform_values_be_manager_relation_field = Campos de tabela alvo para exibição ou campos de destino
-yform_values_be_manager_relation_type = Seleção múltipla
-yform_values_be_manager_relation_empty_option = Adicionar opção "vazia"
-yform_values_be_manager_relation_empty_value = Mensagem de erro se a opção "vazio" não está ativa.
-yform_values_be_manager_relation_size = Altura da caixa de seleção
-yform_values_be_manager_relation_filter = Filtro
-yform_values_be_manager_relation_relation_table = Tabela relacionada
-yform_values_be_media_preview = Preview
-yform_values_be_media_category = Categoria Mediapool
-yform_values_be_media_types = Tipos
-yform_values_be_media_types_notice = Formato: jpg, gif
-yform_values_be_media_multiple = Seleção múltipla
-yform_values_be_table_columns = Labels das colunas (quantidade, preço, qualquer coisa)
-yform_values_be_link_multiple = Seleção múltipla
-yform_values_prio_fields = Exibir
-yform_values_prio_scope = Restrição
-yform_values_prio_default = No começo
diff --git a/plugins/manager/lang/sv_se.lang b/plugins/manager/lang/sv_se.lang
deleted file mode 100644
index 625e2f5b2..000000000
--- a/plugins/manager/lang/sv_se.lang
+++ /dev/null
@@ -1,293 +0,0 @@
-yform_manager = Table Manager
-
-navigation_manager = Tabeller
-yform_manager_fields = Fält
-
-# yform manager
-yform_alltables = Alla tabeller
-yform_back_to_overview = Tillbaa till översikten
-yform_updatetable = aktualisera tabell/er
-yform_tablesupdated = Tabell/er aktualiserades
-yform_errors_occurred = Fel uppstod
-yform_help_empty = Tomma inmatningar kan sökas med (empty)
-yform_help_multipleselect = Välj flera samtidigt genom att håller ned CTRL eller CMD
-yform_updatetable_with_delete = med fältradering
-yform_updatetable_with_delete_confirm = Vill du verkligen aktualisera med att fältradering?
-
-yform_relation_move_first_data = Flytta utvald datasats till början
-yform_relation_move_up_data = Flytta utvald datasats uppåt
-yform_relation_move_down_data = Flytta utvald datasats neråt
-yform_relation_move_last_data = Flytta utvald datasats till slutet
-yform_relation_choose_entry = Välj datasats
-yform_relation_delete_entry = Radera utvald datasats
-yform_relation_first_create_data = Var god skapa denna datasats först
-yform_relation_edit_relations = Förvalta förbindelsenar
-
-yform_prio_top = Vid början
-yform_prio_after = Efter "{0}"
-yform_prio_bottom = längs ner
-
-yform_truncate_table = tömma
-yform_table_truncated = Tabellen tömdes
-yform_table_not_found = Tabellen kunde inte hittas
-yform_truncate_table_confirm = Vll verkligen radera hela tabellen?
-yform_table_overview = Tabellöversikt
-
-yform_manager_edit_table = Redigera tabell
-yform_manager_add_table = Tillfoga tabell
-
-yform_update_table = Uppdatera tabellen
-yform_add_table = Tillfoga tabell
-yform_add_row = Tillfoga rad
-
-yform_edit_datatable = Hantera data
-
-# tables.inc.php
-yform_importcsv = Importera CSV
-yform_tbl_active = aktiv
-yform_tbl_inactive = inaktiv
-
-yform_tbl_active = aktiv
-yform_tbl_inactive = inaktiv
-
-yform_manager_table_updated = Tack för aktualiseringen
-yform_manager_table_entry_saved = Tack för  registreringen
-yform_manager_table_enter_name = Var god ange tabellnamnet
-yform_manager_table_enter_specialchars = Var god ange endast bokstäver och siffror vid tabellnamnet. Första tecknet måste vara en bokstav.
-yform_manager_table_exists = Tabellnamnet finns redan
-
-yform_manager_table_prio = Prioritet
-yform_manager_table_prio_short = Prio
-yform_manager_table_name = Namn
-yform_manager_table_status = Status
-yform_manager_name = Beteckning
-yform_manager_table_description = Beskrivning
-yform_manager_entries_per_page = Datasatser per sida
-yform_manager_sortfield = Standardsortering: fält
-yform_manager_sortorder = Standardsortering: riktning
-yform_manager_sortorder_asc = uppstigande
-yform_manager_sortorder_desc = nerstigande
-yform_manager_search_active = Sök aktiverad
-yform_manager_enter_number = Var god ange antalet datasatser per sida
-yform_manager_table_hide = Dölj i navigationen
-yform_manager_table_allow_export = Tillåt export från data
-yform_manager_table_allow_import = Tillåt import från data
-yform_manager_table_allow_mass_deletion = Tillåt mass radering
-yform_manager_table_allow_mass_edit = Tillåta massbearbetning
-yform_manager_table_history = Skapa historik
-yform_manager_tablefield_overview = Fältöversikt
-yform_manager_table_schema_overwrite = Skriv ALLTID databasfält med schemadefinition
-yform_manager_table_basic_info = Basinfo
-yform_manager_table_func = Tabellfuntkion
-yform_manager_table_user_func = Användarkomfortfunktioner
-
-yform_manager_table_updated = Tack för aktualiseringen
-yform_manager_table_added = Tack för inlägget.
-yform_manager_table_deleted = Tabell raderades [Table definitions deleted, not table]
-yform_manager_table_add = Skapa tabell
-yform_manager_table_update = Aktualisera tabeller och fält
-yform_manager_table_import = Importera tabellen
-yform_manager_table_features = Aktiverade optioner
-
-yform_manager_type_id = Typ
-yform_manager_type_name = Typnamn
-
-yform_manager_tableset = Tabellset
-yform_manager_table = Tabell
-yform_manager_tables = Tabeller
-
-yform_manager_import = importera
-yform_manager_export = exportera
-yform_manager_create = skapa
-yform_manager_migrate = migrera
-
-yform_manager_table_migrate = Migrera tabellen
-yform_manager_table_migrated_failed = Migrationen för {0} misslyckades. Fel: {1}
-yform_manager_table_migrate_info = Migrationsmanagern skapar från en befintlig tabell en tabell som kan förvaltas med tabellmanagern. För detta är i tabellen ett AUTOINCREMENT-fält med namnet 'id' nödvändigt. Utan detta fältet fungerar tabellmanagern inte. <br /> <br /> Optional kan ett befintligt AUTOINCREMENT-fält konverteras. Till exempel "Event_id" till "id".
-yform_manager_migrate_table_id_convert = Konvertera 'id'-fältet om det inte finns
-yform_manager_table_migrated_success = Tabellen migrerades.
-
-yform_manager_tableset_import = Importera tabellset
-yform_manager_tableset_import_jsonimportfile = Importera JSON fil
-yform_manager_tableset_import_info = Info
-yform_manager_tableset_import_warning_selectfile = Ingen .json fil användes eller filen var felaktig.
-yform_manager_tableset_import_warning_type = Fel typ av fil. Det måste vara en JSON fil.
-yform_manager_tableset_import_success = Tabell/er importerades
-yform_manager_tableset_import_failed = Import av tabellsetet misslyckades: <br/>{0}
-
-yform_manager_table_edit = Redigera tabeller
-
-yform_manager_tableset_export = Exportera tabellset
-yform_manager_tableset_export_info = Info
-yform_manager_export_error_empty = Var god välja ut minst en tabell till exporten
-
-yform_manager_table_hidden = Synlighet
-yform_hidden = Dold
-yform_visible = Synligt
-
-
-# edit.inc.php
-yform_thankyouforupdate = Datasatsen aktualiserades.
-yform_thankyouforupdates = Datasatser aktualiserades.
-yform_thankyouforentry = Datasatsen tillfogades.
-yform_editdata = Redigera datasats
-yform_editdata_collection = Redigera {0} datasatser
-yform_editdata_collection_error_abort = Transaktionen misslyckades på grund av fel: {0}
-yform_adddata = Skapa datasats
-yform_searchtext = Sökbegrepp
-yform_searchfields = Fälten som ska sökas igenom
-yform_id = ID
-yform_function = Funktion
-yform_function_button = Handling
-yform_add = tillfoga
-yform_add_apply = ta över
-yform_edit = redigera
-yform_view = visa
-yform_save = spara
-yform_save_apply = ta över
-yform_delete = radera
-yform_delete_definitions = Radera definitioner
-yform_delete_definitions_info = Databas tabellen behålls
-yform_search = sök
-yform_export = exportera
-yform_import = importera
-yform_datadeleted = Datasatsen readerades
-yform_openerinfo = Opener info
-
-yform_table_info = Info
-yform_dataset = Dataresultat
-
-yform_dataset_delete = Radera dataresultatet
-yform_dataset_deleted = Dataresultatet raderades
-yform_dataset_delete_confirm = Radera dataresultatet?
-
-yform_data = Datasats
-yform_datas = Dataset
-yform_manager_search = Sök
-
-yform_data_view = visa
-
-
-yform_data_select = ta över
-
-# field.inc.php
-yform_tablenotexists = Denna tabell finns inte!
-yform_tablefield = Tabellfält
-yform_values = Värden
-yform_validates = Validering
-yform_actions = Aktioner
-yform_validatenamenotempty = Var god ange namnet
-yform_validatenamepregmatch = Var god och mata endast in bokstävar och "_"
-yform_validatenamecheck = Detta namnet finns redan
-yform_donotsaveindb = Spara inte i databasen
-yform_hideinlist = Dölj i lista
-yform_useassearchfieldalidatenamenotempty = Tillfoga till sökfält
-yform_tablefielddeleted = Tabellfält raderades
-yform_tablefieldnotfound = Tabellfält kunde inte hittas
-yform_addtablefield = Skapa tabellfält
-yform_table = Tabell
-yform_editfield = Redigera fält
-yform_choosenadd = Välj ut fält
-yform_choosenadd_description = Var god välj det fält som ska användas för din administration. Det finns värdefält som vanligtvis används för användarinmatning, men också validate-fält som används för att validera data som matas in i värdefält.
-yform_addfield = Tillfoga fält
-yform_editfields = Redigera fält
-
-yform_id_is_missing = ID saknas
-yform_id_missing_info = Tabellen har tyvärr inget ID-fält med AUTOINCREMENT. Således kan yform inte arbeta med det. Var god uppdatera tabellen och placera den nödvändiga ID:n manuellt.
-
-# import
-yform_manager_import_error_missingfile = Var god och ladda upp  importfilen
-yform_manager_import_error_missingfields = Det saknas följande fält: {0}
-yform_manager_import_error_min_missingfields = Det saknas minst ett fält: {0}
-yform_manager_import_error_field = Fält "{0}" kunde inte skapas: "{1}"
-yform_manager_import_field_added = Fält "{0}" har skapats
-yform_manager_import_error_import_abort = Importen utfördes inte på grund av följande fel: {0}
-yform_manager_import_error_import_stopped = Importen avbröts eftersom det uppstod fel.
-yform_manager_import_error_dataimport = Datasatts ({0}) kunde inte importeras: {1}
-yform_manager_import_error_import = {0} datasatser har importerats. Av det var {1} nya datasatser och {2} datasatser har ersätts.
-yform_manager_import_info_data_imported = {0} datasatser har INTE importerats.
-yform_manager_import_error_not_started = Import har inte startats
-yform_manager_import_csv = Importera CSV-fil
-yform_manager_import_csv_info = Detta kan användas för att importera data i denna tabell. Observera att du endast kan importera textfiler och att de måste finnas i </ b> första raden av fältdefinitionerna<b>. Vidare bör <b> kodningen av importfilen vara UTF-8 </ b>. Det kan betyda att du måste konvertera dem först.
-yform_manager_import_if_no_column = Om kolumen inte finns i tabellen
-yform_manager_import_if_no_column_ignore = Ignorera kolumnen
-yform_manager_import_if_no_column_addtext = Skapa sedan en textkolumn med samma namn (för att hantera detta senare måste dessa fält anges senare).
-yform_manager_import_if_no_column_break = avbryta importen.
-yform_manager_import_divider = Separator
-yform_manager_import_divider_semicolon = Semikolon
-yform_manager_import_divider_comma = Komma
-yform_manager_import_divider_tab = Tabulator
-yform_manager_import_unique_field = Om fältet är identisk kommer datasatsen att ersättas
-yform_manager_import_start = Tillfoga
-yform_manager_import_file = Fil
-yform_manager_import_error_missingfielddefinition = Det finns fält som är tomma och som därför inte kan tilldelas. Kontrollera först importens första rad.
-yform_manager_import_error_duplicatefielddefinition = Det finns fält som är identiska. Kontrollera först importens första rad.
-
-# history
-yform_history = Historik
-yform_history_dataset_id = Datasats-ID
-yform_history_dataset = Datasats
-yform_history_action = Aktion
-yform_history_action_create = skapat
-yform_history_action_update = redigerat
-yform_history_action_delete = raderat
-yform_history_user = Användare
-yform_history_timestamp = Tidstämpel
-yform_history_view = visa
-yform_history_restore = återgå
-yform_history_restore_this = återställ datasatsen till den här versionen
-yform_history_restore_success = Data återställdes
-yform_history_restore_error = Data kunde inte återställas
-yform_history_delete = Radera historiken
-yform_history_delete_all = totalt
-yform_history_delete_older_3_months = äldre än 3 månader
-yform_history_delete_confirm = Vill du verkligen radera historiken?
-yform_history_delete_success = Poster från historiken raderades.
-
-yform_manager_show_form_notation = Formularkod
-
-navigation_yform_tables = Tabeller
-yform_tabledata_overview = Datatabell
-
-yform_manager_multi_edit_field = Redigera fält  "{0}"
-
-yform_values_be_link_description = 				Ett select-fält för att välja ut en <b>REDAXO-artikel</b>
-yform_values_be_manager_relation_description = 	Ett select-fält / popup till <b> länka flera poster </ b> med poster från en annan tabell.
-yform_values_be_media_description = 			Ett fält att välja på eller fler <b> filer från mediapoolen (filhanteraren) </ b>.
-yform_values_be_table_description = 			En uppsättning inmatningsfält för att mata in <b> tabelldata</ b>.
-yform_values_prio_description =					Ett select-fält som används för att <b> sortera poster i en viss order </ b>.
-
-yform_values_defaults_prio = Prioritet
-yform_values_be_manager_relation_table = Måltabell
-yform_values_be_manager_relation_field = Mål kolumner för visning eller målfält
-yform_values_be_manager_relation_type = Multiselect
-yform_values_be_manager_relation_empty_option = Med "tom-option"
-yform_values_be_manager_relation_empty_value = Felmeddelande när "tom-option" är inte aktiv.
-yform_values_be_manager_relation_size = Höjd av select box
-yform_values_be_manager_relation_filter = Filter
-yform_values_be_manager_relation_relation_table = Relationstabell
-yform_values_be_media_preview = Preview
-yform_values_be_media_category = Medienpool (filhanterare) kategori
-yform_values_be_media_types = Types
-yform_values_be_media_types_notice = Format: jpg,gif
-yform_values_be_media_multiple = Multiselect
-yform_values_be_table_columns = Beteckning av kolumnerna (kvantitet, pris, någoting)
-yform_values_be_link_multiple = Multiselect
-yform_values_prio_fields = Display
-yform_values_prio_scope = Begränsning
-yform_values_prio_default = Till början
-
-yform_is = är
-yform_will_set_to = kommer att bli
-
-yform_field_add = Tillfoga fält
-yform_field_update = Updatera fält
-yform_field_db_type = Databas fälttyp
-
-yform_manager_table_data_view_roles = Datavy begränsad till
-yform_manager_table_data_edit_roles = Databehandling begränsad till
-
-yform_manager_table_nopermission = Ingen behörighet till den här tabellen
-
-yform_manager_tables_edit = Tabeller med redigeringsrättigheter
-yform_manager_tables_view = Tabeller med påsiktsrättigheter
diff --git a/plugins/manager/package.yml b/plugins/manager/package.yml
deleted file mode 100644
index dc40674fc..000000000
--- a/plugins/manager/package.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-package: yform/manager
-version: '4.2.1'
-license: MIT
-author: 'Jan Kristinus, Gregor Harlan'
-supportpage: 'https://github.com/yakamara/yform/issues'
-compile: 0
-
-page:
-    title: 'translate:yform_manager'
-    pjax: false
-    subpages:
-        table_edit: { title: translate:table_edit, perm: admin}
-        table_migrate: { title: translate:table_migrate, perm: admin }
-        tableset_export: { title: translate:tableset_export, perm: admin }
-        tableset_import: { title: translate:tableset_import, perm: admin }
-        table_field: { title: '', hidden: true, perm: admin }
-        data_edit: { title: '', hidden: true }
-        data_import: { title: '', hidden: true }
diff --git a/plugins/manager/update.php b/plugins/manager/update.php
deleted file mode 100644
index b9438c13a..000000000
--- a/plugins/manager/update.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-/**
- * @var rex_plugin $this
- * @psalm-scope-this rex_plugin
- */
-
-$this->includeFile(__DIR__ . '/install.php');
diff --git a/plugins/rest/boot.php b/plugins/rest/boot.php
deleted file mode 100644
index 47373e1a6..000000000
--- a/plugins/rest/boot.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-
-/**
- * yform.
- *
- * @author jan.kristinus[at]redaxo[dot]org Jan Kristinus
- * @author <a href="http://www.yakamara.de">www.yakamara.de</a>
- *
- * @var rex_plugin $this
- */
-
-rex_extension::register('PACKAGES_INCLUDED', static function () {
-    if (!\rex::isBackend()) {
-        \rex_yform_rest::handleRoutes();
-    }
-});
diff --git a/plugins/rest/install.php b/plugins/rest/install.php
deleted file mode 100644
index f84c67b78..000000000
--- a/plugins/rest/install.php
+++ /dev/null
@@ -1,18 +0,0 @@
-<?php
-
-rex_sql_table::get(rex::getTable('yform_rest_token'))
-    ->ensurePrimaryIdColumn()
-    ->ensureColumn(new rex_sql_column('name', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('token', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('status', 'tinyint(1)', false, '1'))
-    ->ensureColumn(new rex_sql_column('amount', 'int(11)'))
-    ->ensureColumn(new rex_sql_column('interval', 'varchar(191)'))
-    ->ensureColumn(new rex_sql_column('paths', 'text'))
-    ->ensure();
-
-rex_sql_table::get(rex::getTable('yform_rest_token_access'))
-    ->ensurePrimaryIdColumn()
-    ->ensureColumn(new rex_sql_column('token_id', 'int(11)'))
-    ->ensureColumn(new rex_sql_column('datetime_created', 'datetime'))
-    ->ensureColumn(new rex_sql_column('url', 'text'))
-    ->ensure();
diff --git a/plugins/rest/lang/de_de.lang b/plugins/rest/lang/de_de.lang
deleted file mode 100644
index b4671f80a..000000000
--- a/plugins/rest/lang/de_de.lang
+++ /dev/null
@@ -1,49 +0,0 @@
-yform_rest = REST-API
-
-yform_rest_token = Token
-
-yform_rest_token_header = REST: Token
-
-yform_rest_token_name = Name
-yform_rest_token_token = Token
-yform_rest_token_token_notice = Neuer Token gewünscht ? [{0}]
-yform_rest_token_status = Aktiv
-
-yform_rest_token_deleted = Token wurde gelöscht
-yform_rest_token_info_text =
-yform_rest_token_update = Tokendaten aktualisieren
-yform_rest_token_info_updated
-yform_rest_token_create = Token anlegen
-yform_rest_token_info_added
-
-yform_rest_token_updated = Tokendaten wurden aktualisiert
-yform_rest_token_added = Token wurde hinzugefügt
-
-yform_rest_token_header_summary
-
-yform_rest_token_header_description
-yform_rest_token_not_found = Keine Token gefunden
-yform_rest_token_caption = Liste der Token
-
-yform_rest_token_name_validate = Bitte eine Bezeichnung/Name eingeben
-yform_rest_token_token_validate = Bitte einen Token eintragen
-
-yform_rest_token_amount = Erlaubte Anzahl der Zugriff
-
-yform_rest_token_interval = Interval
-yform_rest_token_none = Ohne Einschränkung
-yform_rest_token_per_hour = Maximale Aufrufe pro Stunde
-yform_rest_token_per_day = Maximale Aufrufe pro Tag
-yform_rest_token_per_month = Maximale Aufrufe pro Monat
-yform_rest_token_overall = Maximale Zugriffe
-
-yform_rest_token_access = Zugriffe
-yform_rest_token_access_header = REST: Zugriffe
-yform_rest_token_access_caption = Liste der Zugriffe
-yform_rest_token_access_update = Eintrag bearbeiten
-yform_rest_token_access_deleted = Eintrag wurde gelöscht
-yform_rest_token_access_updated = Eintrag wurde aktualisiert
-yform_rest_token_access_datetime_created = Zugriff am
-yform_rest_token_url = URL
-
-yform_rest_token_token_paths = Erlaubte Endpoints
diff --git a/plugins/rest/lang/en_gb.lang b/plugins/rest/lang/en_gb.lang
deleted file mode 100644
index 66c54d20d..000000000
--- a/plugins/rest/lang/en_gb.lang
+++ /dev/null
@@ -1,49 +0,0 @@
-yform_rest = REST-API
-
-yform_rest_token = Token
-
-yform_rest_token_header = REST: Token
-
-yform_rest_token_name = Name
-yform_rest_token_token = Token
-yform_rest_token_token_notice = New token? [{0}]
-yform_rest_token_status = Active
-
-yform_rest_token_deleted = Token deleted
-yform_rest_token_info_text =
-yform_rest_token_update = Token saved
-yform_rest_token_info_updated
-yform_rest_token_create = Create token
-yform_rest_token_info_added
-
-yform_rest_token_updated = Token data saved
-yform_rest_token_added = Token added
-
-yform_rest_token_header_summary
-
-yform_rest_token_header_description
-yform_rest_token_not_found = No token found
-yform_rest_token_caption = List of token
-
-yform_rest_token_name_validate = Please enter a description/name
-yform_rest_token_token_validate = Please create a token
-
-yform_rest_token_amount = Allowed number of requests
-
-yform_rest_token_interval = Interval
-yform_rest_token_none = Without restriction
-yform_rest_token_per_hour = Maximum number of requests per hour
-yform_rest_token_per_day = Maximum number of requests per day
-yform_rest_token_per_month = Maximum number of requests per month
-yform_rest_token_overall = Maximum number of requests
-
-yform_rest_token_access = Requests
-yform_rest_token_access_header = REST: requests
-yform_rest_token_access_caption = List of requests
-yform_rest_token_access_update = Edit entry
-yform_rest_token_access_deleted = Entry deleted
-yform_rest_token_access_updated = Entry saved
-yform_rest_token_access_datetime_created = Requested on the
-yform_rest_token_url = URL
-
-yform_rest_token_token_paths = Allowed endpoints
diff --git a/plugins/rest/lang/es_es.lang b/plugins/rest/lang/es_es.lang
deleted file mode 100644
index 1706ff0ee..000000000
--- a/plugins/rest/lang/es_es.lang
+++ /dev/null
@@ -1,49 +0,0 @@
-yform_rest = REST-API
-
-yform_rest_token = Token
-
-yform_rest_token_header = REST: Token
-
-yform_rest_token_name = Nombre
-yform_rest_token_token = Token
-yform_rest_token_token_notice = ¿Se necesita una nueva ficha? [{0}]
-yform_rest_token_status = Activo
-
-yform_rest_token_deleted = El token ha sido eliminado
-yform_rest_token_info_text =
-yform_rest_token_update = Actualizar datos de token
-yform_rest_token_info_updated
-yform_rest_token_create = Crear token
-yform_rest_token_info_added
-
-yform_rest_token_updated = Datos de token se han actualizado.
-yform_rest_token_added = Token fue agregado
-
-yform_rest_token_header_summary
-
-yform_rest_token_header_description
-yform_rest_token_not_found = No se encontraron fichas
-yform_rest_token_caption = Lista de fichas
-
-yform_rest_token_name_validate = Por favor ingrese una descripción/nombre
-yform_rest_token_token_validate = Por favor ingrese un token
-
-yform_rest_token_amount = Número permitido de acceso
-
-yform_rest_token_interval = Intervalo
-yform_rest_token_none = Sin limitación
-yform_rest_token_per_hour = Máximas vistas por hora.
-yform_rest_token_per_day = Máximas vistas por día.
-yform_rest_token_per_month = Máximas vistas al mes.
-yform_rest_token_overall = Tráfico máximo
-
-yform_rest_token_access = Token de acceso
-yform_rest_token_access_header = REST:peticiones
-yform_rest_token_access_caption = Listado de accesos
-yform_rest_token_access_update = Editar entrada
-yform_rest_token_access_deleted = Se ha eliminado la entrada.
-yform_rest_token_access_updated = La entrada ha sido actualizada.
-yform_rest_token_access_datetime_created = Acceso en
-yform_rest_token_url = URL
-
-yform_rest_token_token_paths = Endpoints permitidos
diff --git a/plugins/rest/lang/sv_se.lang b/plugins/rest/lang/sv_se.lang
deleted file mode 100644
index 16f0c5fe3..000000000
--- a/plugins/rest/lang/sv_se.lang
+++ /dev/null
@@ -1,49 +0,0 @@
-yform_rest = REST-API
-
-yform_rest_token = Token
-
-yform_rest_token_header = REST: Token
-
-yform_rest_token_name = Namn
-yform_rest_token_token = Token
-yform_rest_token_token_notice = Önslas ny token ? [{0}]
-yform_rest_token_status = Aktiv
-
-yform_rest_token_deleted = Token raderades!
-yform_rest_token_info_text =
-yform_rest_token_update = Aktualisera token-data
-yform_rest_token_info_updated
-yform_rest_token_create = Skapa token
-yform_rest_token_info_added
-
-yform_rest_token_updated = Token aktualiserades
-yform_rest_token_added = Token skapades
-
-yform_rest_token_header_summary
-
-yform_rest_token_header_description
-yform_rest_token_not_found = Kunde inte hitta några token
-yform_rest_token_caption = List av alla token
-
-yform_rest_token_name_validate = Vänligen ange en beteckning/ett namn
-yform_rest_token_token_validate = Vänligen skapa en token
-
-yform_rest_token_amount = Tillåtet antal åtkomster
-
-yform_rest_token_interval = Intervall
-yform_rest_token_none = Utan beskränkning
-yform_rest_token_per_hour = Maximala visningar per timme
-yform_rest_token_per_day = Maximala visningar per dag
-yform_rest_token_per_month = Maximala visningar per månad
-yform_rest_token_overall = Maximala visningar
-
-yform_rest_token_access = Visningar
-yform_rest_token_access_header = REST: Visningar
-yform_rest_token_access_caption = List av alla visningar
-yform_rest_token_access_update = Bearbeta inlägg
-yform_rest_token_access_deleted = Inlägg raderades
-yform_rest_token_access_updated = Inlägg aktualiserades
-yform_rest_token_access_datetime_created = Visning den
-yform_rest_token_url = URL
-
-yform_rest_token_token_paths = Tillåtna slutpunkter
diff --git a/plugins/rest/package.yml b/plugins/rest/package.yml
deleted file mode 100644
index 74e64c28c..000000000
--- a/plugins/rest/package.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-package: yform/rest
-version: '4.2.1'
-license: MIT
-author: 'Jan Kristinus'
-supportpage: 'https://github.com/yakamara/yform/issues'
-
-page:
-    title: 'translate:yform_rest'
-    pjax: true
-    perm: admin
-    subpages:
-        token: { title: translate:yform_rest_token }
-        access: { title: translate:yform_rest_token_access }
diff --git a/plugins/rest/update.php b/plugins/rest/update.php
deleted file mode 100644
index b9438c13a..000000000
--- a/plugins/rest/update.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-/**
- * @var rex_plugin $this
- * @psalm-scope-this rex_plugin
- */
-
-$this->includeFile(__DIR__ . '/install.php');
diff --git a/plugins/tools/boot.php b/plugins/tools/boot.php
deleted file mode 100644
index fa6973f58..000000000
--- a/plugins/tools/boot.php
+++ /dev/null
@@ -1,21 +0,0 @@
-<?php
-
-/**
- * yform.
- *
- * @author jan.kristinus[at]redaxo[dot]org Jan Kristinus
- * @author <a href="http://www.yakamara.de">www.yakamara.de</a>
- *
- * @var rex_plugin $this
- * @psalm-scope-this rex_plugin
- */
-
-// rex_yform::addTemplatePath(rex_path::plugin('yform','geo','ytemplates'));
-
-if (rex::isBackend() && rex::getUser()) {
-    rex_view::addJsFile($this->getAssetsUrl('daterangepicker/moment.min.js'));
-    rex_view::addJsFile($this->getAssetsUrl('daterangepicker/daterangepicker.js'));
-    rex_view::addCssFile($this->getAssetsUrl('daterangepicker/daterangepicker.css'));
-    rex_view::addJsFile($this->getAssetsUrl('inputmask/dist/jquery.inputmask.min.js'));
-    rex_view::addJsFile($this->getAssetsUrl('tools.js'));
-}
diff --git a/plugins/tools/package.yml b/plugins/tools/package.yml
deleted file mode 100644
index 620c2f873..000000000
--- a/plugins/tools/package.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-package: yform/tools
-version: '4.2.1'
-license: MIT
-author: 'Jan Kristinus'
-supportpage: 'https://github.com/yakamara/yform/issues'
diff --git a/plugins/manager/scss/manager.scss b/scss/manager.scss
similarity index 100%
rename from plugins/manager/scss/manager.scss
rename to scss/manager.scss
diff --git a/plugins/manager/uninstall.php b/uninstall.php
similarity index 62%
rename from plugins/manager/uninstall.php
rename to uninstall.php
index 58447031e..3616936c3 100644
--- a/plugins/manager/uninstall.php
+++ b/uninstall.php
@@ -7,6 +7,20 @@
  * @author <a href="http://www.yakamara.de">www.yakamara.de</a>
  */
 
+// E-Mail
+
+rex_sql_table::get(rex::getTable('yform_email_template'))
+    ->drop();
+
+// REST
+
+rex_sql_table::get(rex::getTable('yform_rest_token'))
+    ->drop();
+rex_sql_table::get(rex::getTable('yform_rest_token_access'))
+    ->drop();
+
+// Manager
+
 rex_sql_table::get(rex::getTable('yform_table'))
     ->drop();
 rex_sql_table::get(rex::getTable('yform_field'))
diff --git a/update.php b/update.php
index 414708a43..b60091cba 100644
--- a/update.php
+++ b/update.php
@@ -1,4 +1,9 @@
 <?php
 
+rex_dir::delete(rex_path::plugin('yform', 'email'));
+rex_dir::delete(rex_path::plugin('yform', 'rest'));
+rex_dir::delete(rex_path::plugin('yform', 'docs'));
+rex_dir::delete(rex_path::plugin('yform', 'manager'));
+
 /** @var rex_addon $this */
 $this->includeFile(__DIR__ . '/install.php');
diff --git a/plugins/manager/ytemplates/bootstrap/value.be_link.tpl.php b/ytemplates/bootstrap/value.be_link.tpl.php
similarity index 100%
rename from plugins/manager/ytemplates/bootstrap/value.be_link.tpl.php
rename to ytemplates/bootstrap/value.be_link.tpl.php
diff --git a/plugins/manager/ytemplates/bootstrap/value.be_manager_inline_relation-view.tpl.php b/ytemplates/bootstrap/value.be_manager_inline_relation-view.tpl.php
similarity index 100%
rename from plugins/manager/ytemplates/bootstrap/value.be_manager_inline_relation-view.tpl.php
rename to ytemplates/bootstrap/value.be_manager_inline_relation-view.tpl.php
diff --git a/plugins/manager/ytemplates/bootstrap/value.be_manager_inline_relation.tpl.php b/ytemplates/bootstrap/value.be_manager_inline_relation.tpl.php
similarity index 100%
rename from plugins/manager/ytemplates/bootstrap/value.be_manager_inline_relation.tpl.php
rename to ytemplates/bootstrap/value.be_manager_inline_relation.tpl.php
diff --git a/plugins/manager/ytemplates/bootstrap/value.be_manager_inline_relation_form.tpl.php b/ytemplates/bootstrap/value.be_manager_inline_relation_form.tpl.php
similarity index 100%
rename from plugins/manager/ytemplates/bootstrap/value.be_manager_inline_relation_form.tpl.php
rename to ytemplates/bootstrap/value.be_manager_inline_relation_form.tpl.php
diff --git a/plugins/manager/ytemplates/bootstrap/value.be_manager_relation.tpl.php b/ytemplates/bootstrap/value.be_manager_relation.tpl.php
similarity index 100%
rename from plugins/manager/ytemplates/bootstrap/value.be_manager_relation.tpl.php
rename to ytemplates/bootstrap/value.be_manager_relation.tpl.php
diff --git a/plugins/manager/ytemplates/bootstrap/value.be_media.tpl.php b/ytemplates/bootstrap/value.be_media.tpl.php
similarity index 100%
rename from plugins/manager/ytemplates/bootstrap/value.be_media.tpl.php
rename to ytemplates/bootstrap/value.be_media.tpl.php
diff --git a/plugins/manager/ytemplates/bootstrap/value.be_table-view.tpl.php b/ytemplates/bootstrap/value.be_table-view.tpl.php
similarity index 100%
rename from plugins/manager/ytemplates/bootstrap/value.be_table-view.tpl.php
rename to ytemplates/bootstrap/value.be_table-view.tpl.php
diff --git a/plugins/manager/ytemplates/bootstrap/value.be_table.tpl.php b/ytemplates/bootstrap/value.be_table.tpl.php
similarity index 100%
rename from plugins/manager/ytemplates/bootstrap/value.be_table.tpl.php
rename to ytemplates/bootstrap/value.be_table.tpl.php