diff --git a/www/i18n/locale-ca.json b/www/i18n/locale-ca.json
index 1437d053ad4a3404665569e27e20b4e44b9ac296..614bf90f9bb9156f65196b8c4a10c9863db1f2fe 100644
--- a/www/i18n/locale-ca.json
+++ b/www/i18n/locale-ca.json
@@ -128,19 +128,20 @@
     "REPORT_ISSUE": "Informar d'un error",
     "NOT_YOUR_ACCOUNT_QUESTION": "Aquest no és el seu compte <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?",
     "BTN_CHANGE_ACCOUNT": "Desconnecta aquest compte",
-    "CONNECTION_ERROR": "Node <b>{{server}}</b> inabastable o adreça invàlida.<br/><br/>Comprobeu la vostra connexió a Internet, o node Duniter <a class=\"positive\" ng-click=\"doQuickFix('settings')\">a la configuració</a>."
+    "PEER_CONNECTION_ERROR": "Node <b>{{server}}</b> inabastable o adreça invàlida.<br/><br/>Comprobeu la vostra connexió a Internet, o node Duniter <a class=\"positive\" ng-click=\"doQuickFix('settings')\">a la configuració</a>.",
+    "NETWORK_CONNECTION_ERROR": "La xarxa és inaccesible.<br/><br/>Comprova la teva connexió a Internet, o selecciona un node manualment <a class=\"positive\" ng-click=\"doQuickFix('settings')\">a la configuració</a>."
   },
   "SETTINGS": {
     "TITLE": "Configuració",
     "DISPLAY_DIVIDER": "Visualització",
     "STORAGE_DIVIDER": "Emmagatzemament",
     "NETWORK_SETTINGS": "Xarxa",
-    "PEER": "Adreça del node Duniter",
+    "PEER": "Node Duniter",
     "PEER_CHANGED_TEMPORARY": "Adreça usada temporalment",
     "PEER_SELECTED_AUTOMATICALLY": "Node seleccionat automàticament a l'inici",
-    "PEER_TIMEOUT": "Temps d'espera màxim (temps d'espera)",
-    "PEER_TIMEOUT_HELP": "Temps d'espera màxim per obtenir una resposta del node",
-    "PEER_SHORT": "Node Duniter",
+    "NETWORK_ANALYZE_TIMEOUT": "Temps d'espera màxim (temps d'espera)",
+    "NETWORK_ANALYZE_TIMEOUT_HELP": "Temps d'espera màxim per a l'anàlisi de la xarxa",
+    "NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
     "PERSIST_CACHE": "Conserva les dades de navegació (experimental)",
     "PERSIST_CACHE_HELP": "Permet una navegació més ràpida, conservant localment les dades rebudes, per reutilitzar d'una sesió a una altra.",
     "USE_LOCAL_STORAGE": "Activa l'emmagatzemament local",
@@ -309,6 +310,8 @@
       }
     },
     "INFO": {
+      "CONNECTING_TO_NETWORK": "Connectant a la xarxa...",
+      "ANALYZING_NETWORK": "Anàlisi de la xarxa {{currency|abbreviate}}...",
       "ONLY_SSL_PEERS": "La visualización de los nodos sin SSL está deteriorada porque Cesium funciona en modo HTTPS."
     }
   },
diff --git a/www/i18n/locale-de-DE.json b/www/i18n/locale-de-DE.json
index 70c6055525e5705bfaa27a4254e733afefb026bd..f21d2ad9d2e34883c6bf874babea41860ec24c74 100644
--- a/www/i18n/locale-de-DE.json
+++ b/www/i18n/locale-de-DE.json
@@ -135,7 +135,8 @@
     "REPORT_ISSUE": "Ein Problem melden",
     "NOT_YOUR_ACCOUNT_QUESTION" : "Ist dieses Konto <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b> nicht von dir?",
     "BTN_CHANGE_ACCOUNT": "Von diesem Konto abmelden",
-    "CONNECTION_ERROR": "Der Knoten <b>{{server}}</b> ist nicht erreichbar oder die Adresse ist falsch.<br/><br/>Kontrolliere deine Internetverbindung, oder wähle einen anderen Knoten <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in deinen Einstellungen</a>.",
+    "PEER_CONNECTION_ERROR": "Der Knoten <b>{{server}}</b> ist nicht erreichbar oder die Adresse ist falsch.<br/><br/>Kontrolliere deine Internetverbindung, oder wähle einen anderen Knoten <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in deinen Einstellungen</a>.",
+    "NETWORK_CONNECTION_ERROR": "Netzwerk ist nicht erreichbar.<br/><br/>Überprüfen Sie Ihre Internetverbindung, oder wählen Sie einen Knoten manuell <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in den Einstellungen</a> aus.",
     "SHOW_ALL_FEED": "Alles anzeigen",
     "READ_MORE": "Mehr lesen",
     "FEED_SOURCE": "Quelle"
@@ -145,12 +146,12 @@
     "DISPLAY_DIVIDER": "Anzeige",
     "STORAGE_DIVIDER": "Speicher",
     "NETWORK_SETTINGS": "Netzwerk",
-    "PEER": "Duniter Knoten-Adresse",
-    "PEER_SHORT": "Knoten-Adresse",
+    "PEER": "Duniter Knoten",
     "PEER_CHANGED_TEMPORARY": "Knotenadresse wird nur temporär gebraucht",
     "PEER_SELECTED_AUTOMATICALLY": "Knoten wird beim Start automatisch ausgewählt",
-    "PEER_TIMEOUT": "Maximale Wartezeit (Timeout)",
-    "PEER_TIMEOUT_HELP": "Maximale Wartezeit um eine Antwort vom Knoten zu bekommen",
+    "NETWORK_ANALYZE_TIMEOUT": "Maximale Wartezeit (Timeout)",
+    "NETWORK_ANALYZE_TIMEOUT_HELP": "Maximale Wartezeit für die Netzwerkanalyse",
+    "NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
     "PERSIST_CACHE": "Navigationsdaten behalten (experimental)",
     "PERSIST_CACHE_HELP": "Erlaubt schnellere Navigation, durch Zwischenspeicherung der empfangenen Daten, von einer Sitzung zur nächsten.",
     "USE_LOCAL_STORAGE": "Lokales Speichern einschalten",
