summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-app-openwisp
diff options
context:
space:
mode:
Diffstat (limited to 'applications/luci-app-openwisp')
-rw-r--r--applications/luci-app-openwisp/po/ar/openwisp.po231
-rw-r--r--applications/luci-app-openwisp/po/bg/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/bn_BD/openwisp.po231
-rw-r--r--applications/luci-app-openwisp/po/ca/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/cs/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/da/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/de/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/el/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/fi/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/fr/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/he/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/hi/openwisp.po231
-rw-r--r--applications/luci-app-openwisp/po/hu/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/it/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/ja/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/ko/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/mr/openwisp.po231
-rw-r--r--applications/luci-app-openwisp/po/ms/openwisp.po231
-rw-r--r--applications/luci-app-openwisp/po/nb_NO/openwisp.po235
-rw-r--r--applications/luci-app-openwisp/po/nl/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/pl/openwisp.po266
-rw-r--r--applications/luci-app-openwisp/po/pt/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/pt_BR/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/ro/openwisp.po233
-rw-r--r--applications/luci-app-openwisp/po/ru/openwisp.po233
-rw-r--r--applications/luci-app-openwisp/po/sk/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/sv/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/tr/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/uk/openwisp.po233
-rw-r--r--applications/luci-app-openwisp/po/vi/openwisp.po232
-rw-r--r--applications/luci-app-openwisp/po/zh_Hans/openwisp.po246
-rw-r--r--applications/luci-app-openwisp/po/zh_Hant/openwisp.po235
32 files changed, 7476 insertions, 0 deletions
diff --git a/applications/luci-app-openwisp/po/ar/openwisp.po b/applications/luci-app-openwisp/po/ar/openwisp.po
new file mode 100644
index 0000000000..4188f4c10e
--- /dev/null
+++ b/applications/luci-app-openwisp/po/ar/openwisp.po
@@ -0,0 +1,231 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ar\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/bg/openwisp.po b/applications/luci-app-openwisp/po/bg/openwisp.po
new file mode 100644
index 0000000000..7533c6f02c
--- /dev/null
+++ b/applications/luci-app-openwisp/po/bg/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: bg\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/bn_BD/openwisp.po b/applications/luci-app-openwisp/po/bn_BD/openwisp.po
new file mode 100644
index 0000000000..3861efe579
--- /dev/null
+++ b/applications/luci-app-openwisp/po/bn_BD/openwisp.po
@@ -0,0 +1,231 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: bn_BD\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/ca/openwisp.po b/applications/luci-app-openwisp/po/ca/openwisp.po
new file mode 100644
index 0000000000..515d1636d5
--- /dev/null
+++ b/applications/luci-app-openwisp/po/ca/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/cs/openwisp.po b/applications/luci-app-openwisp/po/cs/openwisp.po
new file mode 100644
index 0000000000..5ebe3fe153
--- /dev/null
+++ b/applications/luci-app-openwisp/po/cs/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/da/openwisp.po b/applications/luci-app-openwisp/po/da/openwisp.po
new file mode 100644
index 0000000000..d6d6bd49d5
--- /dev/null
+++ b/applications/luci-app-openwisp/po/da/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/de/openwisp.po b/applications/luci-app-openwisp/po/de/openwisp.po
new file mode 100644
index 0000000000..9c05c8e5ef
--- /dev/null
+++ b/applications/luci-app-openwisp/po/de/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/el/openwisp.po b/applications/luci-app-openwisp/po/el/openwisp.po
new file mode 100644
index 0000000000..694593b034
--- /dev/null
+++ b/applications/luci-app-openwisp/po/el/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: el\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/fi/openwisp.po b/applications/luci-app-openwisp/po/fi/openwisp.po
new file mode 100644
index 0000000000..68018a104a
--- /dev/null
+++ b/applications/luci-app-openwisp/po/fi/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/fr/openwisp.po b/applications/luci-app-openwisp/po/fr/openwisp.po
new file mode 100644
index 0000000000..90635d5abf
--- /dev/null
+++ b/applications/luci-app-openwisp/po/fr/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/he/openwisp.po b/applications/luci-app-openwisp/po/he/openwisp.po
new file mode 100644
index 0000000000..2da4e7b397
--- /dev/null
+++ b/applications/luci-app-openwisp/po/he/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: he\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/hi/openwisp.po b/applications/luci-app-openwisp/po/hi/openwisp.po
new file mode 100644
index 0000000000..9661ffe674
--- /dev/null
+++ b/applications/luci-app-openwisp/po/hi/openwisp.po
@@ -0,0 +1,231 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: hi\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/hu/openwisp.po b/applications/luci-app-openwisp/po/hu/openwisp.po
new file mode 100644
index 0000000000..0b7bc0920c
--- /dev/null
+++ b/applications/luci-app-openwisp/po/hu/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/it/openwisp.po b/applications/luci-app-openwisp/po/it/openwisp.po
new file mode 100644
index 0000000000..a7a56db0ae
--- /dev/null
+++ b/applications/luci-app-openwisp/po/it/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/ja/openwisp.po b/applications/luci-app-openwisp/po/ja/openwisp.po
new file mode 100644
index 0000000000..9e0772cc89
--- /dev/null
+++ b/applications/luci-app-openwisp/po/ja/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/ko/openwisp.po b/applications/luci-app-openwisp/po/ko/openwisp.po
new file mode 100644
index 0000000000..3900077a2e
--- /dev/null
+++ b/applications/luci-app-openwisp/po/ko/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ko\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/mr/openwisp.po b/applications/luci-app-openwisp/po/mr/openwisp.po
new file mode 100644
index 0000000000..26f59ddf6e
--- /dev/null
+++ b/applications/luci-app-openwisp/po/mr/openwisp.po
@@ -0,0 +1,231 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: mr\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/ms/openwisp.po b/applications/luci-app-openwisp/po/ms/openwisp.po
new file mode 100644
index 0000000000..6f9bc6104b
--- /dev/null
+++ b/applications/luci-app-openwisp/po/ms/openwisp.po
@@ -0,0 +1,231 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ms\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/nb_NO/openwisp.po b/applications/luci-app-openwisp/po/nb_NO/openwisp.po
new file mode 100644
index 0000000000..5e69d89aa6
--- /dev/null
+++ b/applications/luci-app-openwisp/po/nb_NO/openwisp.po
@@ -0,0 +1,235 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2024-01-05 10:42+0000\n"
+"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
+"Language-Team: Norwegian Bokmål <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsopenwisp/nb_NO/>\n"
+"Language: nb_NO\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 5.4-dev\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr "Avanserte innstillinger"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr "Påskrudd"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/nl/openwisp.po b/applications/luci-app-openwisp/po/nl/openwisp.po
new file mode 100644
index 0000000000..91655cb130
--- /dev/null
+++ b/applications/luci-app-openwisp/po/nl/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/pl/openwisp.po b/applications/luci-app-openwisp/po/pl/openwisp.po
new file mode 100644
index 0000000000..13827b6311
--- /dev/null
+++ b/applications/luci-app-openwisp/po/pl/openwisp.po
@@ -0,0 +1,266 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2024-01-04 22:04+0000\n"
+"Last-Translator: Matthaiks <kitynska@gmail.com>\n"
+"Language-Team: Polish <https://hosted.weblate.org/projects/openwrt/"
+"luciapplicationsopenwisp/pl/>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+"X-Generator: Weblate 5.4-dev\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr "Ustawienia zaawansowane"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr "Opóźnienie rozruchu"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr "Certyfikat CA"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr "Ścieżka CA"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+"Skonfiguruj, uruchom i zatrzymaj agenta OpenWISP na tym urządzeniu. "
+"Przeczytaj więcej o wartościach konfiguracyjnych: <a target='_blank' "
+"rel='noopener noreferrer' href='https://github.com/openwisp/openwisp-"
+"config'>https://github.com/openwisp/openwisp-config </a>"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr "Limit połączenia"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr "Klucz spójny"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr "Wyłączone"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr "Włącz"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr "Włącz lub wyłącz usługę OpenWISP."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr "Włączone"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr "Ustawienia główne"
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr "Udziel dostępu do luci-app-openwisp"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr "Klucz identyfikatora sprzętu"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr "Skrypt identyfikatora sprzętu"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+"Jeśli ta opcja jest wybrana, w przypadku, gdy element konfiguracji występuje "
+"zarówno w konfiguracji zdalnej, jak i lokalnej, konfiguracja zdalna ma "
+"pierwszeństwo przed konfiguracją lokalną."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+"Jeśli agent nie będzie mógł połączyć się z kontrolerem po zastosowaniu "
+"pobranej konfiguracji, zostanie ona przywrócona."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr "Klucz"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr "Interfejs MAC"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr "Interfejs zarządzania"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr "Maksymalny czas"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr "Scal konfigurację"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr "OpenWISP"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+"Ścieżka do opublikowania skryptu przechwytującego przeładowanie. "
+"Przechwycenie nie jest wywoływane, jeśli ścieżka nie wskazuje na wykonywalny "
+"plik skryptu. To przechwycenie jest wywoływane za każdym razem, gdy openwisp-"
+"config stosuje konfigurację, ale po ponownym załadowaniu usług."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+"Ścieżka do przechwycenia wstępnego przeładowania. Przechwycenie nie jest "
+"wywoływane, jeśli ścieżka nie wskazuje na wykonywalny plik skryptu. To "
+"przechwycenie jest wywoływane za każdym razem, gdy openwisp-config stosuje "
+"konfigurację, ale przed ponownym załadowaniem usług."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr "Przechwycenie po przeładowaniu"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr "Przechwycenie przed przeładowaniem"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr "Adres URL serwera"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr "Wspólny sekret"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr "Tagi"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr "Tagi zastosowane do tego urządzenia."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr "Konfiguracja testowa"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr "Skrypt testowy"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr "Klucz tego urządzenia na serwerze OpenWISP."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr "Adres URL serwera OpenWISP. Przykład: https://openwisp2.mynetwork.com"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr "UUID tego urządzenia na serwerze OpenWISP."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr "Interfejs używany do uzyskiwania adresu MAC dla tego urządzenia."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr "Interfejs używany do zarządzania i kontroli."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr "Wspólny sekret organizacji do automatycznej rejestracji."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr "UUID"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr "Interwał aktualizacji"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+"Do identyfikacji urządzenia użyj unikalnego identyfikatora sprzętu, na "
+"przykład numeru seryjnego."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+"Użyj określonego katalogu certyfikatów, aby zweryfikować element "
+"równorzędny. Certyfikaty muszą być w formacie PEM, a katalog musi zostać "
+"przetworzony przy użyciu narzędzia c_rehash dostarczonego z OpenSSL."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+"Użyj określonego pliku certyfikatu, aby zweryfikować partnera. Plik może "
+"zawierać wiele certyfikatów CA. Certyfikaty muszą być w formacie PEM."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+"Wartość przekazana do argumentu curl --max-time, domyślnie 30. Wyrażona w "
+"sekundach."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr "Sprawdź SSL"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr "Sprawdź certyfikat SSL serwera."
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
+"W przypadku korzystania z rejestracji automatycznej ta funkcja pozwala "
+"urządzeniom zachować tę samą konfigurację nawet po zresetowaniu lub ponownym "
+"flashowaniu. Ta funkcja jest domyślnie włączona, ale aby mogła działać, musi "
+"być włączona także w aplikacji sterownika."
diff --git a/applications/luci-app-openwisp/po/pt/openwisp.po b/applications/luci-app-openwisp/po/pt/openwisp.po
new file mode 100644
index 0000000000..241975d439
--- /dev/null
+++ b/applications/luci-app-openwisp/po/pt/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/pt_BR/openwisp.po b/applications/luci-app-openwisp/po/pt_BR/openwisp.po
new file mode 100644
index 0000000000..f2392d4536
--- /dev/null
+++ b/applications/luci-app-openwisp/po/pt_BR/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/ro/openwisp.po b/applications/luci-app-openwisp/po/ro/openwisp.po
new file mode 100644
index 0000000000..4abf03ab21
--- /dev/null
+++ b/applications/luci-app-openwisp/po/ro/openwisp.po
@@ -0,0 +1,233 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ro\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
+"20)) ? 1 : 2;\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/ru/openwisp.po b/applications/luci-app-openwisp/po/ru/openwisp.po
new file mode 100644
index 0000000000..fab9da1d7b
--- /dev/null
+++ b/applications/luci-app-openwisp/po/ru/openwisp.po
@@ -0,0 +1,233 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/sk/openwisp.po b/applications/luci-app-openwisp/po/sk/openwisp.po
new file mode 100644
index 0000000000..2d19d3ea72
--- /dev/null
+++ b/applications/luci-app-openwisp/po/sk/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: sk\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/sv/openwisp.po b/applications/luci-app-openwisp/po/sv/openwisp.po
new file mode 100644
index 0000000000..f734e5209b
--- /dev/null
+++ b/applications/luci-app-openwisp/po/sv/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/tr/openwisp.po b/applications/luci-app-openwisp/po/tr/openwisp.po
new file mode 100644
index 0000000000..90863f311d
--- /dev/null
+++ b/applications/luci-app-openwisp/po/tr/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/uk/openwisp.po b/applications/luci-app-openwisp/po/uk/openwisp.po
new file mode 100644
index 0000000000..d9d13b2f1f
--- /dev/null
+++ b/applications/luci-app-openwisp/po/uk/openwisp.po
@@ -0,0 +1,233 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: uk\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/vi/openwisp.po b/applications/luci-app-openwisp/po/vi/openwisp.po
new file mode 100644
index 0000000000..f140394b47
--- /dev/null
+++ b/applications/luci-app-openwisp/po/vi/openwisp.po
@@ -0,0 +1,232 @@
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: PACKAGE VERSION\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""
diff --git a/applications/luci-app-openwisp/po/zh_Hans/openwisp.po b/applications/luci-app-openwisp/po/zh_Hans/openwisp.po
new file mode 100644
index 0000000000..b25588e7cc
--- /dev/null
+++ b/applications/luci-app-openwisp/po/zh_Hans/openwisp.po
@@ -0,0 +1,246 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2024-01-04 22:04+0000\n"
+"Last-Translator: Eric <zxmegaxqug@hldrive.com>\n"
+"Language-Team: Chinese (Simplified) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationsopenwisp/zh_Hans/>\n"
+"Language: zh_Hans\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 5.4-dev\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr "高级设置"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr "启动延迟"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr "CA 证书"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr "CA 路径"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+"配置、启动及停滞此设备的 OpenWISP 代理。更多配置值相关的内容请访问: <a "
+"target='_blank' rel='noopener noreferrer' href='https://github.com/openwisp/"
+"openwisp-config'>https://github.com/openwisp/openwisp-config</a>"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr "连接超时"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr "一致密钥"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr "已禁用"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr "启用"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr "启用或禁用 OpenWISP 服务。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr "已启用"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr "常规设置"
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr "授予访问 luci-app-openwisp 的权限"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr "硬件 ID 密钥"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr "硬件 ID 脚本"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr "若选中,则如果一个配置项同时存在于远程和本地配置中,那么远程配置优先级将高于"
+"本地配置。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr "如果应用下载的配置后代理无法访问控制器,那么配置将恢复原样。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr "密钥"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr "MAC 接口"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr "管理界面"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr "最长时间"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr "合并配置"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr "OpenWISP"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+"后重加载 hook 脚本的路径。hook 将不被调用,如果路径不指向可执行脚本文件。"
+"每次 openwisp-config 应用配置时,都将调用此 hook,但是在重新加载服务后。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+"预重加载 hook 的路径。hook 将不被调用,如果路径不指向可执行脚本文件。每次 "
+"openwisp-config 应用配置时,会调用这个 hook,但是在重新加载服务之前。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr "后重加载 Hook"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr "预重加载 Hook"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr "服务器 URL"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr "共享的 Secret"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr "标签"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr "应用到此设备的标签。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr "测试配置"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr "测试脚本"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr "OpenWISP 服务器中此设备的密钥。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr "OpenWISP 服务器的 URL。示例:https://openwisp2.mynetwork.com"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr "OpenWISP 服务器中此设备的 UUID。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr "用于获得此设备 MAC 的接口。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr "用于管理和控制的接口。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr "组织共享的 secret,用于自动加入。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr "UUID"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr "更新间隔"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr "使用独有的硬件 ID 用于设备识别,比如序列号。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr "使用指定的证书目录来验证 peer。证书格式必须是 PEM,且目录必须已经用和 "
+"openssl 一起提供的 c_rehash 工具处理过。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr "使用指定的证书文件来验证 peer。此文件可以包括多个 CA 证书。证书格式必须是 "
+"PEM。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr "传递给 curl --max-time 变量的值,默认 30,单位为秒。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr "验证 SSL"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr "验证服务器 SSL 证书。"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr "使用自动注册时,此功能允许设备保留相同配置,即便设备被重置或重新刷过映像。此"
+"功能默认开启,但必须同样在控制器程序中启用才能正常运作。"
diff --git a/applications/luci-app-openwisp/po/zh_Hant/openwisp.po b/applications/luci-app-openwisp/po/zh_Hant/openwisp.po
new file mode 100644
index 0000000000..17fd8bfae5
--- /dev/null
+++ b/applications/luci-app-openwisp/po/zh_Hant/openwisp.po
@@ -0,0 +1,235 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"PO-Revision-Date: 2024-01-05 04:02+0000\n"
+"Last-Translator: Yuan Law <traverslombard@outlook.com>\n"
+"Language-Team: Chinese (Traditional) <https://hosted.weblate.org/projects/"
+"openwrt/luciapplicationsopenwisp/zh_Hant/>\n"
+"Language: zh_Hant\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 5.4-dev\n"
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:17
+msgid "Advanced Settings"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:82
+msgid "Boot Delay"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid "CA Cert"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid "CA Path"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:12
+msgid ""
+"Configure, start and stop the OpenWISP agent on this device. Read more about "
+"configuration values: <a target='_blank' rel='noopener noreferrer' "
+"href='https://github.com/openwisp/openwisp-config'>https://github.com/"
+"openwisp/openwisp-config</a>"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:87
+msgid "Connect Timeout"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid "Consistent Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:29
+msgid "Disabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:27
+msgid "Enable"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:28
+msgid "Enable or disable the OpenWISP service."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:30
+msgid "Enabled"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:16
+msgid "General Settings"
+msgstr "一般設定"
+
+#: applications/luci-app-openwisp/root/usr/share/rpcd/acl.d/luci-app-openwisp.json:3
+msgid "Grant access to luci-app-openwisp"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid "Hardware ID Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:78
+msgid "Hardware ID Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid ""
+"If selected, in the event a config item is present in both the remote and "
+"local configuration, the remote configuration takes precedence over local "
+"configuration."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid ""
+"If the agent is unable to reach the controller after applying the downloaded "
+"config it will be reverted."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "Key"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "MAC Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "Management Interface"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid "Max Time"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:60
+msgid "Merge Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:11
+#: applications/luci-app-openwisp/root/usr/share/luci/menu.d/luci-app-openwisp.json:3
+msgid "OpenWISP"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid ""
+"Path to post reload hook script. The hook is not called if the path does not "
+"point to an executable script file. This hook is called each time openwisp-"
+"config applies a configuration, but after services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid ""
+"Path to pre-reload hook. The hook is not called if the path does not point "
+"to an executable script file. This hook is called each time openwisp-config "
+"applies a configuration, but before services are reloaded."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:107
+msgid "Post-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:103
+msgid "Pre-reload Hook"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid "Server URL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "Shared Secret"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:64
+msgid "Tags applied to this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:66
+msgid "Test Config"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:70
+msgid "Test Script"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:23
+msgid "The Key of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:33
+msgid ""
+"The URL to the OpenWISP server. Example: https://openwisp2.mynetwork.com"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "The UUID of this device in the OpenWISP server."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:53
+msgid "The interface to use for getting the MAC for this device."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:56
+msgid "The interface to use for management and control."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:36
+msgid "The organization shared secret for auto enrollment."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:20
+msgid "UUID"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:39
+msgid "Update Interval"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:74
+msgid ""
+"Use a unique hardware ID for device identification, for example a serial "
+"number."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:100
+msgid ""
+"Use the specified certificate directory to verify the peer. The certificates "
+"must be in PEM format, and the directory must have been processed using the "
+"c_rehash utility supplied with openssl."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:97
+msgid ""
+"Use the specified certificate file to verify the peer. The file may contain "
+"multiple CA certificates. The certificate(s) must be in PEM format."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:92
+msgid ""
+"Value passed to curl --max-time argument, defaults to 30. Expressed in "
+"seconds."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify SSL"
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:45
+msgid "Verify the server SSL certificate."
+msgstr ""
+
+#: applications/luci-app-openwisp/htdocs/luci-static/resources/view/openwisp.js:49
+msgid ""
+"When using Automatic registration, this feature allows devices to keep the "
+"same configuration even if reset or re-flashed. This feature is enabled by "
+"default, but must be enabled also in the controller application in order to "
+"work."
+msgstr ""