diff --git a/README.md b/README.md
index f2a8fe5a..896cf95b 100644
--- a/README.md
+++ b/README.md
@@ -80,7 +80,7 @@ By default RaspAP configures a routed AP for your clients to connect to. A bridg
More information on Bridged AP mode is provided [on our wiki](https://github.com/billz/raspap-webgui/wiki/Bridged-AP-mode).
## Simultaneous AP and Wifi client
-RaspAP lets you create an AP with a Wifi client configuration, often called AP-STA mode. With your system configured in managed mode, enable the AP from the **Advanced** tab of **Configure hotspot** by sliding the **Wifi client AP mode** toggle. Save settings and start the hotspot. The managed mode AP is functional without restart.
+RaspAP lets you create an AP with a Wifi client configuration, often called [AP-STA mode](https://github.com/billz/raspap-webgui/wiki/RPi-Zero-W-AP-STA-mode). With your system configured in managed mode, enable the AP from the **Advanced** tab of **Configure hotspot** by sliding the **Wifi client AP mode** toggle. Save settings and start the hotspot. The managed mode AP is functional without restart.
**Note:** This option is disabled until you configure your system as a wireless client. For a device operating in [managed mode](https://github.com/billz/raspap-webgui/wiki/FAQs#how-do-i-prepare-the-sd-card-to-connect-to-wifi-in-headless-mode) without an `eth0` connection, this configuration must be enabled [_before_ a reboot](https://github.com/billz/raspap-webgui/wiki/RPi-Zero-W-AP-STA-mode).
diff --git a/includes/dashboard.php b/includes/dashboard.php
index 60c3aa83..c4c0ded5 100755
--- a/includes/dashboard.php
+++ b/includes/dashboard.php
@@ -90,7 +90,7 @@ function DisplayDashboard(&$extraFooterScripts)
define('SSIDMAXLEN', 32);
// Warning iw comes with: "Do NOT screenscrape this tool, we don't consider its output stable."
exec('iw dev ' .$_SESSION['wifi_client_interface']. ' link ', $stdoutIw);
- $stdoutIwAllLinesGlued = implode(' ', $stdoutIw);
+ $stdoutIwAllLinesGlued = implode('+', $stdoutIw); // Break lines with character illegal in SSID and MAC addr
$stdoutIwWRepSpaces = preg_replace('/\s\s+/', ' ', $stdoutIwAllLinesGlued);
preg_match('/Connected to (([0-9A-Fa-f]{2}:){5}([0-9A-Fa-f]{2}))/', $stdoutIwWRepSpaces, $matchesBSSID) || $matchesBSSID[1] = '';
@@ -102,7 +102,7 @@ function DisplayDashboard(&$extraFooterScripts)
$wlanHasLink = true;
}
- if (!preg_match('/SSID: ([^ ]{1,'.SSIDMAXLEN.'})/', $stdoutIwWRepSpaces, $matchesSSID)) {
+ if (!preg_match('/SSID: ([^+]{1,'.SSIDMAXLEN.'})/', $stdoutIwWRepSpaces, $matchesSSID)) {
$wlanHasLink = false;
$matchesSSID[1] = 'None';
}
diff --git a/locale/fr_FR/LC_MESSAGES/messages.mo b/locale/fr_FR/LC_MESSAGES/messages.mo
index d515c27a..8343b621 100644
Binary files a/locale/fr_FR/LC_MESSAGES/messages.mo and b/locale/fr_FR/LC_MESSAGES/messages.mo differ
diff --git a/locale/fr_FR/LC_MESSAGES/messages.po b/locale/fr_FR/LC_MESSAGES/messages.po
index 1aaf0e12..f49439f5 100644
--- a/locale/fr_FR/LC_MESSAGES/messages.po
+++ b/locale/fr_FR/LC_MESSAGES/messages.po
@@ -35,10 +35,10 @@ msgid "Hotspot"
msgstr "Hotspot"
msgid "Memory Use"
-msgstr ""
+msgstr "Usage mémoire"
msgid "CPU Temp"
-msgstr ""
+msgstr "T°C CPU"
msgid "Networking"
msgstr "Réseau"
@@ -127,7 +127,7 @@ msgid "Rescan"
msgstr "Actualiser"
msgid "Update"
-msgstr "Mettre à jour"
+msgstr "Mise à jour"
msgid "Add"
msgstr "Ajouter"
@@ -182,7 +182,7 @@ msgid "Transferred Bytes"
msgstr "Octets transférés"
msgid "Wireless Client"
-msgstr ""
+msgstr "Client WIFI"
msgid "Connected To"
msgstr "Connecté à"
@@ -230,13 +230,13 @@ msgid "Interface is down"
msgstr "L'interface est arrêté"
msgid "Interface already down"
-msgstr "Interface déjà arrêté"
+msgstr "Interface déjà arrêtée"
msgid "Start wlan0"
msgstr "Démarrer wlan0"
msgid "Stop wlan0"
-msgstr "Arrêtez wlan0"
+msgstr "Arrêter wlan0"
msgid "Connected Devices"
msgstr "Appareils connectés"
@@ -276,7 +276,7 @@ msgid "Active DHCP leases"
msgstr "Baux DHCP actifs"
msgid "Expire time"
-msgstr "Temps d'expiration"
+msgstr "Temps avant expiration"
msgid "MAC Address"
msgstr "Adresse Mac"
@@ -291,7 +291,7 @@ msgid "Information provided by Dnsmasq"
msgstr "Informations fournies par Dnsmasq"
msgid "Stop dnsmasq"
-msgstr "Arrêtez dnsmasq"
+msgstr "Arrêter dnsmasq"
msgid "Start dnsmasq"
msgstr "Démarrer dnsmasq"
@@ -324,7 +324,7 @@ msgid "Dnsmasq is not running"
msgstr "Dnsmasq n'est pas en fonctionnement"
msgid "Upstream DNS servers"
-msgstr "Serveurs DNS amont"
+msgstr "Serveurs DNS en amont"
msgid "Only ever query DNS servers configured below"
msgstr "Uniquement les serveurs DNS de requête configurés ci-dessous"
@@ -336,7 +336,7 @@ msgid "This option adds no-resolv
to the dnsmasq configuration."
msgstr "Cette option ajoute no-resolv
à la configuration dnsmasq."
msgid "Add upstream DNS server"
-msgstr "Ajouter un serveur DNS amont"
+msgstr "Ajouter un serveur DNS en amont"
msgid "Format"
msgstr "Format"
@@ -418,7 +418,7 @@ msgid "Start hotspot"
msgstr "Démarrer le point d'accès"
msgid "Stop hotspot"
-msgstr "Arrêté le point d'accès"
+msgstr "Arrêter le point d'accès"
msgid "Restart hotspot"
msgstr "Redémarrer le point d'accès"
@@ -495,7 +495,7 @@ msgid "Select a language"
msgstr "Sélectionnez une langue"
msgid "Language setting saved"
-msgstr "Paramètre de langue enregistré"
+msgstr "Paramètre de langue enregistrée"
msgid "Console"
msgstr "Console"
@@ -687,10 +687,10 @@ msgid "Remove"
msgstr "arrêté"
msgid "up"
-msgstr "vers le haut"
+msgstr "activé"
msgid "down"
-msgstr "vers le bas"
+msgstr "désactivé"
msgid "adblock"
msgstr "AdBlock"
@@ -720,10 +720,10 @@ msgid "Choose a blocklist provider"
msgstr "Choisir un fournisseur de liste noire"
msgid "Hostnames blocklist last updated"
-msgstr ""
+msgstr "Dernière mise à jour de la liste de blocage des noms d'hôtes"
msgid "Domains blocklist last updated"
-msgstr ""
+msgstr "Dernière mise à jour de la liste de blocage des domaines"
msgid "Update now"
msgstr "Mettre à jour"
diff --git a/locale/it_IT/LC_MESSAGES/messages.mo b/locale/it_IT/LC_MESSAGES/messages.mo
index 55e7c949..201ea228 100644
Binary files a/locale/it_IT/LC_MESSAGES/messages.mo and b/locale/it_IT/LC_MESSAGES/messages.mo differ
diff --git a/locale/zh_TW/LC_MESSAGES/messages.mo b/locale/zh_TW/LC_MESSAGES/messages.mo
index 52e5a1b4..19345adf 100644
Binary files a/locale/zh_TW/LC_MESSAGES/messages.mo and b/locale/zh_TW/LC_MESSAGES/messages.mo differ
diff --git a/templates/configure_client.php b/templates/configure_client.php
index a566c63d..afb3aeb3 100755
--- a/templates/configure_client.php
+++ b/templates/configure_client.php
@@ -1,3 +1,16 @@
+