diff --git a/README.md b/README.md index 9f9d3d0c0..64dcd3529 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,9 @@ personal servers running free software for private, personal communications. It is a networking appliance designed to allow interfacing with the rest of the Internet under conditions of protected privacy and data security. It hosts applications such as -blog, wiki, website, social network, email, web proxy and a Tor relay -on a device that can replace your Wi-Fi router so that your data stays -with you. +blog, wiki, website, social network, email, web proxy and a Tor relay, +on a device that can replace your Wi-Fi router, so that your data +stays with you. Plinth is a web interface to administer the functions of the FreedomBox. It is extensible and provides various applications of diff --git a/plinth/modules/avahi/templates/avahi.html b/plinth/modules/avahi/templates/avahi.html index 80d55550a..c3d1b98d7 100644 --- a/plinth/modules/avahi/templates/avahi.html +++ b/plinth/modules/avahi/templates/avahi.html @@ -27,11 +27,11 @@

{% blocktrans trimmed %} - Service discovery allows other machines on the network to - discover your FreedomBox and services running on it. It also - allows FreedomBox to discover other machines and services - running on your local network. Service discovery is not - essential and works only on internal networks. It may be + Service discovery allows other devices on the network to + discover your {{ box_name }} and services running on it. It + also allows {{ box_name }} to discover other devices and + services running on your local network. Service discovery is + not essential and works only on internal networks. It may be disabled to improve security especially when connecting to a hostile local network. {% endblocktrans %} diff --git a/plinth/modules/config/config.py b/plinth/modules/config/config.py index cd78025c1..f730f83d1 100644 --- a/plinth/modules/config/config.py +++ b/plinth/modules/config/config.py @@ -38,6 +38,7 @@ from plinth.modules.names import SERVICES from plinth.signals import pre_hostname_change, post_hostname_change from plinth.signals import domainname_change from plinth.signals import domain_added, domain_removed +from plinth.utils import format_lazy HOSTNAME_REGEX = r'^[a-zA-Z0-9]([-a-zA-Z0-9]{,61}[a-zA-Z0-9])?$' @@ -92,12 +93,12 @@ class ConfigurationForm(forms.Form): # https://tools.ietf.org/html/rfc2181#section-11 hostname = TrimmedCharField( label=ugettext_lazy('Hostname'), - help_text=\ - ugettext_lazy('Hostname is the local name by which other machines on ' - 'the local network reach your machine. It must start ' - 'and end with an alphabet or a digit and have as ' - 'interior characters only alphabets, digits and ' - 'hyphens. Total length must be 63 characters or less.'), + help_text=format_lazy(ugettext_lazy( + 'Hostname is the local name by which other devices on the local ' + 'network can reach your {box_name}. It must start and end with ' + 'an alphabet or a digit and have as interior characters only ' + 'alphabets, digits and hyphens. Total length must be 63 ' + 'characters or less.'), box_name=ugettext_lazy(cfg.box_name)), validators=[ validators.RegexValidator( HOSTNAME_REGEX, @@ -105,14 +106,14 @@ class ConfigurationForm(forms.Form): domainname = TrimmedCharField( label=ugettext_lazy('Domain Name'), - help_text=\ - ugettext_lazy('Domain name is the global name by which other machines ' - 'on the Internet can reach you. It must consist of ' - 'labels separated by dots. Each label must start and ' - 'end with an alphabet or a digit and have as interior ' - 'characters only alphabets, digits and hyphens. Length ' - 'of each label must be 63 characters or less. Total ' - 'length of domain name must be 253 characters or less.'), + help_text=format_lazy(ugettext_lazy( + 'Domain name is the global name by which other devices on the ' + 'Internet can reach your {box_name}. It must consist of labels ' + 'separated by dots. Each label must start and end with an ' + 'alphabet or a digit and have as interior characters only ' + 'alphabets, digits and hyphens. Length of each label must be 63 ' + 'characters or less. Total length of domain name must be 253 ' + 'characters or less.'), box_name=ugettext_lazy(cfg.box_name)), required=False, validators=[ validators.RegexValidator( @@ -123,8 +124,7 @@ class ConfigurationForm(forms.Form): language = forms.ChoiceField( label=ugettext_lazy('Language'), help_text=\ - ugettext_lazy('Language for this FreedomBox web administration ' - 'interface'), + ugettext_lazy('Language for this web administration interface'), required=False, choices=settings.LANGUAGES) diff --git a/plinth/modules/dynamicdns/dynamicdns.py b/plinth/modules/dynamicdns/dynamicdns.py index 4fef37df6..490ec98c6 100644 --- a/plinth/modules/dynamicdns/dynamicdns.py +++ b/plinth/modules/dynamicdns/dynamicdns.py @@ -26,6 +26,7 @@ import logging from plinth import actions from plinth import cfg from plinth import package +from plinth.utils import format_lazy logger = logging.getLogger(__name__) EMPTYSTRING = 'none' @@ -78,9 +79,10 @@ class ConfigureForm(forms.Form): help_server = \ ugettext_lazy('Please do not enter a URL here (like ' '"https://example.com/") but only the hostname of the ' - 'GnuDIP server (like "example.pcom").') - help_domain = \ - ugettext_lazy('The public domain name you want use to reach your box.') + 'GnuDIP server (like "example.com").') + help_domain = format_lazy( + ugettext_lazy('The public domain name you want use to reach your ' + '{box_name}.'), box_name=ugettext_lazy(cfg.box_name)) help_disable_ssl = \ ugettext_lazy('Use this option if your provider uses self signed ' 'certificates.') @@ -90,13 +92,14 @@ class ConfigureForm(forms.Form): help_secret = \ ugettext_lazy('Leave this field empty if you want to keep your ' 'previous configured password.') - help_ip_url = \ - ugettext_lazy('Optional Value. If your FreedomBox is not connected ' + help_ip_url = format_lazy( + ugettext_lazy('Optional Value. If your {box_name} is not connected ' 'directly to the Internet (i.e. connected to a NAT ' 'router) this URL is used to figure out the real ' - 'Internet IP. The URL should simply return the IP where' - 'the client comes from. Example: ' - 'http://myip.datasystems24.de') + 'Internet IP. The URL should simply return the IP where ' + 'the client comes from (example: ' + 'http://myip.datasystems24.de).'), + box_name=ugettext_lazy(cfg.box_name)) help_user = \ ugettext_lazy('You should have been requested to select a username ' 'when you created the account.') @@ -129,11 +132,11 @@ class ConfigureForm(forms.Form): help_text=help_update_url) disable_SSL_cert_check = forms.BooleanField( - label=ugettext_lazy('accept all SSL certificates'), + label=ugettext_lazy('Accept all SSL certificates'), help_text=help_disable_ssl, required=False) use_http_basic_auth = forms.BooleanField( - label=ugettext_lazy('use HTTP basic authentication'), + label=ugettext_lazy('Use HTTP basic authentication'), help_text=help_http_auth, required=False) dynamicdns_domain = TrimmedCharField( @@ -151,7 +154,7 @@ class ConfigureForm(forms.Form): label=ugettext_lazy('Password'), widget=forms.PasswordInput(), required=False, help_text=help_secret) - showpw = forms.BooleanField(label=ugettext_lazy('show password'), + showpw = forms.BooleanField(label=ugettext_lazy('Show password'), required=False) dynamicdns_ipurl = TrimmedCharField( diff --git a/plinth/modules/dynamicdns/templates/dynamicdns.html b/plinth/modules/dynamicdns/templates/dynamicdns.html index aa8e4b1af..5ad1ec90b 100644 --- a/plinth/modules/dynamicdns/templates/dynamicdns.html +++ b/plinth/modules/dynamicdns/templates/dynamicdns.html @@ -22,7 +22,7 @@ {% block content %} -

