Bob Mottram 9 лет назад
Родитель
Сommit
e67e250bab
4 измененных файлов: 209 добавлений и 104 удалений
  1. 36
    0
      locale/de/freedombone.json
  2. 36
    0
      locale/es/freedombone.json
  3. 36
    0
      locale/fr/freedombone.json
  4. 101
    104
      src/freedombone

+ 36
- 0
locale/de/freedombone.json Просмотреть файл

@@ -9,12 +9,23 @@
9 9
     "The domain $TEST_DOMAIN_NAME has no top level domain. It should be of the type w.x.y.z, x.y.z or y.z": "",
10 10
     "The command ${PROJECT_NAME}-config was not found": "",
11 11
     "  ${PROJECT_NAME}-config -u $MY_USERNAME -f $CONFIGURATION_FILE -w $FREEDOMBONE_WEBSITE -b $FREEDOMBONE_BITMESSAGE -m $MINIMUM_PASSWORD_LENGTH --minimal [yes|no]": "",
12
+    "Encrypted backup to other servers": "",
13
+    "Freedombone Configuration": "",
14
+    "\\nDo you wish to configure some remote backup locations?": "",
12 15
     "There is no user '$MY_USERNAME' on the system. Use 'adduser $MY_USERNAME' to create the user.": "",
13 16
     "'$SYSTEM_TYPE' is an unrecognised Freedombone variant.": "",
14 17
     "The configuration file $CONFIGURATION_FILE was not found": "",
18
+    "Check your internet connection, /etc/network/interfaces and /etc/resolv.conf, then delete $COMPLETION_FILE, run 'rm -fR /var/lib/apt/lists/* && apt-get update --fix-missing' and run this script again. If hash sum mismatches persist then try setting $DEBIAN_REPO to a different mirror and also change /etc/apt/sources.list.": "",
15 19
     "Private certificate for $CHECK_HOSTNAME was not created": "",
16 20
     "Public certificate for $CHECK_HOSTNAME was not created": "",
17 21
     "Diffie–Hellman parameters for $CHECK_HOSTNAME were not created": "",
22
+    "Mesh Networking (cjdns)": "",
23
+    "cjdns IPv6 address: $CJDNS_IPV6": "",
24
+    "cjdns public key: $CJDNS_PUBLIC_KEY": "",
25
+    "cjdns private key: $CJDNS_PRIVATE_KEY": "",
26
+    "cjdns password: $CJDNS_PASSWORD": "",
27
+    "cjdns port: $CJDNS_PORT": "",
28
+    "Forward port $CJDNS_PORT from your internet router to the Freedombone": "",
18 29
     "Address:    $ZERONET_BLOG_ADDRESS": "",
19 30
     "Public key: $ZERONET_BLOG_PRIVATE_KEY": "",
20 31
     "Unable to find site directory: /opt/zeronet/data/$ZERONET_BLOG_ADDRESS": "",
@@ -25,11 +36,17 @@
25 36
     "Unable to find site directory: /opt/zeronet/data/$ZERONET_MAIL_ADDRESS": "",
26 37
     "ZeroNet Mail address:     $ZERONET_MAIL_ADDRESS": "",
27 38
     "ZeroNet Mail private key: $ZERONET_MAIL_PRIVATE_KEY": "",
39
+    "ZeroNet Mail address": "",
40
+    "ZeroNet Mail address: $ZERONET_MAIL_ADDRESS": "",
41
+    "${MY_USERNAME}'s Forum": "",
28 42
     "Address:    $ZERONET_FORUM_ADDRESS": "",
29 43
     "Public key: $ZERONET_FORUM_PRIVATE_KEY": "",
30 44
     "Unable to find site directory: /opt/zeronet/data/$ZERONET_FORUM_ADDRESS": "",
31 45
     "Forum address:     $ZERONET_FORUM_ADDRESS": "",
32 46
     "Forum private key: $ZERONET_FORUM_PRIVATE_KEY": "",
47
+    "ZeroNet Forum address": "",
48
+    "ZeroNet Forum address: $ZERONET_FORUM_ADDRESS": "",
49
+    "ZeroNet Forum private key: $ZERONET_FORUM_PRIVATE_KEY": "",
33 50
     "OneRNG package could not be downloaded": "",
34 51
     "OneRNG package: $ONERNG_PACKAGE": "",
35 52
     "Hash does not match. This could indicate that the package has been tampered with.": "",
@@ -37,14 +54,29 @@
37 54
     "OneRNG actual hash: $hash": "",
38 55
     "OneRNG Device": "",
39 56
     "Please plug in the OneRNG device": "",
57
+    "ERROR: Exim does not appear to have installed. $CHECK_MESSAGE": "",
58
+    "ERROR: Dovecot does not appear to have installed. $CHECK_MESSAGE": "",
59
+    "Unknown subkey usage: $GPG_KEY_USAGE": "",
40 60
     "Public key:  $MY_GPG_PUBLIC_KEY": "",
41 61
     "Private key: $MY_GPG_PRIVATE_KEY": "",
42 62
     "GPG public key file $MY_GPG_PUBLIC_KEY was not found": "",
43 63
     "GPG private key file $MY_GPG_PRIVATE_KEY was not found": "",
44 64
     "The GPG key for $MY_EMAIL_ADDRESS could not be imported": "",
45 65
     "A GPG key for $MY_EMAIL_ADDRESS could not be created": "",
66
+    "Change your GPG password": "",
67
+    "It's very important to add a password to your GPG key so that": "",
68
+    "if anyone does get access to your email they still won't be able": "",
69
+    "Publish your GPG public key": "",
46 70
     "If you have imported legacy email which is not encrypted": "",
71
+    "ERROR: Mutt does not appear to have installed. $CHECK_MESSAGE": "",
72
+    "Creating the $PUBLIC_MAILING_LIST mailing list": "",
73
+    "$PUBLIC_MAILING_LIST mailing list": "",
74
+    "To subscribe to the $PUBLIC_MAILING_LIST mailing list send a": "",
75
+    "cleartext email to $PUBLIC_MAILING_LIST+subscribe@$DEFAULT_DOMAIN_NAME": "",
76
+    "Email import directory $IMPORT_MAILDIR not found": "",
77
+    "ERROR: nginx does not appear to have installed. $CHECK_MESSAGE": "",
47 78
     "Your MariaDB password is: $MARIADB_PASSWORD": "",
79
+    "ERROR: mariadb-server does not appear to have installed. $CHECK_MESSAGE": "",
48 80
     "Music player in Owncloud": "",
49 81
     " *** Freedombone $SYSTEM_TYPE is now installed ***": "",
50 82
     "Open $OWNCLOUD_DOMAIN_NAME in a web browser to complete the setup": "",
@@ -60,11 +92,15 @@
60 92
     "In order to allow git clone via http we don't redirect everything": "",
61 93
     "should change /etc/nginx/sites-available/$GIT_DOMAIN_NAME to redirect everything over https.": "",
62 94
     "File not found /usr/local/bin/tox-bootstrapd": "",
95
+    "Account to run Tox's DHT bootstrap daemon": "",
63 96
     "File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf": "",
64 97
     "File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service": "",
98
+    "Your Tox node public key is": "",
65 99
     "Your Tox node public key is: $TOX_PUBLIC_KEY": "",
100
+    "ERROR: prosody does not appear to have installed. $CHECK_MESSAGE": "",
66 101
     "Your XMPP password is: $XMPP_PASSWORD": "",
67 102
     "ERROR: ngircd does not appear to have installed. $CHECK_MESSAGE": "",
103
+    "IRC Server": "",
68 104
     "Wiki password": "",
69 105
     "Wiki username: $MY_USERNAME": "",
70 106
     "Wiki password: $WIKI_ADMIN_PASSWORD": "",

+ 36
- 0
locale/es/freedombone.json Просмотреть файл