@@ -325,6 +326,8 @@
       }
     },
     "INFO": {
+      "CONNECTING_TO_NETWORK": "Verbindung zum Netzwerk...",
+      "ANALYZING_NETWORK": "Analyse des {{currency|abbreviate}} Netzwerks...",
       "ONLY_SSL_PEERS": "Die nicht mit SSL gesicherten Knoten haben eine reduzierte Darstellung, weil Cesium im HTTPS Modus funktioniert."
     }
   },
diff --git a/www/i18n/locale-en-GB.json b/www/i18n/locale-en-GB.json
index 37f5ef5f39d8321270a700a10dd537aae6f69a43..4828ae9dd27f17dcaeea8353d4224594df8b5953 100644
--- a/www/i18n/locale-en-GB.json
+++ b/www/i18n/locale-en-GB.json
@@ -131,7 +131,8 @@
     "REPORT_ISSUE": "Report an issue",
     "NOT_YOUR_ACCOUNT_QUESTION" : "You do not own the account <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?",
     "BTN_CHANGE_ACCOUNT": "Disconnect this account",
-    "CONNECTION_ERROR": "Peer <b>{{server}}</b> unreachable or invalid address.<br/><br/>Check your Internet connection, or change node <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
+    "PEER_CONNECTION_ERROR": "Node <b>{{server}}</b> is unreachable or address is invalid.<br/><br/>Check your Internet connection, or change the node <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
+    "NETWORK_CONNECTION_ERROR": "Network is unreachable.<br/><br/>Check your Internet connection, or select a node manually <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
     "SHOW_ALL_FEED": "Show all",
     "READ_MORE": "Read more",
     "FEED_SOURCE": "Source"
@@ -141,12 +142,12 @@
     "DISPLAY_DIVIDER": "Display",
     "STORAGE_DIVIDER": "Storage",
     "NETWORK_SETTINGS": "Network",
-    "PEER": "Duniter peer address",
-    "PEER_SHORT": "Peer address",
+    "PEER": "Duniter peer",
     "PEER_CHANGED_TEMPORARY": "Address used temporarily",
     "PEER_SELECTED_AUTOMATICALLY": "Peer selected automatically at startup",
-    "PEER_TIMEOUT": "Maximum waiting time (timeout)",
-    "PEER_TIMEOUT_HELP": "Maximum waiting time to get a response from the peer",
+    "NETWORK_ANALYZE_TIMEOUT": "Maximum waiting time (timeout)",
+    "NETWORK_ANALYZE_TIMEOUT_HELP": "Maximum waiting time for network analysis",
+    "NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
     "PERSIST_CACHE": "Keep navigation data (experimental)",
     "PERSIST_CACHE_HELP": "Allows faster navigation, locally retaining the data received, for use from one session to another.",
     "USE_LOCAL_STORAGE": "Enable local storage",
@@ -316,6 +317,8 @@
       }
     },
     "INFO": {
+      "CONNECTING_TO_NETWORK": "Connecting to the network...",
+      "ANALYZING_NETWORK": "Analyzing the {{currency|abbreviate}} network...",
       "ONLY_SSL_PEERS": "Non-SSL nodes have a degraded display because Cesium works in HTTPS mode."
     }
   },
diff --git a/www/i18n/locale-en.json b/www/i18n/locale-en.json
index b9927cd8beb036f62ca9e6def1fbf0602dab0e66..f90658a63bc48d6065a89f392398e335850bce1a 100644
--- a/www/i18n/locale-en.json
+++ b/www/i18n/locale-en.json
@@ -131,7 +131,8 @@
     "REPORT_ISSUE": "Report an issue",
     "NOT_YOUR_ACCOUNT_QUESTION" : "You do not own the account <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?",
     "BTN_CHANGE_ACCOUNT": "Disconnect this account",
-    "CONNECTION_ERROR": "Peer <b>{{server}}</b> unreachable or invalid address.<br/><br/>Check your Internet connection, or change node <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
+    "PEER_CONNECTION_ERROR": "Node <b>{{server}}</b> is unreachable or address is invalid.<br/><br/>Check your Internet connection, or change the node <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
+    "NETWORK_CONNECTION_ERROR": "Network is unreachable.<br/><br/>Check your Internet connection, or select a node manually <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in the settings</a>.",
     "SHOW_ALL_FEED": "Show all",
     "READ_MORE": "Read more",
     "FEED_SOURCE": "Source"
@@ -141,12 +142,12 @@
     "DISPLAY_DIVIDER": "Display",
     "STORAGE_DIVIDER": "Storage",
     "NETWORK_SETTINGS": "Network",
-    "PEER": "Duniter peer address",
-    "PEER_SHORT": "Peer address",
+    "PEER": "Duniter peer",
     "PEER_CHANGED_TEMPORARY": "Address used temporarily",
     "PEER_SELECTED_AUTOMATICALLY": "Peer selected automatically at startup",
-    "PEER_TIMEOUT": "Maximum waiting time (timeout)",
-    "PEER_TIMEOUT_HELP": "Maximum waiting time to get a response from the node",
+    "NETWORK_ANALYZE_TIMEOUT": "Maximum waiting time (timeout)",
+    "NETWORK_ANALYZE_TIMEOUT_HELP": "Maximum waiting time for network analysis",
+    "NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
     "PERSIST_CACHE": "Keep navigation data (experimental)",
     "PERSIST_CACHE_HELP": "Allows faster navigation, locally retaining the data received, for use from one session to another.",
     "USE_LOCAL_STORAGE": "Enable local storage",
@@ -316,6 +317,8 @@
       }
     },
     "INFO": {
+      "CONNECTING_TO_NETWORK": "Connecting to the network...",
+      "ANALYZING_NETWORK": "Analyzing the {{currency|abbreviate}} network...",
       "ONLY_SSL_PEERS": "Non-SSL nodes have a degraded display because Cesium works in HTTPS mode."
     }
   },