{% trans "DynamicDNS client" %}

+

{% trans "Dynamic DNS Client" %}

{% blocktrans trimmed %} @@ -41,7 +41,7 @@ public IP address to an gnudip server. Afterwards the Server will assign your DNS name with the - new IP and if someone from the internet asks for your DNS name + new IP and if someone from the Internet asks for your DNS name he will get your current IP answered. {% endblocktrans %}

diff --git a/plinth/modules/dynamicdns/templates/dynamicdns_status.html b/plinth/modules/dynamicdns/templates/dynamicdns_status.html index dc11a96b9..74ad2d0b1 100644 --- a/plinth/modules/dynamicdns/templates/dynamicdns_status.html +++ b/plinth/modules/dynamicdns/templates/dynamicdns_status.html @@ -32,14 +32,14 @@ {% endblocktrans %} {% else %} {% if no_nat %} - {% trans "Direct connection to the internet." %} + {% trans "Direct connection to the Internet." %} {% else %} {% blocktrans trimmed %} - Behind NAT, this means that dynamic DNS service will poll - the "IP check URL" for changes (we need the "IP check URL" - for this reason - otherwise we will not detect IP changes). - It may take up to {{ timer }} minutes until we update your - DNS entry in case of WAN IP change. + Behind NAT. This means that Dynamic DNS service will poll + the "IP check URL" for changes (the "IP check URL" entry is + needed for this - otherwise IP changes will not be + detected). In case the WAN IP changes, it may take up to + {{ timer }} minutes until your DNS entry is updated. {% endblocktrans %} {% endif %} {% endif %} diff --git a/plinth/modules/firewall/templates/firewall.html b/plinth/modules/firewall/templates/firewall.html index 6646ac642..e59d4052d 100644 --- a/plinth/modules/firewall/templates/firewall.html +++ b/plinth/modules/firewall/templates/firewall.html @@ -25,15 +25,15 @@