@@ -9,12 +9,23 @@
9 9
     "The domain $TEST_DOMAIN_NAME has no top level domain. It should be of the type w.x.y.z, x.y.z or y.z": "",
10 10
     "The command ${PROJECT_NAME}-config was not found": "",
11 11
     "  ${PROJECT_NAME}-config -u $MY_USERNAME -f $CONFIGURATION_FILE -w $FREEDOMBONE_WEBSITE -b $FREEDOMBONE_BITMESSAGE -m $MINIMUM_PASSWORD_LENGTH --minimal [yes|no]": "",
12
+    "Encrypted backup to other servers": "",
13
+    "Freedombone Configuration": "",
14
+    "\\nDo you wish to configure some remote backup locations?": "",
12 15
     "There is no user '$MY_USERNAME' on the system. Use 'adduser $MY_USERNAME' to create the user.": "",
13 16
     "'$SYSTEM_TYPE' is an unrecognised Freedombone variant.": "",
14 17
     "The configuration file $CONFIGURATION_FILE was not found": "",
18
+    "Check your internet connection, /etc/network/interfaces and /etc/resolv.conf, then delete $COMPLETION_FILE, run 'rm -fR /var/lib/apt/lists/* && apt-get update --fix-missing' and run this script again. If hash sum mismatches persist then try setting $DEBIAN_REPO to a different mirror and also change /etc/apt/sources.list.": "",
15 19
     "Private certificate for $CHECK_HOSTNAME was not created": "",
16 20
     "Public certificate for $CHECK_HOSTNAME was not created": "",
17 21
     "Diffie–Hellman parameters for $CHECK_HOSTNAME were not created": "",
22
+    "Mesh Networking (cjdns)": "",
23
+    "cjdns IPv6 address: $CJDNS_IPV6": "",
24
+    "cjdns public key: $CJDNS_PUBLIC_KEY": "",
25
+    "cjdns private key: $CJDNS_PRIVATE_KEY": "",
26
+    "cjdns password: $CJDNS_PASSWORD": "",
27
+    "cjdns port: $CJDNS_PORT": "",
28
+    "Forward port $CJDNS_PORT from your internet router to the Freedombone": "",
18 29
     "Address:    $ZERONET_BLOG_ADDRESS": "",
19 30
     "Public key: $ZERONET_BLOG_PRIVATE_KEY": "",
20 31
     "Unable to find site directory: /opt/zeronet/data/$ZERONET_BLOG_ADDRESS": "",
@@ -25,11 +36,17 @@
25 36
     "Unable to find site directory: /opt/zeronet/data/$ZERONET_MAIL_ADDRESS": "",
26 37
     "ZeroNet Mail address:     $ZERONET_MAIL_ADDRESS": "",
27 38
     "ZeroNet Mail private key: $ZERONET_MAIL_PRIVATE_KEY": "",
39
+    "ZeroNet Mail address": "",
40
+    "ZeroNet Mail address: $ZERONET_MAIL_ADDRESS": "",
41
+    "${MY_USERNAME}'s Forum": "",
28 42
     "Address:    $ZERONET_FORUM_ADDRESS": "",
29 43
     "Public key: $ZERONET_FORUM_PRIVATE_KEY": "",
30 44
     "Unable to find site directory: /opt/zeronet/data/$ZERONET_FORUM_ADDRESS": "",
31 45
     "Forum address:     $ZERONET_FORUM_ADDRESS": "",
32 46
     "Forum private key: $ZERONET_FORUM_PRIVATE_KEY": "",
47
+    "ZeroNet Forum address": "",
48
+    "ZeroNet Forum address: $ZERONET_FORUM_ADDRESS": "",
49
+    "ZeroNet Forum private key: $ZERONET_FORUM_PRIVATE_KEY": "",
33 50
     "OneRNG package could not be downloaded": "",
34 51
     "OneRNG package: $ONERNG_PACKAGE": "",
35 52
     "Hash does not match. This could indicate that the package has been tampered with.": "",
@@ -37,14 +54,29 @@
37 54
     "OneRNG actual hash: $hash": "",
38 55
     "OneRNG Device": "",
39 56
     "Please plug in the OneRNG device": "",
57
+    "ERROR: Exim does not appear to have installed. $CHECK_MESSAGE": "",
58
+    "ERROR: Dovecot does not appear to have installed. $CHECK_MESSAGE": "",
59
+    "Unknown subkey usage: $GPG_KEY_USAGE": "",
40 60
     "Public key:  $MY_GPG_PUBLIC_KEY": "",
41 61
     "Private key: $MY_GPG_PRIVATE_KEY": "",
42 62
     "GPG public key file $MY_GPG_PUBLIC_KEY was not found": "",
43 63
     "GPG private key file $MY_GPG_PRIVATE_KEY was not found": "",
44 64
     "The GPG key for $MY_EMAIL_ADDRESS could not be imported": "",
45 65
     "A GPG key for $MY_EMAIL_ADDRESS could not be created": "",
66
+    "Change your GPG password": "",
67
+    "It's very important to add a password to your GPG key so that": "",
68
+    "if anyone does get access to your email they still won't be able": "",
69
+    "Publish your GPG public key": "",
46 70
     "If you have imported legacy email which is not encrypted": "",
71
+    "ERROR: Mutt does not appear to have installed. $CHECK_MESSAGE": "",
72
+    "Creating the $PUBLIC_MAILING_LIST mailing list": "",
73
+    "$PUBLIC_MAILING_LIST mailing list": "",
74
+    "To subscribe to the $PUBLIC_MAILING_LIST mailing list send a": "",
75
+    "cleartext email to $PUBLIC_MAILING_LIST+subscribe@$DEFAULT_DOMAIN_NAME": "",
76
+    "Email import directory $IMPORT_MAILDIR not found": "",
77
+    "ERROR: nginx does not appear to have installed. $CHECK_MESSAGE": "",
47 78
     "Your MariaDB password is: $MARIADB_PASSWORD": "",
79
+    "ERROR: mariadb-server does not appear to have installed. $CHECK_MESSAGE": "",
48 80
     "Music player in Owncloud": "",
49 81
     " *** Freedombone $SYSTEM_TYPE is now installed ***": "",
50 82
     "Open $OWNCLOUD_DOMAIN_NAME in a web browser to complete the setup": "",
@@ -60,11 +92,15 @@
60 92
     "In order to allow git clone via http we don't redirect everything": "",
61 93
     "should change /etc/nginx/sites-available/$GIT_DOMAIN_NAME to redirect everything over https.": "",
62 94
     "File not found /usr/local/bin/tox-bootstrapd": "",
95
+    "Account to run Tox's DHT bootstrap daemon": "",
63 96
     "File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf": "",
64 97
     "File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service": "",
98
+    "Your Tox node public key is": "",
65 99
     "Your Tox node public key is: $TOX_PUBLIC_KEY": "",
100
+    "ERROR: prosody does not appear to have installed. $CHECK_MESSAGE": "",
66 101
     "Your XMPP password is: $XMPP_PASSWORD": "",
67 102
     "ERROR: ngircd does not appear to have installed. $CHECK_MESSAGE": "",
103
+    "IRC Server": "",
68 104
     "Wiki password": "",
69 105
     "Wiki username: $MY_USERNAME": "",
70 106
     "Wiki password: $WIKI_ADMIN_PASSWORD": "",

+ 36
- 0
locale/fr/freedombone.json Просмотреть файл

@@ -9,12 +9,23 @@
9 9
     "The domain $TEST_DOMAIN_NAME has no top level domain. It should be of the type w.x.y.z, x.y.z or y.z": "",
10 10
     "The command ${PROJECT_NAME}-config was not found": "",
11 11
     "  ${PROJECT_NAME}-config -u $MY_USERNAME -f $CONFIGURATION_FILE -w $FREEDOMBONE_WEBSITE -b $FREEDOMBONE_BITMESSAGE -m $MINIMUM_PASSWORD_LENGTH --minimal [yes|no]": "",