diff --git a/www/i18n/locale-eo-EO.json b/www/i18n/locale-eo-EO.json
index 8dd7493eedf993391204e5e7357e13fd3bde9880..59f801e2a5e3279ac71ef57ec7b0a6998d2095c7 100644
--- a/www/i18n/locale-eo-EO.json
+++ b/www/i18n/locale-eo-EO.json
@@ -131,7 +131,8 @@
     "REPORT_ISSUE": "fuŝaĵo",
     "NOT_YOUR_ACCOUNT_QUESTION" : "Vi ne posedas la konton <b class=\"ion-key\"> {{pubkey|formatPubkey}}</b>&nbsp;?",
     "BTN_CHANGE_ACCOUNT": "Malkonektu tiun ĉi konton",
-    "CONNECTION_ERROR": "Nodo <b>{{server}}</b> neatingebla aŭ adreso nevalida.<br/><br/>Kontrolu vian retkonekton, aŭ elektu alian nodon <a class=\"positive\" ng-click=\"doQuickFix('settings')\">ĉe la parametroj</a>.",
+    "PEER_CONNECTION_ERROR": "Nodo <b>{{server}}</b> neatingebla aŭ adreso nevalida.<br/><br/>Kontrolu vian retkonekton, aŭ elektu alian nodon <a class=\"positive\" ng-click=\"doQuickFix('settings')\">ĉe la parametroj</a>.",
+    "NETWORK_CONNECTION_ERROR": "Reto neatingeblas.<br/><br/>Kontrolu vian interreta konekto, aÅ­ selektu nodon permane <a class=\"positive\" ng-click=\"doQuickFix('settings')\">en la agordoj</a>.",
     "SHOW_ALL_FEED": "Vidi ĉion",
     "READ_MORE": "Legi la sekvon",
     "FEED_SOURCE": "Fonto"
@@ -141,12 +142,12 @@
     "DISPLAY_DIVIDER": "Afiŝado",
     "STORAGE_DIVIDER": "Stokado",
     "NETWORK_SETTINGS": "Reto",
-    "PEER": "Adreso de la nodo Duniter",
-    "PEER_SHORT": "Adreso de la nodo",
+    "PEER": "Nodo Duniter",
     "PEER_CHANGED_TEMPORARY": "Adreso provizore uzata",
     "PEER_SELECTED_AUTOMATICALLY": "Nodo aŭtomate elektita ĉe starto",
-    "PEER_TIMEOUT": "Maksimuma atendotempo (eltempigo)",
-    "PEER_TIMEOUT_HELP": "Maksimuma atendotempo por ricevi respondon de la nodo",
+    "NETWORK_ANALYZE_TIMEOUT": "Maksimuma atendotempo (eltempigo)",
+    "NETWORK_ANALYZE_TIMEOUT_HELP": "Maksimuma atendotempo por reto analizo",
+    "NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
     "PERSIST_CACHE": "Konservi la datenojn pri retumado (provaĵo)",
     "PERSIST_CACHE_HELP": "Ebligas pli rapidan retumadon, loke konservante la ricevitajn datenojn, por uzi ilin de seanco al alia.",
     "USE_LOCAL_STORAGE": "Aktivigi lokan stokadon",
@@ -315,6 +316,8 @@
       }
     },
     "INFO": {
+      "CONNECTING_TO_NETWORK": "Konektiĝo al la reto...",
+      "ANALYZING_NETWORK": "Analizo de la {{currency|abbreviate}} reto...",
       "ONLY_SSL_PEERS": "La nodoj ne-SSL estas mis-afiŝitaj, ĉar Cesium funkcias laŭ moduso HTTPS."
     }
   },
diff --git a/www/i18n/locale-es-ES.json b/www/i18n/locale-es-ES.json
index 85058a488d2caab6509b360796504b02c7db61e5..3e1f79846355d96bb4abb0d4c22b098a35fec97e 100644
--- a/www/i18n/locale-es-ES.json
+++ b/www/i18n/locale-es-ES.json
@@ -128,19 +128,20 @@
     "REPORT_ISSUE": "Reportar anomalía",
     "NOT_YOUR_ACCOUNT_QUESTION": "¿No es suya la cuenta <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?",
     "BTN_CHANGE_ACCOUNT": "Desconectar esta cuenta",
-    "CONNECTION_ERROR": "Nodo <b>{{server}}</b> inalcanzable o dirección inválida.<br/><br/>Compruebe su conexión a Internet, o nodo Duniter <a class=\"positive\" ng-click=\"doQuickFix('settings')\">en los ajustes</a>."
+    "PEER_CONNECTION_ERROR": "Nodo <b>{{server}}</b> inalcanzable o dirección inválida.<br/><br/>Compruebe su conexión a Internet, o nodo Duniter <a class=\"positive\" ng-click=\"doQuickFix('settings')\">en los ajustes</a>.",
+    "NETWORK_CONNECTION_ERROR": "No se puede alcanzar la red.<br/><br/>Comprueba tu conexión a Internet, o selecciona un nodo manualmente <a class=\"positive\" ng-click=\"doQuickFix('settings')\">en los ajustes</a>."
   },
   "SETTINGS": {
     "TITLE": "Ajustes",
     "DISPLAY_DIVIDER": "Visualización",
     "STORAGE_DIVIDER": "Almacenamiento",
     "NETWORK_SETTINGS": "Red",
-    "PEER": "Dirección del nodo Duniter",
+    "PEER": "Nodo Duniter",
     "PEER_CHANGED_TEMPORARY": "Dirección utilizada temporalmente",
     "PEER_SELECTED_AUTOMATICALLY": "Nodo seleccionado automáticamente al inicio",
-    "PEER_TIMEOUT": "Tiempo de espera máximo (timeout)",
-    "PEER_TIMEOUT_HELP": "Tiempo de espera máximo para obtener una respuesta del nodo",
-    "PEER_SHORT": "Nodo Duniter",
+    "NETWORK_ANALYZE_TIMEOUT": "Temps d'espera màxim (timeout)",
+    "NETWORK_ANALYZE_TIMEOUT_HELP": "Tiempo de espera máximo para el análisis de la red",
+    "NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
     "PERSIST_CACHE": "Conservar los datos de navegación (experimental)",
     "PERSIST_CACHE_HELP": "Permite una navegación más rápida, conservando localmente los datos recibidos, para usar de una sesión a otra.",
     "USE_LOCAL_STORAGE": "Activar el almacenamiento local",
@@ -309,6 +310,8 @@
       }
     },
     "INFO": {
+      "CONNECTING_TO_NETWORK": "Conectando a la red...",
+      "ANALYZING_NETWORK": "Analizando la red {{currency|abbreviate}}...",
       "ONLY_SSL_PEERS": "La visualización de los nodos sin SSL está deteriorada porque Cesium funciona en modo HTTPS."
     }
   },