{{ title }}

- Firewall is a network security system that controls the incoming - and outgoing network traffic on your {{ box_name }}. Keeping a {% blocktrans trimmed %} + Firewall is a security system that controls the incoming and + outgoing network traffic on your {{ box_name }}. Keeping a firewall enabled and properly configured reduces risk of security threat from the Internet. {% endblocktrans %}

-

{% trans "The following is the current status:" %}

+

{% trans "Current status:" %}

{% if firewall_status == 'not_running' %} @@ -102,8 +102,8 @@ {% blocktrans trimmed %} The operation of the firewall is automatic. When you enable - a service it is automatically permitted in the firewall and - you disable a service is automatically disabled in the firewall. + a service it is also permitted in the firewall and when you + disable a service it is also disabled in the firewall. {% endblocktrans %}

diff --git a/plinth/modules/first_boot/templates/firstboot_state10.html b/plinth/modules/first_boot/templates/firstboot_state10.html index 213ff09f2..93fb7d5e2 100644 --- a/plinth/modules/first_boot/templates/firstboot_state10.html +++ b/plinth/modules/first_boot/templates/firstboot_state10.html @@ -31,8 +31,8 @@

{% blocktrans trimmed %} {{ box_name }} setup is now complete. To make your {{ box_name }} - functional, you need some applications. Applications will be - installed the first time you access them. + functional, you need some applications. They will be installed + the first time you access them. {% endblocktrans %}

diff --git a/plinth/modules/help/templates/help_about.html b/plinth/modules/help/templates/help_about.html index 83e44eeaf..1c7beafbd 100644 --- a/plinth/modules/help/templates/help_about.html +++ b/plinth/modules/help/templates/help_about.html @@ -28,14 +28,14 @@

{% blocktrans trimmed %} - FreedomBox is a community project to develop, design and promote - personal servers running free software for private, personal - communications. It is a networking appliance designed to allow - interfacing with the rest of the Internet under conditions of - protected privacy and data security. It hosts applications such - as blog, wiki, website, social network, email, web proxy and a - Tor relay on a device that can replace your Wi-Fi router so that - your data stays with you. + {{ box_name }} is a community project to develop, design and + promote personal servers running free software for private, + personal communications. It is a networking appliance designed + to allow interfacing with the rest of the Internet under + conditions of protected privacy and data security. It hosts + applications such as blog, wiki, website, social network, email, + web proxy and a Tor relay, on a device that can replace your + Wi-Fi router, so that your data stays with you. {% endblocktrans %}