12
+    "Encrypted backup to other servers": "",
13
+    "Freedombone Configuration": "",
14
+    "\\nDo you wish to configure some remote backup locations?": "",
12 15
     "There is no user '$MY_USERNAME' on the system. Use 'adduser $MY_USERNAME' to create the user.": "",
13 16
     "'$SYSTEM_TYPE' is an unrecognised Freedombone variant.": "",
14 17
     "The configuration file $CONFIGURATION_FILE was not found": "",
18
+    "Check your internet connection, /etc/network/interfaces and /etc/resolv.conf, then delete $COMPLETION_FILE, run 'rm -fR /var/lib/apt/lists/* && apt-get update --fix-missing' and run this script again. If hash sum mismatches persist then try setting $DEBIAN_REPO to a different mirror and also change /etc/apt/sources.list.": "",
15 19
     "Private certificate for $CHECK_HOSTNAME was not created": "",
16 20
     "Public certificate for $CHECK_HOSTNAME was not created": "",
17 21
     "Diffie–Hellman parameters for $CHECK_HOSTNAME were not created": "",
22
+    "Mesh Networking (cjdns)": "",
23
+    "cjdns IPv6 address: $CJDNS_IPV6": "",
24
+    "cjdns public key: $CJDNS_PUBLIC_KEY": "",
25
+    "cjdns private key: $CJDNS_PRIVATE_KEY": "",
26
+    "cjdns password: $CJDNS_PASSWORD": "",
27
+    "cjdns port: $CJDNS_PORT": "",
28
+    "Forward port $CJDNS_PORT from your internet router to the Freedombone": "",
18 29
     "Address:    $ZERONET_BLOG_ADDRESS": "",
19 30
     "Public key: $ZERONET_BLOG_PRIVATE_KEY": "",
20 31
     "Unable to find site directory: /opt/zeronet/data/$ZERONET_BLOG_ADDRESS": "",
@@ -25,11 +36,17 @@
25 36
     "Unable to find site directory: /opt/zeronet/data/$ZERONET_MAIL_ADDRESS": "",
26 37
     "ZeroNet Mail address:     $ZERONET_MAIL_ADDRESS": "",
27 38
     "ZeroNet Mail private key: $ZERONET_MAIL_PRIVATE_KEY": "",
39
+    "ZeroNet Mail address": "",
40
+    "ZeroNet Mail address: $ZERONET_MAIL_ADDRESS": "",
41
+    "${MY_USERNAME}'s Forum": "",
28 42
     "Address:    $ZERONET_FORUM_ADDRESS": "",
29 43
     "Public key: $ZERONET_FORUM_PRIVATE_KEY": "",
30 44
     "Unable to find site directory: /opt/zeronet/data/$ZERONET_FORUM_ADDRESS": "",
31 45
     "Forum address:     $ZERONET_FORUM_ADDRESS": "",
32 46
     "Forum private key: $ZERONET_FORUM_PRIVATE_KEY": "",
47
+    "ZeroNet Forum address": "",
48
+    "ZeroNet Forum address: $ZERONET_FORUM_ADDRESS": "",
49
+    "ZeroNet Forum private key: $ZERONET_FORUM_PRIVATE_KEY": "",
33 50
     "OneRNG package could not be downloaded": "",
34 51
     "OneRNG package: $ONERNG_PACKAGE": "",
35 52
     "Hash does not match. This could indicate that the package has been tampered with.": "",
@@ -37,14 +54,29 @@
37 54
     "OneRNG actual hash: $hash": "",
38 55
     "OneRNG Device": "",
39 56
     "Please plug in the OneRNG device": "",
57
+    "ERROR: Exim does not appear to have installed. $CHECK_MESSAGE": "",
58
+    "ERROR: Dovecot does not appear to have installed. $CHECK_MESSAGE": "",
59
+    "Unknown subkey usage: $GPG_KEY_USAGE": "",
40 60
     "Public key:  $MY_GPG_PUBLIC_KEY": "",
41 61
     "Private key: $MY_GPG_PRIVATE_KEY": "",
42 62
     "GPG public key file $MY_GPG_PUBLIC_KEY was not found": "",
43 63
     "GPG private key file $MY_GPG_PRIVATE_KEY was not found": "",
44 64
     "The GPG key for $MY_EMAIL_ADDRESS could not be imported": "",
45 65
     "A GPG key for $MY_EMAIL_ADDRESS could not be created": "",
66
+    "Change your GPG password": "",
67
+    "It's very important to add a password to your GPG key so that": "",
68
+    "if anyone does get access to your email they still won't be able": "",
69
+    "Publish your GPG public key": "",
46 70
     "If you have imported legacy email which is not encrypted": "",
71
+    "ERROR: Mutt does not appear to have installed. $CHECK_MESSAGE": "",
72
+    "Creating the $PUBLIC_MAILING_LIST mailing list": "",
73
+    "$PUBLIC_MAILING_LIST mailing list": "",
74
+    "To subscribe to the $PUBLIC_MAILING_LIST mailing list send a": "",
75
+    "cleartext email to $PUBLIC_MAILING_LIST+subscribe@$DEFAULT_DOMAIN_NAME": "",
76
+    "Email import directory $IMPORT_MAILDIR not found": "",
77
+    "ERROR: nginx does not appear to have installed. $CHECK_MESSAGE": "",
47 78
     "Your MariaDB password is: $MARIADB_PASSWORD": "",
79
+    "ERROR: mariadb-server does not appear to have installed. $CHECK_MESSAGE": "",
48 80
     "Music player in Owncloud": "",
49 81
     " *** Freedombone $SYSTEM_TYPE is now installed ***": "",
50 82
     "Open $OWNCLOUD_DOMAIN_NAME in a web browser to complete the setup": "",
@@ -60,11 +92,15 @@
60 92
     "In order to allow git clone via http we don't redirect everything": "",
61 93
     "should change /etc/nginx/sites-available/$GIT_DOMAIN_NAME to redirect everything over https.": "",
62 94
     "File not found /usr/local/bin/tox-bootstrapd": "",
95
+    "Account to run Tox's DHT bootstrap daemon": "",
63 96
     "File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf": "",
64 97
     "File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.service": "",
98
+    "Your Tox node public key is": "",
65 99
     "Your Tox node public key is: $TOX_PUBLIC_KEY": "",
100
+    "ERROR: prosody does not appear to have installed. $CHECK_MESSAGE": "",
66 101
     "Your XMPP password is: $XMPP_PASSWORD": "",
67 102
     "ERROR: ngircd does not appear to have installed. $CHECK_MESSAGE": "",
103
+    "IRC Server": "",
68 104
     "Wiki password": "",
69 105
     "Wiki username: $MY_USERNAME": "",
70 106
     "Wiki password: $WIKI_ADMIN_PASSWORD": "",

+ 101
- 104
src/freedombone Просмотреть файл