diff --git a/www/i18n/locale-fr-FR.json b/www/i18n/locale-fr-FR.json
index bf6606cb7a3d8977678921fc8f4d0036fcc5ea0c..631ac79f618c94a3be9623a486f2048a178b8607 100644
--- a/www/i18n/locale-fr-FR.json
+++ b/www/i18n/locale-fr-FR.json
@@ -131,7 +131,8 @@
     "REPORT_ISSUE": "anomalie",
     "NOT_YOUR_ACCOUNT_QUESTION" : "Vous n'êtes pas propriétaire du compte <b class=\"ion-key\"> {{pubkey|formatPubkey}}</b>&nbsp;?",
     "BTN_CHANGE_ACCOUNT": "Déconnecter ce compte",
-    "CONNECTION_ERROR": "Nœud <b>{{server}}</b> injoignable ou adresse invalide.<br/><br/>Vérifiez votre connexion Internet, ou changer de nœud <a class=\"positive\" ng-click=\"doQuickFix('settings')\">dans les paramètres</a>.",
+    "PEER_CONNECTION_ERROR": "Nœud <b>{{server}}</b> injoignable ou adresse invalide.<br/><br/>Vérifiez votre connexion Internet, ou changer de nœud <a class=\"positive\" ng-click=\"doQuickFix('settings')\">dans les paramètres</a>.",
+    "NETWORK_CONNECTION_ERROR": "Réseau injoignable.<br/><br/>Vérifiez votre connexion Internet, ou sélectionnez un nœud manuellement <a class=\"positive\" ng-click=\"doQuickFix('settings')\">dans les paramètres</a>.",
     "SHOW_ALL_FEED": "Voir tout",
     "READ_MORE": "Lire la suite",
     "FEED_SOURCE": "Source"
@@ -142,11 +143,11 @@
     "STORAGE_DIVIDER": "Stockage",
     "NETWORK_SETTINGS": "Réseau",
     "PEER": "NÅ“ud Duniter",
-    "PEER_SHORT": "NÅ“ud Duniter",
     "PEER_CHANGED_TEMPORARY": "Adresse utilisée temporairement",
     "PEER_SELECTED_AUTOMATICALLY": "Sélection automatiquement du nœud au démarrage",
-    "PEER_TIMEOUT": "Délai d'attente maximal (timeout)",
-    "PEER_TIMEOUT_HELP": "Délai d'attente maximal pour obtenir la réponse du nœud",
+    "NETWORK_ANALYZE_TIMEOUT": "Délai d'attente maximal (timeout)",
+    "NETWORK_ANALYZE_TIMEOUT_HELP": "Délai d'attente maximal pour l'analyse du réseau",
+    "NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
     "PERSIST_CACHE": "Conserver les données de navigation (expérimental)",
     "PERSIST_CACHE_HELP": "Permet une navigation plus rapide, en conservant localement les données reçues, pour les utiliser d'une session à l'autre.",
     "USE_LOCAL_STORAGE": "Activer le stockage local",
@@ -315,8 +316,8 @@
       }
     },
     "INFO": {
-      "CONNECTING_TO_PEER": "Connexion au nœud réseau...",
-      "CHECKING_NETWORK_STATE": "Calcul de l'état du réseau {{currency|abbreviate}}...",
+      "CONNECTING_TO_NETWORK": "Connexion au réseau...",
+      "ANALYZING_NETWORK": "Analyse du réseau {{currency|abbreviate}}...",
       "ONLY_SSL_PEERS": "Les nœuds non SSL ont un affichage dégradé, car Cesium fonctionne en mode HTTPS."
     }
   },
@@ -533,7 +534,7 @@
       "SELECT_ACCOUNT_TYPE": "Choisissez le type de compte à créer :",
       "MEMBER_ACCOUNT": "Compte membre",
       "MEMBER_ACCOUNT_TITLE": "Création d'un compte membre",
-      "MEMBER_ACCOUNT_HELP": "Vous connaissez suffisamment la monnaie libre et vous voulez participer à sa création ?<br/>En tant qu'individu, vous pouvez créer votre compte membre (un seul par individu). Celui-ci fonctionne comme un compte simple portefeuille, mais permet en plus de co-produire la monnaie, en <b>recevant chaque {{parameters.dt|formatPeriod}} un dividende universel</b> : à vous ensuite d'en faire bon usage !",
+      "MEMBER_ACCOUNT_HELP": "Vous connaissez suffisamment la monnaie libre et vous voulez participer à sa co-création ?<br/>En tant qu'individu, vous pouvez créer votre compte membre (un seul par individu). Celui-ci fonctionne comme un compte simple portefeuille, mais permet en plus de co-produire la monnaie, en <b>recevant chaque {{parameters.dt|formatPeriod}} un dividende universel</b> : à vous ensuite d'en faire bon usage !",
       "WALLET_ACCOUNT": "Compte simple portefeuille",
       "WALLET_ACCOUNT_TITLE": "Création d'un portefeuille",
       "WALLET_ACCOUNT_HELP": "Vous <b>découvrez la monnaie libre</b> ? Vous avez besoin d'un compte supplémentaire ?<br/>Ce type de compte vous conviendra. Bien qu'il ne co-produise la monnaie (contrairement à un compte membre - voir ci-dessous), vous pourrez y recevoir et envoyer des paiements, dès la fin de l'inscription.<br/>Si besoin, vous pourrez le transformer en compte membre ultérieurement.",