diff --git a/plinth/modules/ikiwiki/__init__.py b/plinth/modules/ikiwiki/__init__.py index 5a67f0fd8..402f4b6ae 100644 --- a/plinth/modules/ikiwiki/__init__.py +++ b/plinth/modules/ikiwiki/__init__.py @@ -35,12 +35,12 @@ service = None def init(): """Initialize the ikiwiki module.""" menu = cfg.main_menu.get('apps:index') - menu.add_urlname(_('Wiki & Blog (Ikiwiki)'), 'glyphicon-edit', + menu.add_urlname(_('Wiki and Blog (ikiwiki)'), 'glyphicon-edit', 'ikiwiki:index', 1100) global service service = service_module.Service( - 'ikiwiki', _('Ikiwiki wikis and blogs'), ['http', 'https'], + 'ikiwiki', _('ikiwiki wikis and blogs'), ['http', 'https'], is_external=True, enabled=is_enabled()) diff --git a/plinth/modules/ikiwiki/forms.py b/plinth/modules/ikiwiki/forms.py index 4c711c738..11d3c8020 100644 --- a/plinth/modules/ikiwiki/forms.py +++ b/plinth/modules/ikiwiki/forms.py @@ -26,7 +26,7 @@ from django.utils.translation import ugettext_lazy as _ class IkiwikiForm(forms.Form): """ikiwiki configuration form.""" enabled = forms.BooleanField( - label=_('Enable Ikiwiki'), + label=_('Enable ikiwiki'), required=False) diff --git a/plinth/modules/ikiwiki/templates/ikiwiki_delete.html b/plinth/modules/ikiwiki/templates/ikiwiki_delete.html index 19f00e291..ce7135096 100644 --- a/plinth/modules/ikiwiki/templates/ikiwiki_delete.html +++ b/plinth/modules/ikiwiki/templates/ikiwiki_delete.html @@ -25,14 +25,15 @@

{% blocktrans trimmed %} - Delete Wiki/Blog {{ name }} + Delete Wiki or Blog {{ name }} {% endblocktrans %}

{% blocktrans trimmed %} This action will remove all the posts, pages and comments - including revision history. Delete this wiki/blog permanently? + including revision history. Delete this wiki or blog + permanently? {% endblocktrans %}

diff --git a/plinth/modules/ikiwiki/views.py b/plinth/modules/ikiwiki/views.py index b8e2d6750..37bfaf5c3 100644 --- a/plinth/modules/ikiwiki/views.py +++ b/plinth/modules/ikiwiki/views.py @@ -41,7 +41,7 @@ subsubmenu = [{'url': reverse_lazy('ikiwiki:index'), def on_install(): - """Enable Ikiwiki on install.""" + """Enable ikiwiki on install.""" actions.superuser_run('ikiwiki', ['setup']) ikiwiki.service.notify_enabled(None, True) @@ -70,7 +70,7 @@ def index(request): form = IkiwikiForm(initial=status, prefix='ikiwiki') return TemplateResponse(request, 'ikiwiki.html', - {'title': _('Wiki & Blog'), + {'title': _('Wiki and Blog'), 'status': status, 'form': form, 'subsubmenu': subsubmenu}) @@ -129,7 +129,7 @@ def create(request): form = IkiwikiCreateForm(prefix='ikiwiki') return TemplateResponse(request, 'ikiwiki_create.html', - {'title': _('Create Wiki/Blog'), + {'title': _('Create Wiki or Blog'), 'form': form, 'subsubmenu': subsubmenu}) @@ -179,6 +179,6 @@ def delete(request, name): return redirect(reverse_lazy('ikiwiki:manage')) return TemplateResponse(request, 'ikiwiki_delete.html', - {'title': _('Delete Wiki/Blog'), + {'title': _('Delete Wiki or Blog'), 'subsubmenu': subsubmenu, 'name': name}) diff --git a/plinth/modules/networks/templates/connection_show.html b/plinth/modules/networks/templates/connection_show.html index 9ef544235..750f8dee9 100644 --- a/plinth/modules/networks/templates/connection_show.html +++ b/plinth/modules/networks/templates/connection_show.html @@ -320,7 +320,7 @@ This interface is not maintained by {{ box_name }}. Its security status is unknown to {{ box_name }}. Many {{ box_name }} services may not be available on this interface. It is - recommended that you deactivate/delete this connection and + recommended that you deactivate or delete this connection and re-configure it. {% endblocktrans %} diff --git a/plinth/modules/openvpn/templates/openvpn.html b/plinth/modules/openvpn/templates/openvpn.html index 654c47722..d2ff0c5d8 100644 --- a/plinth/modules/openvpn/templates/openvpn.html +++ b/plinth/modules/openvpn/templates/openvpn.html @@ -37,7 +37,7 @@

{% blocktrans trimmed %} Virtual Private Network (VPN) is a technique for securely - connecting two machines in order to access resources of a + connecting two devices in order to access resources of a private network. While you are away from home, you can connect to your {{ box_name }} in order to join your home network and access private/internal services provided by {{ box_name }}. diff --git a/plinth/modules/tor/tor.py b/plinth/modules/tor/tor.py index d4f430284..cb93235b4 100644 --- a/plinth/modules/tor/tor.py +++ b/plinth/modules/tor/tor.py @@ -51,7 +51,7 @@ class TorForm(forms.Form): # pylint: disable=W0232 required=False, help_text=format_lazy(_( 'A hidden service will allow {box_name} to provide selected ' - 'services (such as ownCloud or Chat) without revealing its ' + 'services (such as ownCloud or chat) without revealing its ' 'location.'), box_name=_(cfg.box_name))) apt_transport_tor_enabled = forms.BooleanField( label=_('Download software packages over Tor'),