@@ -609,10 +609,10 @@ function interactive_configuration {
609 609
   if [[ $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
610 610
       FRIENDS_SERVERS_LIST=/home/$MY_USERNAME/backup.list
611 611
 
612
-      dialog --title "Encrypted backup to other servers" \
613
-             --backtitle "Freedombone Configuration" \
612
+      dialog --title $"Encrypted backup to other servers" \
613
+             --backtitle $"Freedombone Configuration" \
614 614
              --defaultno \
615
-             --yesno "\nDo you wish to configure some remote backup locations?" 7 60
615
+             --yesno $"\nDo you wish to configure some remote backup locations?" 7 60
616 616
       sel=$?
617 617
       case $sel in
618 618
           0) interactive_configuration_remote_backups;;
@@ -1058,7 +1058,7 @@ function read_configuration {
1058 1058
       fi
1059 1059
       if grep -q "DEBIAN_REPO" $CONFIGURATION_FILE; then
1060 1060
           DEBIAN_REPO=$(grep "DEBIAN_REPO" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
1061
-          CHECK_MESSAGE="Check your internet connection, /etc/network/interfaces and /etc/resolv.conf, then delete $COMPLETION_FILE, run 'rm -fR /var/lib/apt/lists/* && apt-get update --fix-missing' and run this script again. If hash sum mismatches persist then try setting $DEBIAN_REPO to a different mirror and also change /etc/apt/sources.list."
1061
+          CHECK_MESSAGE=$"Check your internet connection, /etc/network/interfaces and /etc/resolv.conf, then delete $COMPLETION_FILE, run 'rm -fR /var/lib/apt/lists/* && apt-get update --fix-missing' and run this script again. If hash sum mismatches persist then try setting $DEBIAN_REPO to a different mirror and also change /etc/apt/sources.list."
1062 1062
       fi
1063 1063
       if grep -q "VOIP_PORT" $CONFIGURATION_FILE; then
1064 1064
           VOIP_PORT=$(grep "VOIP_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
@@ -1365,10 +1365,7 @@ function install_not_on_BBB {
1365 1365
       return
1366 1366
   fi
1367 1367
 
1368
-  echo '# This file describes the network interfaces available on your system' > /etc/network/interfaces
1369
-  echo '# and how to activate them. For more information, see interfaces(5).' >> /etc/network/interfaces
1370
-  echo '' >> /etc/network/interfaces
1371
-  echo '# The loopback network interface' >> /etc/network/interfaces
1368
+  echo '# The loopback network interface' > /etc/network/interfaces
1372 1369
   echo 'auto lo' >> /etc/network/interfaces
1373 1370
   echo 'iface lo inet loopback' >> /etc/network/interfaces
1374 1371
   echo '' >> /etc/network/interfaces
@@ -1807,42 +1804,42 @@ function mesh_cjdns {
1807 1804
   ip6tables -A INPUT -p tcp --dport $CJDNS_PORT -j ACCEPT
1808 1805
   save_firewall_settings
1809 1806
 
1810
-  if ! grep -q "Mesh Networking (cjdns)" /home/$MY_USERNAME/README; then
1807
+  if ! grep -q $"Mesh Networking (cjdns)" /home/$MY_USERNAME/README; then
1811 1808
       CURRENT_IP_ADDRESS=$(ip addr show | grep "inet " | sed -n 2p | awk -F ' ' '{print $2}' | awk -F '/' '{print $1}')
1812 1809
 
1813 1810
       echo '' >> /home/$MY_USERNAME/README
1814 1811
       echo '' >> /home/$MY_USERNAME/README
1815
-      echo 'Mesh Networking (cjdns)' >> /home/$MY_USERNAME/README
1812
+      echo $'Mesh Networking (cjdns)' >> /home/$MY_USERNAME/README
1816 1813
       echo '=======================' >> /home/$MY_USERNAME/README
1817
-      echo "cjdns IPv6 address: $CJDNS_IPV6" >> /home/$MY_USERNAME/README
1818
-      echo "cjdns public key: $CJDNS_PUBLIC_KEY" >> /home/$MY_USERNAME/README
1819
-      echo "cjdns private key: $CJDNS_PRIVATE_KEY" >> /home/$MY_USERNAME/README
1820
-      echo "cjdns password: $CJDNS_PASSWORD" >> /home/$MY_USERNAME/README
1821
-      echo "cjdns port: $CJDNS_PORT" >> /home/$MY_USERNAME/README
1814
+      echo $"cjdns IPv6 address: $CJDNS_IPV6" >> /home/$MY_USERNAME/README
1815
+      echo $"cjdns public key: $CJDNS_PUBLIC_KEY" >> /home/$MY_USERNAME/README
1816
+      echo $"cjdns private key: $CJDNS_PRIVATE_KEY" >> /home/$MY_USERNAME/README
1817
+      echo $"cjdns password: $CJDNS_PASSWORD" >> /home/$MY_USERNAME/README
1818
+      echo $"cjdns port: $CJDNS_PORT" >> /home/$MY_USERNAME/README
1822 1819
       echo '' >> /home/$MY_USERNAME/README
1823
-      echo "Forward port $CJDNS_PORT from your internet router to the Freedombone" >> /home/$MY_USERNAME/README
1820
+      echo $"Forward port $CJDNS_PORT from your internet router to the Freedombone" >> /home/$MY_USERNAME/README
1824 1821
       echo '' >> /home/$MY_USERNAME/README
1825
-      echo 'Below is an example of your connection credentials' >> /home/$MY_USERNAME/README
1826
-      echo 'that you can give to other people so they can connect' >> /home/$MY_USERNAME/README
1827
-      echo 'to you using your default password' >> /home/$MY_USERNAME/README
1828
-      echo 'Adding a unique password for each user is advisable' >> /home/$MY_USERNAME/README
1829
-      echo 'so that leaks can be isolated.' >> /home/$MY_USERNAME/README
1822
+      echo $'Below is an example of your connection credentials' >> /home/$MY_USERNAME/README
1823
+      echo $'that you can give to other people so they can connect' >> /home/$MY_USERNAME/README
1824
+      echo $'to you using your default password' >> /home/$MY_USERNAME/README
1825
+      echo $'Adding a unique password for each user is advisable' >> /home/$MY_USERNAME/README
1826
+      echo $'so that leaks can be isolated.' >> /home/$MY_USERNAME/README
1830 1827
       echo '' >> /home/$MY_USERNAME/README
1831 1828
       echo "\"$CURRENT_IP_ADDRESS:$CJDNS_PORT\":{\"password\":\"$CJDNS_PASSWORD\",\"publicKey\":\"$CJDNS_PUBLIC_KEY\"}" >> /home/$MY_USERNAME/README
1832 1829
       echo '' >> /home/$MY_USERNAME/README
1833
-      echo 'More is not better. 3-5 cjdns peers is good. 30 peers is bad.' >> /home/$MY_USERNAME/README
1830
+      echo $'More is not better. 3-5 cjdns peers is good. 30 peers is bad.' >> /home/$MY_USERNAME/README
1834 1831
       echo '' >> /home/$MY_USERNAME/README
1835
-      echo 'NEVER USE A PUBLIC PEER. These degrade the network and make it centralized.' >> /home/$MY_USERNAME/README
1836
-      echo 'Each node can handle many peers, but no node can handle the entire internet.' >> /home/$MY_USERNAME/README
1837
-      echo 'As this network grows any public peer will simply become saturated and' >> /home/$MY_USERNAME/README
1838
-      echo 'useless causing issues for the entire network.' >> /home/$MY_USERNAME/README
1839
-      echo 'Please report anyone offering you a public peer as they are promoting shared' >> /home/$MY_USERNAME/README
1840
-      echo 'passwords which could lead to people pretending to be you. A peering pass' >> /home/$MY_USERNAME/README
1841
-      echo 'should not contain someone elses nickname or info but should contain yours' >> /home/$MY_USERNAME/README
1842
-      echo 'to ensure it is not shared. It also helps when editing the conf to know who' >> /home/$MY_USERNAME/README
1843
-      echo 'each password is for.' >> /home/$MY_USERNAME/README
1832
+      echo $'NEVER USE A PUBLIC PEER. These degrade the network and make it centralized.' >> /home/$MY_USERNAME/README
1833
+      echo $'Each node can handle many peers, but no node can handle the entire internet.' >> /home/$MY_USERNAME/README
1834
+      echo $'As this network grows any public peer will simply become saturated and' >> /home/$MY_USERNAME/README
1835
+      echo $'useless causing issues for the entire network.' >> /home/$MY_USERNAME/README
1836
+      echo $'Please report anyone offering you a public peer as they are promoting shared' >> /home/$MY_USERNAME/README
1837
+      echo $'passwords which could lead to people pretending to be you. A peering pass' >> /home/$MY_USERNAME/README
1838
+      echo $'should not contain someone elses nickname or info but should contain yours' >> /home/$MY_USERNAME/README
1839
+      echo $'to ensure it is not shared. It also helps when editing the conf to know who' >> /home/$MY_USERNAME/README
1840
+      echo $'each password is for.' >> /home/$MY_USERNAME/README
1844 1841
       echo '' >> /home/$MY_USERNAME/README
1845
-      echo 'Possible cjdns destinations of interest:' >> /home/$MY_USERNAME/README
1842
+      echo $'Possible cjdns destinations of interest:' >> /home/$MY_USERNAME/README
1846 1843
       echo '    http://transitiontech.ca/faq' >> /home/$MY_USERNAME/README
1847 1844
       echo '    http://cjdns.ca/hypeirc.txt' >> /home/$MY_USERNAME/README
1848 1845
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
@@ -1878,7 +1875,7 @@ function mesh_cjdns_tools {
1878 1875
   export PATH=$PATH:$HOME/projects/go/bin
1879 1876
   go get github.com/inhies/cjdcmd
1880 1877
   if [ ! -f $HOME/projects/go/bin/cjdcmd ]; then
1881
-      echo 'cjdcmd was not compiled. Check your golang installation'
1878
+      echo $'cjdcmd was not compiled. Check your golang installation'
1882 1879
       exit 7439
1883 1880
   fi
1884 1881
   cp $HOME/projects/go/bin/cjdcmd /usr/bin
@@ -2058,7 +2055,7 @@ function install_zeronet_mail {
2058 2055
   cd /opt/zeronet
2059 2056
   python zeronet.py --batch siteCreate 2> /opt/zeronet/mail.txt
2060 2057
   if [ ! -f /opt/zeronet/mail.txt ]; then
2061
-      echo 'Unable to create mail'
2058
+      echo $'Unable to create mail'
2062 2059
       exit 479
2063 2060
   fi
2064 2061
   mail_address=$(cat mail.txt | grep "Site address" | awk -F ':' '{print $2}')
@@ -2087,7 +2084,7 @@ function install_zeronet_mail {
2087 2084
 
2088 2085
   git clone $ZERONET_MAIL_REPO ZeroMail
2089 2086
   if [ ! -d /opt/zeronet/ZeroMail ]; then
2090
-      echo 'ZeroMail repo could not be cloned'
2087
+      echo $'ZeroMail repo could not be cloned'
2091 2088
       exit 6739
2092 2089
   fi
2093 2090
   cd /opt/zeronet/ZeroMail
@@ -2132,10 +2129,10 @@ function install_zeronet_mail {
2132 2129
   fi
2133 2130
   echo "$ZERONET_URL/$ZERONET_MAIL_ADDRESS" > /home/$MY_USERNAME/.config/zeronet/mymail
2134 2131
 
2135
-  if ! grep -q "ZeroNet Mail address" /home/$MY_USERNAME/README; then
2132
+  if ! grep -q $"ZeroNet Mail address" /home/$MY_USERNAME/README; then
2136 2133
       echo '' >> /home/$MY_USERNAME/README
2137
-      echo "ZeroNet Mail address: $ZERONET_MAIL_ADDRESS" >> /home/$MY_USERNAME/README
2138
-      echo "ZeroNet Mail private key: $ZERONET_MAIL_PRIVATE_KEY" >> /home/$MY_USERNAME/README
2134
+      echo $"ZeroNet Mail address: $ZERONET_MAIL_ADDRESS" >> /home/$MY_USERNAME/README
2135
+      echo $"ZeroNet Mail private key: $ZERONET_MAIL_PRIVATE_KEY" >> /home/$MY_USERNAME/README
2139 2136
   fi
2140 2137
 
2141 2138
   echo 'install_zeronet_mail' >> $COMPLETION_FILE
@@ -2176,16 +2173,16 @@ function install_zeronet_forum {
2176 2173
   fi
2177 2174
 
2178 2175
   if [ ! -d /etc/avahi ]; then
2179
-      echo 'Avahi is not installed'
2176
+      echo $'Avahi is not installed'
2180 2177
       exit 736
2181 2178
   fi
2182 2179
 
2183
-  ZERONET_DEFAULT_FORUM_TITLE="${MY_USERNAME}'s Forum"
2180
+  ZERONET_DEFAULT_FORUM_TITLE=$"${MY_USERNAME}'s Forum"
2184 2181
 
2185 2182
   cd /opt/zeronet
2186 2183
   python zeronet.py --batch siteCreate 2> /opt/zeronet/forum.txt
2187 2184
   if [ ! -f /opt/zeronet/forum.txt ]; then
2188
-      echo 'Unable to create forum'
2185
+      echo $'Unable to create forum'
2189 2186
       exit 479
2190 2187
   fi
2191 2188
   forum_address=$(cat forum.txt | grep "Site address" | awk -F ':' '{print $2}')
@@ -2253,10 +2250,10 @@ function install_zeronet_forum {
2253 2250
   fi
2254 2251
   echo "$ZERONET_URL/$ZERONET_FORUM_ADDRESS" > /home/$MY_USERNAME/.config/zeronet/myforum
2255 2252
 
2256
-  if ! grep -q "ZeroNet Forum address" /home/$MY_USERNAME/README; then
2253
+  if ! grep -q $"ZeroNet Forum address" /home/$MY_USERNAME/README; then
2257 2254
       echo '' >> /home/$MY_USERNAME/README
2258
-      echo "ZeroNet Forum address: $ZERONET_FORUM_ADDRESS" >> /home/$MY_USERNAME/README
2259
-      echo "ZeroNet Forum private key: $ZERONET_FORUM_PRIVATE_KEY" >> /home/$MY_USERNAME/README
2255
+      echo $"ZeroNet Forum address: $ZERONET_FORUM_ADDRESS" >> /home/$MY_USERNAME/README
2256
+      echo $"ZeroNet Forum private key: $ZERONET_FORUM_PRIVATE_KEY" >> /home/$MY_USERNAME/README
2260 2257
   fi
2261 2258
 
2262 2259
   echo 'install_zeronet_forum' >> $COMPLETION_FILE
@@ -3046,38 +3043,38 @@ function search_for_attached_usb_drive {
3046 3043
   fi
3047 3044
   if [ -b $USB_DRIVE ]; then
3048 3045
       if [ ! -d $USB_MOUNT ]; then
3049
-          echo 'Mounting USB drive'
3046
+          echo $'Mounting USB drive'
3050 3047
           mkdir $USB_MOUNT
3051 3048
           mount $USB_DRIVE $USB_MOUNT
3052 3049
       fi
3053 3050
       if ! [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" || $SYSTEM_TYPE == "$VARIANT_NONMAILBOX" ]]; then
3054 3051
           if [ -d $USB_MOUNT/Maildir ]; then
3055
-              echo 'Maildir found on USB drive'
3052
+              echo $'Maildir found on USB drive'
3056 3053
               IMPORT_MAILDIR=$USB_MOUNT/Maildir
3057 3054
           fi
3058 3055
           if [ -d $USB_MOUNT/.gnupg ]; then
3059
-              echo 'Importing GPG keyring'
3056
+              echo $'Importing GPG keyring'
3060 3057
               cp -r $USB_MOUNT/.gnupg /home/$MY_USERNAME
3061 3058
               chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.gnupg
3062 3059
               GPG_KEYS_IMPORTED="yes"
3063 3060
               if [ ! -f /home/$MY_USERNAME/.gnupg/secring.gpg ]; then
3064
-                  echo 'GPG files did not copy'
3061
+                  echo $'GPG files did not copy'
3065 3062
                   exit 73529
3066 3063
               fi
3067 3064
           fi
3068 3065
 
3069 3066
           if [ -f $USB_MOUNT/.procmailrc ]; then
3070
-              echo 'Importing procmail settings'
3067
+              echo $'Importing procmail settings'
3071 3068
               cp $USB_MOUNT/.procmailrc /home/$MY_USERNAME
3072 3069
               chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.procmailrc
3073 3070
           fi
3074 3071
 
3075 3072
           if [ -f $USB_MOUNT/private_key.gpg ]; then
3076
-              echo 'GPG private key found on USB drive'
3073
+              echo $'GPG private key found on USB drive'
3077 3074
               MY_GPG_PRIVATE_KEY=$USB_MOUNT/private_key.gpg
3078 3075
           fi
3079 3076
           if [ -f $USB_MOUNT/public_key.gpg ]; then
3080
-              echo 'GPG public key found on USB drive'
3077
+              echo $'GPG public key found on USB drive'
3081 3078
               MY_GPG_PUBLIC_KEY=$USB_MOUNT/public_key.gpg
3082 3079
           fi
3083 3080
       fi
@@ -3089,27 +3086,27 @@ function search_for_attached_usb_drive {
3089 3086
           chown -R prosody:prosody $XMPP_DIRECTORY
3090 3087
       fi
3091 3088
       if [ -d $USB_MOUNT/.ssh ]; then
3092
-          echo 'Importing ssh keys'
3089
+          echo $'Importing ssh keys'
3093 3090
           cp -r $USB_MOUNT/.ssh /home/$MY_USERNAME
3094 3091
           chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.ssh
3095 3092
           # for security delete the ssh keys from the usb drive
3096 3093
           if [ ! -f /home/$MY_USERNAME/.ssh/id_rsa ]; then
3097
-              echo 'ssh files did not copy'
3094
+              echo $'ssh files did not copy'
3098 3095
               exit 8
3099 3096
           fi
3100 3097
       fi
3101 3098
       if [ -f $USB_MOUNT/.emacs ]; then
3102
-          echo 'Importing .emacs file'
3099
+          echo $'Importing .emacs file'
3103 3100
           cp -f $USB_MOUNT/.emacs /home/$MY_USERNAME/.emacs
3104 3101
           chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.emacs
3105 3102
       fi
3106 3103
       if [ -d $USB_MOUNT/.emacs.d ]; then
3107
-          echo 'Importing .emacs.d directory'
3104
+          echo $'Importing .emacs.d directory'
3108 3105
           cp -r $USB_MOUNT/.emacs.d /home/$MY_USERNAME
3109 3106
           chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.emacs.d
3110 3107
       fi
3111 3108
       if [ -d $USB_MOUNT/ssl ]; then
3112
-          echo 'Importing SSL certificates'
3109
+          echo $'Importing SSL certificates'
3113 3110
           cp -r $USB_MOUNT/ssl/* /etc/ssl
3114 3111
           chmod 640 /etc/ssl/certs/*
3115 3112
           chmod 400 /etc/ssl/private/*
@@ -3127,7 +3124,7 @@ function search_for_attached_usb_drive {
3127 3124
           fi
3128 3125
       fi
3129 3126
       if [ -d $USB_MOUNT/personal ]; then
3130
-          echo 'Importing personal directory'
3127
+          echo $'Importing personal directory'
3131 3128
           cp -r $USB_MOUNT/personal /home/$MY_USERNAME
3132 3129
           chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/personal
3133 3130
       fi
@@ -3136,7 +3133,7 @@ function search_for_attached_usb_drive {
3136 3133
           umount $USB_MOUNT
3137 3134
           rm -rf $USB_MOUNT
3138 3135
       fi
3139
-      echo 'No USB drive attached'
3136
+      echo $'No USB drive attached'
3140 3137
   fi
3141 3138
   echo 'search_for_attached_usb_drive' >> $COMPLETION_FILE
3142 3139
 }
@@ -3910,7 +3907,7 @@ function configure_email {
3910 3907
   apt-get -y install exim4 sasl2-bin swaks libnet-ssleay-perl procmail
3911 3908
 
3912 3909
   if [ ! -d /etc/exim4 ]; then
3913
-      echo "ERROR: Exim does not appear to have installed. $CHECK_MESSAGE"
3910
+      echo $"ERROR: Exim does not appear to have installed. $CHECK_MESSAGE"
3914 3911
       exit 48
3915 3912
   fi
3916 3913
 
@@ -4210,7 +4207,7 @@ function configure_imap {
4210 4207
   apt-get -y install dovecot-imapd
4211 4208
 
4212 4209
   if [ ! -d /etc/dovecot ]; then
4213
-      echo "ERROR: Dovecot does not appear to have installed. $CHECK_MESSAGE"
4210
+      echo $"ERROR: Dovecot does not appear to have installed. $CHECK_MESSAGE"
4214 4211
       exit 48
4215 4212
   fi
4216 4213
 
@@ -4222,7 +4219,7 @@ function configure_imap {
4222 4219
   chown root:dovecot /etc/ssl/private/dovecot.*
4223 4220
 
4224 4221
   if [ ! -f /etc/dovecot/conf.d/10-ssl.conf ]; then
4225
-      echo 'Unable to find /etc/dovecot/conf.d/10-ssl.conf'
4222
+      echo $'Unable to find /etc/dovecot/conf.d/10-ssl.conf'
4226 4223
       exit 83629
4227 4224
   fi
4228 4225
   sed -i 's|#ssl =.*|ssl = required|g' /etc/dovecot/conf.d/10-ssl.conf
@@ -4239,7 +4236,7 @@ function configure_imap {
4239 4236
   echo "ssl_cipher_list = '$SSL_CIPHERS'" >> /etc/dovecot/conf.d/10-ssl.conf
4240 4237
 
4241 4238
   if [ ! -f /etc/dovecot/conf.d/10-master.conf ]; then
4242
-      echo 'Unable to find /etc/dovecot/conf.d/10-master.conf'
4239
+      echo $'Unable to find /etc/dovecot/conf.d/10-master.conf'
4243 4240
       exit 49259
4244 4241
   fi
4245 4242
   sed -i 's/#process_limit =.*/process_limit = 100/g' /etc/dovecot/conf.d/10-master.conf
@@ -4247,26 +4244,26 @@ function configure_imap {
4247 4244
   sed -i 's|#default_process_limit =.*|default_process_limit = 100|g' /etc/dovecot/conf.d/10-master.conf
4248 4245
 
4249 4246
   if [ ! -f /etc/dovecot/conf.d/10-logging.conf ]; then
4250
-      echo 'Unable to find /etc/dovecot/conf.d/10-logging.conf'
4247
+      echo $'Unable to find /etc/dovecot/conf.d/10-logging.conf'
4251 4248
       exit 48936
4252 4249
   fi
4253 4250
   sed -i 's/#auth_verbose.*/auth_verbose = yes/g' /etc/dovecot/conf.d/10-logging.conf
4254 4251
 
4255 4252
   if [ ! -f /etc/dovecot/dovecot.conf ]; then
4256
-      echo 'Unable to find /etc/dovecot/dovecot.conf'
4253
+      echo $'Unable to find /etc/dovecot/dovecot.conf'
4257 4254
       exit 43890
4258 4255
   fi
4259 4256
   sed -i 's/#listen =.*/listen = */g' /etc/dovecot/dovecot.conf
4260 4257
 
4261 4258
   if [ ! -f /etc/dovecot/conf.d/10-auth.conf ]; then
4262
-      echo 'Unable to find /etc/dovecot/conf.d/10-auth.conf'
4259
+      echo $'Unable to find /etc/dovecot/conf.d/10-auth.conf'
4263 4260
       exit 843256
4264 4261
   fi
4265 4262
   sed -i 's/#disable_plaintext_auth =.*/disable_plaintext_auth = no/g' /etc/dovecot/conf.d/10-auth.conf
4266 4263
   sed -i 's/auth_mechanisms =.*/auth_mechanisms = plain login/g' /etc/dovecot/conf.d/10-auth.conf
4267 4264
 
4268 4265
   if [ ! -f /etc/dovecot/conf.d/10-mail.conf ]; then
4269
-      echo 'Unable to find /etc/dovecot/conf.d/10-mail.conf'
4266
+      echo $'Unable to find /etc/dovecot/conf.d/10-mail.conf'
4270 4267
       exit 42036
4271 4268
   fi
4272 4269
   sed -i 's|mail_location =.*|mail_location = maildir:~/Maildir:LAYOUT=fs|g' /etc/dovecot/conf.d/10-mail.conf
@@ -4374,8 +4371,8 @@ function create_gpg_subkey {
4374 4371
 
4375 4372
   GPG_KEY_USAGE=$1
4376 4373
   if [[ $GPG_KEY_USAGE != "sign" && $GPG_KEY_USAGE != "auth" && $GPG_KEY_USAGE != "encrypt" ]]; then
4377
-      echo "Unknown subkey usage: $GPG_KEY_USAGE"
4378
-      echo 'Available types: sign|auth|encrypt'
4374
+      echo $"Unknown subkey usage: $GPG_KEY_USAGE"
4375
+      echo $'Available types: sign|auth|encrypt'
4379 4376
       exit 14783
4380 4377
   fi
4381 4378
 
@@ -4531,28 +4528,28 @@ function configure_gpg {
4531 4528
       su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
4532 4529
 
4533 4530
       if grep -q "configure_email" $COMPLETION_FILE; then
4534
-          if ! grep -q "Change your GPG password" /home/$MY_USERNAME/README; then
4531
+          if ! grep -q $"Change your GPG password" /home/$MY_USERNAME/README; then
4535 4532
               echo '' >> /home/$MY_USERNAME/README
4536 4533
               echo '' >> /home/$MY_USERNAME/README
4537
-              echo 'Change your GPG password' >> /home/$MY_USERNAME/README
4534
+              echo $'Change your GPG password' >> /home/$MY_USERNAME/README
4538 4535
               echo '========================' >> /home/$MY_USERNAME/README
4539
-              echo "It's very important to add a password to your GPG key so that" >> /home/$MY_USERNAME/README
4540
-              echo "if anyone does get access to your email they still won't be able" >> /home/$MY_USERNAME/README
4541
-              echo 'to read them without knowning the GPG password.' >> /home/$MY_USERNAME/README
4542
-              echo 'You can change the it with:' >> /home/$MY_USERNAME/README
4536
+              echo $"It's very important to add a password to your GPG key so that" >> /home/$MY_USERNAME/README
4537
+              echo $"if anyone does get access to your email they still won't be able" >> /home/$MY_USERNAME/README
4538
+              echo $'to read them without knowning the GPG password.' >> /home/$MY_USERNAME/README
4539
+              echo $'You can change the it with:' >> /home/$MY_USERNAME/README
4543 4540
               echo '' >> /home/$MY_USERNAME/README
4544 4541
               echo "  gpg --edit-key $MY_GPG_PUBLIC_KEY_ID" >> /home/$MY_USERNAME/README
4545 4542
               echo '  passwd' >> /home/$MY_USERNAME/README
4546 4543
               echo '  save' >> /home/$MY_USERNAME/README
4547 4544
               echo '  quit' >> /home/$MY_USERNAME/README
4548 4545
           fi
4549
-          if ! grep -q "Publish your GPG public key" /home/$MY_USERNAME/README; then
4546
+          if ! grep -q $"Publish your GPG public key" /home/$MY_USERNAME/README; then
4550 4547
               echo '' >> /home/$MY_USERNAME/README
4551 4548
               echo '' >> /home/$MY_USERNAME/README
4552
-              echo 'Publish your GPG public key' >> /home/$MY_USERNAME/README
4549
+              echo $'Publish your GPG public key' >> /home/$MY_USERNAME/README
4553 4550
               echo '===========================' >> /home/$MY_USERNAME/README
4554
-              echo 'So that others can send emails to you securely you should' >> /home/$MY_USERNAME/README
4555
-              echo 'publish your GPG public key with the command:' >> /home/$MY_USERNAME/README
4551
+              echo $'So that others can send emails to you securely you should' >> /home/$MY_USERNAME/README
4552
+              echo $'publish your GPG public key with the command:' >> /home/$MY_USERNAME/README
4556 4553
               echo '' >> /home/$MY_USERNAME/README
4557 4554
               echo "  gpg --send-keys $MY_GPG_PUBLIC_KEY_ID" >> /home/$MY_USERNAME/README
4558 4555
           fi
@@ -4587,13 +4584,13 @@ function configure_backup_key {
4587 4584
       echo "Name-Comment: backup key" >> /home/$MY_USERNAME/gpg-genkey.conf
4588 4585
       echo 'Expire-Date: 0' >> /home/$MY_USERNAME/gpg-genkey.conf
4589 4586
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
4590
-      echo 'Backup key does not exist. Creating it.'
4587
+      echo $'Backup key does not exist. Creating it.'
4591 4588
       su -c "gpg --batch --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
4592 4589
       shred -zu /home/$MY_USERNAME/gpg-genkey.conf
4593
-      echo 'Checking that the Backup key was created'
4590
+      echo $'Checking that the Backup key was created'
4594 4591
       BACKUP_KEY_EXISTS=$(gpg_key_exists "$MY_USERNAME" "$MY_NAME (backup key)")
4595 4592
       if [[ $BACKUP_KEY_EXISTS == "no" ]]; then
4596
-          echo 'Backup key could not be created'
4593
+          echo $'Backup key could not be created'
4597 4594
           exit 43382
4598 4595
       fi
4599 4596
   fi
@@ -4785,7 +4782,7 @@ function email_client {
4785 4782
   apt-get -y install mutt-patched lynx abook
4786 4783
 
4787 4784
   if [ ! -f /etc/Muttrc ]; then
4788
-      echo "ERROR: Mutt does not appear to have installed. $CHECK_MESSAGE"
4785
+      echo $"ERROR: Mutt does not appear to have installed. $CHECK_MESSAGE"
4789 4786
       exit 49
4790 4787
   fi
4791 4788
 
@@ -5024,7 +5021,7 @@ function create_public_mailing_list {
5024 5021
   adduser $PUBLIC_MAILING_LIST_USER $PUBLIC_MAILING_LIST_USER
5025 5022
 
5026 5023
   echo ''
5027
-  echo "Creating the $PUBLIC_MAILING_LIST mailing list"
5024
+  echo $"Creating the $PUBLIC_MAILING_LIST mailing list"
5028 5025
   echo ''
5029 5026
 
5030 5027
   # create the list
@@ -5083,13 +5080,13 @@ function create_public_mailing_list {
5083 5080
   update-exim4.conf
5084 5081
   service exim4 restart
5085 5082
 
5086
-  if ! grep -q "$PUBLIC_MAILING_LIST mailing list" /home/$MY_USERNAME/README; then
5083
+  if ! grep -q $"$PUBLIC_MAILING_LIST mailing list" /home/$MY_USERNAME/README; then
5087 5084
       echo '' >> /home/$MY_USERNAME/README
5088 5085
       echo '' >> /home/$MY_USERNAME/README
5089
-      echo 'Public mailing list' >> /home/$MY_USERNAME/README
5090
-      echo '===================' >> /home/$MY_USERNAME/README
5091
-      echo "To subscribe to the $PUBLIC_MAILING_LIST mailing list send a" >> /home/$MY_USERNAME/README
5092
-      echo "cleartext email to $PUBLIC_MAILING_LIST+subscribe@$DEFAULT_DOMAIN_NAME" >> /home/$MY_USERNAME/README
5086
+      echo $"$PUBLIC_MAILING_LIST mailing list" >> /home/$MY_USERNAME/README
5087
+      echo '=================================' >> /home/$MY_USERNAME/README
5088
+      echo $"To subscribe to the $PUBLIC_MAILING_LIST mailing list send a" >> /home/$MY_USERNAME/README
5089
+      echo $"cleartext email to $PUBLIC_MAILING_LIST+subscribe@$DEFAULT_DOMAIN_NAME" >> /home/$MY_USERNAME/README
5093 5090
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
5094 5091
       chmod 600 /home/$MY_USERNAME/README
5095 5092
   fi
@@ -5200,11 +5197,11 @@ function import_email {
5200 5197
   fi
5201 5198
   if [ $IMPORT_MAILDIR ]; then
5202 5199
       if [ -d $IMPORT_MAILDIR ]; then
5203
-          echo 'Transfering email files'
5200
+          echo $'Transfering email files'
5204 5201
           cp -r $IMPORT_MAILDIR /home/$MY_USERNAME
5205 5202
           chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Maildir
5206 5203
       else
5207
-          echo "Email import directory $IMPORT_MAILDIR not found"
5204
+          echo $"Email import directory $IMPORT_MAILDIR not found"
5208 5205
           exit 9
5209 5206
       fi
5210 5207
   fi
@@ -5274,7 +5271,7 @@ function install_web_server {
5274 5271
   fi
5275 5272
 
5276 5273
   if [ ! -d /etc/nginx ]; then
5277
-      echo "ERROR: nginx does not appear to have installed. $CHECK_MESSAGE"
5274
+      echo $"ERROR: nginx does not appear to have installed. $CHECK_MESSAGE"
5278 5275
       exit 51
5279 5276
   fi
5280 5277
 
@@ -5417,11 +5414,11 @@ function install_mariadb {
5417 5414
   apt-get -y remove --purge apache*
5418 5415
   if [ -d /etc/apache2 ]; then
5419 5416
       rm -rf /etc/apache2
5420
-      echo 'Removed Apache installation after MariaDB install'
5417
+      echo $'Removed Apache installation after MariaDB install'
5421 5418
   fi
5422 5419
 
5423 5420
   if [ ! -d /etc/mysql ]; then
5424
-      echo "ERROR: mariadb-server does not appear to have installed. $CHECK_MESSAGE"
5421
+      echo $"ERROR: mariadb-server does not appear to have installed. $CHECK_MESSAGE"
5425 5422
       exit 54
5426 5423
   fi
5427 5424
 
@@ -5551,11 +5548,11 @@ function install_owncloud_music_app {
5551 5548
 
5552 5549
 function add_ddns_domain {
5553 5550
   if [ ! $CURRENT_DDNS_DOMAIN ]; then
5554
-      echo 'ddns domain not specified'
5551
+      echo $'ddns domain not specified'
5555 5552
       exit 5638
5556 5553
   fi
5557 5554
   if [ ! -f /etc/inadyn.conf ]; then
5558
-      echo 'Unable to find inadyn configuration file /etc/inadyn.conf'
5555
+      echo $'Unable to find inadyn configuration file /etc/inadyn.conf'
5559 5556
       exit 5745
5560 5557
   fi
5561 5558
   if ! grep -q "$DDNS_PROVIDER" /etc/inadyn.conf; then
@@ -6098,7 +6095,7 @@ function tox_avahi {
6098 6095
   fi
6099 6096
 
6100 6097
   if [ ! -d /etc/avahi ]; then
6101
-      echo 'tox_avahi: avahi is not installed'
6098
+      echo $'tox_avahi: avahi is not installed'
6102 6099
       exit 87359
6103 6100
   fi
6104 6101
 
@@ -6192,7 +6189,7 @@ function install_tox_node {
6192 6189
       exit 73862
6193 6190
   fi
6194 6191
 
6195
-  useradd --home-dir /var/lib/tox-bootstrapd --create-home --system --shell /sbin/nologin --comment "Account to run Tox's DHT bootstrap daemon" --user-group tox-bootstrapd
6192
+  useradd --home-dir /var/lib/tox-bootstrapd --create-home --system --shell /sbin/nologin --comment $"Account to run Tox's DHT bootstrap daemon" --user-group tox-bootstrapd
6196 6193
   chmod 700 /var/lib/tox-bootstrapd
6197 6194
   if [ ! -f $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf ]; then
6198 6195
       echo $"File not found $INSTALL_DIR/toxcore/other/bootstrap_daemon/tox-bootstrapd.conf"
@@ -6271,7 +6268,7 @@ function install_tox_node {
6271 6268
 
6272 6269
   configure_firewall_for_tox
6273 6270
 
6274
-  if ! grep -q "Tox node" /home/$MY_USERNAME/README; then
6271
+  if ! grep -q $"Your Tox node public key is" /home/$MY_USERNAME/README; then
6275 6272
       echo '' >> /home/$MY_USERNAME/README
6276 6273
       echo '' >> /home/$MY_USERNAME/README
6277 6274
       echo 'Tox' >> /home/$MY_USERNAME/README
@@ -6350,7 +6347,7 @@ function install_xmpp {
6350 6347
   apt-get -y install prosody
6351 6348
 
6352 6349
   if [ ! -d /etc/prosody ]; then
6353
-      echo "ERROR: prosody does not appear to have installed. $CHECK_MESSAGE"
6350
+      echo $"ERROR: prosody does not appear to have installed. $CHECK_MESSAGE"
6354 6351
       exit 52
6355 6352
   fi
6356 6353
 
@@ -6440,7 +6437,7 @@ function install_xmpp {
6440 6437
       prosodyctl register $MY_USERNAME $DEFAULT_DOMAIN_NAME $XMPP_PASSWORD
6441 6438
       echo '' >> /home/$MY_USERNAME/README
6442 6439
       echo '' >> /home/$MY_USERNAME/README
6443
-      echo 'XMPP' >> /home/$MY_USERNAME/README
6440
+      echo $'XMPP' >> /home/$MY_USERNAME/README
6444 6441
       echo '====' >> /home/$MY_USERNAME/README
6445 6442
       echo $"Your XMPP password is: $XMPP_PASSWORD" >> /home/$MY_USERNAME/README
6446 6443
       echo $'You can change it with: ' >> /home/$MY_USERNAME/README
@@ -6553,12 +6550,12 @@ function install_irc_server {
6553 6550
   echo '  echo " IRC daemon restarted" >> $LOGFILE' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
6554 6551
   echo 'fi' >> /usr/bin/$WATCHDOG_SCRIPT_NAME
6555 6552
 
6556
-  if ! grep -q "IRC Server" /home/$MY_USERNAME/README; then
6553
+  if ! grep -q $"IRC Server" /home/$MY_USERNAME/README; then
6557 6554
       echo '' >> /home/$MY_USERNAME/README
6558 6555
       echo '' >> /home/$MY_USERNAME/README
6559
-      echo 'IRC Server' >> /home/$MY_USERNAME/README
6556
+      echo $'IRC Server' >> /home/$MY_USERNAME/README
6560 6557
       echo '==========' >> /home/$MY_USERNAME/README
6561
-      echo 'To connect to your IRC server in irssi:' >> /home/$MY_USERNAME/README
6558
+      echo $'To connect to your IRC server in irssi:' >> /home/$MY_USERNAME/README
6562 6559
       echo '' >> /home/$MY_USERNAME/README
6563 6560
       echo "  /server add -auto -ssl $DEFAULTDOMAIN $IRC_PORT" >> /home/$MY_USERNAME/README
6564 6561
       echo "  /connect $DEFAULT_DOMAIN_NAME" >> /home/$MY_USERNAME/README
@@ -6592,7 +6589,7 @@ function install_wiki {
6592 6589
   apt-get -y remove --purge apache*
6593 6590
   if [ -d /etc/apache2 ]; then
6594 6591
       rm -rf /etc/apache2
6595
-      echo 'Removed Apache installation after Dokuwiki install'
6592
+      echo $'Removed Apache installation after Dokuwiki install'
6596 6593
   fi
6597 6594
 
6598 6595
   if [ ! -d /var/www/$WIKI_DOMAIN_NAME ]; then