diff --git a/www/i18n/locale-it-IT.json b/www/i18n/locale-it-IT.json
index 3415e5e1bfc1dd2c80b5b547b3f6d440433cd246..c75e106232bdc7e9b81646a8eb6e085d010e0ae9 100644
--- a/www/i18n/locale-it-IT.json
+++ b/www/i18n/locale-it-IT.json
@@ -131,7 +131,8 @@
     "REPORT_ISSUE": "Segnalare un bug",
     "NOT_YOUR_ACCOUNT_QUESTION" : "Non sei proprietario del conto <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?",
     "BTN_CHANGE_ACCOUNT": "Disconettere questo conto",
-    "CONNECTION_ERROR": "Nodo <b>{{server}}</b> irraggiungibile o indirizzo non valido. <br/><br/> Verifica la tua connessione o cambia nodo. <a class=\"positive\" ng-click=\"doQuickFix('settings')\">nelle impostazioni. </a>.",
+    "PEER_CONNECTION_ERROR": "Nodo <b>{{server}}</b> irraggiungibile o indirizzo non valido. <br/><br/> Verifica la tua connessione o cambia nodo. <a class=\"positive\" ng-click=\"doQuickFix('settings')\">nelle impostazioni</a>.",
+    "NETWORK_CONNECTION_ERROR": "Rete non raggiungibile.<br/><br/>Controlla la tua connessione Internet, o seleziona un nodo manualmente <a class=\"positive\" ng-click=\"doQuickFix('settings')\">nelle impostazioni</a>.",
     "SHOW_ALL_FEED": "Mostra tutto",
     "READ_MORE": "Leggi di più",
     "FEED_SOURCE": "Fonte"
@@ -141,12 +142,12 @@
     "DISPLAY_DIVIDER": "Schermo",
     "STORAGE_DIVIDER": "Memoria",
     "NETWORK_SETTINGS": "Rete",
-    "PEER": "Indirizzo nodo Duniter",
-    "PEER_SHORT": "Indirizzo nodo",
+    "PEER": "Nodo Duniter",
     "PEER_CHANGED_TEMPORARY": "Indirizzo usato temporaneamente",
     "PEER_SELECTED_AUTOMATICALLY": "Nodo selezionato automaticamente all'avvio",
-    "PEER_TIMEOUT": "Tempo di attesa massimo (timeout)",
-    "PEER_TIMEOUT_HELP": "Tempo di attesa massimo per ottenere una risposta dal nodo",
+    "NETWORK_ANALYZE_TIMEOUT": "Tempo di attesa massimo (timeout)",
+    "NETWORK_ANALYZE_TIMEOUT_HELP": "Tempo di attesa massimo per l'analisi della rete",
+    "NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
     "PERSIST_CACHE": "Mantenere i dati di navigazione (sperimentale)",
     "PERSIST_CACHE_HELP": "per la fruizione da una sessione all'altra., Consente una navigazione più veloce, conservando localmente i dati ricevuti, per un utilizzo da una sessione all'altra.",
     "USE_LOCAL_STORAGE": "Permetti salvataggio locale",
@@ -316,6 +317,8 @@
       }
     },
     "INFO": {
+      "CONNECTING_TO_NETWORK": "Connessione alla rete...",
+      "ANALYZING_NETWORK": "Analisi della rete {{currency|abbreviate}}...",
       "ONLY_SSL_PEERS": "I nodi non-SSL hanno un display semplificato perche Cesium funziona in modalità HTTPS."
     }
   },
diff --git a/www/i18n/locale-nl-NL.json b/www/i18n/locale-nl-NL.json
index ecb87d93860b0a751ed09fd5926f714a5e6a9bff..f6dd50d4207040ba847b64061cfbeebdd8188c5d 100644
--- a/www/i18n/locale-nl-NL.json
+++ b/www/i18n/locale-nl-NL.json
@@ -114,16 +114,18 @@
     "REPORT_ISSUE": "Meld een probleem",
     "NOT_YOUR_ACCOUNT_QUESTION" : "Is rekening <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b> niet van jou?",
     "BTN_CHANGE_ACCOUNT": "Dze rekening ontkoppelen",
-    "CONNECTION_ERROR": "Node <b>{{server}}</b> onbereikbaar of ongeldig adres.<br/><br/>Controleer de internetverbinding, of schakel knooppunt <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in parameters</a>."
+    "CONNECTION_ERROR": "Node <b>{{server}}</b> onbereikbaar of ongeldig adres.<br/><br/>Controleer de internetverbinding, of schakel knooppunt <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in de instellingen</a>.",
+    "NETWORK_CONNECTION_ERROR": "Netwerk is niet bereikbaar.<br/><br/>Controleer uw internetverbinding, of selecteer een node handmatig <a class=\"positive\" ng-click=\"doQuickFix('settings')\">in de instellingen</a>."
   },
   "SETTINGS": {
     "TITLE": "Instellingen",
     "NETWORK_SETTINGS": "Netwerk",
-    "PEER": "Duniter knooppunt adres",
+    "PEER": "Duniter knooppunt",
     "PEER_CHANGED_TEMPORARY": "Adres tijdelijk worden gebruikt",
     "PEER_SELECTED_AUTOMATICALLY": "Node automatisch geselecteerd bij opstarten",
-    "PEER_TIMEOUT": "Maximale wachttijd (time-out)",
-    "PEER_TIMEOUT_HELP": "Maximale wachttijd om een reactie van de node te krijgen",
+    "NETWORK_ANALYZE_TIMEOUT": "Maximale wachttijd (time-out)",
+    "NETWORK_ANALYZE_TIMEOUT_HELP": "Maximale wachttijd voor netwerkanalyse",
+    "NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
     "USE_LOCAL_STORAGE": "Lokale opslag inschakelen",
     "USE_LOCAL_STORAGE_HELP": "Laat je instellingen opslaan",
     "ENABLE_HELPTIP": "Contextgebonden hulp inschakelen",
@@ -239,6 +241,8 @@
       }
     },
     "INFO": {
+      "CONNECTING_TO_NETWORK": "Verbinden met het netwerk...",
+      "ANALYZING_NETWORK": "Analyseren van het {{currency|abbreviate}} netwerk...",
       "ONLY_SSL_PEERS": "Les noeuds non SSL ont un affichage dégradé, car Cesium fonctionne en mode HTTPS."
     }
   },
diff --git a/www/i18n/locale-pt-PT.json b/www/i18n/locale-pt-PT.json
index 7d1d51d957eb6f9c6752bfb83af43c0a2586d537..66f2f4d00754fcf419b35d2f9915c88af842272d 100644
--- a/www/i18n/locale-pt-PT.json
+++ b/www/i18n/locale-pt-PT.json
@@ -128,19 +128,20 @@
     "REPORT_ISSUE": "Reportar anomalia",
     "NOT_YOUR_ACCOUNT_QUESTION": "Esta conta não é sua <b><i class=\"ion-key\"></i> {{pubkey|formatPubkey}}</b>?",
     "BTN_CHANGE_ACCOUNT": "Sair desta conta",
-    "CONNECTION_ERROR": "Nó <b>{{server}}</b> indisponível ou endereço inválido.<br/><br/>Teste a sua ligação à Internet, ou nó Duniter <a class=\"positive\" ng-click=\"doQuickFix('settings')\">nas definições</a>."
+    "PEER_CONNECTION_ERROR": "Nó <b>{{server}}</b> indisponível ou endereço inválido.<br/><br/>Teste a sua ligação à Internet, ou nó Duniter <a class=\"positive\" ng-click=\"doQuickFix('settings')\">nas definições</a>.",
+    "NETWORK_CONNECTION_ERROR": "Rede inacessível.<br/><br/>Verifique a sua ligação à Internet, ou selecione um nó manualmente <a class=\"positive\" ng-click=\"doQuickFix('settings')\">nas definições</a>."
   },
   "SETTINGS": {
     "TITLE": "Definições",
     "DISPLAY_DIVIDER": "Visualização",
     "STORAGE_DIVIDER": "Armazenamento",
     "NETWORK_SETTINGS": "Rede",
-    "PEER": "Endereço do nó Duniter",
+    "PEER": "Nó Duniter",
     "PEER_CHANGED_TEMPORARY": "Endereço utilizado temporariamente",
     "PEER_SELECTED_AUTOMATICALLY": "Nó selecionado automaticamente na inicialização",
-    "PEER_TIMEOUT": "Tempo máximo de espera (timeout)",
-    "PEER_TIMEOUT_HELP": "Tempo máximo de espera para obter uma resposta do nó",
-    "PEER_SHORT": "Nó Duniter",
+    "NETWORK_ANALYZE_TIMEOUT": "Tempo máximo de espera (timeout)",
+    "NETWORK_ANALYZE_TIMEOUT_HELP": "Tempo máximo de espera para a análise de rede",
+    "NETWORK_ANALYZE_TIMEOUT_AUTO": "Auto",
     "PERSIST_CACHE": "Conservar os dados de navegação (experimental)",
     "PERSIST_CACHE_HELP": "Permite uma navegação mais rápida, manter localmente os dados recebidos, para usar entre sessões.",
     "USE_LOCAL_STORAGE": "Ativar o armazenamento local",
@@ -309,6 +310,8 @@
       }
     },
     "INFO": {
+      "CONNECTING_TO_NETWORK": "A conectar à rede...",
+      "ANALYZING_NETWORK": "A analisar a rede {{currency|abbreviate}}...",
       "ONLY_SSL_PEERS": "A visualização de nós sem SSL está deteriorada porque Cesium funciona em modo HTTPS."
     }
   },
diff --git a/www/js/controllers/home-controllers.js b/www/js/controllers/home-controllers.js
index 389e8e6da68081c3164f72f46e6c1da9d9351228..77326e56446041b5bfa42e7202cb932e8b47d284 100644
--- a/www/js/controllers/home-controllers.js
+++ b/www/js/controllers/home-controllers.js
@@ -25,7 +25,7 @@ angular.module('cesium.home.controllers', ['cesium.platform', 'cesium.services']
 ;
 
 function HomeController($scope, $state, $timeout, $ionicHistory, $translate, $http, $q, $location,
-                        UIUtils, BMA, csConfig, csCache, csPlatform, csCurrency, csSettings) {
+                        UIUtils, BMA, Device, csConfig, csCache, csPlatform, csCurrency, csSettings) {
   'ngInject';
 
   $scope.loading = true;
@@ -57,7 +57,6 @@ function HomeController($scope, $state, $timeout, $ionicHistory, $translate, $ht
     }
     else {
 
-
       // Wait platform to be ready
       csPlatform.ready()
         .then(function() {
@@ -196,12 +195,26 @@ function HomeController($scope, $state, $timeout, $ionicHistory, $translate, $ht
     }
   };
 
-
   // Listen platform messages
   csPlatform.api.start.on.message($scope, function(message) {
     $scope.loadingMessage = message;
   });
 
+  // Listen network offline/online
+  Device.api.network.on.offline($scope, function() {
+    csPlatform.stop();
+    $scope.loadingMessage = '';
+    $scope.loading = false;
+    $scope.node =  csCurrency.data.node;
+    $scope.error = true;
+  });
+  Device.api.network.on.online($scope, function() {
+    if (!$scope.loading && $scope.error) {
+      delete $scope.error;
+      $scope.reload();
+    }
+  });
+
   // For DEV ONLY
   /*$timeout(function() {
    $scope.loginAndGo();
diff --git a/www/js/controllers/settings-controllers.js b/www/js/controllers/settings-controllers.js
index 6606308bec0878b5ca0e8ba853fd44bd80e462c2..37173985f11a1078315aeb3d3d77e5644e178b0f 100644
--- a/www/js/controllers/settings-controllers.js
+++ b/www/js/controllers/settings-controllers.js
@@ -36,13 +36,14 @@ function SettingsController($scope, $q, $window, $ionicHistory, $ionicPopup, $ti
   };
   // Fill timeout
   $scope.timeouts = [
-    500,
-    1000,
-    5000,
-    10000,
-    30000,
-    60000,
-    300000
+    {label: 'SETTINGS.NETWORK_ANALYZE_TIMEOUT_AUTO', value: -1},
+    {value: 500},
+    {value: 1000},
+    {value: 5000},
+    {value: 10000},
+    {value: 30000},
+    {value: 60000},
+    {value: 300000}
   ];
   $scope.keepAuthIdleLabels = {
     /*0: {
@@ -183,6 +184,13 @@ function SettingsController($scope, $q, $window, $ionicHistory, $ionicPopup, $ti
     $translate.use(langKey);
   };
 
+  $scope.changeExpertMode = function(expertMode) {
+    // Restart platform, to auto select node
+    if (!expertMode) {
+      csPlatform.restart();
+    }
+  };
+
   // Change node
   $scope.changeNode = function(node, confirm) {
 
diff --git a/www/js/platform.js b/www/js/platform.js
index a15b0965d008ea19431df340f03cbcafad1e1586..419308e2c5ff6313ed561c7621050539f293f4a4 100644
--- a/www/js/platform.js
+++ b/www/js/platform.js
@@ -151,9 +151,9 @@ angular.module('cesium.platform', ['ngIdle', 'cesium.config', 'cesium.services']
       checkBmaNodeAliveCounter++;
       if (checkBmaNodeAliveCounter > 3)  throw 'ERROR.CHECK_NETWORK_CONNECTION'; // Avoid infinite loop
 
-      api.start.raise.message('NETWORK.INFO.CONNECTING_TO_PEER');
+      api.start.raise.message('NETWORK.INFO.CONNECTING_TO_NETWORK');
 
-      var timeout = csSettings.data.expertMode ? csSettings.data.timeout : Device.network.timeout(csConfig.timeout);
+      var timeout = csSettings.data.expertMode && csSettings.data.timeout > 0 ? csSettings.data.timeout : Device.network.timeout();
       return BMA.filterAliveNodes(csSettings.data.fallbackNodes, timeout)
         .then(function (fallbackNodes) {
           if (!fallbackNodes.length) throw 'ERROR.CHECK_NETWORK_CONNECTION';
@@ -194,7 +194,7 @@ angular.module('cesium.platform', ['ngIdle', 'cesium.config', 'cesium.services']
       var now = Date.now();
 
       console.info("[platform] Checking if node is synchronized...");
-      api.start.raise.message('NETWORK.INFO.CHECKING_NETWORK_STATE');
+      api.start.raise.message('NETWORK.INFO.ANALYZING_NETWORK');
 
       var askUserConfirmation = csSettings.data.expertMode;
 
diff --git a/www/js/services/device-services.js b/www/js/services/device-services.js
index 14a5fe84af9eed8dca2f89d3c18dd29119df44ff..505d3408284fe58cf36f712b8d7f91c996845bdd 100644
--- a/www/js/services/device-services.js
+++ b/www/js/services/device-services.js
@@ -21,7 +21,12 @@ angular.module('cesium.device.services', ['cesium.utils.services', 'cesium.setti
         },
         cache = {},
         started = false,
-        startPromise;
+        startPromise,
+        listeners = {
+          online: undefined,
+          offline: undefined
+        }
+      ;
 
       // removeIf(device)
       // workaround to quickly no is device or not (even before the ready() event)
@@ -189,17 +194,20 @@ angular.module('cesium.device.services', ['cesium.utils.services', 'cesium.setti
                 timeout = 1000; // 1 s
                 break;
               case 'wifi':
-                timeout = 5000; // 5 s
+                timeout = 2000;
                 break;
               case 'cell': // (e.g. iOS)
+              case 'cell_5g':
+                timeout = 3000;
+                break;
               case 'cell_4g':
-                timeout = 10000; // 10s for 4G
+                timeout = 5000;
                 break;
-              case 'cell_2g': // Added cell_2g case
-                timeout = 60000; // 60s for 2G
+              case 'cell_3g':
+                timeout = 10000; // 10s
                 break;
-              case 'cell_3g': // Added cell_3g case
-                timeout = 30000; // 30s for 2G
+              case 'cell_2g':
+                timeout = 40000; // 40s
                 break;
               case 'none':
                 timeout = 0;
@@ -351,11 +359,11 @@ angular.module('cesium.device.services', ['cesium.utils.services', 'cesium.setti
       exports.start = function() {
 
         startPromise = ionicReady()
-          .then(function(){
+          .then(function() {
 
-            exports.enable = window.cordova && cordova && cordova.plugins;
+            exports.enable = window.cordova && cordova && !!cordova.plugins || false;
 
-            if (exports.enable){
+            if (exports.enable) {
               exports.camera.enable = !!navigator.camera;
               exports.keyboard.enable = cordova && cordova.plugins && !!cordova.plugins.Keyboard;
               exports.barcode.enable = cordova && cordova.plugins && !!cordova.plugins.barcodeScanner && (!exports.isOSX() || exports.isIOS());
@@ -375,6 +383,18 @@ angular.module('cesium.device.services', ['cesium.utils.services', 'cesium.setti
                 console.debug('[device] Enabling InAppBrowser');
                 window.open = cordova.InAppBrowser.open;
               }
+
+              // Add network listeners
+              if (exports.network.enable) {
+                document.addEventListener("offline", function() {
+                  console.info('[device] Network is offline');
+                  api.network.raise.offline();
+                }, false);
+                document.addEventListener("online", function() {
+                  console.info('[device] Network is online');
+                  api.network.raise.online();
+                }, false);
+              }
             }
             else {
               console.debug('[device] Ionic platform ready - no device detected.');
@@ -388,6 +408,8 @@ angular.module('cesium.device.services', ['cesium.utils.services', 'cesium.setti
       };
 
       api.registerEvent('intent', 'new');
+      api.registerEvent('network', 'offline');
+      api.registerEvent('network', 'online');
 
       // Export the event api (see ngApi)
       exports.api = api;
diff --git a/www/js/services/settings-services.js b/www/js/services/settings-services.js
index b55a314234e1e8d3648a17b851717c0e27bb54b0..4e1c140373f7fbd0fcfc58d3685105f8eb413fd7 100644
--- a/www/js/services/settings-services.js
+++ b/www/js/services/settings-services.js
@@ -70,7 +70,7 @@ angular.module('cesium.settings.services', ['ngApi', 'cesium.config'])
     httpsMode: false
   },
   defaultSettings = angular.merge({
-    timeout : undefined, // Default will be set by csConfig.timeout
+    timeout : -1, // -1 = auto
     useRelative: false,
     useLocalStorage: !!$window.localStorage, // override to false if no device
     useLocalStorageEncryption: false,
diff --git a/www/templates/home/home.html b/www/templates/home/home.html
index 73765b5c5528d2821b8e668a59f1f0678d658216..fa7dcf0170685ff4955a675567a0c573276f09a6 100644
--- a/www/templates/home/home.html
+++ b/www/templates/home/home.html
@@ -46,7 +46,8 @@
         <div class="center padding animate-fade-in animate-show-hide ng-hide" ng-show="!loading && error">
           <div class="card card-item padding">
             <p class="item-content item-text-wrap">
-                <span class="dark" trust-as-html="'HOME.CONNECTION_ERROR'|translate:node"></span>
+              <span class="dark" ng-if="$root.settings.expertMode" trust-as-html="'HOME.PEER_CONNECTION_ERROR'|translate:node"></span>
+              <span class="dark" ng-if="!$root.settings.expertMode" trust-as-html="'HOME.NETWORK_CONNECTION_ERROR'|translate"></span>
             </p>
 
             <!-- Retry -->
diff --git a/www/templates/settings/settings.html b/www/templates/settings/settings.html
index ebf3e9014d76f87827eb4e8f9e3c377438df9b3f..8edb5e3405b7bfc960b05d907e673b08402c209b 100644
--- a/www/templates/settings/settings.html
+++ b/www/templates/settings/settings.html
@@ -207,13 +207,25 @@
           <div class="input-label" ng-bind-html="'SETTINGS.EXPERT_MODE' | translate"></div>
           <h4 class="gray" ng-bind-html="'SETTINGS.EXPERT_MODE_HELP' | translate"></h4>
           <label class="toggle toggle-royal">
-            <input type="checkbox" ng-model="formData.expertMode" >
+            <input type="checkbox" ng-model="formData.expertMode" ng-change="changeExpertMode(formData.expertMode)" >
             <div class="track">
               <div class="handle"></div>
             </div>
           </label>
         </div>
 
+        <!-- Duniter node -->
+        <!--<div class="item item-text-wrap item-toggle dark">
+          <div class="input-label" ng-bind-html="'SETTINGS.EXPERT_MODE' | translate"></div>
+          <h4 class="gray" ng-bind-html="'SETTINGS.EXPERT_MODE_HELP' | translate"></h4>
+          <label class="toggle toggle-royal">
+            <input type="checkbox" ng-model="formData.expertMode" >
+            <div class="track">
+              <div class="handle"></div>
+            </div>
+          </label>
+        </div>-->
+
         <!-- Duniter node -->
         <div class="item ink item-text-wrap item-icon-right" ng-click="changeNode()">
           <div class="input-label" ng-class="{'gray': !formData.expertMode}" translate>SETTINGS.PEER</div>
@@ -252,30 +264,16 @@
 
           <i class="icon ion-ios-arrow-right" ng-if="formData.expertMode"></i>
         </div>
-<!--        <ion-item class="ink item-icon-right visible-xs visible-sm" ng-click="changeNode()">-->
-<!--          <div class="input-label hidden-xs" translate>SETTINGS.PEER</div>-->
-<!--          <div class="input-label visible-xs" translate>SETTINGS.PEER_SHORT</div>-->
-
-<!--          &lt;!&ndash; node temporary changed &ndash;&gt;-->
-<!--          <ng-if ng-if="formData.node.temporary">-->
-<!--            <h4 class="gray text-wrap assertive" >-->
-<!--              <span class="ion-alert-circled"></span>-->
-<!--              <span ng-bind-html="'SETTINGS.PEER_CHANGED_TEMPORARY' | translate "></span>-->
-<!--            </h4>-->
-<!--            <div class="badge badge-assertive">{{bma.server}}</div>-->
-<!--          </ng-if>-->
-<!--          <div class="badge badge-balanced" ng-if="!formData.node.temporary">{{bma.server}}</div>-->
-<!--          <i class="icon ion-ios-arrow-right" ng-if="formData.expertMode"></i>-->
-<!--        </ion-item>-->
 
+        <!-- Network scan timeout -->
         <label class="item item-select item-text-wrap" ng-if="formData.expertMode">
           <div class="input-label" style="max-width: 70%;">
-            <span translate>SETTINGS.PEER_TIMEOUT</span>
+            <span translate>SETTINGS.NETWORK_ANALYZE_TIMEOUT</span>
           </div>
-          <h4 class="gray text-wrap hidden-xs" ng-bind-html="'SETTINGS.PEER_TIMEOUT_HELP' | translate"></h4>
+          <h4 class="gray text-wrap hidden-xs" ng-bind-html="'SETTINGS.NETWORK_ANALYZE_TIMEOUT_HELP' | translate"></h4>
 
           <select ng-model="formData.timeout"
-                  ng-options="t as (t|formatDurationMs) for t in timeouts track by t">
+                  ng-options="t as ((t.label|translate) || (t.value|formatDurationMs)) for t in timeouts track by t.value">
           </select>
         </label>