From bdb090e386835190c945ce5884267f51542dd6af Mon Sep 17 00:00:00 2001 From: Matt Conroy Date: Mon, 18 Nov 2019 00:45:18 -0500 Subject: [PATCH 01/58] pagekite: Get rid of tabs in the configuration page Made the changes requested in issue #1693 to the pagekite configuration page. Removed the tabs and the javascript. Made a sort of hacky but working solution to always having the standard pagekite services being enabled. Put custom services configuration below the regular configuration and added a separate add custom service page a la the Gitweb page. Fixed formatting issues. Signed-off-by: Matt Conroy Reviewed-by: Joseph Nuthalapati --- plinth/modules/pagekite/forms.py | 55 ++++------- plinth/modules/pagekite/static/pagekite.js | 34 ------- .../templates/pagekite_configure.html | 81 ++++++++++++---- .../templates/pagekite_custom_services.html | 93 +++---------------- plinth/modules/pagekite/urls.py | 9 +- plinth/modules/pagekite/views.py | 52 ++++------- 6 files changed, 117 insertions(+), 207 deletions(-) delete mode 100644 plinth/modules/pagekite/static/pagekite.js diff --git a/plinth/modules/pagekite/forms.py b/plinth/modules/pagekite/forms.py index 5c1710417..e9286c508 100644 --- a/plinth/modules/pagekite/forms.py +++ b/plinth/modules/pagekite/forms.py @@ -112,6 +112,24 @@ class ConfigurationForm(forms.Form): if old['enabled'] != new['enabled']: if new['enabled']: utils.run(['start-and-enable']) + # Ensure all standard/predefined services are enabled + for service_name in utils.PREDEFINED_SERVICES.keys(): + service = \ + utils.PREDEFINED_SERVICES[service_name]['params'] + service = json.dumps(service) + + # Probably should keep track of which services + # are enabled since adding the service produces + # an error if it is already added. But this works + # too. + + try: + utils.run(['add-service', '--service', service]) + except ActionError as exception: + if "already exists" in str(exception): + pass + else: + raise messages.success(request, _('PageKite enabled')) else: utils.run(['stop-and-disable']) @@ -127,43 +145,6 @@ class ConfigurationForm(forms.Form): kite_name=new['kite_name']) -class StandardServiceForm(forms.Form): - """Creates a form out of PREDEFINED_SERVICES""" - - def __init__(self, *args, **kwargs): - """Add the fields from PREDEFINED_SERVICES""" - super(StandardServiceForm, self).__init__(*args, **kwargs) - kite = utils.get_kite_details() - for name, service in utils.PREDEFINED_SERVICES.items(): - if name in ('http', 'https'): - help_text = service['help_text'].format(kite['kite_name']) - else: - help_text = service['help_text'] - self.fields[name] = forms.BooleanField( - label=service['label'], help_text=help_text, required=False) - - def save(self, request): - formdata = self.cleaned_data - for service_name in utils.PREDEFINED_SERVICES.keys(): - if self.initial[service_name] != formdata[service_name]: - service = utils.PREDEFINED_SERVICES[service_name]['params'] - service = json.dumps(service) - if formdata[service_name]: - utils.run(['add-service', '--service', service]) - messages.success( - request, - _('Service enabled: {name}').format(name=service_name)) - else: - utils.run(['remove-service', '--service', service]) - messages.success( - request, - _('Service disabled: {name}').format( - name=service_name)) - - # Update kite services registered with Name Services module. - utils.update_names_module() - - class BaseCustomServiceForm(forms.Form): """Basic form functionality to handle a custom service""" choices = [('http', 'http'), ('https', 'https'), ('raw', 'raw')] diff --git a/plinth/modules/pagekite/static/pagekite.js b/plinth/modules/pagekite/static/pagekite.js deleted file mode 100644 index 5cba2f6b7..000000000 --- a/plinth/modules/pagekite/static/pagekite.js +++ /dev/null @@ -1,34 +0,0 @@ -/** - * @licstart The following is the entire license notice for the JavaScript - * code in this page. - * - * This file is part of FreedomBox. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - * @licend The above is the entire license notice for the JavaScript code - * in this page. - */ - -(function($) { - - $('#id_pagekite-enabled').change(function() { - if ($('#id_pagekite-enabled').prop('checked')) { - $('#pagekite-post-enabled-form').show('fast'); - } else { - $('#pagekite-post-enabled-form').hide('fast'); - } - }).change(); - -})(jQuery); diff --git a/plinth/modules/pagekite/templates/pagekite_configure.html b/plinth/modules/pagekite/templates/pagekite_configure.html index 9cc06835c..d9be91fef 100644 --- a/plinth/modules/pagekite/templates/pagekite_configure.html +++ b/plinth/modules/pagekite/templates/pagekite_configure.html @@ -21,29 +21,74 @@ {% load bootstrap %} {% load i18n %} {% load static %} +{% load pagekite_extras %} + +{% block page_head %} + + +{% endblock %} {% block configuration %} +{{ block.super }} -
- {% csrf_token %} +

{% trans "Custom Services" %}

- {% include 'bootstrapform/field.html' with field=form.enabled %} + + + {% trans 'Add Custom Service' %} + -
-

{% trans "PageKite Account" %}

- {{ form.server_domain|bootstrap_horizontal }} - {{ form.server_port|bootstrap_horizontal }} - {{ form.kite_name|bootstrap_horizontal }} - {{ form.kite_secret|bootstrap_horizontal }} +
+

{% trans "Existing custom services" %}

+ + {% if not custom_services %} + {% trans "You don't have any Custom Services enabled" %} + {% endif %} + +
+ {% for service in custom_services %} + {% create_pagekite_service_url service kite_name as service_url %} +
+ + + {% if service_url|slice:":4" == "http" %} + {{ service_url }} + {% else %} + {{ service_url }} + {% endif %} +
+ {% blocktrans trimmed with backend_host=service.backend_host backend_port=service.backend_port %} + connected to {{ backend_host }}:{{ backend_port }} + {% endblocktrans %} +
+
+ +
+ {% csrf_token %} + {{ service.form.as_p }} +
+ + +
+ {% endfor %} +
- - - -{% endblock %} - -{% block page_js %} - {% endblock %} diff --git a/plinth/modules/pagekite/templates/pagekite_custom_services.html b/plinth/modules/pagekite/templates/pagekite_custom_services.html index 84693c846..918d4c6e5 100644 --- a/plinth/modules/pagekite/templates/pagekite_custom_services.html +++ b/plinth/modules/pagekite/templates/pagekite_custom_services.html @@ -1,4 +1,4 @@ -{% extends "pagekite_base.html" %} +{% extends "base.html" %} {% comment %} # # This file is part of FreedomBox. @@ -20,95 +20,32 @@ {% load bootstrap %} {% load i18n %} +{% load static %} {% load pagekite_extras %} -{% block page_head %} - -{% endblock %} -{% block configuration %} +{% block content %} +

{% trans 'Add custom PageKite service' %}

+ -
+
+ {% csrf_token %} -
- -

{% trans "Create a custom service" %}

- {{ form|bootstrap_horizontal:'col-lg-6' }} + {{ form|bootstrap }} - {% csrf_token %} - -
-
- -
-
- -
- -
-

{% trans "Existing custom services" %}

- - {% if not custom_services %} - {% trans "You don't have any Custom Services enabled" %} - {% endif %} - -
- {% for service in custom_services %} - {% create_pagekite_service_url service kite_name as service_url %} -
- - - {% if service_url|slice:":4" == "http" %} - {{ service_url }} - {% else %} - {{ service_url }} - {% endif %} -
- {% blocktrans trimmed with backend_host=service.backend_host backend_port=service.backend_port %} - connected to {{ backend_host }}:{{ backend_port }} - {% endblocktrans %} -
-
-
-
- {% csrf_token %} - {{ service.form.as_p }} -
- -
-
- {% endfor %} -
-
- -
+ + {% endblock %} diff --git a/plinth/modules/pagekite/urls.py b/plinth/modules/pagekite/urls.py index 3dc4bf949..8eb83486d 100644 --- a/plinth/modules/pagekite/urls.py +++ b/plinth/modules/pagekite/urls.py @@ -20,15 +20,12 @@ URLs for the PageKite module from django.conf.urls import url -from .views import (ConfigurationView, CustomServiceView, DeleteServiceView, - StandardServiceView) +from .views import (ConfigurationView, AddCustomServiceView, DeleteServiceView) urlpatterns = [ url(r'^sys/pagekite/$', ConfigurationView.as_view(), name='index'), - url(r'^sys/pagekite/services/standard/$', StandardServiceView.as_view(), - name='standard-services'), - url(r'^sys/pagekite/services/custom/$', CustomServiceView.as_view(), - name='custom-services'), + url(r'^sys/pagekite/services/custom/add/$', AddCustomServiceView.as_view(), + name='add-custom-service'), url(r'^sys/pagekite/services/custom/delete/$', DeleteServiceView.as_view(), name='delete-custom-service'), ] diff --git a/plinth/modules/pagekite/views.py b/plinth/modules/pagekite/views.py index 7b892576f..f3351f27c 100644 --- a/plinth/modules/pagekite/views.py +++ b/plinth/modules/pagekite/views.py @@ -17,7 +17,6 @@ from django.http import HttpResponseRedirect from django.urls import reverse, reverse_lazy -from django.utils.translation import ugettext_lazy as _ from django.views.generic import TemplateView, View from django.views.generic.edit import FormView @@ -25,20 +24,7 @@ from plinth.modules import pagekite from . import utils from .forms import (AddCustomServiceForm, ConfigurationForm, - DeleteCustomServiceForm, StandardServiceForm) - -subsubmenu = [{ - 'url': reverse_lazy('pagekite:index'), - 'text': _('Configure') -}, - { - 'url': reverse_lazy('pagekite:standard-services'), - 'text': _('Standard Services') - }, - { - 'url': reverse_lazy('pagekite:custom-services'), - 'text': _('Custom Services') - }] + DeleteCustomServiceForm) class ContextMixin(object): @@ -54,7 +40,6 @@ class ContextMixin(object): context['name'] = pagekite.name context['description'] = pagekite.description context['manual_page'] = pagekite.manual_page - context['subsubmenu'] = subsubmenu return context def dispatch(self, *args, **kwargs): @@ -66,14 +51,14 @@ class DeleteServiceView(ContextMixin, View): form = DeleteCustomServiceForm(request.POST) if form.is_valid(): form.delete(request) - return HttpResponseRedirect(reverse('pagekite:custom-services')) + return HttpResponseRedirect(reverse('pagekite:index')) -class CustomServiceView(ContextMixin, TemplateView): +class AddCustomServiceView(ContextMixin, TemplateView): template_name = 'pagekite_custom_services.html' def get_context_data(self, *args, **kwargs): - context = super(CustomServiceView, self).get_context_data( + context = super(AddCustomServiceView, self).get_context_data( *args, **kwargs) unused, custom_services = utils.get_pagekite_services() for service in custom_services: @@ -99,21 +84,7 @@ class CustomServiceView(ContextMixin, TemplateView): context = self.get_context_data() context['form'] = form - - return self.render_to_response(context) - - -class StandardServiceView(ContextMixin, FormView): - template_name = 'pagekite_standard_services.html' - form_class = StandardServiceForm - success_url = reverse_lazy('pagekite:standard-services') - - def get_initial(self): - return utils.get_pagekite_services()[0] - - def form_valid(self, form): - form.save(self.request) - return super(StandardServiceView, self).form_valid(form) + return HttpResponseRedirect(reverse('pagekite:index')) class ConfigurationView(ContextMixin, FormView): @@ -122,6 +93,19 @@ class ConfigurationView(ContextMixin, FormView): prefix = 'pagekite' success_url = reverse_lazy('pagekite:index') + def get_context_data(self, *args, **kwargs): + context = super(ConfigurationView, self).get_context_data( + *args, **kwargs) + unused, custom_services = utils.get_pagekite_services() + for service in custom_services: + service['form'] = AddCustomServiceForm(initial=service) + context['custom_services'] = [ + utils.prepare_service_for_display(service) + for service in custom_services + ] + context.update(utils.get_kite_details()) + return context + def get_initial(self): return utils.get_pagekite_config() From 6f975a159cdbaa5f6478ddcd5d8c3b3e752bb53b Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Wed, 20 Nov 2019 04:57:28 +0530 Subject: [PATCH 02/58] pagekite: Fix functional tests Signed-off-by: Joseph Nuthalapati --- functional_tests/support/system.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/functional_tests/support/system.py b/functional_tests/support/system.py index 6f3b28df1..8f47ab5b1 100644 --- a/functional_tests/support/system.py +++ b/functional_tests/support/system.py @@ -278,7 +278,6 @@ def download_file_logged_in(browser, url, suffix=''): def pagekite_enable(browser, should_enable): """Enable/disable pagekite service.""" nav_to_module(browser, 'pagekite') - browser.find_link_by_href('/plinth/sys/pagekite/').first.click() checkbox = browser.find_by_id('id_pagekite-enabled').first if checkbox.checked == should_enable: return @@ -294,14 +293,12 @@ def pagekite_enable(browser, should_enable): def pagekite_is_enabled(browser): """Return whether pagekite is enabled.""" nav_to_module(browser, 'pagekite') - browser.find_link_by_href('/plinth/sys/pagekite/').first.click() return browser.find_by_id('id_pagekite-enabled').checked def pagekite_configure(browser, host, port, kite_name, kite_secret): """Configure pagekite basic parameters.""" nav_to_module(browser, 'pagekite') - browser.find_link_by_href('/plinth/sys/pagekite/').first.click() # time.sleep(0.250) # Wait for 200ms show animation to complete browser.fill('pagekite-server_domain', host) browser.fill('pagekite-server_port', str(port)) @@ -313,7 +310,6 @@ def pagekite_configure(browser, host, port, kite_name, kite_secret): def pagekite_get_configuration(browser): """Return pagekite basic parameters.""" nav_to_module(browser, 'pagekite') - browser.find_link_by_href('/plinth/sys/pagekite/').first.click() return (browser.find_by_name('pagekite-server_domain').value, int(browser.find_by_name('pagekite-server_port').value), browser.find_by_name('pagekite-kite_name').value, From c2412621b3dd965ce69ead666c2db43d3c2420f7 Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Wed, 20 Nov 2019 05:02:48 +0530 Subject: [PATCH 03/58] pagekite: Show existing services only if there are any Reduces visual noise on the page. Some formatting changes Signed-off-by: Joseph Nuthalapati --- .../templates/pagekite_configure.html | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/plinth/modules/pagekite/templates/pagekite_configure.html b/plinth/modules/pagekite/templates/pagekite_configure.html index d9be91fef..9a8b4de51 100644 --- a/plinth/modules/pagekite/templates/pagekite_configure.html +++ b/plinth/modules/pagekite/templates/pagekite_configure.html @@ -40,23 +40,20 @@ {% endblock %} {% block configuration %} -{{ block.super }} + {{ block.super }} -

{% trans "Custom Services" %}

+

{% trans "Custom Services" %}

- - - {% trans 'Add Custom Service' %} - + + + {% trans 'Add Custom Service' %} + + {% if custom_services %}

{% trans "Existing custom services" %}

- {% if not custom_services %} - {% trans "You don't have any Custom Services enabled" %} - {% endif %} -
{% for service in custom_services %} {% create_pagekite_service_url service kite_name as service_url %} @@ -84,11 +81,12 @@ title="{% trans "Delete this service" %}"> - +
{% endfor %}
+ {% endif %} {% endblock %} From 71ccb5882b7a260d2416e2cf4bc5783915b041a6 Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Wed, 20 Nov 2019 05:55:21 +0530 Subject: [PATCH 04/58] pagekite: Make Custom Services look like it's under Configuration Signed-off-by: Joseph Nuthalapati --- plinth/modules/pagekite/templates/pagekite_configure.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plinth/modules/pagekite/templates/pagekite_configure.html b/plinth/modules/pagekite/templates/pagekite_configure.html index 9a8b4de51..8c628a17d 100644 --- a/plinth/modules/pagekite/templates/pagekite_configure.html +++ b/plinth/modules/pagekite/templates/pagekite_configure.html @@ -42,7 +42,9 @@ {% block configuration %} {{ block.super }} -

{% trans "Custom Services" %}

+
+ +

{% trans "Custom Services" %}

@@ -52,7 +54,7 @@ {% if custom_services %}
-

{% trans "Existing custom services" %}

+
{% trans "Existing custom services" %}
{% for service in custom_services %} From 5b2df956e87cd2b0914227e8268b4511799ef2ce Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Wed, 20 Nov 2019 05:56:14 +0530 Subject: [PATCH 05/58] pagekite: Use the new app toggle button Signed-off-by: Joseph Nuthalapati --- functional_tests/features/pagekite.feature | 12 ++++----- functional_tests/step_definitions/system.py | 24 ++---------------- functional_tests/support/system.py | 17 +------------ plinth/modules/pagekite/__init__.py | 9 +++---- plinth/modules/pagekite/forms.py | 28 ++++++++------------- plinth/modules/pagekite/utils.py | 4 +-- plinth/modules/pagekite/views.py | 10 ++++---- 7 files changed, 31 insertions(+), 73 deletions(-) diff --git a/functional_tests/features/pagekite.feature b/functional_tests/features/pagekite.feature index 48f1c01bf..faf58e191 100644 --- a/functional_tests/features/pagekite.feature +++ b/functional_tests/features/pagekite.feature @@ -24,17 +24,17 @@ Background: Given the pagekite application is installed Scenario: Enable pagekite application - Given pagekite is disabled - When I enable pagekite + Given the pagekite application is disabled + When I enable the pagekite application Then pagekite should be enabled Scenario: Configure pagekite application - Given pagekite is enabled + Given the pagekite application is enabled When I configure pagekite with host pagekite.example.com, port 8080, kite name mykite.example.com and kite secret mysecret Then pagekite should be configured with host pagekite.example.com, port 8080, kite name mykite.example.com and kite secret mysecret Scenario: Backup and restore pagekite - Given pagekite is enabled + Given the pagekite application is enabled When I configure pagekite with host beforebackup.example.com, port 8081, kite name beforebackup.example.com and kite secret beforebackupsecret And I create a backup of the pagekite app data And I configure pagekite with host afterbackup.example.com, port 8082, kite name afterbackup.example.com and kite secret afterbackupsecret @@ -43,6 +43,6 @@ Scenario: Backup and restore pagekite And pagekite should be configured with host beforebackup.example.com, port 8081, kite name beforebackup.example.com and kite secret beforebackupsecret Scenario: Disable pagekite application - Given pagekite is enabled - When I disable pagekite + Given the pagekite application is enabled + When I disable the pagekite application Then pagekite should be disabled diff --git a/functional_tests/step_definitions/system.py b/functional_tests/step_definitions/system.py index 7892788de..51bc823c0 100644 --- a/functional_tests/step_definitions/system.py +++ b/functional_tests/step_definitions/system.py @@ -211,26 +211,6 @@ def backup_restore_from_upload(browser, app_name, downloaded_file_info): os.remove(path) -@given('pagekite is enabled') -def pagekite_is_enabled(browser): - system.pagekite_enable(browser, True) - - -@given('pagekite is disabled') -def pagekite_is_disabled(browser): - system.pagekite_enable(browser, False) - - -@when('I enable pagekite') -def pagekite_enable(browser): - system.pagekite_enable(browser, True) - - -@when('I disable pagekite') -def pagekite_disable(browser): - system.pagekite_enable(browser, False) - - @then('pagekite should be enabled') def pagekite_assert_enabled(browser): assert system.pagekite_is_enabled(browser) @@ -333,8 +313,8 @@ def monkeysphere_given_import_key(browser, key_type, domain): system.monkeysphere_import_key(browser, key_type.lower(), domain) -@when( - parsers.parse('I import {key_type:w} key for {domain:S} in monkeysphere')) +@when(parsers.parse('I import {key_type:w} key for {domain:S} in monkeysphere') + ) def monkeysphere_import_key(browser, key_type, domain): system.monkeysphere_import_key(browser, key_type.lower(), domain) diff --git a/functional_tests/support/system.py b/functional_tests/support/system.py index 8f47ab5b1..bafbb3ac1 100644 --- a/functional_tests/support/system.py +++ b/functional_tests/support/system.py @@ -275,25 +275,10 @@ def download_file_logged_in(browser, url, suffix=''): return temp_file.name -def pagekite_enable(browser, should_enable): - """Enable/disable pagekite service.""" - nav_to_module(browser, 'pagekite') - checkbox = browser.find_by_id('id_pagekite-enabled').first - if checkbox.checked == should_enable: - return - - if should_enable: - checkbox.check() - else: - checkbox.uncheck() - - submit(browser) - - def pagekite_is_enabled(browser): """Return whether pagekite is enabled.""" nav_to_module(browser, 'pagekite') - return browser.find_by_id('id_pagekite-enabled').checked + return browser.find_by_id('app-toggle-input').checked def pagekite_configure(browser, host, port, kite_name, kite_secret): diff --git a/plinth/modules/pagekite/__init__.py b/plinth/modules/pagekite/__init__.py index e84d6f2f3..38abdad52 100644 --- a/plinth/modules/pagekite/__init__.py +++ b/plinth/modules/pagekite/__init__.py @@ -47,9 +47,8 @@ description = [ 'need this if your {box_name} services are unreachable from ' 'the rest of the Internet. This includes the following ' 'situations:'), box_name=_(cfg.box_name)), - format_lazy( - _('{box_name} is behind a restricted firewall.'), - box_name=_(cfg.box_name)), + format_lazy(_('{box_name} is behind a restricted firewall.'), + box_name=_(cfg.box_name)), format_lazy( _('{box_name} is connected to a (wireless) router which you ' 'don\'t control.'), box_name=_(cfg.box_name)), @@ -59,10 +58,10 @@ description = [ 'address changes every time you connect to Internet.'), _('Your ISP limits incoming connections.'), format_lazy( - _('PageKite works around NAT, firewalls and IP-address limitations ' + _('PageKite works around NAT, firewalls and IP address limitations ' 'by using a combination of tunnels and reverse proxies. You can ' 'use any pagekite service provider, for example ' - 'pagekite.net. In future it ' + 'pagekite.net. In the future it ' 'might be possible to use your buddy\'s {box_name} for this.'), box_name=_(cfg.box_name)) ] diff --git a/plinth/modules/pagekite/forms.py b/plinth/modules/pagekite/forms.py index e9286c508..1e7425cb4 100644 --- a/plinth/modules/pagekite/forms.py +++ b/plinth/modules/pagekite/forms.py @@ -26,6 +26,7 @@ from django.utils.translation import ugettext as _ from django.utils.translation import ugettext_lazy from plinth.errors import ActionError +from plinth.forms import AppForm from . import utils @@ -34,7 +35,6 @@ LOGGER = logging.getLogger(__name__) class TrimmedCharField(forms.CharField): """Trim the contents of a CharField""" - def clean(self, value): """Clean and validate the field value""" if value: @@ -45,7 +45,6 @@ class TrimmedCharField(forms.CharField): class SubdomainWidget(forms.widgets.TextInput): """Append the domain to the subdomain bootstrap input field""" - def __init__(self, domain, *args, **kwargs): """Initialize the widget by storing the domain value.""" super().__init__(*args, **kwargs) @@ -60,12 +59,9 @@ class SubdomainWidget(forms.widgets.TextInput):
""".format(inputfield, self.domain) -class ConfigurationForm(forms.Form): +class ConfigurationForm(AppForm): """Configure PageKite credentials and frontend""" - enabled = forms.BooleanField( - label=ugettext_lazy('Enable PageKite'), required=False) - server_domain = forms.CharField( label=ugettext_lazy('Server domain'), required=False, help_text=ugettext_lazy( @@ -109,8 +105,8 @@ class ConfigurationForm(forms.Form): messages.success(request, _('Pagekite server set')) config_changed = True - if old['enabled'] != new['enabled']: - if new['enabled']: + if old['is_enabled'] != new['is_enabled']: + if new['is_enabled']: utils.run(['start-and-enable']) # Ensure all standard/predefined services are enabled for service_name in utils.PREDEFINED_SERVICES.keys(): @@ -119,9 +115,9 @@ class ConfigurationForm(forms.Form): service = json.dumps(service) # Probably should keep track of which services - # are enabled since adding the service produces - # an error if it is already added. But this works - # too. + # are enabled since adding the service produces + # an error if it is already added. But this works + # too. try: utils.run(['add-service', '--service', service]) @@ -137,11 +133,11 @@ class ConfigurationForm(forms.Form): # Restart the service if the config was changed while the service # was running, so changes take effect immediately. - elif config_changed and new['enabled']: + elif config_changed and new['is_enabled']: utils.run(['restart']) # Update kite name registered with Name Services module. - utils.update_names_module(enabled=new['enabled'], + utils.update_names_module(enabled=new['is_enabled'], kite_name=new['kite_name']) @@ -156,8 +152,8 @@ class BaseCustomServiceForm(forms.Form): backend_port = forms.IntegerField( min_value=0, max_value=65535, label=ugettext_lazy('internal (freedombox) port')) - subdomains = forms.BooleanField( - label=ugettext_lazy('Enable Subdomains'), required=False) + subdomains = forms.BooleanField(label=ugettext_lazy('Enable Subdomains'), + required=False) def convert_formdata_to_service(self, formdata): """Add information to make a service out of the form data""" @@ -187,7 +183,6 @@ class BaseCustomServiceForm(forms.Form): class DeleteCustomServiceForm(BaseCustomServiceForm): """Form to remove custom service.""" - def delete(self, request): service = self.convert_formdata_to_service(self.cleaned_data) utils.run(['remove-service', '--service', json.dumps(service)]) @@ -196,7 +191,6 @@ class DeleteCustomServiceForm(BaseCustomServiceForm): class AddCustomServiceForm(BaseCustomServiceForm): """Adds the save() method and validation to not add predefined services""" - def matches_predefined_service(self, formdata): """Returns whether the user input matches a predefined service""" service = self.convert_formdata_to_service(formdata) diff --git a/plinth/modules/pagekite/utils.py b/plinth/modules/pagekite/utils.py index 1414bddd3..8ea3ac884 100644 --- a/plinth/modules/pagekite/utils.py +++ b/plinth/modules/pagekite/utils.py @@ -109,7 +109,7 @@ def get_pagekite_config(): # 2) the pagekite service running is_disabled = (run(['is-disabled']).strip() == 'true') service_running = action_utils.service_is_running('pagekite') - status['enabled'] = service_running and not is_disabled + status['is_enabled'] = service_running and not is_disabled # PageKite kite details status.update(get_kite_details()) @@ -265,7 +265,7 @@ def update_names_module(initial_registration=False, enabled=None, if enabled is None: try: - enabled = get_pagekite_config()['enabled'] + enabled = get_pagekite_config()['is_enabled'] except IndexError: enabled = False diff --git a/plinth/modules/pagekite/views.py b/plinth/modules/pagekite/views.py index f3351f27c..0045145e4 100644 --- a/plinth/modules/pagekite/views.py +++ b/plinth/modules/pagekite/views.py @@ -32,7 +32,6 @@ class ContextMixin(object): Also adds the requirement of all necessary packages to be installed """ - def get_context_data(self, **kwargs): """Use self.title and the module-level subsubmenu""" context = super(ContextMixin, self).get_context_data(**kwargs) @@ -40,6 +39,7 @@ class ContextMixin(object): context['name'] = pagekite.name context['description'] = pagekite.description context['manual_page'] = pagekite.manual_page + context['is_enabled'] = pagekite.app.is_enabled() return context def dispatch(self, *args, **kwargs): @@ -58,8 +58,8 @@ class AddCustomServiceView(ContextMixin, TemplateView): template_name = 'pagekite_custom_services.html' def get_context_data(self, *args, **kwargs): - context = super(AddCustomServiceView, self).get_context_data( - *args, **kwargs) + context = super(AddCustomServiceView, + self).get_context_data(*args, **kwargs) unused, custom_services = utils.get_pagekite_services() for service in custom_services: service['form'] = AddCustomServiceForm(initial=service) @@ -94,8 +94,8 @@ class ConfigurationView(ContextMixin, FormView): success_url = reverse_lazy('pagekite:index') def get_context_data(self, *args, **kwargs): - context = super(ConfigurationView, self).get_context_data( - *args, **kwargs) + context = super(ConfigurationView, + self).get_context_data(*args, **kwargs) unused, custom_services = utils.get_pagekite_services() for service in custom_services: service['form'] = AddCustomServiceForm(initial=service) From aa6084d7ad5dbef4de15fea71480a1d0340be9e9 Mon Sep 17 00:00:00 2001 From: Thomas Vincent Date: Tue, 19 Nov 2019 22:29:32 +0000 Subject: [PATCH 06/58] Translated using Weblate (French) Currently translated at 98.4% (1094 of 1112 strings) --- plinth/locale/fr/LC_MESSAGES/django.po | 40 ++++++++++++-------------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/plinth/locale/fr/LC_MESSAGES/django.po b/plinth/locale/fr/LC_MESSAGES/django.po index 483bf2692..aa7720bc4 100644 --- a/plinth/locale/fr/LC_MESSAGES/django.po +++ b/plinth/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-18 18:45-0500\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"PO-Revision-Date: 2019-11-20 17:53+0000\n" "Last-Translator: Thomas Vincent \n" "Language-Team: French \n" @@ -471,13 +471,17 @@ msgid "" "Could not reach SSH host %(hostname)s. Please verify that the host is up and " "accepting connections." msgstr "" +"Impossible d’atteindre l’hôte SSH %(hostname)s. Veuillez vérifier que l’hôte " +"est démarré et qu’il accepte les connexions." #: plinth/modules/backups/templates/verify_ssh_hostkey.html:43 -#, python-format +#, fuzzy, python-format msgid "" "The authenticity of SSH host %(hostname)s could not be established. The host " "advertises the following SSH public keys. Please verify any one of them." msgstr "" +"L’authenticité de l’hôte SSH %(hostname)s n’a pu être établie. L’hôte " +"présente les clés publiques SSH suivantes. Veuillez les vérifier." #: plinth/modules/backups/templates/verify_ssh_hostkey.html:55 msgid "How to verify?" @@ -662,20 +666,17 @@ msgstr "" "des opérations depuis une console." #: plinth/modules/cockpit/__init__.py:57 -#, fuzzy, python-brace-format -#| msgid "" -#| "When enabled, Cockpit will be available from /" -#| "_cockpit/ path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." +#, python-brace-format msgid "" "When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " "accessed by any user on {box_name} belonging to " "the admin group." msgstr "" -"Une fois activé, Cockpit est accessible depuis le chemin /_cockpit sur le serveur web. Il peut être consulté par tout utilisateur avec un compte admin sur {box_name}." +"Une fois activé, Cockpit est accessible depuis le chemin /_cockpit sur le serveur web. Il " +"peut être consulté par tout utilisateur avec un " +"compte admin sur {box_name}." #: plinth/modules/config/__init__.py:37 msgid "General Configuration" @@ -949,22 +950,16 @@ msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "Deluge est un client BitTorrent avec une interface utilisateur Web." #: plinth/modules/deluge/__init__.py:45 -#, fuzzy -#| msgid "" -#| "When enabled, the Deluge web client will be available from /deluge path on the web server. The default password is " -#| "'deluge', but you should log in and change it immediately after enabling " -#| "this service." msgid "" "When enabled, the Deluge web client will be available from /deluge path on the web server. The default " "password is 'deluge', but you should log in and change it immediately after " "enabling this service." msgstr "" -"Lorsqu'il est activé, le client Web Deluge sera accessible depuis le chemin " -"/deluge sur le serveur Web. Le mot de passe par " -"défaut est 'deluge'. Vous devrez toutefois vous connecter et le changer tout " -"de suite après l'activation du service." +"Lorsqu'il est activé, le client Web Deluge sera accessible depuis le chemin <" +"a href=\"/deluge\" data-turbolinks=\"false\">/deluge sur le serveur Web. " +"Le mot de passe par défaut est 'deluge'. Vous devrez toutefois vous " +"connecter et le changer tout de suite après l'activation du service." #: plinth/modules/deluge/__init__.py:51 #: plinth/modules/transmission/__init__.py:57 @@ -1589,8 +1584,9 @@ msgstr "" "être également trouvé dans le fichier /var/lib/plinth/firstboot-wizard-secret" #: plinth/modules/first_boot/forms.py:34 +#, fuzzy msgid "Firstboot Wizard Secret" -msgstr "" +msgstr "Secret de l’assistant Firstboot" #: plinth/modules/first_boot/templates/firstboot_complete.html:26 msgid "Setup Complete!" @@ -1736,7 +1732,7 @@ msgstr "Supprimer le dépôt %(repo.name)s" #: plinth/modules/gitweb/templates/gitweb_configure.html:83 msgid "Cloning..." -msgstr "" +msgstr "Clonage en cours…" #: plinth/modules/gitweb/templates/gitweb_configure.html:89 #, python-format From b1f34ef0be0274f568a98125fdf7cd29e8ce2a25 Mon Sep 17 00:00:00 2001 From: Fred Date: Wed, 20 Nov 2019 17:53:12 +0000 Subject: [PATCH 07/58] Translated using Weblate (French) Currently translated at 98.4% (1094 of 1112 strings) --- plinth/locale/fr/LC_MESSAGES/django.po | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/plinth/locale/fr/LC_MESSAGES/django.po b/plinth/locale/fr/LC_MESSAGES/django.po index aa7720bc4..6cb49ebb5 100644 --- a/plinth/locale/fr/LC_MESSAGES/django.po +++ b/plinth/locale/fr/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-18 18:45-0500\n" "PO-Revision-Date: 2019-11-20 17:53+0000\n" -"Last-Translator: Thomas Vincent \n" +"Last-Translator: Fred \n" "Language-Team: French \n" "Language: fr\n" @@ -1571,17 +1571,15 @@ msgstr "" "désactivez, il est automatiquement désactivé dans le pare-feu." #: plinth/modules/first_boot/forms.py:29 -#, fuzzy, python-brace-format -#| msgid "" -#| "Enter the secret generated during FreedomBox installation. This secret " -#| "can also be obtained from the file /var/lib/plinth/firstboot-wizard-secret" +#, python-brace-format msgid "" "Enter the secret generated during FreedomBox installation. This secret can " "also be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-" "wizard-secret\" on your {box_name}" msgstr "" "Entrez le mot de passe généré durant l'installation de FreedomBox. Il peut " -"être également trouvé dans le fichier /var/lib/plinth/firstboot-wizard-secret" +"être également obtenu en lançant la commande \"sudo cat /var/lib/plinth/" +"firstboot-wizard-secret\" sur votre {box_name}" #: plinth/modules/first_boot/forms.py:34 #, fuzzy From 88b8ff3d62e15893d9bbc7df3c349222eabdacd4 Mon Sep 17 00:00:00 2001 From: Alice Kile Date: Thu, 21 Nov 2019 15:42:11 +0530 Subject: [PATCH 08/58] backups: fix title not appearing Reviewed-by: Joseph Nuthalapati --- plinth/modules/backups/views.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/plinth/modules/backups/views.py b/plinth/modules/backups/views.py index a60ddb23e..b2715cd2b 100644 --- a/plinth/modules/backups/views.py +++ b/plinth/modules/backups/views.py @@ -54,7 +54,7 @@ class IndexView(TemplateView): def get_context_data(self, **kwargs): """Return additional context for rendering the template.""" context = super().get_context_data(**kwargs) - context['title'] = backups.name + context['name'] = backups.name context['description'] = backups.description context['manual_page'] = backups.manual_page context['repositories'] = [ @@ -180,7 +180,6 @@ class BaseRestoreView(SuccessMessageMixin, FormView): class RestoreFromUploadView(BaseRestoreView): """View to restore files from an (uploaded) exported archive.""" - def get(self, *args, **kwargs): path = self.request.session.get(SESSION_PATH_VARIABLE) if not os.path.isfile(path): @@ -210,7 +209,6 @@ class RestoreFromUploadView(BaseRestoreView): class RestoreArchiveView(BaseRestoreView): """View to restore files from an archive.""" - def _get_included_apps(self): """Save some data used to instantiate the form.""" name = unquote(self.kwargs['name']) @@ -228,14 +226,12 @@ class RestoreArchiveView(BaseRestoreView): class DownloadArchiveView(View): """View to export and download an archive as stream.""" - def get(self, request, uuid, name): repository = get_instance(uuid) filename = f'{name}.tar.gz' - response = StreamingHttpResponse( - repository.get_download_stream(name), - content_type='application/gzip') + response = StreamingHttpResponse(repository.get_download_stream(name), + content_type='application/gzip') response['Content-Disposition'] = 'attachment; filename="%s"' % \ filename return response From c9f927c287dcd33f5805659051b837cd20ab816e Mon Sep 17 00:00:00 2001 From: nautilusx Date: Tue, 19 Nov 2019 06:04:54 +0000 Subject: [PATCH 09/58] Translated using Weblate (German) Currently translated at 100.0% (1112 of 1112 strings) --- plinth/locale/de/LC_MESSAGES/django.po | 63 ++++++++------------------ 1 file changed, 20 insertions(+), 43 deletions(-) diff --git a/plinth/locale/de/LC_MESSAGES/django.po b/plinth/locale/de/LC_MESSAGES/django.po index 81cd79914..f49074e94 100644 --- a/plinth/locale/de/LC_MESSAGES/django.po +++ b/plinth/locale/de/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-18 18:45-0500\n" -"PO-Revision-Date: 2019-11-06 06:03+0000\n" +"PO-Revision-Date: 2019-11-21 18:04+0000\n" "Last-Translator: nautilusx \n" "Language-Team: German \n" @@ -472,6 +472,8 @@ msgid "" "Could not reach SSH host %(hostname)s. Please verify that the host is up and " "accepting connections." msgstr "" +"SSH-Host %(hostname)s konnte nicht erreicht werden. Bitte vergewissern Sie " +"sich, dass der Host eingeschaltet ist und Verbindungen akzeptiert." #: plinth/modules/backups/templates/verify_ssh_hostkey.html:43 #, python-format @@ -665,20 +667,17 @@ msgstr "" "einzugeben." #: plinth/modules/cockpit/__init__.py:57 -#, fuzzy, python-brace-format -#| msgid "" -#| "When enabled, Cockpit will be available from /" -#| "_cockpit/ path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." +#, python-brace-format msgid "" "When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " "accessed by any user on {box_name} belonging to " "the admin group." msgstr "" -"Falls aktiviert, steht Cockpit auf dem Webserver unter /_cockpit/ zur Verfügung. Zugriff hat jeder " -"Benutzer auf {box_name}, der zur Gruppe der Administratoren gehört." +"Falls aktiviert, steht Cockpit auf dem Webserver unter /_cockpit/ zur Verfügung. Zugriff hat jeder Benutzer auf {box_name}, der zur Gruppe der " +"Administratoren gehört." #: plinth/modules/config/__init__.py:37 msgid "General Configuration" @@ -944,21 +943,15 @@ msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "Deluge ist ein BitTorrent-Client mit einer Weboberfläche." #: plinth/modules/deluge/__init__.py:45 -#, fuzzy -#| msgid "" -#| "When enabled, the Deluge web client will be available from /deluge path on the web server. The default password is " -#| "'deluge', but you should log in and change it immediately after enabling " -#| "this service." msgid "" "When enabled, the Deluge web client will be available from /deluge path on the web server. The default " "password is 'deluge', but you should log in and change it immediately after " "enabling this service." msgstr "" -"Falls aktiviert, ist die Deluge-Weboberfläche über /" -"deluge verfügbar. Das Standardpasswort lautet „deluge“, aber dieses " -"sollte sofort nach dem ersten Anmelden geändert werden." +"Falls aktiviert, ist die Deluge-Weboberfläche über /deluge verfügbar. Das Standardpasswort lautet " +"„deluge“, aber dieses sollte sofort nach dem ersten Anmelden geändert werden." #: plinth/modules/deluge/__init__.py:51 #: plinth/modules/transmission/__init__.py:57 @@ -1580,7 +1573,7 @@ msgstr "" #: plinth/modules/first_boot/forms.py:34 msgid "Firstboot Wizard Secret" -msgstr "" +msgstr "Assistent beim ersten Start" #: plinth/modules/first_boot/templates/firstboot_complete.html:26 msgid "Setup Complete!" @@ -1653,10 +1646,8 @@ msgid "Read-write access to Git repositories" msgstr "Lese- und Schreibberechtigung auf Git respositories" #: plinth/modules/gitweb/forms.py:59 -#, fuzzy -#| msgid "Invalid repository name." msgid "Invalid repository URL." -msgstr "Ungültiger Respositoryname." +msgstr "Ungültige Repository-URL." #: plinth/modules/gitweb/forms.py:69 msgid "Invalid repository name." @@ -1728,7 +1719,7 @@ msgstr "Archiv %(repo.name)s löschen" #: plinth/modules/gitweb/templates/gitweb_configure.html:83 msgid "Cloning..." -msgstr "" +msgstr "Klonen..." #: plinth/modules/gitweb/templates/gitweb_configure.html:89 #, python-format @@ -1755,10 +1746,8 @@ msgid "Repository created." msgstr "Archiv erstellt." #: plinth/modules/gitweb/views.py:86 -#, fuzzy -#| msgid "An error occurred during configuration." msgid "An error occurred while creating the repository." -msgstr "Ein Fehler ist bei der Konfiguration aufgetreten." +msgstr "Beim Erstellen des Repository ist ein Fehler aufgetreten." #: plinth/modules/gitweb/views.py:99 msgid "Repository edited." @@ -3122,13 +3111,7 @@ msgid "Name Services" msgstr "Namen-Dienste" #: plinth/modules/names/__init__.py:45 -#, fuzzy, python-brace-format -#| msgid "" -#| "Name Services provides an overview of the ways {box_name} can be reached " -#| "from the public Internet: domain name, Tor hidden service, and Pagekite. " -#| "For each type of name, it is shown whether the HTTP, HTTPS, and SSH " -#| "services are enabled or disabled for incoming connections through the " -#| "given name." +#, python-brace-format msgid "" "Name Services provides an overview of the ways {box_name} can be reached " "from the public Internet: domain name, Tor onion service, and Pagekite. For " @@ -3136,7 +3119,7 @@ msgid "" "enabled or disabled for incoming connections through the given name." msgstr "" "Namen-Dienste bietet eine Übersicht wie {box_name} aus dem öffentlichen " -"Internet erreichbar ist: Domainname, Tor-Hidden-Service und Pagekite. Für " +"Internet erreichbar ist: Domainname, Tor-Onion-Service und Pagekite. Für " "jeden Namens-Typ wird angezeigt, ob die HTTP-, HTTPS- und SSH-Dienste für " "eingehende Verbindungen eingeschaltet oder ausgeschaltet ist." @@ -5603,10 +5586,8 @@ msgstr "" "\">Tor Browser verwenden." #: plinth/modules/tor/__init__.py:80 -#, fuzzy -#| msgid "Tor Hidden Service" msgid "Tor Onion Service" -msgstr "Tor versteckte Dienste" +msgstr "Tor-Onion-Dienste" #: plinth/modules/tor/__init__.py:84 msgid "Tor Socks Proxy" @@ -5710,10 +5691,8 @@ msgstr "" "was die Zensur des Knotens erschwert. Dies hilft anderen, Zensur zu umgehen." #: plinth/modules/tor/forms.py:128 -#, fuzzy -#| msgid "Enable Tor Hidden Service" msgid "Enable Tor Onion Service" -msgstr "Von Tor verborgene Dienste einschalten" +msgstr "Tor-Onion-Service aktivieren" #: plinth/modules/tor/forms.py:131 #, fuzzy, python-brace-format @@ -5771,10 +5750,8 @@ msgid "Tor is not running" msgstr "Tor läuft nicht" #: plinth/modules/tor/templates/tor.html:67 -#, fuzzy -#| msgid "Hidden Service" msgid "Onion Service" -msgstr "Verborgene Dienste" +msgstr "Onion-Dienste" #: plinth/modules/tor/templates/tor.html:69 msgid "Ports" From 3f328f74d83b602cd8f651d0d99cfa6a8dc35ffa Mon Sep 17 00:00:00 2001 From: Michael Breidenbach Date: Wed, 20 Nov 2019 17:38:23 +0000 Subject: [PATCH 10/58] Translated using Weblate (German) Currently translated at 100.0% (1112 of 1112 strings) --- plinth/locale/de/LC_MESSAGES/django.po | 129 ++++++++----------------- 1 file changed, 42 insertions(+), 87 deletions(-) diff --git a/plinth/locale/de/LC_MESSAGES/django.po b/plinth/locale/de/LC_MESSAGES/django.po index f49074e94..8307ba1e6 100644 --- a/plinth/locale/de/LC_MESSAGES/django.po +++ b/plinth/locale/de/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-18 18:45-0500\n" "PO-Revision-Date: 2019-11-21 18:04+0000\n" -"Last-Translator: nautilusx \n" +"Last-Translator: Michael Breidenbach \n" "Language-Team: German \n" "Language: de\n" @@ -481,6 +481,9 @@ msgid "" "The authenticity of SSH host %(hostname)s could not be established. The host " "advertises the following SSH public keys. Please verify any one of them." msgstr "" +"Die Authentizität von SSH-Host %(hostname)s konnte nicht ermittelt werden. " +"Der Host kündigt die folgenden öffentlichen SSH-Schlüssel an. Bitte " +"überprüfen Sie einen von ihnen." #: plinth/modules/backups/templates/verify_ssh_hostkey.html:55 msgid "How to verify?" @@ -1558,18 +1561,16 @@ msgstr "" "einen Dienst deaktivieren, wird dieser ebenso in der Firewall deaktiviert." #: plinth/modules/first_boot/forms.py:29 -#, fuzzy, python-brace-format -#| msgid "" -#| "Enter the secret generated during FreedomBox installation. This secret " -#| "can also be obtained from the file /var/lib/plinth/firstboot-wizard-secret" +#, python-brace-format msgid "" "Enter the secret generated during FreedomBox installation. This secret can " "also be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-" "wizard-secret\" on your {box_name}" msgstr "" -"Das Passwort eingeben, das während der FreedomBox-Installation erzeugt " -"wurde. Das Passwort kann auch aus der Datei /var/lib/plinth/firstboot-wizard-" -"secret bezogen werden" +"Geben Sie den geheimen Schlüssel ein, der während der FreedomBox-" +"Installation generiert wurde. Dieser Geheime kann auch durch Ausführen des " +"Befehls \"sudo cat /var/lib/plinth/firstboot-wizard-secret\" auf Ihrer " +"{box_name}" #: plinth/modules/first_boot/forms.py:34 msgid "Firstboot Wizard Secret" @@ -1654,12 +1655,10 @@ msgid "Invalid repository name." msgstr "Ungültiger Respositoryname." #: plinth/modules/gitweb/forms.py:77 -#, fuzzy -#| msgid "" -#| "Repository path is neither empty nor is an existing backups repository." msgid "Name of a new repository or URL to import an existing repository." msgstr "" -"Pfad zum Archiv ist weder leer, noch ist ein existierendes Backup-Archiv." +"Name eines neuen Repositorys oder einer neuen URL zum Importieren eines " +"vorhandenen Repositorys." #: plinth/modules/gitweb/forms.py:83 msgid "Description of the repository" @@ -2205,13 +2204,6 @@ msgid "Wiki and Blog" msgstr "Wiki und Blog" #: plinth/modules/ikiwiki/__init__.py:46 -#, fuzzy -#| msgid "" -#| "ikiwiki is a simple wiki and blog application. It supports several " -#| "lightweight markup languages, including Markdown, and common blogging " -#| "functionality such as comments and RSS feeds. When enabled, the blogs and " -#| "wikis will be available at /ikiwiki (once " -#| "created)." msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " @@ -2221,8 +2213,9 @@ msgid "" msgstr "" "ikiwiki ist eine einfache Wiki- und Blog-Anwendung. Sie unterstützt mehrere " "einfache Markup-Sprachen wie Markdown und übliche Blogging-Funktionen wie " -"Kommentare und RSS-Feeds. Wenn aktiviert, stehen die Blogs und Wikis unter " -"/ikiwiki bereit (nach Erstellung)." +"Kommentare und RSS-Feeds. Wenn aktiviert, stehen die Blogs und Wikis unter <" +"a href=\"/ikiwiki\" data-turbolinks=\"false\">/ikiwiki bereit (nach " +"Erstellung)." #: plinth/modules/ikiwiki/__init__.py:53 #, python-brace-format @@ -4479,14 +4472,6 @@ msgstr "" "csipsimple\">CSipSimple (für Android-Telefone)." #: plinth/modules/repro/__init__.py:55 -#, fuzzy -#| msgid "" -#| "Note: Before using repro, domains and users will need " -#| "to be configured using the web-based " -#| "configuration panel. Users in the admin group will be able " -#| "to log in to the repro configuration panel. After setting the domain, it " -#| "is required to restart the repro service. Disable the service and re-" -#| "enable it." msgid "" "Note: Before using repro, domains and users will need to " "be configured using the Hinweis: Vor der Verwendung von repro, müssen Domains und " -"Benutzer über das web-basierte " -"Konfigurationspanel konfiguriert werden. Die Benutzer der Gruppe " -"admin können sich dort anmelden. Nach dem Festlegen der Domain, ist " -"es erforderlich, den repro Dienst neu zu starten. Deaktivieren Sie den " -"Dienst und aktivieren ihn wieder." +"Benutzer über das web-basierte Konfigurationspanel konfiguriert werden. Die Benutzer der " +"Gruppe admin können sich dort anmelden. Nach dem Festlegen der " +"Domain, ist es erforderlich, den repro Dienst neu zu starten. Deaktivieren " +"Sie den Dienst und aktivieren ihn wieder." #: plinth/modules/repro/manifest.py:30 msgid "Jitsi Meet" @@ -4580,13 +4565,6 @@ msgstr "" "Nachrichten und Rechtschreibprüfung." #: plinth/modules/roundcube/__init__.py:45 -#, fuzzy -#| msgid "" -#| "You can access Roundcube from /roundcube. " -#| "Provide the username and password of the email account you wish to access " -#| "followed by the domain name of the IMAP server for your email provider, " -#| "like imap.example.com. For IMAP over SSL (recommended), " -#| "fill the server field like imaps://imap.example.com." msgid "" "You can access Roundcube from /roundcube. Provide the username and password of the email account " @@ -4595,11 +4573,11 @@ msgid "" "(recommended), fill the server field like imaps://imap.example.com." msgstr "" -"Sie können auf Roundcube von /roundcube " -"zugreifen. Geben Sie Benutzernamen und Passwort des E-Mail-Kontos ein, " -"gefolgt von dem Domainnamen des IMAP-Servers Ihres Anbieters wie z. B. " -"imap.example.com. Für IMAP über SSL (empfohlen) geben Sie im " -"Feld Server etwas ein wie imaps://imap.example.com." +"Sie können auf Roundcube von /roundcube zugreifen. Geben Sie Benutzernamen und Passwort des E-Mail-" +"Kontos ein, gefolgt von dem Domainnamen des IMAP-Servers Ihres Anbieters wie " +"z. B. imap.example.com. Für IMAP über SSL (empfohlen) geben Sie " +"im Feld Server etwas ein wie imaps://imap.example.com." #: plinth/modules/roundcube/__init__.py:51 msgid "" @@ -4771,20 +4749,16 @@ msgid "Shaarli allows you to save and share bookmarks." msgstr "Shaarli ermöglicht das Speichern und Teilen von Lesezeichen." #: plinth/modules/shaarli/__init__.py:40 -#, fuzzy -#| msgid "" -#| "When enabled, Shaarli will be available from /" -#| "shaarli path on the web server. Note that Shaarli only supports a " -#| "single user account, which you will need to setup on the initial visit." msgid "" "When enabled, Shaarli will be available from /shaarli path on the web server. Note that Shaarli " "only supports a single user account, which you will need to setup on the " "initial visit." msgstr "" -"Falls aktiviert, wird Shaarli auf dem Webserver unter /" -"shaarli erreichar sein. Shaarli unterstützt nur ein Benutzerkonto; " -"dieses muss beim ersten Besuch der Seite eingerichtet werden." +"Falls aktiviert, wird Shaarli auf dem Webserver unter /shaarli erreichar sein. Shaarli unterstützt " +"nur ein Benutzerkonto; dieses muss beim ersten Besuch der Seite eingerichtet " +"werden." #: plinth/modules/shadowsocks/__init__.py:35 msgid "Shadowsocks" @@ -5476,20 +5450,15 @@ msgstr "" "{box_name} ist nur für Benutzer der „admin“-Gruppe zugänglich." #: plinth/modules/syncthing/__init__.py:57 -#, fuzzy -#| msgid "" -#| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." msgid "" "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " "clients are also available." msgstr "" "Falls aktiviert, ist die Weboberfläche von Syncthing auf /syncthing erreichbar. Client-Apps für Desktop und " -"Mobiltelefon sind ebenfalls erhältlich." +"syncthing/\" data-turbolinks=\"false\">/syncthing erreichbar. Client-" +"Apps für Desktop und Mobiltelefon sind ebenfalls erhältlich." #: plinth/modules/syncthing/__init__.py:65 msgid "Administer Syncthing application" @@ -5695,19 +5664,15 @@ msgid "Enable Tor Onion Service" msgstr "Tor-Onion-Service aktivieren" #: plinth/modules/tor/forms.py:131 -#, fuzzy, python-brace-format -#| msgid "" -#| "A hidden service will allow {box_name} to provide selected services (such " -#| "as wiki or chat) without revealing its location. Do not use this for " -#| "strong anonymity yet." +#, python-brace-format msgid "" "An onion service will allow {box_name} to provide selected services (such as " "wiki or chat) without revealing its location. Do not use this for strong " "anonymity yet." msgstr "" -"Ein verborgener Dienst ermöglicht {box_name} ausgewählte Dienste (wie Wiki " -"oder Chat) ohne Offenlegung seiner Position anzubieten. Verwenden Sie es " -"noch nicht, wenn Sie starke Anonymität wünschen." +"Ein onion Dienst ermöglicht {box_name} ausgewählte Dienste (wie Wiki oder " +"Chat) ohne Offenlegung seiner Position anzubieten. Verwenden Sie es noch " +"nicht, wenn Sie starke Anonymität wünschen." #: plinth/modules/tor/forms.py:136 msgid "Download software packages over Tor" @@ -5795,15 +5760,12 @@ msgstr "" "BitTorrent ist nicht anonym!" #: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." msgid "" "Access the web interface at /transmission." msgstr "" -"Die Weboberfläche kann über /transmission " -"erreicht werden." +"Die Weboberfläche kann über /transmission erreicht werden." #: plinth/modules/transmission/forms.py:30 msgid "Download directory" @@ -5837,32 +5799,25 @@ msgstr "" "genutzt werden kann, sich aber sehr wie eine normale Anwendung anfühlt." #: plinth/modules/ttrss/__init__.py:52 -#, fuzzy, python-brace-format -#| msgid "" -#| "When enabled, Tiny Tiny RSS will be available from /" -#| "tt-rss path on the web server. It can be accessed by any user with a {box_name} login." +#, python-brace-format msgid "" "When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " "by any user with a {box_name} login." msgstr "" "Falls aktiviert, steht Tiny Tiny RSS auf dem Webserver unter /tt-rss zur Verfügung. Zugriff hat jeder mit einem {box_name}-Benutzerkonto." +"rss\" data-turbolinks=\"false\">/tt-rss zur Verfügung. Zugriff hat jeder " +"mit einem {box_name}-Benutzerkonto." #: plinth/modules/ttrss/__init__.py:58 -#, fuzzy -#| msgid "" -#| "When using a mobile or desktop application for Tiny Tiny RSS, use the URL " -#| "/tt-rss-app for connecting." msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" "Um Tiny Tiny RSS mit einer Anwendung auf ihrem Handy oder Computer zu " -"nutzen, tragen Sie die URL /tt-rss-app ein." +"nutzen, tragen Sie die URL /tt-rss-app ein." #: plinth/modules/ttrss/__init__.py:65 msgid "Read and subscribe to news feeds" From 3d77ba30b98d1e79cd0ff28c2424b4103a4c3de7 Mon Sep 17 00:00:00 2001 From: Fred Date: Wed, 20 Nov 2019 17:53:24 +0000 Subject: [PATCH 11/58] Translated using Weblate (French) Currently translated at 100.0% (1112 of 1112 strings) --- plinth/locale/fr/LC_MESSAGES/django.po | 142 +++++++------------------ 1 file changed, 39 insertions(+), 103 deletions(-) diff --git a/plinth/locale/fr/LC_MESSAGES/django.po b/plinth/locale/fr/LC_MESSAGES/django.po index 6cb49ebb5..1d678259d 100644 --- a/plinth/locale/fr/LC_MESSAGES/django.po +++ b/plinth/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-18 18:45-0500\n" -"PO-Revision-Date: 2019-11-20 17:53+0000\n" +"PO-Revision-Date: 2019-11-21 18:04+0000\n" "Last-Translator: Fred \n" "Language-Team: French \n" @@ -475,7 +475,7 @@ msgstr "" "est démarré et qu’il accepte les connexions." #: plinth/modules/backups/templates/verify_ssh_hostkey.html:43 -#, fuzzy, python-format +#, python-format msgid "" "The authenticity of SSH host %(hostname)s could not be established. The host " "advertises the following SSH public keys. Please verify any one of them." @@ -1582,7 +1582,6 @@ msgstr "" "firstboot-wizard-secret\" sur votre {box_name}" #: plinth/modules/first_boot/forms.py:34 -#, fuzzy msgid "Firstboot Wizard Secret" msgstr "Secret de l’assistant Firstboot" @@ -1656,23 +1655,17 @@ msgid "Read-write access to Git repositories" msgstr "Modification des dépôts Git autorisées" #: plinth/modules/gitweb/forms.py:59 -#, fuzzy -#| msgid "Invalid repository name." msgid "Invalid repository URL." -msgstr "Nom de dépôt invalide." +msgstr "Adresse du dépôt invalide." #: plinth/modules/gitweb/forms.py:69 msgid "Invalid repository name." msgstr "Nom de dépôt invalide." #: plinth/modules/gitweb/forms.py:77 -#, fuzzy -#| msgid "" -#| "Repository path is neither empty nor is an existing backups repository." msgid "Name of a new repository or URL to import an existing repository." msgstr "" -"Le chemin du dépôt n’est pas vide et n’est pas un dépôt de sauvegarde " -"existant." +"Nom d'un nouveau dépôt ou adresse (URL) pour importer un dépôt existant." #: plinth/modules/gitweb/forms.py:83 msgid "Description of the repository" @@ -1757,10 +1750,8 @@ msgid "Repository created." msgstr "Dépôt créé." #: plinth/modules/gitweb/views.py:86 -#, fuzzy -#| msgid "An error occurred during configuration." msgid "An error occurred while creating the repository." -msgstr "Une erreur est survenue pendant la configuration." +msgstr "Une erreur est survenue pendant la création du dépôt." #: plinth/modules/gitweb/views.py:99 msgid "Repository edited." @@ -2221,13 +2212,6 @@ msgid "Wiki and Blog" msgstr "Wiki et Blogue" #: plinth/modules/ikiwiki/__init__.py:46 -#, fuzzy -#| msgid "" -#| "ikiwiki is a simple wiki and blog application. It supports several " -#| "lightweight markup languages, including Markdown, and common blogging " -#| "functionality such as comments and RSS feeds. When enabled, the blogs and " -#| "wikis will be available at /ikiwiki (once " -#| "created)." msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " @@ -2239,7 +2223,7 @@ msgstr "" "plusieurs langages de balisage légers, y compris Markdown, et les " "fonctionnalités de blog habituels tels que les commentaires et les flux RSS. " "Une fois activés, les blogs et les wikis seront disponibles sur /ikiwiki (s'il sont créés)." +"ikiwiki\" data-turbolinks=\"false\">/ikiwiki (s'il sont créés)." #: plinth/modules/ikiwiki/__init__.py:53 #, python-brace-format @@ -3130,13 +3114,7 @@ msgid "Name Services" msgstr "Serveur de Noms" #: plinth/modules/names/__init__.py:45 -#, fuzzy, python-brace-format -#| msgid "" -#| "Name Services provides an overview of the ways {box_name} can be reached " -#| "from the public Internet: domain name, Tor hidden service, and Pagekite. " -#| "For each type of name, it is shown whether the HTTP, HTTPS, and SSH " -#| "services are enabled or disabled for incoming connections through the " -#| "given name." +#, python-brace-format msgid "" "Name Services provides an overview of the ways {box_name} can be reached " "from the public Internet: domain name, Tor onion service, and Pagekite. For " @@ -3144,7 +3122,7 @@ msgid "" "enabled or disabled for incoming connections through the given name." msgstr "" "Le serveur de noms affiche un résumé des manières dont {box_name} peut être " -"accédée depuis l'Internet public : nom de domaine, service Tor caché et " +"accédée depuis l'Internet public : nom de domaine, service Tor onion et " "Pagekite. Pour chaque type de nom, il indique si les services HTTP, HTTPS et " "SSH sont activés ou non pour les connexions entrantes sur le nom donné." @@ -4505,14 +4483,6 @@ msgstr "" "fdid=com.csipsimple\"> CSipSimple (pour les téléphones Android)." #: plinth/modules/repro/__init__.py:55 -#, fuzzy -#| msgid "" -#| "Note: Before using repro, domains and users will need " -#| "to be configured using the web-based " -#| "configuration panel. Users in the admin group will be able " -#| "to log in to the repro configuration panel. After setting the domain, it " -#| "is required to restart the repro service. Disable the service and re-" -#| "enable it." msgid "" "Note: Before using repro, domains and users will need to " "be configured using the Note : avant d'utiliser repro, les domaines et les " "utilisateurs doivent être configurés au moyen du panneau de configuration basée sur une interface web. Les " -"utilisateurs du groupe admin auront la possibilité de se connecter " -"au panneau de configuration de repro. Après avoir configuré le domaine, il " -"est nécessaire de redémarrer le service repro. Désactivez le service et " -"réactivez-le." +"html\" data-turbolinks=\"false\">panneau de configuration basée sur une " +"interface web. Les utilisateurs du groupe admin auront la " +"possibilité de se connecter au panneau de configuration de repro. Après " +"avoir configuré le domaine, il est nécessaire de redémarrer le service " +"repro. Désactivez le service et réactivez-le." #: plinth/modules/repro/manifest.py:30 msgid "Jitsi Meet" @@ -4609,13 +4579,6 @@ msgstr "" "correcteur orthographique." #: plinth/modules/roundcube/__init__.py:45 -#, fuzzy -#| msgid "" -#| "You can access Roundcube from /roundcube. " -#| "Provide the username and password of the email account you wish to access " -#| "followed by the domain name of the IMAP server for your email provider, " -#| "like imap.example.com. For IMAP over SSL (recommended), " -#| "fill the server field like imaps://imap.example.com." msgid "" "You can access Roundcube from /roundcube. Provide the username and password of the email account " @@ -4624,12 +4587,13 @@ msgid "" "(recommended), fill the server field like imaps://imap.example.com." msgstr "" -"Vous pouvez accéder à RoundCube depuis /roundcube. Renseigner le nom d'utilisateur et le mot de passe de votre compte de " -"courrier électronique auquel vous souhaitez accéder, suivis du nom de " -"domaine du serveur IMAP de votre fournisseur d'email, comme imap." -"example.com. Pour de l'IMAP sur du SSL (recommandé), remplissez les " -"champs du serveur avec par exemple imaps://imap.example.com." +"Vous pouvez accéder à RoundCube depuis /roundcube. Renseigner le nom d'utilisateur et le " +"mot de passe de votre compte de courrier électronique auquel vous souhaitez " +"accéder, suivis du nom de domaine du serveur IMAP de votre fournisseur " +"d'email, comme imap.example.com. Pour de l'IMAP sur du SSL " +"(recommandé), remplissez les champs du serveur avec par exemple " +"imaps://imap.example.com." #: plinth/modules/roundcube/__init__.py:51 msgid "" @@ -4802,21 +4766,16 @@ msgid "Shaarli allows you to save and share bookmarks." msgstr "Shaarli permet de sauvegarder et de partager vos signets." #: plinth/modules/shaarli/__init__.py:40 -#, fuzzy -#| msgid "" -#| "When enabled, Shaarli will be available from /" -#| "shaarli path on the web server. Note that Shaarli only supports a " -#| "single user account, which you will need to setup on the initial visit." msgid "" "When enabled, Shaarli will be available from /shaarli path on the web server. Note that Shaarli " "only supports a single user account, which you will need to setup on the " "initial visit." msgstr "" -"Lorsqu'activé, Shaarli est accessible depuis /shaarli sur le serveur web. Notez que Shaarli est seulement compatible avec un " -"compte utilisateur unique que vous configurerez lors de votre première " -"visite." +"Lorsqu'activé, Shaarli est accessible depuis /shaarli sur le serveur web. Notez que Shaarli est " +"seulement compatible avec un compte utilisateur unique que vous configurerez " +"lors de votre première visite." #: plinth/modules/shadowsocks/__init__.py:35 msgid "Shadowsocks" @@ -5504,19 +5463,14 @@ msgstr "" "disponible pour les utilisateurs appartenant au groupe \"admin\"." #: plinth/modules/syncthing/__init__.py:57 -#, fuzzy -#| msgid "" -#| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." msgid "" "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " "clients are also available." msgstr "" "Quand activé, l'interface web de Syncthing sera disponible à /syncthing. Des clients bureau et mobile sont aussi disponibles.." +"syncthing/\" data-turbolinks=\"false\">/syncthing. Des clients bureau et " +"mobile sont aussi disponibles.." #: plinth/modules/syncthing/__init__.py:65 msgid "Administer Syncthing application" @@ -5611,10 +5565,8 @@ msgstr "" "download-easy.html.en\">navigateur Tor." #: plinth/modules/tor/__init__.py:80 -#, fuzzy -#| msgid "Tor Hidden Service" msgid "Tor Onion Service" -msgstr "Service Caché Tor" +msgstr "Service Tor Onion" #: plinth/modules/tor/__init__.py:84 msgid "Tor Socks Proxy" @@ -5716,23 +5668,17 @@ msgstr "" "contourner la censure." #: plinth/modules/tor/forms.py:128 -#, fuzzy -#| msgid "Enable Tor Hidden Service" msgid "Enable Tor Onion Service" -msgstr "Activer les Services Cachés Tor" +msgstr "Activer le service Tor Onion" #: plinth/modules/tor/forms.py:131 -#, fuzzy, python-brace-format -#| msgid "" -#| "A hidden service will allow {box_name} to provide selected services (such " -#| "as wiki or chat) without revealing its location. Do not use this for " -#| "strong anonymity yet." +#, python-brace-format msgid "" "An onion service will allow {box_name} to provide selected services (such as " "wiki or chat) without revealing its location. Do not use this for strong " "anonymity yet." msgstr "" -"Un service caché permettra à {box_name} de proposer les services " +"Un service Onion permettra à {box_name} de proposer les services " "sélectionnés (comme un wiki ou Chat) sans révéler votre emplacement. Ne pas " "encore utiliser pour l'anonymat fort." @@ -5775,10 +5721,8 @@ msgid "Tor is not running" msgstr "Tor n'est pas actif" #: plinth/modules/tor/templates/tor.html:67 -#, fuzzy -#| msgid "Hidden Service" msgid "Onion Service" -msgstr "Services Cachés" +msgstr "Service Onion" #: plinth/modules/tor/templates/tor.html:69 msgid "Ports" @@ -5823,14 +5767,12 @@ msgstr "" "l'utilisation de Bitorrent n'est pas anonyme." #: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." msgid "" "Access the web interface at /transmission." msgstr "" -"Accéder à l'interface Web de /transmission." +"Accéder à l'interface Web de /transmission." #: plinth/modules/transmission/forms.py:30 msgid "Download directory" @@ -5866,32 +5808,26 @@ msgstr "" "ordinateur." #: plinth/modules/ttrss/__init__.py:52 -#, fuzzy, python-brace-format -#| msgid "" -#| "When enabled, Tiny Tiny RSS will be available from /" -#| "tt-rss path on the web server. It can be accessed by any user with a {box_name} login." +#, python-brace-format msgid "" "When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " "by any user with a {box_name} login." msgstr "" "Une fois activé, Tiny Tiny RSS est accessible depuis le chemin /tt-rss sur le serveur web. Il peut être consulté par tout utilisateur avec un compte {box_name}." +"rss\" data-turbolinks=\"false\">/tt-rss sur le serveur web. Il peut être " +"consulté par tout utilisateur avec un compte " +"{box_name}." #: plinth/modules/ttrss/__init__.py:58 -#, fuzzy -#| msgid "" -#| "When using a mobile or desktop application for Tiny Tiny RSS, use the URL " -#| "/tt-rss-app for connecting." msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" "Lors de l'utilisation de Tiny Tiny RSS avec un téléphone ou un ordinateur, " -"utilisez l'URL tt-rss-app pour se connecter." +"utilisez l'URL tt-rss-" +"app pour se connecter." #: plinth/modules/ttrss/__init__.py:65 msgid "Read and subscribe to news feeds" From 000dd999b97806751fab3023341783cf7038bac5 Mon Sep 17 00:00:00 2001 From: Michael Breidenbach Date: Wed, 20 Nov 2019 17:21:35 +0000 Subject: [PATCH 12/58] Translated using Weblate (Swedish) Currently translated at 100.0% (1112 of 1112 strings) --- plinth/locale/sv/LC_MESSAGES/django.po | 186 ++++++++----------------- 1 file changed, 59 insertions(+), 127 deletions(-) diff --git a/plinth/locale/sv/LC_MESSAGES/django.po b/plinth/locale/sv/LC_MESSAGES/django.po index 1d778f8ea..c222b1284 100644 --- a/plinth/locale/sv/LC_MESSAGES/django.po +++ b/plinth/locale/sv/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-18 18:45-0500\n" -"PO-Revision-Date: 2019-11-10 15:04+0000\n" +"PO-Revision-Date: 2019-11-21 18:04+0000\n" "Last-Translator: Michael Breidenbach \n" "Language-Team: Swedish \n" @@ -468,6 +468,8 @@ msgid "" "Could not reach SSH host %(hostname)s. Please verify that the host is up and " "accepting connections." msgstr "" +"Det gick inte att nå SSH-värd%(hostname)s. Kontrollera att värden är upp och " +"ta emot anslutningar." #: plinth/modules/backups/templates/verify_ssh_hostkey.html:43 #, python-format @@ -475,6 +477,8 @@ msgid "" "The authenticity of SSH host %(hostname)s could not be established. The host " "advertises the following SSH public keys. Please verify any one of them." msgstr "" +"Äktheten av SSH värd%(hostname)s kunde inte upprättas. Värden annonserar " +"följande offentliga SSH-nycklar. Kontrollera någon av dem." #: plinth/modules/backups/templates/verify_ssh_hostkey.html:55 msgid "How to verify?" @@ -658,11 +662,7 @@ msgstr "" "webbaserad terminal för konsoloperationer är också tillgänglig." #: plinth/modules/cockpit/__init__.py:57 -#, fuzzy, python-brace-format -#| msgid "" -#| "When enabled, Cockpit will be available from /" -#| "_cockpit/ path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." +#, python-brace-format msgid "" "When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " @@ -670,8 +670,9 @@ msgid "" "the admin group." msgstr "" "När det är aktiverat kommer cockpit att finnas tillgänglig från /_cockpit/ path på webbservern. Det kan nås via alla användare på {box_name} som tillhör admin-gruppen." +"_cockpit/\" data-turbolinks=\"false\">/_cockpit/ path på webbservern. " +"Det kan nås via alla användare på {box_name} som " +"tillhör admin-gruppen." #: plinth/modules/config/__init__.py:37 msgid "General Configuration" @@ -936,21 +937,16 @@ msgstr "" "användargränssnitt." #: plinth/modules/deluge/__init__.py:45 -#, fuzzy -#| msgid "" -#| "When enabled, the Deluge web client will be available from /deluge path on the web server. The default password is " -#| "'deluge', but you should log in and change it immediately after enabling " -#| "this service." msgid "" "When enabled, the Deluge web client will be available from /deluge path on the web server. The default " "password is 'deluge', but you should log in and change it immediately after " "enabling this service." msgstr "" -"När aktiverad blir Deluges webbklient tillgänglig via / " -"deluge address på webbservern. Standardlösenordet är \"deluge\", men du " -"bör logga in och ändra det omedelbart efter att du aktiverat tjänsten." +"När aktiverad blir Deluges webbklient tillgänglig via / deluge address på webbservern. " +"Standardlösenordet är \"deluge\", men du bör logga in och ändra det " +"omedelbart efter att du aktiverat tjänsten." #: plinth/modules/deluge/__init__.py:51 #: plinth/modules/transmission/__init__.py:57 @@ -1547,22 +1543,19 @@ msgstr "" "den även automatiskt i brandväggen." #: plinth/modules/first_boot/forms.py:29 -#, fuzzy, python-brace-format -#| msgid "" -#| "Enter the secret generated during FreedomBox installation. This secret " -#| "can also be obtained from the file /var/lib/plinth/firstboot-wizard-secret" +#, python-brace-format msgid "" "Enter the secret generated during FreedomBox installation. This secret can " "also be obtained by running the command \"sudo cat /var/lib/plinth/firstboot-" "wizard-secret\" on your {box_name}" msgstr "" -"Ange hemligheten som genererades under FreedomBox-installationen. Denna " -"hemlighet kan också erhållas från filen /var/lib/plinth/firstboot-wizard-" -"secret" +"Ange hemligheten som genereras under installationen av FreedomBox. Denna " +"hemlighet kan också erhållas genom att köra kommandot \"sudo cat/var/lib/" +"plinth/Firstboot-Wizard-Secret\" på din {box_name}" #: plinth/modules/first_boot/forms.py:34 msgid "Firstboot Wizard Secret" -msgstr "" +msgstr "Firstboot Wizard hemlighet" #: plinth/modules/first_boot/templates/firstboot_complete.html:26 msgid "Setup Complete!" @@ -1633,21 +1626,16 @@ msgid "Read-write access to Git repositories" msgstr "Läs-skrivåtkomst till Git-respositories" #: plinth/modules/gitweb/forms.py:59 -#, fuzzy -#| msgid "Invalid repository name." msgid "Invalid repository URL." -msgstr "Ogiltigt respository namn." +msgstr "Ogiltigt respository URL." #: plinth/modules/gitweb/forms.py:69 msgid "Invalid repository name." msgstr "Ogiltigt respository namn." #: plinth/modules/gitweb/forms.py:77 -#, fuzzy -#| msgid "" -#| "Repository path is neither empty nor is an existing backups repository." msgid "Name of a new repository or URL to import an existing repository." -msgstr "Respositorysökvägen är varken tom eller en befintlig säkerhetskopia." +msgstr "Namn på en ny databas eller URL för att importera en befintlig databas." #: plinth/modules/gitweb/forms.py:83 msgid "Description of the repository" @@ -1705,7 +1693,7 @@ msgstr "Ta bort respository %(repo.name)s" #: plinth/modules/gitweb/templates/gitweb_configure.html:83 msgid "Cloning..." -msgstr "" +msgstr "Kloning..." #: plinth/modules/gitweb/templates/gitweb_configure.html:89 #, python-format @@ -1732,10 +1720,8 @@ msgid "Repository created." msgstr "Respository skapat." #: plinth/modules/gitweb/views.py:86 -#, fuzzy -#| msgid "An error occurred during configuration." msgid "An error occurred while creating the repository." -msgstr "Ett fel inträffade under konfiguration." +msgstr "Ett fel uppstod medan skapa ett repository." #: plinth/modules/gitweb/views.py:99 msgid "Repository edited." @@ -2186,13 +2172,6 @@ msgid "Wiki and Blog" msgstr "Wiki och Blogg" #: plinth/modules/ikiwiki/__init__.py:46 -#, fuzzy -#| msgid "" -#| "ikiwiki is a simple wiki and blog application. It supports several " -#| "lightweight markup languages, including Markdown, and common blogging " -#| "functionality such as comments and RSS feeds. When enabled, the blogs and " -#| "wikis will be available at /ikiwiki (once " -#| "created)." msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " @@ -2200,10 +2179,11 @@ msgid "" "wikis will be available at /" "ikiwiki (once created)." msgstr "" -"ikiwiki är en enkel wiki- och bloggapplikation. Det stöder flera lätta " -"markeringsspråk, inklusive Markdown och vanliga bloggfunktioner som " -"kommentarer och RSS-flöden. När det är aktiverat kommer bloggarna och wikis " -"att vara tillgängliga på /ikiwiki (En gång skapats)." +"ikiwiki är en enkel wiki och blogg ansökan. Den stöttar flera lightweight " +"pålägg språken, inklusive markdown, och gemensam blogging funktionellitet " +"sådan som kommentarerna och RSS fodrar. När den är aktiverad kommer " +"bloggarna och wikis att finnas tillgängliga på /ikiwiki (en gång skapad)." #: plinth/modules/ikiwiki/__init__.py:53 #, python-brace-format @@ -3074,13 +3054,7 @@ msgid "Name Services" msgstr "Namntjänster" #: plinth/modules/names/__init__.py:45 -#, fuzzy, python-brace-format -#| msgid "" -#| "Name Services provides an overview of the ways {box_name} can be reached " -#| "from the public Internet: domain name, Tor hidden service, and Pagekite. " -#| "For each type of name, it is shown whether the HTTP, HTTPS, and SSH " -#| "services are enabled or disabled for incoming connections through the " -#| "given name." +#, python-brace-format msgid "" "Name Services provides an overview of the ways {box_name} can be reached " "from the public Internet: domain name, Tor onion service, and Pagekite. For " @@ -3088,7 +3062,7 @@ msgid "" "enabled or disabled for incoming connections through the given name." msgstr "" "Name Services ger en översikt över hur {box_name} kan nås från det " -"offentliga Internet: domännamn, Tor Hidden service och Pagekite. För varje " +"offentliga Internet: domännamn, Tor onion service och Pagekite. För varje " "typ av namn visas om HTTP-, HTTPS-och SSH-tjänsterna är aktiverade eller " "inaktiverade för inkommande anslutningar via det angivna namnet." @@ -4433,14 +4407,6 @@ msgstr "" "CSipSimple (för Android-telefoner)." #: plinth/modules/repro/__init__.py:55 -#, fuzzy -#| msgid "" -#| "Note: Before using repro, domains and users will need " -#| "to be configured using the web-based " -#| "configuration panel. Users in the admin group will be able " -#| "to log in to the repro configuration panel. After setting the domain, it " -#| "is required to restart the repro service. Disable the service and re-" -#| "enable it." msgid "" "Note: Before using repro, domains and users will need to " "be configured using the Obs: Innan repro används måste domäner och användare " -"konfigureras med webbaserad " -"konfigurationspanel . Användare i gruppen admin kommer att " -"kunna logga in på reprokonfigurationspanelen. Efter inställning av domänen " -"krävs det att omstartstjänsten startas om. Inaktivera tjänsten och aktivera " -"den igen." +"konfigureras med " +"webbaserad konfigurationspanel . Användare i gruppen admin " +"kommer att kunna logga in på reprokonfigurationspanelen. Efter inställning " +"av domänen krävs det att omstartstjänsten startas om. Inaktivera tjänsten " +"och aktivera den igen." #: plinth/modules/repro/manifest.py:30 msgid "Jitsi Meet" @@ -4531,13 +4497,6 @@ msgstr "" "mappmanipulering, meddelande sökning och stavningskontroll." #: plinth/modules/roundcube/__init__.py:45 -#, fuzzy -#| msgid "" -#| "You can access Roundcube from /roundcube. " -#| "Provide the username and password of the email account you wish to access " -#| "followed by the domain name of the IMAP server for your email provider, " -#| "like imap.example.com. For IMAP over SSL (recommended), " -#| "fill the server field like imaps://imap.example.com." msgid "" "You can access Roundcube from /roundcube. Provide the username and password of the email account " @@ -4546,11 +4505,12 @@ msgid "" "(recommended), fill the server field like imaps://imap.example.com." msgstr "" -"Du kan komma åt roundcube från /roundcube. Ange " -"användarnamn och lösenord för det e-postkonto du vill komma åt följt av " -"domännamnet för IMAP-servern för din e-postleverantör, som imap." -"example.com. För IMAP över SSL (rekommenderas), Fyll i fältet Server " -"som imaps://imap.example.com." +"Du kan komma åt roundcube från /roundcube. Ange användarnamn och lösenord för det e-postkonto " +"du vill komma åt följt av domännamnet för IMAP-servern för din e-" +"postleverantör, som imap.example.com. För IMAP över SSL " +"(rekommenderas), Fyll i fältet Server som " +"imaps://imap.example.com." #: plinth/modules/roundcube/__init__.py:51 msgid "" @@ -4718,11 +4678,6 @@ msgid "Shaarli allows you to save and share bookmarks." msgstr "Shaarli kan du spara och dela bokmärken." #: plinth/modules/shaarli/__init__.py:40 -#, fuzzy -#| msgid "" -#| "When enabled, Shaarli will be available from /" -#| "shaarli path on the web server. Note that Shaarli only supports a " -#| "single user account, which you will need to setup on the initial visit." msgid "" "When enabled, Shaarli will be available from /shaarli path on the web server. Note that Shaarli " @@ -4730,9 +4685,9 @@ msgid "" "initial visit." msgstr "" "När den är aktiverad kommer Shaarli att vara tillgänglig från /shaarli Path på webbservern. Observera att Shaarli bara " -"stöder ett enda användarkonto, som du kommer att behöva ställa in på det " -"första besöket." +"shaarli\" data-turbolinks=\"false\">/shaarli Path på webbservern. " +"Observera att Shaarli bara stöder ett enda användarkonto, som du kommer att " +"behöva ställa in på det första besöket." #: plinth/modules/shadowsocks/__init__.py:35 msgid "Shadowsocks" @@ -5408,19 +5363,14 @@ msgstr "" "\"." #: plinth/modules/syncthing/__init__.py:57 -#, fuzzy -#| msgid "" -#| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." msgid "" "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " "clients are also available." msgstr "" "När aktiverat är Syncthings webbgränssnitt tillgängligt från / syncthing. Desktop- och mobilklienter är också tillgängliga." +"syncthing/\" data-turbolinks=\"false\">/ syncthing. Desktop- och " +"mobilklienter är också tillgängliga." #: plinth/modules/syncthing/__init__.py:65 msgid "Administer Syncthing application" @@ -5515,10 +5465,8 @@ msgstr "" "\">TOR Browser." #: plinth/modules/tor/__init__.py:80 -#, fuzzy -#| msgid "Tor Hidden Service" msgid "Tor Onion Service" -msgstr "Tor Hidden service" +msgstr "Tor Onion service" #: plinth/modules/tor/__init__.py:84 msgid "Tor Socks Proxy" @@ -5621,23 +5569,17 @@ msgstr "" "den här noden. Detta hjälper andra att kringgå censur." #: plinth/modules/tor/forms.py:128 -#, fuzzy -#| msgid "Enable Tor Hidden Service" msgid "Enable Tor Onion Service" -msgstr "Aktivera Tor Hidden service" +msgstr "Aktivera Tor Onion service" #: plinth/modules/tor/forms.py:131 -#, fuzzy, python-brace-format -#| msgid "" -#| "A hidden service will allow {box_name} to provide selected services (such " -#| "as wiki or chat) without revealing its location. Do not use this for " -#| "strong anonymity yet." +#, python-brace-format msgid "" "An onion service will allow {box_name} to provide selected services (such as " "wiki or chat) without revealing its location. Do not use this for strong " "anonymity yet." msgstr "" -"En dold tjänst kommer att tillåta {box_name} att tillhandahålla utvalda " +"En onion tjänst kommer att tillåta {box_name} att tillhandahålla utvalda " "tjänster (till exempel wiki eller chatt) utan att avslöja dess plats. Använd " "inte detta för stark anonymitet ännu." @@ -5680,10 +5622,8 @@ msgid "Tor is not running" msgstr "Tor kör inte" #: plinth/modules/tor/templates/tor.html:67 -#, fuzzy -#| msgid "Hidden Service" msgid "Onion Service" -msgstr "Dold tjänst" +msgstr "Onion tjänst" #: plinth/modules/tor/templates/tor.html:69 msgid "Ports" @@ -5725,14 +5665,12 @@ msgstr "" "hanterar bitorrent fildelning. Observera att BitTorrent inte är anonym." #: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." msgid "" "Access the web interface at /transmission." msgstr "" -"Komma åt webbgränssnittet på /transmission." +"Komma åt webbgränssnittet på /transmission." #: plinth/modules/transmission/forms.py:30 msgid "Download directory" @@ -5767,32 +5705,26 @@ msgstr "" "känner dig så nära en riktig stationär applikation som möjligt." #: plinth/modules/ttrss/__init__.py:52 -#, fuzzy, python-brace-format -#| msgid "" -#| "When enabled, Tiny Tiny RSS will be available from /" -#| "tt-rss path on the web server. It can be accessed by any user with a {box_name} login." +#, python-brace-format msgid "" "When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " "by any user with a {box_name} login." msgstr "" -"När den är aktiverad kommer Tiny Tiny RSS att finnas tillgänglig från /tt-RSS Path på webbservern. Den kan nås av alla användare med en {box_name} login ." +"När den är aktiverad kommer Tiny Tiny RSS att finnas tillgänglig från /tt-RSS Path på webbservern. Den " +"kan nås av alla användare med en {box_name} login " +"." #: plinth/modules/ttrss/__init__.py:58 -#, fuzzy -#| msgid "" -#| "When using a mobile or desktop application for Tiny Tiny RSS, use the URL " -#| "/tt-rss-app for connecting." msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" "När du använder en mobil eller stationär applikation för Tiny Tiny RSS, " -"Använd URL: en /tt-RSS-app för att ansluta." +"Använd URL: en /tt-RSS-" +"app för att ansluta." #: plinth/modules/ttrss/__init__.py:65 msgid "Read and subscribe to news feeds" From 6649ead8545f11f811a7e841c113d128a95905d5 Mon Sep 17 00:00:00 2001 From: Veiko Aasa Date: Tue, 19 Nov 2019 15:09:43 +0300 Subject: [PATCH 13/58] ssh: fix Avahi SFTP service file - Remove user fbx from Avahi SFTP service file - Use more precise service name Closes #1689 Signed-off-by: Veiko Aasa Reviewed-by: James Valleroy --- plinth/modules/ssh/data/etc/avahi/services/sftp-ssh.service | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/plinth/modules/ssh/data/etc/avahi/services/sftp-ssh.service b/plinth/modules/ssh/data/etc/avahi/services/sftp-ssh.service index bfe1a0fe4..0b600d097 100644 --- a/plinth/modules/ssh/data/etc/avahi/services/sftp-ssh.service +++ b/plinth/modules/ssh/data/etc/avahi/services/sftp-ssh.service @@ -2,13 +2,11 @@ - %h + %h SFTP server _sftp-ssh._tcp 22 - path=/home/fbx - u=fbx From 5802d74e861e0cf4edf7353588a0f0c3f7b5aa28 Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Sun, 24 Nov 2019 05:30:49 -0500 Subject: [PATCH 14/58] debian: Update German debconf translation (Closes: #945387) Thanks to Helge Kreutzmann for the patch. Signed-off-by: James Valleroy --- debian/po/de.po | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/debian/po/de.po b/debian/po/de.po index a389ed798..a80f10a4e 100644 --- a/debian/po/de.po +++ b/debian/po/de.po @@ -1,14 +1,14 @@ # Translation of plinth debconf templates to German # Copyright (C) 2019 FreedomBox packaging team # This file is distributed under the same license as the plinth package. -# Helge Kreutzmann , 2018. +# Helge Kreutzmann , 2018, 2019. # msgid "" msgstr "" -"Project-Id-Version: plinth 0.35.0\n" +"Project-Id-Version: plinth 19.21\n" "Report-Msgid-Bugs-To: plinth@packages.debian.org\n" "POT-Creation-Date: 2019-11-18 18:11-0500\n" -"PO-Revision-Date: 2018-09-01 15:56+0200\n" +"PO-Revision-Date: 2019-11-24 06:46+0100\n" "Last-Translator: Helge Kreutzmann \n" "Language-Team: german \n" "Language: de\n" @@ -26,17 +26,12 @@ msgstr "Passphrase des Ersteinrichtungsprogramms der FreedomBox - ${secret}" #. Type: note #. Description #: ../templates:1001 -#, fuzzy -#| msgid "" -#| "Please save this string. You will be asked to enter this in the first " -#| "screen after you launch the FreedomBox interface. In case you lose it, " -#| "you can find it in the file /var/lib/plinth/firstboot-wizard-secret." msgid "" "Please note down the above secret. You will be asked to enter this in the " "first screen after you launch the FreedomBox web interface. In case you lose " "it, you can retrieve it by running the following command:" msgstr "" -"Bitte sichern Sie diese Zeichenkette. Sie werden auf dem ersten Bildschirm " -"nach dem Start der FreedomBox-Schnittstelle nach dieser Zeichenkette gefragt " -"werden. Falls Sie sie verlieren, können Sie sie in der Datei /var/lib/plinth/" -"firstboot-wizard-secret finden." +"Bitte schreiben Sie diese geheime Zeichenkette auf. Sie werden auf dem " +"ersten Bildschirm nach dem Start der FreedomBox-Schnittstelle nach dieser " +"Zeichenkette gefragt werden. Falls Sie sie verlieren, können Sie sie durch " +"Ausführung des folgenden Befehls wiedererlangen:" From 01bf96be4c23a44f466e94bbdfa61e568d62c9ce Mon Sep 17 00:00:00 2001 From: Matt Conroy Date: Sun, 24 Nov 2019 19:58:20 -0500 Subject: [PATCH 15/58] openvpn: manual link points to incorrect page Fixed issue #1701. Removed the hyperlink in the profile section per Joseph's suggestion and modified the paragraph to tell the user to click learn more since it has the correct link. Signed-off-by: Matt Conroy Fixes #1701 Reviewed-by: Joseph Nuthalapati --- plinth/modules/openvpn/templates/openvpn.html | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/plinth/modules/openvpn/templates/openvpn.html b/plinth/modules/openvpn/templates/openvpn.html index b4e15a755..31802f18c 100644 --- a/plinth/modules/openvpn/templates/openvpn.html +++ b/plinth/modules/openvpn/templates/openvpn.html @@ -44,10 +44,8 @@ To connect to {{ box_name }}'s VPN, you need to download a profile and feed it to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are available for most - platforms. See the - manual page on - recommended clients and instructions on how to configure them. + platforms. Click "Learn more..." above for recommended clients + and instructions on how to configure them. {% endblocktrans %}

From f9c9c628370f8e8d1c62995579c85f00af135621 Mon Sep 17 00:00:00 2001 From: Alice Kile Date: Fri, 22 Nov 2019 12:02:06 +0530 Subject: [PATCH 16/58] diagnostics: don't run on disabled modules Reviewed-by: Joseph Nuthalapati --- plinth/modules/diagnostics/diagnostics.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/plinth/modules/diagnostics/diagnostics.py b/plinth/modules/diagnostics/diagnostics.py index c5480933b..9cf36ca49 100644 --- a/plinth/modules/diagnostics/diagnostics.py +++ b/plinth/modules/diagnostics/diagnostics.py @@ -78,14 +78,15 @@ def _start_task(): if _running_task: raise Exception('Task already running') - _running_task = threading.Thread(target=_run_on_all_modules_wrapper) + _running_task = threading.Thread( + target=_run_on_all_enabled_modules_wrapper) _running_task.start() -def _run_on_all_modules_wrapper(): +def _run_on_all_enabled_modules_wrapper(): """Wrapper over actual task to catch exceptions.""" try: - run_on_all_modules() + run_on_all_enabled_modules() except Exception as exception: logger.exception('Error running diagnostics - %s', exception) current_results['error'] = str(exception) @@ -94,8 +95,8 @@ def _run_on_all_modules_wrapper(): _running_task = None -def run_on_all_modules(): - """Run diagnostics on all modules and store the result.""" +def run_on_all_enabled_modules(): + """Run diagnostics on all the enabled modules and store the result.""" global current_results current_results = { 'modules': [], @@ -113,6 +114,9 @@ def run_on_all_modules(): if module.setup_helper.get_state() == 'needs-setup': continue + if not module.app.is_enabled(): + continue + modules.append((module_name, module)) current_results['results'][module_name] = None From ee03357f65d21a68469655703f0f3a99e4f9429d Mon Sep 17 00:00:00 2001 From: Veiko Aasa Date: Thu, 21 Nov 2019 16:28:00 +0300 Subject: [PATCH 17/58] diagnostics: fix IPv6 failures - Curl: if an IPv6 zone index is specified, use --interface parameter. This fixes two issues: - Curl in Debian Buster doesn't support an IPv6 zone index in URL - Curl in Debian Bullseye doesn't redirect properly if a zone index is in URL. - Disable IPv6 diagnostics on daemons that don't listen on an IPv6 address: plinth, deluge, transmission Closes #1519 Signed-off-by: Veiko Aasa Reviewed-by: Joseph Nuthalapati --- plinth/action_utils.py | 12 +++++++++++- plinth/modules/deluge/__init__.py | 1 - plinth/modules/diagnostics/__init__.py | 1 - plinth/modules/transmission/__init__.py | 1 - 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/plinth/action_utils.py b/plinth/action_utils.py index 353fb7423..c2f2e725d 100644 --- a/plinth/action_utils.py +++ b/plinth/action_utils.py @@ -20,6 +20,7 @@ Python action utility functions. import logging import os +import re import shutil import socket import subprocess @@ -351,7 +352,16 @@ def _check_port(port, kind='tcp', listen_address=None): def check_url(url, kind=None, env=None, check_certificate=True, extra_options=None, wrapper=None, expected_output=None): """Check whether a URL is accessible.""" - command = ['curl', '--location', '-f', '-w', '%{response_code}', url] + command = ['curl', '--location', '-f', '-w', '%{response_code}'] + + if kind == '6': + # extract zone index + match = re.match(r'(.*://)\[(.*)%(?P.*)\](.*)', url) + if match: + command = command + ['--interface', match.group('zone')] + url = '{0}[{1}]{2}'.format(*match.group(1, 2, 4)) + + command.append(url) if wrapper: command.insert(0, wrapper) diff --git a/plinth/modules/deluge/__init__.py b/plinth/modules/deluge/__init__.py index 08fda23f9..93e515b06 100644 --- a/plinth/modules/deluge/__init__.py +++ b/plinth/modules/deluge/__init__.py @@ -111,7 +111,6 @@ def diagnose(): results = [] results.append(action_utils.diagnose_port_listening(8112, 'tcp4')) - results.append(action_utils.diagnose_port_listening(8112, 'tcp6')) results.extend( action_utils.diagnose_url_on_all('https://{host}/deluge', check_certificate=False)) diff --git a/plinth/modules/diagnostics/__init__.py b/plinth/modules/diagnostics/__init__.py index 78246b4c5..dfc228729 100644 --- a/plinth/modules/diagnostics/__init__.py +++ b/plinth/modules/diagnostics/__init__.py @@ -67,7 +67,6 @@ def diagnose(): """Run diagnostics and return the results.""" results = [] results.append(action_utils.diagnose_port_listening(8000, 'tcp4')) - results.append(action_utils.diagnose_port_listening(8000, 'tcp6')) results.extend( action_utils.diagnose_url_on_all('http://{host}/plinth/', check_certificate=False)) diff --git a/plinth/modules/transmission/__init__.py b/plinth/modules/transmission/__init__.py index 1e43e832e..5dd37b104 100644 --- a/plinth/modules/transmission/__init__.py +++ b/plinth/modules/transmission/__init__.py @@ -122,7 +122,6 @@ def diagnose(): results = [] results.append(action_utils.diagnose_port_listening(9091, 'tcp4')) - results.append(action_utils.diagnose_port_listening(9091, 'tcp6')) results.extend( action_utils.diagnose_url_on_all('https://{host}/transmission', check_certificate=False)) From 4969efd3b9367d595cb6aadbd398ebbc9f007889 Mon Sep 17 00:00:00 2001 From: Alice Kile Date: Thu, 21 Nov 2019 15:29:18 +0530 Subject: [PATCH 18/58] apps: Remove link to webapps in app descriptions [sunil: Fix trailing white space in description] [sunil: Fix removal of wrong message from ttrss app] Signed-off-by: Sunil Mohan Adapa Reviewed-by: Sunil Mohan Adapa --- plinth/modules/cockpit/__init__.py | 6 ++---- plinth/modules/deluge/__init__.py | 13 ++++++------- plinth/modules/ikiwiki/__init__.py | 5 +---- plinth/modules/syncthing/__init__.py | 13 +++++-------- plinth/modules/transmission/__init__.py | 11 +++++------ plinth/modules/ttrss/__init__.py | 15 +++++++-------- 6 files changed, 26 insertions(+), 37 deletions(-) diff --git a/plinth/modules/cockpit/__init__.py b/plinth/modules/cockpit/__init__.py index f6c8f2c38..1e4e8eb7d 100644 --- a/plinth/modules/cockpit/__init__.py +++ b/plinth/modules/cockpit/__init__.py @@ -54,11 +54,9 @@ description = [ 'required. A web based terminal for console operations is also ' 'available.'), box_name=_(cfg.box_name)), format_lazy( - _('When enabled, Cockpit will be available from /_cockpit/ path on the web server. It ' - 'can be accessed by any user on ' + _('It can be accessed by any user on ' '{box_name} belonging to the admin group.'), - box_name=_(cfg.box_name), users_url=reverse_lazy('users:index')), + box_name=_(cfg.box_name), users_url=reverse_lazy('users:index')) ] manual_page = 'Cockpit' diff --git a/plinth/modules/deluge/__init__.py b/plinth/modules/deluge/__init__.py index 93e515b06..4eb6bcbca 100644 --- a/plinth/modules/deluge/__init__.py +++ b/plinth/modules/deluge/__init__.py @@ -42,9 +42,7 @@ short_description = _('BitTorrent Web Client') description = [ _('Deluge is a BitTorrent client that features a Web UI.'), - _('When enabled, the Deluge web client will be available from ' - '/deluge path on the web ' - 'server. The default password is \'deluge\', but you should log in and ' + _('The default password is \'deluge\', but you should log in and ' 'change it immediately after enabling this service.') ] @@ -71,10 +69,11 @@ class DelugeApp(app_module.App): 'deluge:index', parent_url_name='apps') self.add(menu_item) - shortcut = frontpage.Shortcut( - 'shortcut-deluge', name, short_description=short_description, - url='/deluge', icon='deluge', clients=clients, login_required=True, - allowed_groups=[group[0]]) + shortcut = frontpage.Shortcut('shortcut-deluge', name, + short_description=short_description, + url='/deluge', icon='deluge', + clients=clients, login_required=True, + allowed_groups=[group[0]]) self.add(shortcut) firewall = Firewall('firewall-deluge', name, ports=['http', 'https'], diff --git a/plinth/modules/ikiwiki/__init__.py b/plinth/modules/ikiwiki/__init__.py index f7ecd9adc..1af5afe8d 100644 --- a/plinth/modules/ikiwiki/__init__.py +++ b/plinth/modules/ikiwiki/__init__.py @@ -45,10 +45,7 @@ short_description = _('Wiki and Blog') description = [ _('ikiwiki is a simple wiki and blog application. It supports ' 'several lightweight markup languages, including Markdown, and ' - 'common blogging functionality such as comments and RSS feeds. ' - 'When enabled, the blogs and wikis will be available at ' - '/ikiwiki ' - '(once created).'), + 'common blogging functionality such as comments and RSS feeds.'), format_lazy( _('Only {box_name} users in the admin group can create ' 'and manage blogs and wikis, but any user in the wiki ' diff --git a/plinth/modules/syncthing/__init__.py b/plinth/modules/syncthing/__init__.py index da7742810..273bf6a0f 100644 --- a/plinth/modules/syncthing/__init__.py +++ b/plinth/modules/syncthing/__init__.py @@ -54,10 +54,6 @@ description = [ 'user\'s set of devices may be synchronized with a distinct set of ' 'folders. The web interface on {box_name} is only available for ' 'users belonging to the "admin" group.'), box_name=_(cfg.box_name)), - _('When enabled, Syncthing\'s web interface will be available from ' - '/syncthing. ' - 'Desktop and mobile clients are also ' - 'available.'), ] clients = clients @@ -82,10 +78,11 @@ class SyncthingApp(app_module.App): parent_url_name='apps') self.add(menu_item) - shortcut = frontpage.Shortcut( - 'shortcut-syncthing', name, short_description=short_description, - icon='syncthing', url='/syncthing/', clients=clients, - login_required=True, allowed_groups=[group[0]]) + shortcut = frontpage.Shortcut('shortcut-syncthing', name, + short_description=short_description, + icon='syncthing', url='/syncthing/', + clients=clients, login_required=True, + allowed_groups=[group[0]]) self.add(shortcut) firewall = Firewall('firewall-syncthing-web', name, diff --git a/plinth/modules/transmission/__init__.py b/plinth/modules/transmission/__init__.py index 5dd37b104..466f3a578 100644 --- a/plinth/modules/transmission/__init__.py +++ b/plinth/modules/transmission/__init__.py @@ -46,8 +46,6 @@ description = [ _('BitTorrent is a peer-to-peer file sharing protocol. ' 'Transmission daemon handles Bitorrent file sharing. Note that ' 'BitTorrent is not anonymous.'), - _('Access the web interface at ' - '/transmission.') ] clients = clients @@ -74,10 +72,11 @@ class TransmissionApp(app_module.App): parent_url_name='apps') self.add(menu_item) - shortcut = frontpage.Shortcut( - 'shortcut-transmission', name, short_description=short_description, - icon='transmission', url='/transmission', clients=clients, - login_required=True, allowed_groups=[group[0]]) + shortcut = frontpage.Shortcut('shortcut-transmission', name, + short_description=short_description, + icon='transmission', url='/transmission', + clients=clients, login_required=True, + allowed_groups=[group[0]]) self.add(shortcut) firewall = Firewall('firewall-transmission', name, diff --git a/plinth/modules/ttrss/__init__.py b/plinth/modules/ttrss/__init__.py index 23a00f6d3..9fe10b9a6 100644 --- a/plinth/modules/ttrss/__init__.py +++ b/plinth/modules/ttrss/__init__.py @@ -49,10 +49,8 @@ description = [ 'designed to allow reading news from any location, while feeling as ' 'close to a real desktop application as possible.'), format_lazy( - _('When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. ' - 'It can be accessed by any user with a ' - '{box_name} login.'), + _('When enabled, Tiny Tiny RSS can be accessed by any ' + 'user with a {box_name} login.'), box_name=_(cfg.box_name), users_url=reverse_lazy('users:index')), format_lazy( _('When using a mobile or desktop application for Tiny Tiny RSS, use ' @@ -81,10 +79,11 @@ class TTRSSApp(app_module.App): 'ttrss:index', parent_url_name='apps') self.add(menu_item) - shortcut = frontpage.Shortcut( - 'shortcut-ttrss', name, short_description=short_description, - icon='ttrss', url='/tt-rss', clients=clients, login_required=True, - allowed_groups=[group[0]]) + shortcut = frontpage.Shortcut('shortcut-ttrss', name, + short_description=short_description, + icon='ttrss', url='/tt-rss', + clients=clients, login_required=True, + allowed_groups=[group[0]]) self.add(shortcut) firewall = Firewall('firewall-ttrss', name, ports=['http', 'https'], From 126f0a793e7535225b97424638ea7fad0ff423a6 Mon Sep 17 00:00:00 2001 From: Veiko Aasa Date: Thu, 28 Nov 2019 20:23:17 +0300 Subject: [PATCH 19/58] matrix-synapse: Update requirement from buster-backports matrix-synapse >= 1.5 requires python3-typing-extensions >= 3.7.4 Closes #1720 Signed-off-by: Veiko Aasa Reviewed-by: James Valleroy --- .../upgrades/data/etc/apt/preferences.d/50freedombox3.pref | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plinth/modules/upgrades/data/etc/apt/preferences.d/50freedombox3.pref b/plinth/modules/upgrades/data/etc/apt/preferences.d/50freedombox3.pref index b4a19265b..918f3408e 100644 --- a/plinth/modules/upgrades/data/etc/apt/preferences.d/50freedombox3.pref +++ b/plinth/modules/upgrades/data/etc/apt/preferences.d/50freedombox3.pref @@ -14,3 +14,8 @@ Explanation: matrix-synapse >= 1.2 requires python3-service-identity >= 18.1 Package: python3-service-identity Pin: release a=buster-backports Pin-Priority: 500 + +Explanation: matrix-synapse >= 1.5 requires python3-typing-extensions >= 3.7.4 +Package: python3-typing-extensions +Pin: release a=buster-backports +Pin-Priority: 500 From 005e9ffbd8c4013eeccb6c351606229018a1d8e0 Mon Sep 17 00:00:00 2001 From: Joseph Nuthalapati Date: Fri, 29 Nov 2019 16:21:58 +0530 Subject: [PATCH 20/58] openvpn: Add client apps Closes #1702 Signed-off-by: Joseph Nuthalapati Reviewed-by: James Valleroy --- plinth/modules/openvpn/__init__.py | 4 +- plinth/modules/openvpn/manifest.py | 51 +++++++++++++++++-- plinth/modules/openvpn/templates/openvpn.html | 2 + plinth/modules/openvpn/views.py | 1 + 4 files changed, 52 insertions(+), 6 deletions(-) diff --git a/plinth/modules/openvpn/__init__.py b/plinth/modules/openvpn/__init__.py index a3d7853ab..b99b97a4d 100644 --- a/plinth/modules/openvpn/__init__.py +++ b/plinth/modules/openvpn/__init__.py @@ -28,7 +28,7 @@ from plinth.daemon import Daemon from plinth.modules.firewall.components import Firewall from plinth.utils import format_lazy -from .manifest import backup # noqa, pylint: disable=unused-import +from .manifest import backup, clients # noqa, pylint: disable=unused-import version = 3 @@ -57,6 +57,8 @@ port_forwarding_info = [('UDP', 1194)] app = None +clients = clients + class OpenVPNApp(app_module.App): """FreedomBox app for OpenVPN.""" diff --git a/plinth/modules/openvpn/manifest.py b/plinth/modules/openvpn/manifest.py index 05b241959..bd57c5431 100644 --- a/plinth/modules/openvpn/manifest.py +++ b/plinth/modules/openvpn/manifest.py @@ -18,11 +18,52 @@ Application manifest for OpenVPN. """ +from django.utils.translation import ugettext_lazy as _ + +from plinth.clients import store_url, validate from plinth.modules.backups.api import validate as validate_backup +_package_id = 'de.blinkt.openvpn' +_download_url = 'https://openvpn.net/community-downloads' -backup = validate_backup({ - 'secrets': { - 'directories': ['/etc/openvpn/'] - } -}) +backup = validate_backup({'secrets': {'directories': ['/etc/openvpn/']}}) + +clients = validate([{ + 'name': + _('OpenVPN'), + 'platforms': [{ + 'type': 'package', + 'format': 'deb', + 'name': 'openvpn', + }, { + 'type': 'package', + 'format': 'brew', + 'name': 'openvpn', + }, { + 'type': 'store', + 'os': 'android', + 'store_name': 'f-droid', + 'url': store_url('f-droid', _package_id) + }, { + 'type': 'store', + 'os': 'android', + 'store_name': 'google-play', + 'url': store_url('google-play', _package_id) + }, { + 'type': 'download', + 'os': 'gnu-linux', + 'url': _download_url, + }, { + 'type': 'download', + 'os': 'windows', + 'url': _download_url, + }] +}, { + 'name': + _('TunnelBlick'), + 'platforms': [{ + 'type': 'download', + 'os': 'macos', + 'url': 'https://tunnelblick.net/downloads.html' + }] +}]) diff --git a/plinth/modules/openvpn/templates/openvpn.html b/plinth/modules/openvpn/templates/openvpn.html index 31802f18c..71609f4af 100644 --- a/plinth/modules/openvpn/templates/openvpn.html +++ b/plinth/modules/openvpn/templates/openvpn.html @@ -35,6 +35,8 @@ {% block configuration %} + {% include "clients.html" with clients=clients enabled=is_enabled %} + {% if status.is_setup %}

{% trans "Profile" %}

diff --git a/plinth/modules/openvpn/views.py b/plinth/modules/openvpn/views.py index fd2b36f5b..668449e06 100644 --- a/plinth/modules/openvpn/views.py +++ b/plinth/modules/openvpn/views.py @@ -59,6 +59,7 @@ def index(request): return TemplateResponse( request, 'openvpn.html', { 'title': openvpn.name, + 'clients': openvpn.clients, 'description': openvpn.description, 'manual_page': openvpn.manual_page, 'port_forwarding_info': openvpn.port_forwarding_info, From a8166bae7ed1886f26d7d58a664883974ed5f4da Mon Sep 17 00:00:00 2001 From: Alice Kile Date: Fri, 29 Nov 2019 17:06:11 +0530 Subject: [PATCH 21/58] Fix error with app toggle input Reviewed-by: James Valleroy --- static/themes/default/js/app.template.js | 44 +++++++++++++----------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/static/themes/default/js/app.template.js b/static/themes/default/js/app.template.js index 7cfeea4ee..dc6c97102 100644 --- a/static/themes/default/js/app.template.js +++ b/static/themes/default/js/app.template.js @@ -26,29 +26,31 @@ const appToggleContainer = document.querySelector('#app-toggle-container'); const appToggleButton = document.querySelector('#app-toggle-button'); const appToggleInput = document.querySelector('#app-toggle-input'); -const onSubmit = (e) => { - e.preventDefault; - appToggleInput.checked = !appToggleInput.checked; - appForm.submit(); -}; +if (appForm && appToggleButton && appToggleInput && appToggleContainer) { + const onSubmit = (e) => { + e.preventDefault; + appToggleInput.checked = !appToggleInput.checked; + appForm.submit(); + }; -appToggleButton.addEventListener('click', onSubmit); + appToggleButton.addEventListener('click', onSubmit); -/** - * if javascript is enabled, this script will run and show the toggle button - */ + /** + * if javascript is enabled, this script will run and show the toggle button + */ -appToggleInput.parentElement.style.display = 'none'; -appToggleContainer.style.display = 'flex'; + appToggleInput.parentElement.style.display = 'none'; + appToggleContainer.style.display = 'flex'; -/* A basic form has only three elements: - * 1. An input tag with CSRF token - * 2. A div with form elements - * 3. A Submit button - * - * This kind of form can be completely hidden. -*/ -if (appForm.children.length === 3) { - appForm.style.display = 'none'; - appForm.previousElementSibling.style.display = 'none'; + /* A basic form has only three elements: + * 1. An input tag with CSRF token + * 2. A div with form elements + * 3. A Submit button + * + * This kind of form can be completely hidden. + */ + if (appForm.children.length === 3) { + appForm.style.display = 'none'; + appForm.previousElementSibling.style.display = 'none'; + } } From eaaa7643871c5748714fcafdc9f064402ef534d8 Mon Sep 17 00:00:00 2001 From: Veiko Aasa Date: Sun, 10 Nov 2019 21:08:44 +0300 Subject: [PATCH 22/58] samba: Users can enable a guest share Related to #1681 Signed-off-by: Veiko Aasa Reviewed-by: James Valleroy --- actions/samba | 138 ++++++++++++++++++ plinth/modules/samba/__init__.py | 113 ++++++++++++++ .../data/etc/plinth/modules-enabled/samba | 1 + plinth/modules/samba/manifest.py | 23 +++ plinth/modules/samba/tests/__init__.py | 0 plinth/modules/samba/urls.py | 32 ++++ 6 files changed, 307 insertions(+) create mode 100755 actions/samba create mode 100644 plinth/modules/samba/__init__.py create mode 100644 plinth/modules/samba/data/etc/plinth/modules-enabled/samba create mode 100644 plinth/modules/samba/manifest.py create mode 100644 plinth/modules/samba/tests/__init__.py create mode 100644 plinth/modules/samba/urls.py diff --git a/actions/samba b/actions/samba new file mode 100755 index 000000000..034584671 --- /dev/null +++ b/actions/samba @@ -0,0 +1,138 @@ +#!/usr/bin/python3 +# +# This file is part of FreedomBox. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +""" +Configuration helper for samba. +""" + +import argparse +import os +import shutil +import subprocess + +import augeas +from plinth import action_utils + +SHARES_PATH = '/var/lib/samba/shares' +DEFAULT_FILE = '/etc/default/samba' + +CONF_PATH = '/etc/samba/smb-freedombox.conf' +CONF = r''' +# +# This file is managed and overwritten by Plinth. If you wish to manage +# Samba yourself, disable Samba in Plinth, remove this file and remove +# the --configfile parameter in /etc/default/samba +# +# To view configured samba shares use command `net conf list` +# + +[global] + workgroup = WORKGROUP + log file = /var/log/samba/log.%m + max log size = 1000 + logging = file + panic action = /usr/share/samba/panic-action %d + server role = standalone server + obey pam restrictions = yes + unix password sync = yes + passwd program = /usr/bin/passwd %u + passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . + pam password change = yes + map to guest = bad user + # enable registry based shares + registry shares = yes +''' # noqa: E501 + + +def parse_arguments(): + """Return parsed command line arguments as dictionary.""" + parser = argparse.ArgumentParser() + subparsers = parser.add_subparsers(dest='subcommand', help='Sub command') + + subparsers.add_parser('setup', help='Configure samba after install') + + subparsers.required = True + return parser.parse_args() + + +def _share_conf(parameters, **kwargs): + """Run samba registry edit command.""" + subprocess.check_call(['net', 'conf'] + parameters, **kwargs) + + +def _create_open_share(name, path): + """Create an open samba share.""" + try: + _share_conf(['delshare', name], stderr=subprocess.DEVNULL) + except subprocess.CalledProcessError: + pass + _share_conf(['addshare', name, path, 'writeable=y', 'guest_ok=y']) + _share_conf(['setparm', name, 'force group', 'sambashare']) + _share_conf(['setparm', name, 'inherit permissions', 'yes']) + + +def _use_config_file(conf): + """Set samba configuration file location.""" + aug = augeas.Augeas( + flags=augeas.Augeas.NO_LOAD + augeas.Augeas.NO_MODL_AUTOLOAD) + aug.set('/augeas/load/Shellvars/lens', 'Shellvars.lns') + aug.set('/augeas/load/Shellvars/incl[last() + 1]', DEFAULT_FILE) + aug.load() + + aug.set('/files' + DEFAULT_FILE + '/SMBDOPTIONS', + '--configfile={0}'.format(conf)) + aug.save() + + +def subcommand_setup(_): + """Configure samba after install.""" + try: + os.mkdir(SHARES_PATH) + except FileExistsError: + pass + + open_share_path = os.path.join(SHARES_PATH, 'open_share') + try: + os.mkdir(open_share_path) + except FileExistsError: + pass + # set folder group writable, 2 turns on the setGID bit + # + # TODO: some filesystems doesn't support chown and chmod + # (and it is not needed if mounted with correct parameters) + shutil.chown(open_share_path, group='sambashare') + os.chmod(open_share_path, 0o2775) + + # use custom samba config file + with open(CONF_PATH, 'w') as file_handle: + file_handle.write(CONF) + _use_config_file(CONF_PATH) + _create_open_share('freedombox-open-share', open_share_path) + action_utils.service_restart('smbd') + + +def main(): + """Parse arguments and perform all duties.""" + arguments = parse_arguments() + + subcommand = arguments.subcommand.replace('-', '_') + subcommand_method = globals()['subcommand_' + subcommand] + subcommand_method(arguments) + + +if __name__ == '__main__': + main() diff --git a/plinth/modules/samba/__init__.py b/plinth/modules/samba/__init__.py new file mode 100644 index 000000000..4ec03b8be --- /dev/null +++ b/plinth/modules/samba/__init__.py @@ -0,0 +1,113 @@ +# +# This file is part of FreedomBox. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +""" +FreedomBox app to configure samba. +""" + +import socket + +from django.urls import reverse_lazy +from django.utils.translation import ugettext_lazy as _ + +from plinth import action_utils, actions +from plinth import app as app_module +from plinth import frontpage, menu +from plinth.daemon import Daemon +from plinth.modules.firewall.components import Firewall +from plinth.utils import format_lazy + +from .manifest import backup, clients # noqa, pylint: disable=unused-import + +version = 1 + +managed_services = ['smbd'] + +managed_packages = ['samba'] + +name = _('Samba') + +short_description = _('Samba File Sharing') + +description = [ + _('Samba file sharing allows to share files between computers in your ' + 'local network. '), + format_lazy( + _('If enabled, Samba share will be available at \\\\{hostname} on ' + 'Windows and smb://{hostname} on Linux and Mac'), + hostname=socket.gethostname()), +] + +clients = clients + +app = None + + +class SambaApp(app_module.App): + """FreedomBox app for Samba file sharing.""" + + app_id = 'samba' + + def __init__(self): + """Create components for the app.""" + super().__init__() + menu_item = menu.Menu('menu-samba', name, short_description, 'samba', + 'samba:index', parent_url_name='apps') + self.add(menu_item) + + shortcut = frontpage.Shortcut( + 'shortcut-samba', name, short_description=short_description, + icon='samba', description=description, + configure_url=reverse_lazy('samba:index'), clients=clients, + login_required=True) + self.add(shortcut) + + firewall = Firewall('firewall-samba', name, ports=['samba']) + self.add(firewall) + + daemon = Daemon('daemon-samba', managed_services[0]) + self.add(daemon) + + +def init(): + """Initialize the module.""" + global app + app = SambaApp() + + setup_helper = globals()['setup_helper'] + if setup_helper.get_state() != 'needs-setup' and app.is_enabled(): + app.set_enabled(True) + + +def setup(helper, old_version=None): + """Install and configure the module.""" + helper.install(managed_packages) + helper.call('post', actions.superuser_run, 'samba', ['setup']) + helper.call('post', app.enable) + + +def diagnose(): + """Run diagnostics and return the results.""" + results = [] + + results.append(action_utils.diagnose_port_listening(137, 'udp4')) + results.append(action_utils.diagnose_port_listening(138, 'udp4')) + results.append(action_utils.diagnose_port_listening(139, 'tcp4')) + results.append(action_utils.diagnose_port_listening(139, 'tcp6')) + results.append(action_utils.diagnose_port_listening(445, 'tcp4')) + results.append(action_utils.diagnose_port_listening(445, 'tcp6')) + + return results diff --git a/plinth/modules/samba/data/etc/plinth/modules-enabled/samba b/plinth/modules/samba/data/etc/plinth/modules-enabled/samba new file mode 100644 index 000000000..89f59abca --- /dev/null +++ b/plinth/modules/samba/data/etc/plinth/modules-enabled/samba @@ -0,0 +1 @@ +plinth.modules.samba diff --git a/plinth/modules/samba/manifest.py b/plinth/modules/samba/manifest.py new file mode 100644 index 000000000..8275de1da --- /dev/null +++ b/plinth/modules/samba/manifest.py @@ -0,0 +1,23 @@ +# +# This file is part of FreedomBox. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +from plinth.clients import validate +from plinth.modules.backups.api import validate as validate_backup + +clients = validate([]) + +backup = validate_backup({}) diff --git a/plinth/modules/samba/tests/__init__.py b/plinth/modules/samba/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/plinth/modules/samba/urls.py b/plinth/modules/samba/urls.py new file mode 100644 index 000000000..a439d9d49 --- /dev/null +++ b/plinth/modules/samba/urls.py @@ -0,0 +1,32 @@ +# +# This file is part of FreedomBox. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +""" +URLs for the Samba module. +""" + +from django.conf.urls import url +from plinth.modules import samba +from plinth.views import AppView + +urlpatterns = [ + url( + r'^apps/samba/$', + AppView.as_view(app_id='samba', name=samba.name, + diagnostics_module_name='samba', + description=samba.description, + show_status_block=False), name='index') +] From 598bcb6fbbf37a55a3ccdd49be9b444b4d077c61 Mon Sep 17 00:00:00 2001 From: Veiko Aasa Date: Sun, 17 Nov 2019 19:35:42 +0300 Subject: [PATCH 23/58] samba: user can select devices for sharing - show share also if a device is not available - use folder Freedombox/shares/open_share for sharing on every disk - backup and restore share definitions - fix: do not hide status block - fix: add nmbd to the managed services Signed-off-by: Veiko Aasa Reviewed-by: James Valleroy --- actions/samba | 166 +++++++++++++++++----- plinth/modules/samba/__init__.py | 49 ++++++- plinth/modules/samba/manifest.py | 14 +- plinth/modules/samba/static/samba.js | 7 + plinth/modules/samba/templates/samba.html | 139 ++++++++++++++++++ plinth/modules/samba/urls.py | 17 ++- plinth/modules/samba/views.py | 102 +++++++++++++ 7 files changed, 443 insertions(+), 51 deletions(-) create mode 100644 plinth/modules/samba/static/samba.js create mode 100644 plinth/modules/samba/templates/samba.html create mode 100644 plinth/modules/samba/views.py diff --git a/actions/samba b/actions/samba index 034584671..3cadf7444 100755 --- a/actions/samba +++ b/actions/samba @@ -20,14 +20,16 @@ Configuration helper for samba. """ import argparse +import configparser +import json import os import shutil import subprocess import augeas from plinth import action_utils +from plinth.modules.samba.manifest import SHARES_CONF_BACKUP_FILE, SHARES_PATH -SHARES_PATH = '/var/lib/samba/shares' DEFAULT_FILE = '/etc/default/samba' CONF_PATH = '/etc/samba/smb-freedombox.conf' @@ -35,9 +37,10 @@ CONF = r''' # # This file is managed and overwritten by Plinth. If you wish to manage # Samba yourself, disable Samba in Plinth, remove this file and remove -# the --configfile parameter in /etc/default/samba +# line with --configfile parameter in /etc/default/samba. # -# To view configured samba shares use command `net conf list` +# Configuration parameters which differ from Debian default configuration +# are commented. To view configured samba shares use command `net conf list`. # [global] @@ -53,6 +56,8 @@ CONF = r''' passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user + # connection inactivity timeout in minutes + deadtime = 5 # enable registry based shares registry shares = yes ''' # noqa: E501 @@ -65,27 +70,85 @@ def parse_arguments(): subparsers.add_parser('setup', help='Configure samba after install') + subparsers.add_parser('get-shares', help='Get configured samba shares') + + subparser = subparsers.add_parser('add-share', help='Add new samba share') + subparser.add_argument('--mount-point', help='Path of the mount point', + required=True) + subparser.add_argument('--windows-filesystem', required=False, + default=False, action='store_true', + help='Path is Windows filesystem') + + subparser = subparsers.add_parser( + 'delete-share', help='Delete a samba share configuration') + subparser.add_argument('--mount-point', help='Path of the mount point', + required=True) + + subparsers.add_parser('dump-shares', + help='Dump share configuration to file') + subparsers.add_parser('restore-shares', + help='Restore share configuration from file') + subparsers.required = True return parser.parse_args() -def _share_conf(parameters, **kwargs): - """Run samba registry edit command.""" +def _conf_command(parameters, **kwargs): + """Run samba configuration registry command.""" subprocess.check_call(['net', 'conf'] + parameters, **kwargs) -def _create_open_share(name, path): - """Create an open samba share.""" +def _create_share(mount_point, windows_filesystem=False): + """Create a samba share.""" + open_share_path = os.path.join(mount_point, SHARES_PATH, 'open_share') + os.makedirs(open_share_path, exist_ok=True) + + # FAT and NTFS partitions don't support chown and chmod + if not windows_filesystem: + shutil.chown(open_share_path, group='sambashare') + os.chmod(open_share_path, 0o2775) + + share_name = _create_share_name(mount_point) + _define_open_share(share_name, open_share_path, windows_filesystem) + + +def _define_open_share(name, path, windows_filesystem=False): + """Define an open samba share.""" try: - _share_conf(['delshare', name], stderr=subprocess.DEVNULL) + _conf_command(['delshare', name], stderr=subprocess.DEVNULL) except subprocess.CalledProcessError: pass - _share_conf(['addshare', name, path, 'writeable=y', 'guest_ok=y']) - _share_conf(['setparm', name, 'force group', 'sambashare']) - _share_conf(['setparm', name, 'inherit permissions', 'yes']) + _conf_command(['addshare', name, path, 'writeable=y', 'guest_ok=y']) + if not windows_filesystem: + _conf_command(['setparm', name, 'force group', 'sambashare']) + _conf_command(['setparm', name, 'inherit permissions', 'yes']) -def _use_config_file(conf): +def _create_share_name(mount_point): + """Create a share name.""" + share_name = os.path.basename(mount_point) + if not share_name: + share_name = "disk" + + return share_name + + +def _get_shares(): + """Get shares""" + shares = [] + command = ['net', 'conf', 'list'] + output = subprocess.check_output(command) + config = configparser.ConfigParser() + config.read_string(output.decode()) + for name in config.sections(): + mount_point = config[name]['path'].split(SHARES_PATH)[0] + mount_point = os.path.normpath(mount_point) + shares.append(dict(name=name, mount_point=mount_point)) + + return shares + + +def _use_config_file(conf_file): """Set samba configuration file location.""" aug = augeas.Augeas( flags=augeas.Augeas.NO_LOAD + augeas.Augeas.NO_MODL_AUTOLOAD) @@ -94,41 +157,74 @@ def _use_config_file(conf): aug.load() aug.set('/files' + DEFAULT_FILE + '/SMBDOPTIONS', - '--configfile={0}'.format(conf)) + '--configfile={0}'.format(conf_file)) aug.save() +def _validate_mount_point(path): + """Validate that given path string is a mount point.""" + if path != '/': + parent_path = os.path.dirname(path) + if os.stat(path).st_dev == os.stat(parent_path).st_dev: + raise RuntimeError('Path "{0}" is not a mount point.'.format(path)) + + +def subcommand_add_share(arguments): + """Create a samba share.""" + mount_point = os.path.normpath(arguments.mount_point) + _validate_mount_point(mount_point) + _create_share(mount_point, arguments.windows_filesystem) + + +def subcommand_delete_share(arguments): + """Delete a samba share configuration.""" + mount_point = os.path.normpath(arguments.mount_point) + shares = _get_shares() + for share in shares: + if share['mount_point'] == mount_point: + _conf_command(['delshare', share['name']]) + # restart samba to disconnect all users + action_utils.service_restart('smbd') + break + else: + raise RuntimeError( + 'Mount path "{0}" is not shared.'.format(mount_point)) + + +def subcommand_get_shares(_): + """Get samba shares.""" + print(json.dumps(_get_shares())) + + def subcommand_setup(_): - """Configure samba after install.""" - try: - os.mkdir(SHARES_PATH) - except FileExistsError: - pass - - open_share_path = os.path.join(SHARES_PATH, 'open_share') - try: - os.mkdir(open_share_path) - except FileExistsError: - pass - # set folder group writable, 2 turns on the setGID bit - # - # TODO: some filesystems doesn't support chown and chmod - # (and it is not needed if mounted with correct parameters) - shutil.chown(open_share_path, group='sambashare') - os.chmod(open_share_path, 0o2775) - - # use custom samba config file + """Configure samba. Use custom samba config file.""" with open(CONF_PATH, 'w') as file_handle: file_handle.write(CONF) _use_config_file(CONF_PATH) - _create_open_share('freedombox-open-share', open_share_path) - action_utils.service_restart('smbd') + if action_utils.service_is_running('smbd'): + action_utils.service_restart('smbd') + + +def subcommand_dump_shares(_): + """Dump registy share configuration.""" + os.makedirs(os.path.dirname(SHARES_CONF_BACKUP_FILE), exist_ok=True) + with open(SHARES_CONF_BACKUP_FILE, 'w') as backup_file: + command = ['net', 'conf', 'list'] + subprocess.run(command, stdout=backup_file, check=True) + + +def subcommand_restore_shares(_): + """Restore registy share configuration.""" + if not os.path.exists(SHARES_CONF_BACKUP_FILE): + raise RuntimeError( + 'Backup file {0} does not exist.'.format(SHARES_CONF_BACKUP_FILE)) + _conf_command(['drop']) + _conf_command(['import', SHARES_CONF_BACKUP_FILE]) def main(): """Parse arguments and perform all duties.""" arguments = parse_arguments() - subcommand = arguments.subcommand.replace('-', '_') subcommand_method = globals()['subcommand_' + subcommand] subcommand_method(arguments) diff --git a/plinth/modules/samba/__init__.py b/plinth/modules/samba/__init__.py index 4ec03b8be..f18d946a4 100644 --- a/plinth/modules/samba/__init__.py +++ b/plinth/modules/samba/__init__.py @@ -18,6 +18,7 @@ FreedomBox app to configure samba. """ +import json import socket from django.urls import reverse_lazy @@ -34,7 +35,7 @@ from .manifest import backup, clients # noqa, pylint: disable=unused-import version = 1 -managed_services = ['smbd'] +managed_services = ['smbd', 'nmbd'] managed_packages = ['samba'] @@ -43,12 +44,13 @@ name = _('Samba') short_description = _('Samba File Sharing') description = [ - _('Samba file sharing allows to share files between computers in your ' - 'local network. '), + _('Samba allows to share files and folders between computers in your ' + 'local network.'), format_lazy( - _('If enabled, Samba share will be available at \\\\{hostname} on ' - 'Windows and smb://{hostname} on Linux and Mac'), - hostname=socket.gethostname()), + _('After installation, you can choose which disks to use for sharing. ' + 'Enabled {hostname} shares are open to everyone in your local ' + 'network and are accessible under Network section in the file ' + 'manager.'), hostname=socket.gethostname().upper()) ] clients = clients @@ -81,6 +83,9 @@ class SambaApp(app_module.App): daemon = Daemon('daemon-samba', managed_services[0]) self.add(daemon) + daemon_nmbd = Daemon('daemon-samba-nmbd', managed_services[1]) + self.add(daemon_nmbd) + def init(): """Initialize the module.""" @@ -111,3 +116,35 @@ def diagnose(): results.append(action_utils.diagnose_port_listening(445, 'tcp6')) return results + + +def add_share(mount_point, filesystem): + """Add a share.""" + command = ['add-share', '--mount-point', mount_point] + if filesystem in ['ntfs', 'vfat']: + command = command + ['--windows-filesystem'] + actions.superuser_run('samba', command) + + +def delete_share(mount_point): + """Delete a share.""" + command = ['delete-share', '--mount-point', mount_point] + actions.superuser_run('samba', command) + + +def get_shares(): + """Get defined shares.""" + output = actions.superuser_run('samba', ['get-shares']) + + return json.loads(output) + + +def backup_pre(packet): + """Save registry share configuration.""" + actions.superuser_run('samba', ['dump-shares']) + + +def restore_post(packet): + """Restore configuration.""" + actions.superuser_run('samba', ['setup']) + actions.superuser_run('samba', ['restore-config']) diff --git a/plinth/modules/samba/manifest.py b/plinth/modules/samba/manifest.py index 8275de1da..8f50e3263 100644 --- a/plinth/modules/samba/manifest.py +++ b/plinth/modules/samba/manifest.py @@ -14,10 +14,22 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # +""" +Application manifest for Samba. +""" from plinth.clients import validate from plinth.modules.backups.api import validate as validate_backup +# A directory where the 'open_share' subdirectory will be created +SHARES_PATH = 'FreedomBox/shares/' +SHARES_CONF_BACKUP_FILE = '/var/lib/plinth/backups-data/samba-shares-dump.conf' + clients = validate([]) -backup = validate_backup({}) +backup = validate_backup({ + 'data': { + 'files': [SHARES_CONF_BACKUP_FILE] + }, + 'services': ['smbd', 'nmbd'] +}) diff --git a/plinth/modules/samba/static/samba.js b/plinth/modules/samba/static/samba.js new file mode 100644 index 000000000..abeba7b4c --- /dev/null +++ b/plinth/modules/samba/static/samba.js @@ -0,0 +1,7 @@ +const share_checkbox = $(".shareform > input[type='checkbox']"); + +share_checkbox.change(function(event) { + this.disabled=true; + this.style.cursor='wait'; + this.form.submit(); +}); diff --git a/plinth/modules/samba/templates/samba.html b/plinth/modules/samba/templates/samba.html new file mode 100644 index 000000000..2e849d70c --- /dev/null +++ b/plinth/modules/samba/templates/samba.html @@ -0,0 +1,139 @@ +{% extends "app.html" %} +{% comment %} +# +# This file is part of FreedomBox. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +{% endcomment %} + +{% load bootstrap %} +{% load i18n %} +{% load static %} + +{% block page_head %} + +{% endblock %} + + +{% block configuration %} + {{ block.super }} + + {% if is_enabled %} +

{% trans "Select devices for sharing:" %}

+

+ {% blocktrans trimmed %} + NB! Selecting device does not share the whole disk, only the folder + FreedomBox/shares/open_share will be shared on that disk. + {% endblocktrans %} +

+ + + + + + + + + + + + + {% for disk in disks %} + + + + + + + + + {% endfor %} + +
{% trans "Device" %}{% trans "Label" %}{% trans "Mount Point" %}{% trans "Type" %}{% trans "Used" %}
+ {% if disk.mount_point in shared_mounts %} +
+ {% csrf_token %} + +
+ {% else %} +
+ {% csrf_token %} + + +
+ {% endif %} +
{{ disk.device }}{{ disk.label|default_if_none:"" }}{{ disk.mount_point }}{{ disk.filesystem_type }} +
+ {% if disk.percent_used < 75 %} +
+ {{ disk.percent_used }}% +
+
+
{{ disk.used_str }} / {{ disk.size_str }}
+
+ + {% if unavailable_shares %} +

Shares configured but the disk is not available:

+

+ {% blocktrans trimmed %} + If the disk is plugged back in, sharing will be automatically enabled. + {% endblocktrans %} +

+ + + + + + + + + {% for share in unavailable_shares %} + + + + + {% endfor %} + +
{% trans "Share name" %}{% trans "Action" %}
{{ share.name }} +
+ {% csrf_token %} + +
+
+ {% endif %} + {% endif %} +{% endblock %} + +{% block page_js %} + +{% endblock %} diff --git a/plinth/modules/samba/urls.py b/plinth/modules/samba/urls.py index a439d9d49..d98f384a4 100644 --- a/plinth/modules/samba/urls.py +++ b/plinth/modules/samba/urls.py @@ -15,18 +15,17 @@ # along with this program. If not, see . # """ -URLs for the Samba module. +URLs for the samba module. """ from django.conf.urls import url -from plinth.modules import samba -from plinth.views import AppView + +from . import views urlpatterns = [ - url( - r'^apps/samba/$', - AppView.as_view(app_id='samba', name=samba.name, - diagnostics_module_name='samba', - description=samba.description, - show_status_block=False), name='index') + url(r'^samba/$', views.SambaAppView.as_view(), name='index'), + url(r'^samba/share/(?P[A-Za-z0-9%_.\-~]+)/$', views.share, + name='share'), + url(r'^samba/unshare/(?P[A-Za-z0-9%_.\-~]+)/$', views.unshare, + name='unshare'), ] diff --git a/plinth/modules/samba/views.py b/plinth/modules/samba/views.py new file mode 100644 index 000000000..6132340d5 --- /dev/null +++ b/plinth/modules/samba/views.py @@ -0,0 +1,102 @@ +# +# This file is part of FreedomBox. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +""" +Views for samba module. +""" + +import logging +import urllib.parse + +from django.contrib import messages +from django.shortcuts import redirect +from django.urls import reverse +from django.utils.translation import ugettext as _ +from django.views.decorators.http import require_POST +from plinth import views +from plinth.modules import samba, storage + +logger = logging.getLogger(__name__) + + +class SambaAppView(views.AppView): + """Samba sharing basic configuration.""" + name = samba.name + description = samba.description + app_id = 'samba' + template_name = 'samba.html' + + def get_context_data(self, *args, **kwargs): + """Return template context data.""" + context = super().get_context_data(*args, **kwargs) + disks = storage.get_disks() + context['disks'] = disks + shares = samba.get_shares() + context['shared_mounts'] = [share['mount_point'] for share in shares] + + unavailable_shares = [] + for share in shares: + for disk in disks: + if share['mount_point'] == disk['mount_point']: + break + else: + unavailable_shares.append(share) + context['unavailable_shares'] = unavailable_shares + + return context + + +@require_POST +def share(request, mount_point): + """Enable sharing, given its root path. + + mount_point is urlquoted. + + """ + mount_point = urllib.parse.unquote(mount_point) + filesystem = request.POST.get('filesystem_type', '') + try: + samba.add_share(mount_point, filesystem) + messages.success(request, _('Share enabled.')) + except Exception as exception: + logger.exception('Error enabling share') + messages.error( + request, + _('Error enabling share: {error_message}').format( + error_message=exception)) + + return redirect(reverse('samba:index')) + + +@require_POST +def unshare(request, mount_point): + """Disable sharing, given its name. + + mount_point is urlquoted. + + """ + mount_point = urllib.parse.unquote(mount_point) + try: + samba.delete_share(mount_point) + messages.success(request, _('Share disabled.')) + except Exception as exception: + logger.exception('Error disabling share') + messages.error( + request, + _('Error disabling share: {error_message}').format( + error_message=exception)) + + return redirect(reverse('samba:index')) From dbdd482e61193818b2ff83c19ef8763c5ca8f7bc Mon Sep 17 00:00:00 2001 From: Veiko Aasa Date: Sat, 23 Nov 2019 12:41:25 +0300 Subject: [PATCH 24/58] samba: fixes and improvements Reviewed-by: James Valleroy --- actions/samba | 45 +++++++---- debian/copyright | 7 ++ plinth/modules/samba/__init__.py | 6 +- plinth/modules/samba/templates/samba.html | 17 +++-- plinth/modules/samba/views.py | 1 + static/themes/default/icons/samba.png | Bin 0 -> 8713 bytes static/themes/default/icons/samba.svg | 88 ++++++++++++++++++++++ 7 files changed, 137 insertions(+), 27 deletions(-) create mode 100644 static/themes/default/icons/samba.png create mode 100644 static/themes/default/icons/samba.svg diff --git a/actions/samba b/actions/samba index 3cadf7444..419bc7900 100755 --- a/actions/samba +++ b/actions/samba @@ -24,6 +24,7 @@ import configparser import json import os import shutil +import stat import subprocess import augeas @@ -93,6 +94,11 @@ def parse_arguments(): return parser.parse_args() +def _close_share(share_name): + """Disconnect all samba users who are connected to the share.""" + subprocess.check_call(['smbcontrol', 'smbd', 'close-share', share_name]) + + def _conf_command(parameters, **kwargs): """Run samba configuration registry command.""" subprocess.check_call(['net', 'conf'] + parameters, **kwargs) @@ -103,6 +109,8 @@ def _create_share(mount_point, windows_filesystem=False): open_share_path = os.path.join(mount_point, SHARES_PATH, 'open_share') os.makedirs(open_share_path, exist_ok=True) + _make_mounts_readable_by_others(mount_point) + # FAT and NTFS partitions don't support chown and chmod if not windows_filesystem: shutil.chown(open_share_path, group='sambashare') @@ -112,6 +120,15 @@ def _create_share(mount_point, windows_filesystem=False): _define_open_share(share_name, open_share_path, windows_filesystem) +def _create_share_name(mount_point): + """Create a share name.""" + share_name = os.path.basename(mount_point) + if not share_name: + share_name = 'disk' + + return share_name + + def _define_open_share(name, path, windows_filesystem=False): """Define an open samba share.""" try: @@ -124,20 +141,10 @@ def _define_open_share(name, path, windows_filesystem=False): _conf_command(['setparm', name, 'inherit permissions', 'yes']) -def _create_share_name(mount_point): - """Create a share name.""" - share_name = os.path.basename(mount_point) - if not share_name: - share_name = "disk" - - return share_name - - def _get_shares(): - """Get shares""" + """Get shares.""" shares = [] - command = ['net', 'conf', 'list'] - output = subprocess.check_output(command) + output = subprocess.check_output(['net', 'conf', 'list']) config = configparser.ConfigParser() config.read_string(output.decode()) for name in config.sections(): @@ -148,6 +155,13 @@ def _get_shares(): return shares +def _make_mounts_readable_by_others(mount_point): + """Make mounted devices readable/traversible by others.""" + dirname = os.path.dirname(mount_point) + stats = os.stat(dirname) + os.chmod(dirname, stats.st_mode | stat.S_IROTH | stat.S_IXOTH) + + def _use_config_file(conf_file): """Set samba configuration file location.""" aug = augeas.Augeas( @@ -182,13 +196,12 @@ def subcommand_delete_share(arguments): shares = _get_shares() for share in shares: if share['mount_point'] == mount_point: + _close_share(share['name']) _conf_command(['delshare', share['name']]) - # restart samba to disconnect all users - action_utils.service_restart('smbd') break else: raise RuntimeError( - 'Mount path "{0}" is not shared.'.format(mount_point)) + 'Mount point "{0}" is not shared.'.format(mount_point)) def subcommand_get_shares(_): @@ -197,7 +210,7 @@ def subcommand_get_shares(_): def subcommand_setup(_): - """Configure samba. Use custom samba config file.""" + """Configure samba, use custom samba config file.""" with open(CONF_PATH, 'w') as file_handle: file_handle.write(CONF) _use_config_file(CONF_PATH) diff --git a/debian/copyright b/debian/copyright index a2bca8c0b..9c5eb3ca7 100644 --- a/debian/copyright +++ b/debian/copyright @@ -172,6 +172,13 @@ Copyright: Thomas B. (https://github.com/thomascube) Comment: https://raw.githubusercontent.com/roundcube/roundcubemail/master/skins/elastic/images/logo.svg License: CC-BY-SA-3.0 +Files: static/themes/default/icons/samba.png + static/themes/default/icons/samba.svg +Copyright: None +Comment: 2010 Samba Team + https://commons.wikimedia.org/wiki/File:Samba_logo_2010.svg +License: public-domain + Files: static/themes/default/icons/searx.png static/themes/default/icons/searx.svg Copyright: diff --git a/plinth/modules/samba/__init__.py b/plinth/modules/samba/__init__.py index f18d946a4..c52b1bf2f 100644 --- a/plinth/modules/samba/__init__.py +++ b/plinth/modules/samba/__init__.py @@ -41,11 +41,11 @@ managed_packages = ['samba'] name = _('Samba') -short_description = _('Samba File Sharing') +short_description = _('File Sharing') description = [ - _('Samba allows to share files and folders between computers in your ' - 'local network.'), + _('Samba allows to share files and folders between FreedomBox and ' + 'other computers in your local network.'), format_lazy( _('After installation, you can choose which disks to use for sharing. ' 'Enabled {hostname} shares are open to everyone in your local ' diff --git a/plinth/modules/samba/templates/samba.html b/plinth/modules/samba/templates/samba.html index 2e849d70c..d6760eaa3 100644 --- a/plinth/modules/samba/templates/samba.html +++ b/plinth/modules/samba/templates/samba.html @@ -35,11 +35,11 @@ {{ block.super }} {% if is_enabled %} -

{% trans "Select devices for sharing:" %}

+

{% trans "Select disks for sharing" %}

{% blocktrans trimmed %} - NB! Selecting device does not share the whole disk, only the folder - FreedomBox/shares/open_share will be shared on that disk. + NB! Only the directory FreedomBox/shares/open_share will be shared on + selected disks. The directory will be created if it doesn't exist. {% endblocktrans %}

@@ -71,7 +71,10 @@ + name="mount_point" autocomplete="off" + {% if disk.filesystem_type == 'vfat' %} + title='{% trans "vfat partitions are not supported" %}' disabled + {% endif %}/> {% endif %} @@ -102,11 +105,9 @@
{% if unavailable_shares %} -

Shares configured but the disk is not available:

+

{% trans "Shares configured but the disk is not available" %}

- {% blocktrans trimmed %} - If the disk is plugged back in, sharing will be automatically enabled. - {% endblocktrans %} + {% trans "If the disk is plugged back in, sharing will be automatically enabled." %}

diff --git a/plinth/modules/samba/views.py b/plinth/modules/samba/views.py index 6132340d5..a9cc3c6e0 100644 --- a/plinth/modules/samba/views.py +++ b/plinth/modules/samba/views.py @@ -36,6 +36,7 @@ class SambaAppView(views.AppView): """Samba sharing basic configuration.""" name = samba.name description = samba.description + diagnostics_module_name = 'samba' app_id = 'samba' template_name = 'samba.html' diff --git a/static/themes/default/icons/samba.png b/static/themes/default/icons/samba.png new file mode 100644 index 0000000000000000000000000000000000000000..9e582be961f3495f4b82eba2936d14cf610da1cf GIT binary patch literal 8713 zcmZ`5K>!Uk zWpE3v^P>#ZUY2IY!1;d{_FZiOg+hxmcfLcJG5OyELR@$pMIpk%EUZmnWO^=x}E6Q_k)e8)BO-dJyzZbEjO`!~LrBqZG&RoollVJ1j$2 zud*~WN{kUtU!PI*V~%*AQkni$VJ`Kvuv=Kz)h zOM^DnDx$?gL8!97xTA9t8ZwQU!aL)`3S5Mk=OQU&W#KeS_WUukF1Fvn$OqWAKlS0S zvkiux^pJB}0RtFH1EoxmA_H{~j03szJ7FZa_v28m^Cys4nqtLb#_#(d_2Z=f6W_84 zElm84m&89ra+mxnAh-Q!-LD@Uh2qfz8mt7SvZPL)&c1%AR1MFy=-v9*2T2tWRM{^U zNI5=GY6)`eyAHXC*Tb#~VaPeRF5?|ZZpezv5v#JGr{tDReXiF4e2h2_YxDVs$;LcS z%x3wjJpEnwU(^DavLO#DmqabRFFrPBC)L_o{$kuty6rc4VUiXwC?myMsYh}|>Y-R( z-p1Be2VH-+4f+Fu+o0cJiczK{0TLa-H_hf=VVK@g@=+N#it;61*#;%~96GSh;Ut<- zwTZ4jF!6DiS{%*RO2Iu|C-`LWa7D?J(1=nfW1Q#4h3qhTr2;#NHen*;E?8SQZu{?< z>x(y6$OxeOUsH(l#22q?S@Kz#a+ew95Im+n#lKgWzo4@^KMrE^Mn7)wR76WFaUTLW z`W5P<)Qua*3+&%qn~xg@3IUy?_k*8ON|X#!d;%M2oN23aK7+4yki;HhTKoJLZezY0 z8{>cD3%!X|%0yL?97%-m%uYZJ5I`2Er_uRK$R@N+U+U5(ck;a|T~YeX)J8we+C;bb z;1>KCBP`~0;~X&5+t8;5}4n@PA+db;QS?K3fT^3BYy4$I?&-G zE1Yg#(aOun;H+o(&ihP*vDnw^5#mHu-eHKgq-FBjS=2}W_2)fbgO!1HRltzOWp260 zHc^Oli*y~S&$-{|qbtqID^$aSf%jM|lL>BE?zS0ZPvzx?Fm7olVWpsfZQ_BDs-Z-{ zhvJke0aXQ&Lj4NJ=rBXPm*4I!qigXVi{*cFRE*}JZ>df^NaxjG)&d)nU&S3QRTIEl zD+j`=^g)xEXgcCu9&Q<)^VeJrPo(@?PVHXJGR~o?O|Z;FY8}PHdQxDuwZTEtd zue28@bFTh8lA|^%aC&kOX%2FoCHkrLcuo)H=;4Fyn8A|TA6|CK#B?~Y>v23eS)+fp zEZh@OJ28fz=;<1hHDk9ZUi&Ha~wcWQTJOowfljY=!O$kVJ?eLOd?<<5Qu$D-sh* zRhHy73GcKV%hqq_Dw^?w_56|u!CsRj*_0bWL>beG?Fs!;f~h)e>tjMpHHS>84@#6M zodgiw5OFX0d&m=m>=~^}U6RM9+yk=`*2m|oA!ip)Kc62K4Wt7%6L1<&5!%GyerU=( z?2chMQfN)v<}`y=U9}dZn{>ncnC$_bm!jDPw&A$FTn;m-$2oBB^#|)qQn0`GQ#Y)7 zPPU)hT&Go|4Z9RjQGNHp((sDY@q#zn$OyA}wsrjIqP(~b^q5AJoRIeBEUzHuf}Piv zn<2N~4TJIagq@fVVz&ndN*O&d8IaRle{2N;g74+QXh&n`YB&m-YUV7=V^xYU)Nl z#j4IQ<=g-S{3mjHgo&9`H>nlDu9(DFuTXK7D$c5cUTWdnCwZ!u95I4C%@n)suKaR? z8uB^{P~mlQ7G1jV=09&^cT=cK*y-M(x}PF=(|P4Wqni#eWc9T0!)f=C_SnknGZ@t- zjXU6O@KzRWXCJ*2uDR?$Q|$su3g~sCEM1t>qnW+uAri(ki^Or){fIu5Pb#~(Bge2N zM>|{>u|A0|8+d)j^&ozWdP`tH7O4$|yh=EFWK;{X)S5*En`Yl1YQ;QDr9&T09qgSFJ{SGdI^m0eTC;#b zK4?L{ne+|D80F>cyy=+?jiyD7OEq@E4Bqo zPA(R_qlXn94=-Dil2kh)Qk~dr=>$ORi>eoPCg-9@If>f4aGN{)3HmteE&HXT9@=#< zHP;W+%yHM87Ck2449F`eTJr$yBO75A9}Wd^5FV$k-!u0{wlDwtIa3@%%qx(NNZRy% z@ZofgbsS2b^b^~Y>-@9x`|p{F0x%fSY>!Bi96DnLQHOq9-Nc615sgRiaxp^7DeVycJ+{&qLr{=s(cQN;?g;^M8tAR+Q5qyxfFQ!)`LFX6Z^s~S%)WIzcI z9L&7>-Fnsf78)}Lm7eGC(r+$@Bo?u_VrJ)g5{#&@7CAlIck1J9;hLvxMC}aS;-mBh zfTBIC3IN^nBZWMr?wF6-*R>aR6t;8*=reLtjFBoogewvR4O$LB4`1)i(D>IR(C)M0 zEL!6%`1W`&Z@&F~O*2}WyZdkdE3ZCK#c;mKlKEyJGx1tZQKCOX48*%ffq?>iXM}ZQMcg;UK!T>3Z6DmG z$^vscbzwJzb)08Ej{r(u-3Z^d<6i)A*iZ+VU5LR)luYfzv$}WY2wZRJDoUr}ef<&O?(2Pi?OJI@8UVH0%MnLuZ(F zy6bOdT9Pv8jO^#kr9ot3QIcj&Mb!bkm!MLF2touQvT5Sc! zs2kTuXP{pR)OpxX|NOe4Smls%(3-xU&;09dPNY}%ff?5#Tg8$at&@{5_7P;otP&8v zuMLdVT>@kXHw^)I!xQRVJ}-~pE1_$Quj(?X49rjfoisJ=JkmClD6ef(B`M;XA6$f# z-C`KHnIU*#V|?UrX9UDCSK3c!4ZDg=g;Ul>+6|!Im)&1fx4v6q8AX)m~dW5c;K?9G5g)uKDx+@nhb_ zkQ*Pm(`IYQYNd*^QRz?NtGQ1D95_tYs^HVCA3o#DH5CFr@@xIk#TdSigrZE-huEbi zsbhGsYv=o${2h{u1&I`k`1&m5JbvPm)juDRLEgbmp!3PE9Pi7w-4uX4dV}(&KyziB zdgkXhV7LMh&H>z{e&1?z9xA|%iGIyt|No< zYv-RA)3Jbjb9j^@0SbRh&$e)DLaIe$Q;O|4gd&ZcF%4g`F_vW+`2j@@)QT=xD%(!+ z5KMXci879lBrE7qZooDTOoDSGOQQX9sYIYk-B+JQ&U?+NX zxv+n|k3!QIBQTAE#=wuI8h4rRy$DzQkI@W_y7Wt|Uts9c@U`4W`e%&Xpg}0o7_FZ= z$J8hZ_J?rOD^QnnJ-;L)l{*<5nVXGKT?#Z1#AKZvKcOmvM5uqk@V40Bx@;eP?ZpiT z6A47Uxnr)Z-0QoUo7|TuW=o1e%}AkVam`TTtTmG&)1}iOK$ypP1KE%W|373>p{>?+!@IWCoLI7WLDV zhN0Lj+?~Vd+V^544s-d@GON+TMyEGjbQ1SXzIB8?zI{I0#P=0U@TnlAjPe&Vl!?LF ziA>YkXrOVjkEbQ*PBpxYnhsAeRHgMKm?cE)`A{G#dHggf88T!rS2}p6Z1Kg|zCm#= z`qcmyP!UEew20rV9CPTP0S{iU6J5MvB?Rx@FN91-!Y)T%`x@p! zqxj96@FsL)7$oxgO)nz3~QdcH* zFh4Uk{DMImw8xMDO{asb&Blge^UdxJggOP`JG}{+2IR!1h1?HN6B1z37$u^^Yq%yBz)TF5Ar9tECxq$6aP$j) zd)gIG44GkuJpi(VQQ!(TT&G@>EOQk6TiNE;0n!iOP*0x0Y~L~%d;Hkie4F(zywb79nF)V_-jwix8jZ zLo7Xptagu^U`XVJGplh=D9lqLAaV+uk|5j`Rf<)W%rZUVUdoyTU9$Ok2Xv=*iAD;f zEqwUBbfJ5EPD{?{4l^EInm*k@awJ$K^O{bxx~i=EAiKe&Y)bs^3IzRZs7dxK`7NQ! zX$9C*AjA;bQ(nAA%uigZYCe7YUm11dLm+DE9(iFNIzc@>N@eXwwFhVk!oDMENMa=T zUJaEM_;F%!fN2W?@I8m;70@dyfz&u1YD+%Moo>#(>Z8Fwi2~=5Ckis`IMk+aHraAg zc^Aq63g=^>4P34=4V8bx96^a`@>KQeZoxXl+NA@hr|0Hek5;Rs;}t~CFB{zDA;GmW z4QQ(v>&t^&hW)NL*ijC_<~Eo`)Fn})+H)$@CLBmhRJ!W`3=U~>+flnHW%CZy#3*QC z))i9zOJHnsV^rSDQ4h;f)md9M`8-ho=M@ytTp+eE4njVf0HgU>@aiXHJcTn$U z{@6AMIt1d8A!M(xtx7SdZ1o`r>l4~;+~f;--|`|B0XT@QP;Z#7L!()SP(L{a(Rp5H z$r@M7>`85fHO7I=Uff>vzjR3=^H>}i9*%Br8Ql=xe_EOi{D|CP%WM;CV|HSG3qAp@ zEZt*IuHZ+NMIVCROY|VH6ZZX}N=?Scg_0MeX^ohr*44Es zq^n`f%QAyC&!9ChNzE8w7`YbHo+L$EllTcdCXzFINuE6^Z(UIS>`i?Vok4EQrc+_; z9{)%*YaCBZx{jk}Y^`U1mfQmq1Ul&ANPzT0RSiq1gFm=PL}7%=GxTeQ!F{Mm2HtD@ zNV{sRLH&7S&{g(b`e>zn&>QF*wPUa&qkc*DX^0Rn<4zuJ{EDVoO6OUd%ADH9)L;%)joHMoI6 z-nH1pu^8wT=+hg>$BDW*^Wq!-rM=$girucSxy)4E@P{i*lsd&etBYR=92iQ`HYV?Z ziQhpoMMsIZEnulfJXPgQ6nM0(bo-=vQufM&tTsd)?TX;@y8uPH78vpnB*A8>q^d znMyUOokkb85WmT?0I#|LW@N=kKJW3v+Fx{$SG!)Pk~ShMsEIS3y?V<;-iHPkwg~a7 zW3cKkewOi)L)n3~$@2PnvL-Y<>*l7B0_X12B^zdkr=bUcRh9}_|HeufBB9+HFJz^A zR-!P>) z%5rXmmQMZVp3-({l`7|r(ph*&B?prBEK5~pCWj&w2${B!h|&?gVY=({L4K=OUbsav zBR{VmlO4l~mAMZ^P+BMrPb!BZ#bX;)WST`Gjm4S6l18T|N;K7{%4qb#QzgH|jHE94Cscf7RXO`Z12^&g+tAEI5GxKur6IdG zT>#UL>O3dlQR8cU@H8uh+3-5ZU$*~L(qpT7xH@9Fa_adl0kDKvYjmSerU52(TVeXQvPalnDC{pV^wcFHxI30ifSvVf1MBjNq zwiUiYv2X+1xuaVn8C=+MQg20yvLM{Kcg5f5E+&cpJRlWlc_`Nsm_h%t^V}Y}kJiCu z^yXLQps5L)l$l|B+`d?bppm|B7WjqrpTVDkpVl*-sf|K9mt8F{KO!3AR1=vKml8h> z2`wD^o>WlfPk&t@*F5k&9NOuK@_nRKvag3e z|NQ4ic5<0iL>c{^bFs%a;6IW`2b>s_=S9W#E-K#oMfrbw9Ov_G`Q6va@T%W11}4S! zOZ50(>e-AL%2Hz5{K~>)6@*yx*W5X@=_DhIL|OxJONvK$24XJXw<57V<-rt7gVqrB zUX42y@NXjn;-IUlwxkrTRl4r5sW{W1rfQ9uewg8Pmes1-uD{wgqUQH6;sG(O;Oc){ zx|meiKkW_mA8>(K`b1_(5ld-YTi4nq9Lfr;nC@*Kybpy@?Q zwlx)XEk*L%0bxt-$LO=KTEO1Wem5gqY1vI6m?xnphLDlxSxSVmP*cQ$+|4CP%)(NZx?9xR`GG1t1NYoZ0;GoE%21)8ROiiK! z!p#uApsJdE{PR$-7T%H|On~m1I~D|8IzeEcG0)x%EPceuWKzcHMq8R*oGX1QP#Yj& z@CqqRfJj(`Q;~b2_wCmT;jXAuMEN;y%4s|$sFEoLE(koEGdi>?O8D11e;1$^cIT6< zGpey$7uU-{D~SGHM)#086whoi3OP6Wm{gJ++Mi8K1WkzwBfe~c5ijp?{U=4@DpDUO z*p?sxW=Zs;DQ9*w2}oCC*IyvRP4)q5m4kELCb;nNZC>dam>p*nkPdrn9#f5euOL@UeU>(>1?~8OTLMW$H zCxMU8vBq-|Ktm183jZ3?6al{(i6)r4*aWCe1^#s$UG~ck8X-E{cbJTo&QyE)noqJ< zFPV`c!mQkQ<>zvy!Jy3d)j9fL*mv;`%-)dc_vuEez#gj^>l2}1zREv6P&Il*P(<0& z{z(CPg2v3Dro~`GIR%<2a(A#6_cbT@Na3%ww zg51ug_>$i)(&YJ(n(*<& zpnbufKb=F3hJo?|Rcu{4SuHInphEoVGWKnmdVed#Z;S1YnwWHrVycB85 zPO?tM`GOMdCe1oL*XiFIOk^TAz5@D=spD~BkZuC;N#W_)_HxgH_++eGid6C`qP?=B zfCh@_mL;RfK;Ilb-XlmvnD4(!C1L{E2ZW4;TO~rs`nQ<@86U=^}9^y385x9>a9Gme(h@uyYTR?0%PD8V>*e?dCJ72 zBv@BqvxX<&L#-{jf!o|bZD7mRA3y86)mzW-)muMZiXWHCLDgJj<8DwC;)O50ca8-PMo>Tfqiw=p`KPkZD0Rk{MVHj&Py)3WFo2`{>m~JG0h$7A ziF2$Ck1q<%X^-)60hosejpmX^tTXrB#bDi&A1HkXzW?#sg0052dojSQ+>c*2k_gJlXo>5m)wLW4-iBgK|7XUz(OTX}< zz2cQF)~|O;q_;FG_x1mp{egcFE%GW?dm$yYCYGzor;}c6Y)&;06-UXz++YSsYmrU& z`!ZVM5FsCGT z5A3S!KDrIsq?FtnvMJ(v1@Lxq5@%gW^E2^CgvKFuu8HE^i_&)g9)Ed%z|;ECXCuY1 ziWBSq?N|C+aY{xf98`y%Y&Ai1MbMaE<80JQ`k#Fa|G&S1qvV{K?{U^oCm9A9r9%U- MFtIUyfj}nxAFUQ1?*IS* literal 0 HcmV?d00001 diff --git a/static/themes/default/icons/samba.svg b/static/themes/default/icons/samba.svg new file mode 100644 index 000000000..874472bb7 --- /dev/null +++ b/static/themes/default/icons/samba.svg @@ -0,0 +1,88 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + From d6961426abbe13b5497df5163462c4116e675c31 Mon Sep 17 00:00:00 2001 From: Veiko Aasa Date: Sat, 30 Nov 2019 19:06:22 +0300 Subject: [PATCH 25/58] samba: fixes and improvements Signed-off-by: Veiko Aasa Reviewed-by: James Valleroy --- actions/samba | 43 +++++++++++++++++++---- plinth/modules/samba/__init__.py | 6 +++- plinth/modules/samba/manifest.py | 2 -- plinth/modules/samba/static/samba.js | 23 ++++++++++++ plinth/modules/samba/templates/samba.html | 4 +-- 5 files changed, 67 insertions(+), 11 deletions(-) diff --git a/actions/samba b/actions/samba index 419bc7900..9bd6522e7 100755 --- a/actions/samba +++ b/actions/samba @@ -29,7 +29,7 @@ import subprocess import augeas from plinth import action_utils -from plinth.modules.samba.manifest import SHARES_CONF_BACKUP_FILE, SHARES_PATH +from plinth.modules.samba.manifest import SHARES_CONF_BACKUP_FILE DEFAULT_FILE = '/etc/default/samba' @@ -106,15 +106,18 @@ def _conf_command(parameters, **kwargs): def _create_share(mount_point, windows_filesystem=False): """Create a samba share.""" - open_share_path = os.path.join(mount_point, SHARES_PATH, 'open_share') + shares_path = _get_shares_path(mount_point) + open_share_path = os.path.join(mount_point, shares_path, 'open_share') os.makedirs(open_share_path, exist_ok=True) _make_mounts_readable_by_others(mount_point) - # FAT and NTFS partitions don't support chown and chmod + # FAT and NTFS partitions don't support setting permissions if not windows_filesystem: - shutil.chown(open_share_path, group='sambashare') + shutil.chown(open_share_path, group='freedombox-share') os.chmod(open_share_path, 0o2775) + subprocess.check_call(['setfacl', '-Rm', 'g::rwx', open_share_path]) + subprocess.check_call(['setfacl', '-Rdm', 'g::rwx', open_share_path]) share_name = _create_share_name(mount_point) _define_open_share(share_name, open_share_path, windows_filesystem) @@ -137,10 +140,25 @@ def _define_open_share(name, path, windows_filesystem=False): pass _conf_command(['addshare', name, path, 'writeable=y', 'guest_ok=y']) if not windows_filesystem: - _conf_command(['setparm', name, 'force group', 'sambashare']) + _conf_command(['setparm', name, 'force group', 'freedombox-share']) _conf_command(['setparm', name, 'inherit permissions', 'yes']) +def _get_mount_point(path): + """Get the mount point where the share is.""" + subpath = 'FreedomBox/shares/' + if '/var/lib/freedombox/shares/' in path: + try: + # test whether var directory is a mount point + _validate_mount_point(path.split('lib/freedombox/shares/')[0]) + except RuntimeError: + subpath = 'var/lib/freedombox/shares/' + else: + subpath = 'lib/freedombox/shares/' + + return path.split(subpath)[0] + + def _get_shares(): """Get shares.""" shares = [] @@ -148,13 +166,26 @@ def _get_shares(): config = configparser.ConfigParser() config.read_string(output.decode()) for name in config.sections(): - mount_point = config[name]['path'].split(SHARES_PATH)[0] + mount_point = _get_mount_point(config[name]['path']) mount_point = os.path.normpath(mount_point) shares.append(dict(name=name, mount_point=mount_point)) return shares +def _get_shares_path(mount_point): + """Return base path of the shared directories.""" + if mount_point == '/var': + return 'lib/freedombox/shares/' + var_directory = os.path.join(mount_point, 'var') + + if os.path.exists(var_directory) and os.stat( + mount_point).st_dev == os.stat(var_directory).st_dev: + return 'var/lib/freedombox/shares/' + + return 'FreedomBox/shares/' + + def _make_mounts_readable_by_others(mount_point): """Make mounted devices readable/traversible by others.""" dirname = os.path.dirname(mount_point) diff --git a/plinth/modules/samba/__init__.py b/plinth/modules/samba/__init__.py index c52b1bf2f..99db4864b 100644 --- a/plinth/modules/samba/__init__.py +++ b/plinth/modules/samba/__init__.py @@ -28,6 +28,7 @@ from plinth import action_utils, actions from plinth import app as app_module from plinth import frontpage, menu from plinth.daemon import Daemon +from plinth.modules.users import create_group from plinth.modules.firewall.components import Firewall from plinth.utils import format_lazy @@ -50,9 +51,11 @@ description = [ _('After installation, you can choose which disks to use for sharing. ' 'Enabled {hostname} shares are open to everyone in your local ' 'network and are accessible under Network section in the file ' - 'manager.'), hostname=socket.gethostname().upper()) + 'manager on your computer.'), hostname=socket.gethostname().upper()) ] +group = ('freedombox-share', _('Access shared folders from inside the server')) + clients = clients app = None @@ -100,6 +103,7 @@ def init(): def setup(helper, old_version=None): """Install and configure the module.""" helper.install(managed_packages) + create_group('freedombox-share') helper.call('post', actions.superuser_run, 'samba', ['setup']) helper.call('post', app.enable) diff --git a/plinth/modules/samba/manifest.py b/plinth/modules/samba/manifest.py index 8f50e3263..cc17a9605 100644 --- a/plinth/modules/samba/manifest.py +++ b/plinth/modules/samba/manifest.py @@ -21,8 +21,6 @@ Application manifest for Samba. from plinth.clients import validate from plinth.modules.backups.api import validate as validate_backup -# A directory where the 'open_share' subdirectory will be created -SHARES_PATH = 'FreedomBox/shares/' SHARES_CONF_BACKUP_FILE = '/var/lib/plinth/backups-data/samba-shares-dump.conf' clients = validate([]) diff --git a/plinth/modules/samba/static/samba.js b/plinth/modules/samba/static/samba.js index abeba7b4c..cc117d558 100644 --- a/plinth/modules/samba/static/samba.js +++ b/plinth/modules/samba/static/samba.js @@ -1,3 +1,26 @@ +/** + * @licstart The following is the entire license notice for the JavaScript + * code in this page. + * + * This file is part of FreedomBox. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * @licend The above is the entire license notice for the JavaScript code + * in this page. + */ + const share_checkbox = $(".shareform > input[type='checkbox']"); share_checkbox.change(function(event) { diff --git a/plinth/modules/samba/templates/samba.html b/plinth/modules/samba/templates/samba.html index d6760eaa3..f2b563beb 100644 --- a/plinth/modules/samba/templates/samba.html +++ b/plinth/modules/samba/templates/samba.html @@ -38,8 +38,8 @@

{% trans "Select disks for sharing" %}

{% blocktrans trimmed %} - NB! Only the directory FreedomBox/shares/open_share will be shared on - selected disks. The directory will be created if it doesn't exist. + Note: only specially created directory will be shared on selected disks, + not the whole disk. {% endblocktrans %}

From 3505dff9b7b870adc287cd55fe1202f9683ef65e Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Sun, 1 Dec 2019 10:22:59 -0500 Subject: [PATCH 26/58] samba: Add acl to managed_packages Signed-off-by: James Valleroy --- plinth/modules/samba/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plinth/modules/samba/__init__.py b/plinth/modules/samba/__init__.py index 99db4864b..de67ed9a1 100644 --- a/plinth/modules/samba/__init__.py +++ b/plinth/modules/samba/__init__.py @@ -38,7 +38,7 @@ version = 1 managed_services = ['smbd', 'nmbd'] -managed_packages = ['samba'] +managed_packages = ['samba', 'acl'] name = _('Samba') From 7f8264bf93c7a3d4ab703dd1747f91ceffa2a435 Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Sun, 1 Dec 2019 10:27:32 -0500 Subject: [PATCH 27/58] samba: Fix restore command Signed-off-by: James Valleroy --- plinth/modules/samba/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plinth/modules/samba/__init__.py b/plinth/modules/samba/__init__.py index de67ed9a1..9e5948512 100644 --- a/plinth/modules/samba/__init__.py +++ b/plinth/modules/samba/__init__.py @@ -151,4 +151,4 @@ def backup_pre(packet): def restore_post(packet): """Restore configuration.""" actions.superuser_run('samba', ['setup']) - actions.superuser_run('samba', ['restore-config']) + actions.superuser_run('samba', ['restore-shares']) From 64e433ae12711bfd62e7cef7abd421b616c90057 Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Sun, 1 Dec 2019 10:54:45 -0500 Subject: [PATCH 28/58] samba: Move urls under apps/ Signed-off-by: James Valleroy --- plinth/modules/samba/urls.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/plinth/modules/samba/urls.py b/plinth/modules/samba/urls.py index d98f384a4..93961194e 100644 --- a/plinth/modules/samba/urls.py +++ b/plinth/modules/samba/urls.py @@ -23,9 +23,9 @@ from django.conf.urls import url from . import views urlpatterns = [ - url(r'^samba/$', views.SambaAppView.as_view(), name='index'), - url(r'^samba/share/(?P[A-Za-z0-9%_.\-~]+)/$', views.share, - name='share'), - url(r'^samba/unshare/(?P[A-Za-z0-9%_.\-~]+)/$', views.unshare, - name='unshare'), + url(r'^apps/samba/$', views.SambaAppView.as_view(), name='index'), + url(r'^apps/samba/share/(?P[A-Za-z0-9%_.\-~]+)/$', + views.share, name='share'), + url(r'^apps/samba/unshare/(?P[A-Za-z0-9%_.\-~]+)/$', + views.unshare, name='unshare'), ] From 5de8350e0b6d5d6e15d9dc2215cbff898d079169 Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Sun, 1 Dec 2019 10:55:03 -0500 Subject: [PATCH 29/58] functional_tests: Add basic samba tests Signed-off-by: James Valleroy --- functional_tests/features/samba.feature | 35 +++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 functional_tests/features/samba.feature diff --git a/functional_tests/features/samba.feature b/functional_tests/features/samba.feature new file mode 100644 index 000000000..d1b500171 --- /dev/null +++ b/functional_tests/features/samba.feature @@ -0,0 +1,35 @@ +# +# This file is part of FreedomBox. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +@apps @samba +Feature: Samba File Sharing + Configure samba file sharing service. + +Background: + Given I'm a logged in user + Given the samba application is installed + +Scenario: Enable samba application + Given the samba application is disabled + When I enable the samba application + Then the samba service should be running + +Scenario: Disable samba application + Given the samba application is enabled + When I disable the samba application + Then the samba service should not be running + From 1a76e7bef053f69880f8882d59364b81fca24536 Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Sun, 1 Dec 2019 11:13:14 -0500 Subject: [PATCH 30/58] samba: Use register_group instead of create_group Signed-off-by: James Valleroy --- plinth/modules/samba/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plinth/modules/samba/__init__.py b/plinth/modules/samba/__init__.py index 9e5948512..3497d6f3a 100644 --- a/plinth/modules/samba/__init__.py +++ b/plinth/modules/samba/__init__.py @@ -28,7 +28,7 @@ from plinth import action_utils, actions from plinth import app as app_module from plinth import frontpage, menu from plinth.daemon import Daemon -from plinth.modules.users import create_group +from plinth.modules.users import register_group from plinth.modules.firewall.components import Firewall from plinth.utils import format_lazy @@ -94,6 +94,7 @@ def init(): """Initialize the module.""" global app app = SambaApp() + register_group(group) setup_helper = globals()['setup_helper'] if setup_helper.get_state() != 'needs-setup' and app.is_enabled(): @@ -103,7 +104,6 @@ def init(): def setup(helper, old_version=None): """Install and configure the module.""" helper.install(managed_packages) - create_group('freedombox-share') helper.call('post', actions.superuser_run, 'samba', ['setup']) helper.call('post', app.enable) From da39f593f1b70d8def201c8495e0576e363ffefb Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Sun, 1 Dec 2019 11:17:00 -0500 Subject: [PATCH 31/58] samba: Only show shortcut to users in freedombox-share group Signed-off-by: James Valleroy --- plinth/modules/samba/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plinth/modules/samba/__init__.py b/plinth/modules/samba/__init__.py index 3497d6f3a..ca8b25f9b 100644 --- a/plinth/modules/samba/__init__.py +++ b/plinth/modules/samba/__init__.py @@ -77,7 +77,7 @@ class SambaApp(app_module.App): 'shortcut-samba', name, short_description=short_description, icon='samba', description=description, configure_url=reverse_lazy('samba:index'), clients=clients, - login_required=True) + login_required=True, allowed_groups=[group[0]]) self.add(shortcut) firewall = Firewall('firewall-samba', name, ports=['samba']) From b5cb35fb916bbe385b575411bb14a01f71624bf9 Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Sun, 1 Dec 2019 14:03:58 -0500 Subject: [PATCH 32/58] samba: Keep create_group in setup Signed-off-by: James Valleroy --- plinth/modules/samba/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plinth/modules/samba/__init__.py b/plinth/modules/samba/__init__.py index ca8b25f9b..5c1636855 100644 --- a/plinth/modules/samba/__init__.py +++ b/plinth/modules/samba/__init__.py @@ -28,7 +28,7 @@ from plinth import action_utils, actions from plinth import app as app_module from plinth import frontpage, menu from plinth.daemon import Daemon -from plinth.modules.users import register_group +from plinth.modules.users import create_group, register_group from plinth.modules.firewall.components import Firewall from plinth.utils import format_lazy @@ -104,6 +104,7 @@ def init(): def setup(helper, old_version=None): """Install and configure the module.""" helper.install(managed_packages) + create_group('freedombox-share') helper.call('post', actions.superuser_run, 'samba', ['setup']) helper.call('post', app.enable) From 52f6da2a41ae4fd2568fdf86fd7e2a9d5d05f0c5 Mon Sep 17 00:00:00 2001 From: Alice Kile Date: Thu, 21 Nov 2019 12:25:48 +0530 Subject: [PATCH 33/58] templates: Add toolbar for apps in app.html Changes to the app.html layout, mainly: - A new panel is created to hold action buttons. Closes #1698. - Launch button is now shown in the panel alongside "Client Apps". - Run Diagnostics button is moved into this panel as well. Closes #1690. - Disable 'Launch web client' button when app is disabled. Closes #1718. Reviewed-by: James Valleroy --- plinth/templates/app.html | 22 +------ plinth/templates/clients.html | 10 +-- plinth/templates/setup.html | 2 +- plinth/templates/toolbar.html | 96 ++++++++++++++++++++++++++++ plinth/templatetags/plinth_extras.py | 30 +++++++++ static/themes/default/css/plinth.css | 22 +++++++ 6 files changed, 151 insertions(+), 31 deletions(-) create mode 100644 plinth/templates/toolbar.html diff --git a/plinth/templates/app.html b/plinth/templates/app.html index e50f3f12b..ea43a9989 100644 --- a/plinth/templates/app.html +++ b/plinth/templates/app.html @@ -57,21 +57,7 @@

{% endif %} - {% if clients|length == 1 %} - {% with clients|first|lookup:'platforms' as platforms %} - {% if platforms|length == 1 and platforms|first|lookup:'type' == 'web' %} - {% block launch_button %} -

- - {% trans "Launch web client" %} -

- {% endblock %} - {% endif %} - {% endwith %} - {% else %} - {% include "clients.html" with clients=clients enabled=is_enabled %} - {% endif %} + {% include "toolbar.html" with clients=clients enabled=is_enabled diagnostics_module_name=diagnostics_module_name %} {% block subsubmenu %} {% if subsubmenu %} @@ -100,12 +86,6 @@ {% endif %} {% endblock %} - {% block diagnostics %} - {% if diagnostics_module_name %} - {% include "diagnostics_button.html" with module=diagnostics_module_name enabled=is_enabled %} - {% endif %} - {% endblock %} - {% include "internal-zone.html" %} {% include "port-forwarding-info.html" with service_name=name %} diff --git a/plinth/templates/clients.html b/plinth/templates/clients.html index bd84a01c0..7ac5636dd 100644 --- a/plinth/templates/clients.html +++ b/plinth/templates/clients.html @@ -22,14 +22,6 @@ {% load static %} {% if clients %} -

- -

-
@@ -44,7 +36,7 @@
{{ client.name }} diff --git a/plinth/templates/setup.html b/plinth/templates/setup.html index 60bf8c64e..a79d3f414 100644 --- a/plinth/templates/setup.html +++ b/plinth/templates/setup.html @@ -50,7 +50,7 @@

{% endif %} - {% include "clients.html" with clients=setup_helper.module.clients %} + {% include "toolbar.html" with clients=setup_helper.module.clients %} {% if setup_state == 'up-to-date' %} diff --git a/plinth/templates/toolbar.html b/plinth/templates/toolbar.html new file mode 100644 index 000000000..de5cc556e --- /dev/null +++ b/plinth/templates/toolbar.html @@ -0,0 +1,96 @@ +{% comment %} +# +# This file is part of FreedomBox. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +{% endcomment %} + +{% load bootstrap %} +{% load i18n %} +{% load plinth_extras %} +{% load static %} + +{% block toolbar %} + {% if clients %} +
+
+
+ + {% if clients|get_self_hosted_web_apps|length == 1 and clients|length == 1 %} + + + + + + {% elif clients|get_self_hosted_web_apps|length == 1 %} + + + + + {% else %} + + {% endif %} + + {% block diagnostics %} + {% if diagnostics_module_name %} + {% include "diagnostics_button.html" with module=diagnostics_module_name enabled=is_enabled %} + {% endif %} + {% endblock %} + +
+
+
+ {% include "clients.html" with clients=clients enabled=is_enabled %} +
+
+ + {% endif %} +{% endblock toolbar %} \ No newline at end of file diff --git a/plinth/templatetags/plinth_extras.py b/plinth/templatetags/plinth_extras.py index 541429b9c..2a0047d06 100644 --- a/plinth/templatetags/plinth_extras.py +++ b/plinth/templatetags/plinth_extras.py @@ -16,6 +16,7 @@ # import os +from urllib.parse import urlparse from django import template @@ -73,3 +74,32 @@ def clients_of_type(clients, client_type): def lookup(dictionary, key): """Get the value in the dictionary at given key""" return dictionary[key] + + +@register.filter(name='is_relative_url') +def is_relative_url(url): + """Check if the given link is relative or not""" + parsed_url = urlparse(url) + return not parsed_url.netloc + + +@register.filter(name='get_self_hosted_web_apps') +def get_self_hosted_web_apps(clients): + """Get a list of self hosted web apps""" + clients_with_web_platforms = list( + filter( + lambda c: len( + list(filter(lambda p: p['type'] == 'web', c['platforms']))), + clients)) + clients_with_self_hosted_apps = list( + filter( + lambda c: len( + list( + filter(lambda p: is_relative_url(p['url']), c['platforms']) + )), clients_with_web_platforms)) + mapped_list = list( + map( + lambda c: list(filter(lambda p: p['type'] == 'web', c['platforms']) + ), clients_with_self_hosted_apps)) + + return [elm for clnt in mapped_list for elm in clnt] diff --git a/static/themes/default/css/plinth.css b/static/themes/default/css/plinth.css index 60a71d872..c5e8bc166 100644 --- a/static/themes/default/css/plinth.css +++ b/static/themes/default/css/plinth.css @@ -513,3 +513,25 @@ a.menu_link_active { .header-bar .app-toggle-container, .header-bar h2 { margin: auto 0; } +.toolbar, .panel-heading { + border: none; +} + +.toolbar-heading { + padding: 10px 0; +} + +.toolbar-title > :not(:first-child) { + margin-left: 10px; +} + +.toolbar-body { + min-height: 0; + padding: 0; + margin: 0; + overflow: auto; +} + +.toolbar-body #clients.table { + margin-bottom: 0; +} From 6a4a941bb65ffe98b83bdefc87c96df2a3aac52f Mon Sep 17 00:00:00 2001 From: Alice Kile Date: Tue, 26 Nov 2019 15:20:50 +0530 Subject: [PATCH 34/58] toolbar: Move diagnostics button into dropdown menu Reviewed-by: James Valleroy --- plinth/templates/toolbar.html | 11 ++++++++++- static/themes/default/css/plinth.css | 8 +++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/plinth/templates/toolbar.html b/plinth/templates/toolbar.html index de5cc556e..b2152535b 100644 --- a/plinth/templates/toolbar.html +++ b/plinth/templates/toolbar.html @@ -81,7 +81,16 @@ {% block diagnostics %} {% if diagnostics_module_name %} - {% include "diagnostics_button.html" with module=diagnostics_module_name enabled=is_enabled %} + +
+ + +
+ {% endif %} {% endblock %} diff --git a/static/themes/default/css/plinth.css b/static/themes/default/css/plinth.css index c5e8bc166..542d0b93d 100644 --- a/static/themes/default/css/plinth.css +++ b/static/themes/default/css/plinth.css @@ -142,7 +142,13 @@ body { } .form-diagnostics-button { - display: inline-block; + display: block; +} + +.form-diagnostics-button .btn { + width: 100%; + border-radius: 0; + border: none; } /* Hide log out button if user dropdown is available */ From c2f372e94efda68e564ccc3675591aee33705cc9 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:11:01 -0800 Subject: [PATCH 35/58] diagnostics: Use app.html instead of simple_app.html Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/diagnostics/diagnostics.py | 1 + plinth/modules/diagnostics/templates/diagnostics.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plinth/modules/diagnostics/diagnostics.py b/plinth/modules/diagnostics/diagnostics.py index 9cf36ca49..72cf2018f 100644 --- a/plinth/modules/diagnostics/diagnostics.py +++ b/plinth/modules/diagnostics/diagnostics.py @@ -45,6 +45,7 @@ def index(request): return TemplateResponse( request, 'diagnostics.html', { 'title': diagnostics.name, + 'name': diagnostics.name, 'description': diagnostics.description, 'is_running': _running_task is not None, 'manual_page': diagnostics.manual_page, diff --git a/plinth/modules/diagnostics/templates/diagnostics.html b/plinth/modules/diagnostics/templates/diagnostics.html index cec18866f..082d3a761 100644 --- a/plinth/modules/diagnostics/templates/diagnostics.html +++ b/plinth/modules/diagnostics/templates/diagnostics.html @@ -1,4 +1,4 @@ -{% extends 'simple_app.html' %} +{% extends 'app.html' %} {% comment %} # # This file is part of FreedomBox. From a4fc1181b592dee3d6082b9869de30519296cc5f Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:11:38 -0800 Subject: [PATCH 36/58] firewall: Use app.html instead of simple_app.html Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/firewall/templates/firewall.html | 2 +- plinth/modules/firewall/views.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/plinth/modules/firewall/templates/firewall.html b/plinth/modules/firewall/templates/firewall.html index 86a9b94e3..584645101 100644 --- a/plinth/modules/firewall/templates/firewall.html +++ b/plinth/modules/firewall/templates/firewall.html @@ -1,4 +1,4 @@ -{% extends "simple_app.html" %} +{% extends "app.html" %} {% comment %} # # This file is part of FreedomBox. diff --git a/plinth/modules/firewall/views.py b/plinth/modules/firewall/views.py index a8890e3a5..abc05ef4c 100644 --- a/plinth/modules/firewall/views.py +++ b/plinth/modules/firewall/views.py @@ -31,6 +31,7 @@ def index(request): return TemplateResponse( request, 'firewall.html', { 'title': firewall.name, + 'name': firewall.name, 'description': firewall.description, 'firewall_status': 'not_running' }) @@ -41,6 +42,7 @@ def index(request): return TemplateResponse( request, 'firewall.html', { 'title': firewall.name, + 'name': firewall.name, 'description': firewall.description, 'components': components.Firewall.list(), 'manual_page': firewall.manual_page, From 69663df5c657c2237e0827bed304f038f80b77c6 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:12:29 -0800 Subject: [PATCH 37/58] letsencrypt: Use app.html instead of simple_app.html - Produce a diagnostics button using app.html code instead of a custom button. Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/letsencrypt/templates/letsencrypt.html | 4 +--- plinth/modules/letsencrypt/views.py | 3 +++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/plinth/modules/letsencrypt/templates/letsencrypt.html b/plinth/modules/letsencrypt/templates/letsencrypt.html index 457267dd7..564131e2d 100644 --- a/plinth/modules/letsencrypt/templates/letsencrypt.html +++ b/plinth/modules/letsencrypt/templates/letsencrypt.html @@ -1,4 +1,4 @@ -{% extends "simple_app.html" %} +{% extends "app.html" %} {% comment %} # # This file is part of FreedomBox. @@ -127,8 +127,6 @@
- {% include "diagnostics_button.html" with module="letsencrypt" enabled=True %} - {% else %} {% url 'config:index' as config_url %} {% blocktrans trimmed %} diff --git a/plinth/modules/letsencrypt/views.py b/plinth/modules/letsencrypt/views.py index 86553cc9d..e235875ea 100644 --- a/plinth/modules/letsencrypt/views.py +++ b/plinth/modules/letsencrypt/views.py @@ -39,9 +39,12 @@ def index(request): return TemplateResponse( request, 'letsencrypt.html', { 'title': letsencrypt.name, + 'name': letsencrypt.name, 'description': letsencrypt.description, 'status': status, 'manual_page': letsencrypt.manual_page, + 'diagnostics_module_name': 'letsencrypt', + 'is_enabled': letsencrypt.app.is_enabled(), }) From 1db28dba0eca1ce20c4c28e5366fc923e64c38aa Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:13:27 -0800 Subject: [PATCH 38/58] monkeysphere: Use app.html instead of simple_app.html Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/monkeysphere/templates/monkeysphere.html | 2 +- plinth/modules/monkeysphere/views.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/plinth/modules/monkeysphere/templates/monkeysphere.html b/plinth/modules/monkeysphere/templates/monkeysphere.html index 3f56b7ed0..dbe1ca625 100644 --- a/plinth/modules/monkeysphere/templates/monkeysphere.html +++ b/plinth/modules/monkeysphere/templates/monkeysphere.html @@ -1,4 +1,4 @@ -{% extends "simple_app.html" %} +{% extends "app.html" %} {% comment %} # # This file is part of FreedomBox. diff --git a/plinth/modules/monkeysphere/views.py b/plinth/modules/monkeysphere/views.py index 9fcd44064..18755c12d 100644 --- a/plinth/modules/monkeysphere/views.py +++ b/plinth/modules/monkeysphere/views.py @@ -40,6 +40,7 @@ def index(request): return TemplateResponse( request, 'monkeysphere.html', { 'title': monkeysphere.name, + 'name': monkeysphere.name, 'description': monkeysphere.description, 'status': status, 'manual_page': monkeysphere.manual_page, @@ -53,9 +54,9 @@ def import_key(request, ssh_fingerprint): keys = get_keys() available_domains = keys[ssh_fingerprint]['available_domains'] try: - actions.superuser_run( - 'monkeysphere', - ['host-import-key', ssh_fingerprint] + list(available_domains)) + actions.superuser_run('monkeysphere', + ['host-import-key', ssh_fingerprint] + + list(available_domains)) messages.success(request, _('Imported key.')) except actions.ActionError as exception: messages.error(request, str(exception)) From 2a12e170eede172ccc6a312857df5732a18f9ec6 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:13:49 -0800 Subject: [PATCH 39/58] names: Use app.html instead of simple_app.html Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/names/templates/names.html | 2 +- plinth/modules/names/views.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plinth/modules/names/templates/names.html b/plinth/modules/names/templates/names.html index 11cdb7202..9b3cc0591 100644 --- a/plinth/modules/names/templates/names.html +++ b/plinth/modules/names/templates/names.html @@ -1,4 +1,4 @@ -{% extends "simple_app.html" %} +{% extends "app.html" %} {% comment %} # # This file is part of FreedomBox. diff --git a/plinth/modules/names/views.py b/plinth/modules/names/views.py index 103768a33..64bcd211c 100644 --- a/plinth/modules/names/views.py +++ b/plinth/modules/names/views.py @@ -32,6 +32,7 @@ def index(request): return TemplateResponse( request, 'names.html', { 'title': names.name, + 'name': names.name, 'description': names.description, 'manual_page': names.manual_page, 'status': status From ece2dd5e5789eac990264c89c423f10c1c6052dc Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:14:17 -0800 Subject: [PATCH 40/58] power: Use app.html instead of simple_app.html Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/power/templates/power.html | 2 +- plinth/modules/power/views.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plinth/modules/power/templates/power.html b/plinth/modules/power/templates/power.html index 49e963907..375e03b2c 100644 --- a/plinth/modules/power/templates/power.html +++ b/plinth/modules/power/templates/power.html @@ -1,4 +1,4 @@ -{% extends "simple_app.html" %} +{% extends "app.html" %} {% comment %} # # This file is part of FreedomBox. diff --git a/plinth/modules/power/views.py b/plinth/modules/power/views.py index 5283d6c41..260df6878 100644 --- a/plinth/modules/power/views.py +++ b/plinth/modules/power/views.py @@ -33,6 +33,7 @@ def index(request): return TemplateResponse( request, 'power.html', { 'title': power.name, + 'name': power.name, 'description': power.description, 'manual_page': power.manual_page, 'pkg_manager_is_busy': _is_pkg_manager_busy() From 167a4f5f8a4e0fcc2d979468975c3ecd87d30b9d Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:14:44 -0800 Subject: [PATCH 41/58] openvpn: Use app.html instead of simple_app.html - Place status section above download profile section for coding convenience. - Reuse diagnostics button and port forwarding information from app.html - Reuse status section instead of custom one. Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/openvpn/templates/openvpn.html | 113 ++++++++---------- plinth/modules/openvpn/views.py | 7 +- 2 files changed, 55 insertions(+), 65 deletions(-) diff --git a/plinth/modules/openvpn/templates/openvpn.html b/plinth/modules/openvpn/templates/openvpn.html index 71609f4af..13f9d8777 100644 --- a/plinth/modules/openvpn/templates/openvpn.html +++ b/plinth/modules/openvpn/templates/openvpn.html @@ -1,4 +1,4 @@ -{% extends "simple_app.html" %} +{% extends "app.html" %} {% comment %} # # This file is part of FreedomBox. @@ -33,9 +33,54 @@ {% endblock %} -{% block configuration %} +{% block status %} - {% include "clients.html" with clients=clients enabled=is_enabled %} + {% if not status.is_setup and not status.setup_running %} +

{% trans "Status" %}

+ +

+ {% blocktrans trimmed %} + OpenVPN has not yet been setup. Performing a secure setup + takes a very long time. Depending on how fast your + {{ box_name }} is, it may even take hours. If the setup + is interrupted, you may start it again. + {% endblocktrans %} +

+ +
+ {% csrf_token %} + + +
+ {% endif %} + + {% if not status.is_setup and status.setup_running %} +

{% trans "Status" %}

+ +

+ + {% trans "OpenVPN setup is running" %} +

+ +

+ {% blocktrans trimmed %} + To perform a secure setup, this process takes a very long + time. Depending on how fast your {{ box_name }} is, it may + even take hours. If the setup is interrupted, you may start + it again. + {% endblocktrans %} +

+ {% endif %} + + {% if status.is_setup %} + {{ block.super }} + {% endif %} + +{% endblock %} + +{% block configuration %} {% if status.is_setup %} @@ -68,68 +113,8 @@ {% endif %} -

{% trans "Status" %}

- - {% if not status.is_setup and not status.setup_running %} -

- {% blocktrans trimmed %} - OpenVPN has not yet been setup. Performing a secure setup - takes a very long time. Depending on how fast your - {{ box_name }} is, it may even take hours. If the setup - is interrupted, you may start it again. - {% endblocktrans %} -

- -
- {% csrf_token %} - - -
- {% endif %} - - {% if not status.is_setup and status.setup_running %} -

- - {% trans "OpenVPN setup is running" %} -

- -

- {% blocktrans trimmed %} - To perform a secure setup, this process takes a very long - time. Depending on how fast your {{ box_name }} is, it may - even take hours. If the setup is interrupted, you may start - it again. - {% endblocktrans %} -

- {% endif %} - {% if status.is_setup %} -

- {% if status.is_running %} - - {% trans "OpenVPN server is running" %} - {% else %} - - {% trans "OpenVPN server is not running" %} - {% endif %} -

- - {% include "diagnostics_button.html" with module="openvpn" enabled=status.enabled %} - - {% include "port-forwarding-info.html" with service_name=title %} - -

{% trans "Configuration" %}

- -
- {% csrf_token %} - - {{ form|bootstrap }} - - -
+ {{ block.super }} {% endif %} {% endblock %} diff --git a/plinth/modules/openvpn/views.py b/plinth/modules/openvpn/views.py index 668449e06..42e0f25a4 100644 --- a/plinth/modules/openvpn/views.py +++ b/plinth/modules/openvpn/views.py @@ -59,12 +59,17 @@ def index(request): return TemplateResponse( request, 'openvpn.html', { 'title': openvpn.name, + 'name': openvpn.name, 'clients': openvpn.clients, 'description': openvpn.description, 'manual_page': openvpn.manual_page, 'port_forwarding_info': openvpn.port_forwarding_info, 'status': status, - 'form': form + 'form': form, + 'show_status_block': True, + 'is_running': status['is_running'], + 'diagnostics_module_name': 'openvpn', + 'is_enabled': status['enabled'], }) From 05daf33ff8367439eeb57d6127bc44ee3d24b070 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:17:02 -0800 Subject: [PATCH 42/58] tor: Use app.html instead of simple_app.html - Reuse status section. - Reuse configuration form. - Reuse internal zone section. - Cleanly split the page into status, internal zone and configuration blocks. Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/tor/templates/tor.html | 44 +++++++++------------------ plinth/modules/tor/views.py | 17 ++++++++--- 2 files changed, 26 insertions(+), 35 deletions(-) diff --git a/plinth/modules/tor/templates/tor.html b/plinth/modules/tor/templates/tor.html index bd8f16171..100a35b99 100644 --- a/plinth/modules/tor/templates/tor.html +++ b/plinth/modules/tor/templates/tor.html @@ -1,4 +1,4 @@ -{% extends "simple_app.html" %} +{% extends "app.html" %} {% comment %} # # This file is part of FreedomBox. @@ -32,33 +32,16 @@ {% endblock %} - -{% block configuration %} - - {% include "clients.html" with clients=clients %} - -

{% trans "Status" %}

- +{% block status %} {% if config_running %} +

{% trans "Status" %}

{% trans "Tor configuration is being updated" %}

- {% else %} - -

- {% if status.is_running %} - - {% trans "Tor is running" %} - {% else %} - - {% trans "Tor is not running" %} - {% endif %} -

- - {% include "diagnostics_button.html" with module="tor" enabled=status.enabled %} + {{ block.super }} {% if status.hs_enabled %} @@ -80,19 +63,20 @@
{% endif %} + {% endif %} +{% endblock %} - {% include "internal-zone.html" %} +{% block internal_zone %} + {% if not config_running %} + {{ block.super }} + {% endif %} +{% endblock %} -

{% trans "Configuration" %}

+{% block configuration %} -
- {% csrf_token %} + {% if not config_running %} - {{ form|bootstrap }} - - -
+ {{ block.super }} {% if status.relay_enabled %}

{% trans "Relay" %}

diff --git a/plinth/modules/tor/views.py b/plinth/modules/tor/views.py index be1ecc4e4..a16668361 100644 --- a/plinth/modules/tor/views.py +++ b/plinth/modules/tor/views.py @@ -53,13 +53,18 @@ def index(request): return TemplateResponse( request, 'tor.html', { 'title': tor.name, + 'name': tor.name, 'description': tor.description, 'clients': tor.clients, 'manual_page': tor.manual_page, 'status': status, 'config_running': bool(config_process), 'form': form, - 'firewall': tor.app.get_components_of_type(Firewall) + 'firewall': tor.app.get_components_of_type(Firewall), + 'diagnostics_module_name': 'tor', + 'is_enabled': status['enabled'], + 'show_status_block': True, + 'is_running': status['is_running'], }) @@ -70,8 +75,9 @@ def _apply_changes(request, old_status, new_status): except ActionError as exception: messages.error( request, - _('Action error: {0} [{1}] [{2}]').format( - exception.args[0], exception.args[1], exception.args[2])) + _('Action error: {0} [{1}] [{2}]').format(exception.args[0], + exception.args[1], + exception.args[2])) def __apply_changes(request, old_status, new_status): @@ -131,8 +137,9 @@ def __apply_changes(request, old_status, new_status): else: tor.app.disable() - config_process = actions.superuser_run( - 'tor', ['configure'] + arguments, run_in_background=True) + config_process = actions.superuser_run('tor', + ['configure'] + arguments, + run_in_background=True) return if arguments: From eff9f619c73d267c1282e5e7274f6dabe329880f Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:21:51 -0800 Subject: [PATCH 43/58] ikiwiki: Move the create button to manage section - Also make it the default button rather than primary button to avoid multiple primary buttons in the page. Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- .../ikiwiki/templates/ikiwiki_configure.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/plinth/modules/ikiwiki/templates/ikiwiki_configure.html b/plinth/modules/ikiwiki/templates/ikiwiki_configure.html index 6c9a62dc2..071818528 100644 --- a/plinth/modules/ikiwiki/templates/ikiwiki_configure.html +++ b/plinth/modules/ikiwiki/templates/ikiwiki_configure.html @@ -21,19 +21,19 @@ {% load bootstrap %} {% load i18n %} -{% block status %} - - - {% trans 'Create Wiki or Blog' %} - -{% endblock %} - {% block configuration %} {{ block.super }}

{% trans "Manage Wikis and Blogs" %}

+ +
{% if not sites %} From cc1aef969cb4500386992eca4ceef035496773e3 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:23:44 -0800 Subject: [PATCH 44/58] gitweb: Move create button into manage section - Also make it the default button rather than primary button to avoid multiple primary buttons in the page. Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- .../gitweb/templates/gitweb_configure.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/plinth/modules/gitweb/templates/gitweb_configure.html b/plinth/modules/gitweb/templates/gitweb_configure.html index af7a3384f..b9ab725d2 100644 --- a/plinth/modules/gitweb/templates/gitweb_configure.html +++ b/plinth/modules/gitweb/templates/gitweb_configure.html @@ -40,19 +40,19 @@ {% endblock %} -{% block status %} - - - {% trans 'Create repository' %} - -{% endblock %} - {% block configuration %} {{ block.super }}

{% trans "Manage Repositories" %}

+ +
{% if not repos %} From 0748d951b3bf6d80e240f3a50fb77575fc5dffaa Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:26:16 -0800 Subject: [PATCH 45/58] networks: Move actions button into connection section Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- .../networks/templates/connections_list.html | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/plinth/modules/networks/templates/connections_list.html b/plinth/modules/networks/templates/connections_list.html index 3f106810f..11587bc3e 100644 --- a/plinth/modules/networks/templates/connections_list.html +++ b/plinth/modules/networks/templates/connections_list.html @@ -54,23 +54,23 @@ {% endblock %} -{% block status %} - - - {% trans "Nearby Wi-Fi Networks" %} - - - - {% trans "Add Connection" %} - - {% endblock %} - {% block configuration %}

{% trans "Connections" %}

+ +
{% for connection in connections %}
From 8b5fcadaeb823052ad8b5eadd1b5d57ca4cb514e Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:27:06 -0800 Subject: [PATCH 46/58] templates: Remove the now unused simple_app.html - All apps should use app.html for all purposes. Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/templates/simple_app.html | 46 -------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 plinth/templates/simple_app.html diff --git a/plinth/templates/simple_app.html b/plinth/templates/simple_app.html deleted file mode 100644 index b812b752c..000000000 --- a/plinth/templates/simple_app.html +++ /dev/null @@ -1,46 +0,0 @@ -{% extends "base.html" %} -{% comment %} -# -# This file is part of FreedomBox. -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -{% endcomment %} - -{# Template for simple service configuration/description pages #} - -{% load i18n %} -{% load static %} - -{% block content %} - {% block pagetitle %} -

{{ title }}

- {% endblock %} - - {% for paragraph in description %} -

{{ paragraph|safe }}

- {% endfor %} - - {% if manual_page %} -

- - {% trans 'Learn more...' %} - -

- {% endif %} - - {% block configuration %} - {% endblock %} - -{% endblock %} From 7cfb4cc68382572f817f6170eb52e747ab18eea5 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:32:32 -0800 Subject: [PATCH 47/58] users: Move create button into users section Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/users/templates/users_list.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/plinth/modules/users/templates/users_list.html b/plinth/modules/users/templates/users_list.html index 4137f6598..c8c7d776c 100644 --- a/plinth/modules/users/templates/users_list.html +++ b/plinth/modules/users/templates/users_list.html @@ -33,18 +33,18 @@ {% endblock %} -{% block status %} - - - {% trans 'Create User' %} - -{% endblock %} - {% block configuration %}

{% trans "Users" %}

+ +
From 0702b8dce9ae9ca0269801e2335adccb388a75c1 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:37:41 -0800 Subject: [PATCH 48/58] minetest: Minor cosmetic fix Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/modules/minetest/templates/minetest.html | 1 + 1 file changed, 1 insertion(+) diff --git a/plinth/modules/minetest/templates/minetest.html b/plinth/modules/minetest/templates/minetest.html index 4a0fc1acc..b9d72a4fe 100644 --- a/plinth/modules/minetest/templates/minetest.html +++ b/plinth/modules/minetest/templates/minetest.html @@ -20,6 +20,7 @@ {% load bootstrap %} {% load i18n %} + {% block status %} {{ block.super }} From ddeeb59ed5eba3d7341f27dd0c87a937bcd1d3a3 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:38:36 -0800 Subject: [PATCH 49/58] templates: Make internal zone and port forwarding info override-able Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- plinth/templates/app.html | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plinth/templates/app.html b/plinth/templates/app.html index ea43a9989..8e18f7994 100644 --- a/plinth/templates/app.html +++ b/plinth/templates/app.html @@ -86,9 +86,13 @@ {% endif %} {% endblock %} - {% include "internal-zone.html" %} + {% block internal_zone %} + {% include "internal-zone.html" %} + {% endblock %} - {% include "port-forwarding-info.html" with service_name=name %} + {% block port_forwarding_info %} + {% include "port-forwarding-info.html" with service_name=name %} + {% endblock %} {% block configuration %}

{% trans "Configuration" %}

From 656d754aee5426f4b3f116dab04b296f1ff888be Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:40:09 -0800 Subject: [PATCH 50/58] toolbar: Make diagnostics button looks like other drop down items - Use the same background color as drop down items. - Left align. - Use same padding. Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- static/themes/default/css/plinth.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/static/themes/default/css/plinth.css b/static/themes/default/css/plinth.css index 542d0b93d..89c1e7b30 100644 --- a/static/themes/default/css/plinth.css +++ b/static/themes/default/css/plinth.css @@ -149,6 +149,13 @@ body { width: 100%; border-radius: 0; border: none; + text-align: left; + padding: 3px 20px; +} + +.form-diagnostics-button .btn:hover, +.form-diagnostics-button .btn:focus { + background-color:#f5f5f5 } /* Hide log out button if user dropdown is available */ From e008decb14f824f5ea6331d572e2d8286afb7635 Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:41:30 -0800 Subject: [PATCH 51/58] toolbar: Align extra actions drop down button to the right - This appears better in cases where there are no other buttons in the toolbar. This is true for many apps. - Also minimize the styling used on toolbar. - Use margin instead of padding due participate in margin collapse algorithm. Signed-off-by: Sunil Mohan Adapa Reviewed-by: James Valleroy --- static/themes/default/css/plinth.css | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/static/themes/default/css/plinth.css b/static/themes/default/css/plinth.css index 89c1e7b30..b38a3e28c 100644 --- a/static/themes/default/css/plinth.css +++ b/static/themes/default/css/plinth.css @@ -526,25 +526,12 @@ a.menu_link_active { .header-bar .app-toggle-container, .header-bar h2 { margin: auto 0; } -.toolbar, .panel-heading { - border: none; + +.btn-toolbar { + margin-top: 10px; + margin-bottom: 10px; } -.toolbar-heading { - padding: 10px 0; -} - -.toolbar-title > :not(:first-child) { - margin-left: 10px; -} - -.toolbar-body { - min-height: 0; - padding: 0; - margin: 0; - overflow: auto; -} - -.toolbar-body #clients.table { - margin-bottom: 0; +.btn-toolbar .button-extra-actions { + float: right; } From 49228343b73092d1c27ae4c29fbc7ed4416405be Mon Sep 17 00:00:00 2001 From: Sunil Mohan Adapa Date: Wed, 27 Nov 2019 00:44:02 -0800 Subject: [PATCH 52/58] toolbar: Rewamp toolbar code for simplicity and to fix issues - Fix problems with turbolinks. Closes: #1712. - Remove unnecessary nesting of - - - {% elif clients|get_self_hosted_web_apps|length == 1 %} - - - - - {% else %} - - {% endif %} - - {% block diagnostics %} - {% if diagnostics_module_name %} - -
- - -
- + + {% endif %} - {% endblock %} - - -
-
- {% include "clients.html" with clients=clients enabled=is_enabled %} -
-
- {% endif %} -{% endblock toolbar %} \ No newline at end of file + {% if client_platforms.web|length > 1 or client_platforms.other %} + + {% endif %} + {% endwith %} + {% endif %} + + {% if diagnostics_module_name %} + +
+ + +
+ {% endif %} + +
+
+ {% include "clients.html" with clients=clients enabled=is_enabled %} +
+ + +{% endblock toolbar %} diff --git a/plinth/templatetags/plinth_extras.py b/plinth/templatetags/plinth_extras.py index 2a0047d06..1ac05b0e0 100644 --- a/plinth/templatetags/plinth_extras.py +++ b/plinth/templatetags/plinth_extras.py @@ -76,30 +76,22 @@ def lookup(dictionary, key): return dictionary[key] -@register.filter(name='is_relative_url') -def is_relative_url(url): - """Check if the given link is relative or not""" - parsed_url = urlparse(url) +def _is_relative_url(url): + """Check if the given link is relative or not.""" + parsed_url = urlparse(str(url)) return not parsed_url.netloc -@register.filter(name='get_self_hosted_web_apps') -def get_self_hosted_web_apps(clients): - """Get a list of self hosted web apps""" - clients_with_web_platforms = list( - filter( - lambda c: len( - list(filter(lambda p: p['type'] == 'web', c['platforms']))), - clients)) - clients_with_self_hosted_apps = list( - filter( - lambda c: len( - list( - filter(lambda p: is_relative_url(p['url']), c['platforms']) - )), clients_with_web_platforms)) - mapped_list = list( - map( - lambda c: list(filter(lambda p: p['type'] == 'web', c['platforms']) - ), clients_with_self_hosted_apps)) +@register.filter(name='clients_get_platforms') +def clients_get_platforms(clients): + """Return lists of self hosted platforms and all other platforms.""" + other = [] + web = [] + for client in clients: + for platform in client['platforms']: + if platform['type'] == 'web' and _is_relative_url(platform['url']): + web.append(platform) + else: + other.append(platform) - return [elm for clnt in mapped_list for elm in clnt] + return {'web': web, 'other': other} From a6091a1edbbb4c18851918199c670d9568c04807 Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Sun, 1 Dec 2019 16:35:46 -0500 Subject: [PATCH 53/58] diagnostics: Use a distinct class for Run Diagnostics button on this page Signed-off-by: James Valleroy --- plinth/modules/diagnostics/templates/diagnostics.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plinth/modules/diagnostics/templates/diagnostics.html b/plinth/modules/diagnostics/templates/diagnostics.html index 082d3a761..93809d582 100644 --- a/plinth/modules/diagnostics/templates/diagnostics.html +++ b/plinth/modules/diagnostics/templates/diagnostics.html @@ -35,7 +35,7 @@ {% block configuration %} {% if not is_running %} -
{% csrf_token %} From 06b4a447c6a3c1bd27085779f2f8123145359191 Mon Sep 17 00:00:00 2001 From: Veiko Aasa Date: Mon, 2 Dec 2019 18:01:37 +0300 Subject: [PATCH 54/58] app: fix javascript constant redeclaration error Closes #1715 Signed-off-by: Veiko Aasa Reviewed-by: Joseph Nuthalapati --- static/themes/default/js/app.template.js | 56 ++++++++++++------------ 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/static/themes/default/js/app.template.js b/static/themes/default/js/app.template.js index dc6c97102..95e56cd62 100644 --- a/static/themes/default/js/app.template.js +++ b/static/themes/default/js/app.template.js @@ -21,36 +21,38 @@ * in this page. */ -const appForm = document.querySelector('#app-form'); -const appToggleContainer = document.querySelector('#app-toggle-container'); -const appToggleButton = document.querySelector('#app-toggle-button'); -const appToggleInput = document.querySelector('#app-toggle-input'); +$(document).on('turbolinks:load', function() { + const appForm = document.querySelector('#app-form'); + const appToggleContainer = document.querySelector('#app-toggle-container'); + const appToggleButton = document.querySelector('#app-toggle-button'); + const appToggleInput = document.querySelector('#app-toggle-input'); -if (appForm && appToggleButton && appToggleInput && appToggleContainer) { - const onSubmit = (e) => { - e.preventDefault; - appToggleInput.checked = !appToggleInput.checked; - appForm.submit(); - }; + if (appForm && appToggleButton && appToggleInput && appToggleContainer) { + const onSubmit = (e) => { + e.preventDefault; + appToggleInput.checked = !appToggleInput.checked; + appForm.submit(); + }; - appToggleButton.addEventListener('click', onSubmit); + appToggleButton.addEventListener('click', onSubmit); - /** - * if javascript is enabled, this script will run and show the toggle button - */ + /** + * if javascript is enabled, this script will run and show the toggle button + */ - appToggleInput.parentElement.style.display = 'none'; - appToggleContainer.style.display = 'flex'; + appToggleInput.parentElement.style.display = 'none'; + appToggleContainer.style.display = 'flex'; - /* A basic form has only three elements: - * 1. An input tag with CSRF token - * 2. A div with form elements - * 3. A Submit button - * - * This kind of form can be completely hidden. - */ - if (appForm.children.length === 3) { - appForm.style.display = 'none'; - appForm.previousElementSibling.style.display = 'none'; + /* A basic form has only three elements: + * 1. An input tag with CSRF token + * 2. A div with form elements + * 3. A Submit button + * + * This kind of form can be completely hidden. + */ + if (appForm.children.length === 3) { + appForm.style.display = 'none'; + appForm.previousElementSibling.style.display = 'none'; + } } -} +}); From 9d20875b0356cac34de8c338bfe4c4256cf72085 Mon Sep 17 00:00:00 2001 From: Veiko Aasa Date: Mon, 2 Dec 2019 18:09:33 +0300 Subject: [PATCH 55/58] samba: Fix javascript constant redeclaration error Related to #1715 Signed-off-by: Veiko Aasa Reviewed-by: Joseph Nuthalapati --- plinth/modules/samba/static/samba.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plinth/modules/samba/static/samba.js b/plinth/modules/samba/static/samba.js index cc117d558..9fd6f45e1 100644 --- a/plinth/modules/samba/static/samba.js +++ b/plinth/modules/samba/static/samba.js @@ -21,10 +21,13 @@ * in this page. */ -const share_checkbox = $(".shareform > input[type='checkbox']"); -share_checkbox.change(function(event) { +$(document).on('turbolinks:load', function() { + const share_checkbox = $(".shareform > input[type='checkbox']"); + + share_checkbox.change(function(event) { this.disabled=true; this.style.cursor='wait'; this.form.submit(); + }); }); From 961a58decb0056fd92218324cc61859e3feed969 Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Mon, 2 Dec 2019 17:30:45 -0500 Subject: [PATCH 56/58] locale: Update translation strings Signed-off-by: James Valleroy --- plinth/locale/bg/LC_MESSAGES/django.po | 564 +++++++-------- plinth/locale/bn/LC_MESSAGES/django.po | 562 +++++++-------- plinth/locale/cs/LC_MESSAGES/django.po | 699 ++++++++++-------- plinth/locale/da/LC_MESSAGES/django.po | 692 ++++++++++-------- plinth/locale/de/LC_MESSAGES/django.po | 738 +++++++++++--------- plinth/locale/django.pot | 562 +++++++-------- plinth/locale/el/LC_MESSAGES/django.po | 562 +++++++-------- plinth/locale/es/LC_MESSAGES/django.po | 698 ++++++++++-------- plinth/locale/fa/LC_MESSAGES/django.po | 584 ++++++++-------- plinth/locale/fake/LC_MESSAGES/django.po | 686 ++++++++++-------- plinth/locale/fr/LC_MESSAGES/django.po | 724 +++++++++++-------- plinth/locale/gl/LC_MESSAGES/django.po | 564 +++++++-------- plinth/locale/gu/LC_MESSAGES/django.po | 576 +++++++-------- plinth/locale/hi/LC_MESSAGES/django.po | 705 ++++++++++--------- plinth/locale/hu/LC_MESSAGES/django.po | 701 +++++++++++-------- plinth/locale/id/LC_MESSAGES/django.po | 602 ++++++++-------- plinth/locale/it/LC_MESSAGES/django.po | 660 +++++++++-------- plinth/locale/ja/LC_MESSAGES/django.po | 562 +++++++-------- plinth/locale/kn/LC_MESSAGES/django.po | 562 +++++++-------- plinth/locale/lt/LC_MESSAGES/django.po | 562 +++++++-------- plinth/locale/nb/LC_MESSAGES/django.po | 704 +++++++++++-------- plinth/locale/nl/LC_MESSAGES/django.po | 702 +++++++++++-------- plinth/locale/pl/LC_MESSAGES/django.po | 580 +++++++-------- plinth/locale/pt/LC_MESSAGES/django.po | 579 +++++++-------- plinth/locale/ru/LC_MESSAGES/django.po | 702 +++++++++++-------- plinth/locale/sl/LC_MESSAGES/django.po | 572 +++++++-------- plinth/locale/sv/LC_MESSAGES/django.po | 730 +++++++++++-------- plinth/locale/ta/LC_MESSAGES/django.po | 562 +++++++-------- plinth/locale/te/LC_MESSAGES/django.po | 686 ++++++++++-------- plinth/locale/tr/LC_MESSAGES/django.po | 708 ++++++++++--------- plinth/locale/uk/LC_MESSAGES/django.po | 572 +++++++-------- plinth/locale/zh_Hans/LC_MESSAGES/django.po | 682 ++++++++++-------- 32 files changed, 11000 insertions(+), 9344 deletions(-) diff --git a/plinth/locale/bg/LC_MESSAGES/django.po b/plinth/locale/bg/LC_MESSAGES/django.po index b99cef429..ca6b0b735 100644 --- a/plinth/locale/bg/LC_MESSAGES/django.po +++ b/plinth/locale/bg/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-10-12 14:52+0000\n" "Last-Translator: Nevena Mircheva \n" "Language-Team: Bulgarian /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -628,7 +627,7 @@ msgstr "" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "" @@ -745,7 +744,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -854,14 +853,12 @@ msgstr "" #: plinth/modules/deluge/__init__.py:45 msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -879,7 +876,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -968,18 +965,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1191,9 +1187,10 @@ msgstr "" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "" @@ -1291,10 +1288,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1486,13 +1482,13 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 +msgid "Manage Repositories" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 -msgid "Manage Repositories" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" msgstr "" #: plinth/modules/gitweb/templates/gitweb_configure.html:59 @@ -1545,7 +1541,7 @@ msgid "Edit repository" msgstr "" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1704,7 +1700,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -1851,7 +1846,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -1903,12 +1898,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -1917,12 +1910,13 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -1935,14 +1929,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2141,43 +2135,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2409,13 +2403,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2515,7 +2509,7 @@ msgstr "" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2610,19 +2604,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -2968,14 +2962,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3052,6 +3046,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3225,7 +3220,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "" @@ -3246,7 +3241,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3265,7 +3260,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3275,30 +3270,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3306,15 +3282,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3322,19 +3298,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3355,189 +3345,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3605,16 +3574,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -3938,6 +3899,93 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +msgid "Action" +msgstr "" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "Грешка при инсталиране на приложението: {error}" + +#: plinth/modules/samba/views.py:95 +msgid "Share disabled." +msgstr "" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "Грешка при инсталиране на приложението: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -3991,7 +4039,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4406,7 +4454,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4586,18 +4634,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4682,14 +4718,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -4888,42 +4917,34 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -4939,12 +4960,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -4974,19 +4989,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5171,8 +5185,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5207,7 +5221,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5332,16 +5346,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5392,59 +5402,55 @@ msgstr "" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5578,6 +5584,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" diff --git a/plinth/locale/bn/LC_MESSAGES/django.po b/plinth/locale/bn/LC_MESSAGES/django.po index b7953c72c..bf09cdbb2 100644 --- a/plinth/locale/bn/LC_MESSAGES/django.po +++ b/plinth/locale/bn/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,32 +22,32 @@ msgstr "" msgid "Page source" msgstr "" -#: plinth/action_utils.py:298 +#: plinth/action_utils.py:299 #, python-brace-format msgid "Listening on {kind} port {listen_address}:{port}" msgstr "" -#: plinth/action_utils.py:301 +#: plinth/action_utils.py:302 #, python-brace-format msgid "Listening on {kind} port {port}" msgstr "" -#: plinth/action_utils.py:397 +#: plinth/action_utils.py:407 #, python-brace-format msgid "Access URL {url} on tcp{kind}" msgstr "" -#: plinth/action_utils.py:401 +#: plinth/action_utils.py:411 #, python-brace-format msgid "Access URL {url}" msgstr "" -#: plinth/action_utils.py:432 +#: plinth/action_utils.py:442 #, python-brace-format msgid "Connect to {host}:{port}" msgstr "" -#: plinth/action_utils.py:434 +#: plinth/action_utils.py:444 #, python-brace-format msgid "Cannot connect to {host}:{port}" msgstr "" @@ -363,6 +363,7 @@ msgstr "" #: plinth/modules/backups/templates/backups_form.html:35 #: plinth/modules/gitweb/templates/gitweb_create_edit.html:35 +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:47 #: plinth/modules/sharing/templates/sharing_add_edit.html:35 msgid "Submit" msgstr "" @@ -475,71 +476,71 @@ msgstr "" msgid "Restored files from backup." msgstr "" -#: plinth/modules/backups/views.py:187 +#: plinth/modules/backups/views.py:186 msgid "No backup file found." msgstr "" -#: plinth/modules/backups/views.py:195 +#: plinth/modules/backups/views.py:194 msgid "Restore from uploaded file" msgstr "" -#: plinth/modules/backups/views.py:255 +#: plinth/modules/backups/views.py:251 msgid "No additional disks available to add a repository." msgstr "" -#: plinth/modules/backups/views.py:263 +#: plinth/modules/backups/views.py:259 msgid "Create backup repository" msgstr "" -#: plinth/modules/backups/views.py:290 +#: plinth/modules/backups/views.py:286 msgid "Create remote backup repository" msgstr "" -#: plinth/modules/backups/views.py:309 +#: plinth/modules/backups/views.py:305 msgid "Added new remote SSH repository." msgstr "" -#: plinth/modules/backups/views.py:331 +#: plinth/modules/backups/views.py:327 msgid "Verify SSH hostkey" msgstr "" -#: plinth/modules/backups/views.py:357 +#: plinth/modules/backups/views.py:353 msgid "SSH host already verified." msgstr "" -#: plinth/modules/backups/views.py:367 +#: plinth/modules/backups/views.py:363 msgid "SSH host verified." msgstr "" -#: plinth/modules/backups/views.py:381 +#: plinth/modules/backups/views.py:377 msgid "SSH host public key could not be verified." msgstr "" -#: plinth/modules/backups/views.py:383 +#: plinth/modules/backups/views.py:379 msgid "Authentication to remote server failed." msgstr "" -#: plinth/modules/backups/views.py:385 +#: plinth/modules/backups/views.py:381 msgid "Error establishing connection to server: {}" msgstr "" -#: plinth/modules/backups/views.py:396 +#: plinth/modules/backups/views.py:392 msgid "Repository removed." msgstr "" -#: plinth/modules/backups/views.py:410 +#: plinth/modules/backups/views.py:406 msgid "Remove Repository" msgstr "" -#: plinth/modules/backups/views.py:419 +#: plinth/modules/backups/views.py:415 msgid "Repository removed. Backups were not deleted." msgstr "" -#: plinth/modules/backups/views.py:429 +#: plinth/modules/backups/views.py:425 msgid "Unmounting failed!" msgstr "" -#: plinth/modules/backups/views.py:444 plinth/modules/backups/views.py:448 +#: plinth/modules/backups/views.py:440 plinth/modules/backups/views.py:444 msgid "Mounting failed" msgstr "" @@ -583,7 +584,7 @@ msgid "Enable Domain Name System Security Extensions" msgstr "" #: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172 -#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79 +#: plinth/modules/openvpn/views.py:152 plinth/modules/shadowsocks/views.py:79 #: plinth/modules/transmission/views.py:74 msgid "Configuration updated" msgstr "" @@ -608,10 +609,8 @@ msgstr "" #: plinth/modules/cockpit/__init__.py:57 #, python-brace-format msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -621,7 +620,7 @@ msgstr "" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "" @@ -738,7 +737,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -847,14 +846,12 @@ msgstr "" #: plinth/modules/deluge/__init__.py:45 msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -872,7 +869,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -961,18 +958,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1184,9 +1180,10 @@ msgstr "" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "" @@ -1284,10 +1281,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1479,13 +1475,13 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 +msgid "Manage Repositories" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 -msgid "Manage Repositories" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" msgstr "" #: plinth/modules/gitweb/templates/gitweb_configure.html:59 @@ -1538,7 +1534,7 @@ msgid "Edit repository" msgstr "" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1697,7 +1693,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -1844,7 +1839,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -1896,12 +1891,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -1910,12 +1903,13 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -1928,14 +1922,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2134,43 +2128,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2402,13 +2396,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2508,7 +2502,7 @@ msgstr "" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2603,19 +2597,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -2961,14 +2955,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3045,6 +3039,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3218,7 +3213,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "" @@ -3239,7 +3234,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3258,7 +3253,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3268,30 +3263,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3299,15 +3275,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3315,19 +3291,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3348,189 +3338,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3598,16 +3567,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -3931,6 +3892,91 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +msgid "Action" +msgstr "" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, python-brace-format +msgid "Error enabling share: {error_message}" +msgstr "" + +#: plinth/modules/samba/views.py:95 +msgid "Share disabled." +msgstr "" + +#: plinth/modules/samba/views.py:100 +#, python-brace-format +msgid "Error disabling share: {error_message}" +msgstr "" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -3984,7 +4030,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4399,7 +4445,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4579,18 +4625,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4675,14 +4709,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -4881,42 +4908,34 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -4932,12 +4951,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -4967,19 +4980,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5164,8 +5176,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5200,7 +5212,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5325,16 +5337,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5385,59 +5393,55 @@ msgstr "" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5571,6 +5575,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" diff --git a/plinth/locale/cs/LC_MESSAGES/django.po b/plinth/locale/cs/LC_MESSAGES/django.po index f03d2c0ff..4551f5cef 100644 --- a/plinth/locale/cs/LC_MESSAGES/django.po +++ b/plinth/locale/cs/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-10-26 17:53+0000\n" "Last-Translator: Pavel Borecki \n" "Language-Team: Czech path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "Pokud je zapnuto, Cockpit bude k dispozici v umístění /" "cockpit na webovém serveru. Je přístupné pro libovolného /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "Když je zapnutý, webový klient Deluge bude k dispozici na /deluge umístění na webovém serveru. Výchozí heslo je „deluge“, ale " "hned po zapnutí této služby se okamžitě přihlaste a změňte ho." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "Stahovat soubory pomocí BitTorrent aplikací" @@ -985,7 +982,7 @@ msgstr "" "Diagnostický test systému spustí několik kontrol pro potvrzení, že aplikace " "a služby fungují tak, jak mají." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Diagnostické testy" @@ -1084,18 +1081,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Aktualizovat nastavení" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Nastavení se nezměnila" @@ -1355,9 +1351,10 @@ msgstr "O systému" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Stav" @@ -1475,10 +1472,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Nastavení" @@ -1704,15 +1700,15 @@ msgstr "Řetězec písmeny a číslicemi, který jednoznačně identifikuje repo msgid "Git" msgstr "Git" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" -msgstr "Vytvořit repozitář" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 msgid "Manage Repositories" msgstr "Spravovat repozitáře" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" +msgstr "Vytvořit repozitář" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 msgid "No repositories available." msgstr "Nejsou k dispozici žádné repozitáře." @@ -1765,7 +1761,7 @@ msgid "Edit repository" msgstr "Upravit repozitář" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "Při nastavování se vyskytla chyba." @@ -1951,7 +1947,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "Zjistit více…" @@ -2135,7 +2130,7 @@ msgid "I2P Proxy" msgstr "I2P proxy" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "Spustit" @@ -2202,16 +2197,14 @@ msgstr "wiki a blog" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwiki je jednoduchá wiki a blog. Podporuje několik zjednodušených " "značkovacích jazyků (včetně Markdown) běžné funkce blogu, jako například " "komentáře a RSS kanály. Když je zapnuté, blogy a wiki budou dostupné na /ikiwiki (po vytvoření)." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2224,12 +2217,13 @@ msgstr "" "může upravovat ty stávající. V Nastavení " "uživatele můžete tato oprávnění změnit nebo přidat nové uživatele." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "Zobrazit a upravit wiki aplikace" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Typ" @@ -2242,16 +2236,16 @@ msgstr "Název účtu správce" msgid "Admin Account Password" msgstr "Heslo k účtu správce" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Spravovat wiki a blogy" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Vytvořit wiki nebo blog" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Spravovat wiki a blogy" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "Nejsou k dispozici žádné wiki nebo blogy." @@ -2467,7 +2461,7 @@ msgstr "Odvolat platnost" msgid "Obtain" msgstr "Získat" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " @@ -2476,7 +2470,7 @@ msgstr "" "Nejsou nastavené žádné domény. Nastavte je, " "aby bylo možné pro ně získat certifikát." -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " @@ -2485,29 +2479,29 @@ msgstr "" "Platnost certifikátu pro doménu {domain} úspěšně odvolána. Může to chvíli " "trvat, než se změna projeví." -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "Nepodařilo se odvolat platnost certifikátu prodoménu {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "Úspěšně obdržen certifikát pro doménu {domain}" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "Nepodařilo se získat certifikát pro doménu {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "Certifikát pro doménu {domain} úspěšně smazán" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "Nepodařilo se smazat certifikát pro doménu {domain}: {error}" @@ -2801,13 +2795,13 @@ msgstr "Zapnout poškozování" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "Pokud je vypnuto, postavy hráčů nemohou zemřít nebo se zranit." -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Adresa" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Port" @@ -2930,7 +2924,7 @@ msgstr "Storno" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Služba" @@ -3028,19 +3022,19 @@ msgstr "Podepsat klíč" msgid "Send the key back to the keyservers" msgstr "Poslat klíč zpět na servery s klíči" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "Importovaný klíč." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Zveřejnění klíče zrušeno." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Klíč zveřejněn na server s klíči." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "Při zveřejňování klíče došlo k chybě." @@ -3430,14 +3424,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "Deaktivace připojení se nezdařila: Připojení nenalezeno." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "Wi-Fi sítě poblíž" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Přidat připojení" @@ -3514,6 +3508,7 @@ msgid "yes" msgstr "ano" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Zařízení" @@ -3697,7 +3692,7 @@ msgstr "Zobrazit připojení %(name)s" msgid "Computer" msgstr "Počítač" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "Připojení" @@ -3718,7 +3713,7 @@ msgstr "Neaktivní" msgid "Create..." msgstr "Vytvořit…" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "OpenVPN" @@ -3743,7 +3738,7 @@ msgstr "" "zvýšení zabezpečení a anonymity je také možné přistupovat k ostatku " "Internetu prostřednictvím {box_name}." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3754,37 +3749,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "Zapnout OpenVPN server" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" -msgstr "Profil" - -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -"Pro připojení k VPN na %(box_name)s je třeba si stáhnout profil a načíst ho " -"v OpenVPN klientovi na svém mobilním zařízení či desktopu. OpenVPN klienti " -"jsou k dispozici pro většinu platforem. Viz manuálová stránka " -"ohledně doporučených klientů a pokynů pro jejich nastavení." -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" -"Profil je specifický každému z uživatelů %(box_name)s. Uchovejte ho v " -"tajnosti." - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "Stáhnout si svůj profil" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3795,15 +3764,15 @@ msgstr "" "opravdu dlouhý čas. V závislosti na rychlosti vašeho %(box_name)s to může " "trvat i hodiny. Pokud je nastavování přerušeno, je možné ho spustit znovu." -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "Zahájit nastavování" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "Nastavování OpenVPN je spuštěné" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3814,19 +3783,46 @@ msgstr "" "V závislosti na rychlosti vašeho %(box_name)s to může trvat i hodiny. Pokud " "je nastavování přerušeno, je možné ho spustit znovu." -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "OpenVPN server je spuštěný" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" +msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "OpenVPN server není spuštěný" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, fuzzy, python-format +#| msgid "" +#| "To connect to %(box_name)s's VPN, you need to download a profile and feed " +#| "it to an OpenVPN client on your mobile or desktop machine. OpenVPN " +#| "Clients are available for most platforms. See the manual page " +#| "on recommended clients and instructions on how to configure them." +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" +"Pro připojení k VPN na %(box_name)s je třeba si stáhnout profil a načíst ho " +"v OpenVPN klientovi na svém mobilním zařízení či desktopu. OpenVPN klienti " +"jsou k dispozici pro většinu platforem. Viz manuálová stránka " +"ohledně doporučených klientů a pokynů pro jejich nastavení." -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" +"Profil je specifický každému z uživatelů %(box_name)s. Uchovejte ho v " +"tajnosti." + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "Stáhnout si svůj profil" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Nastavování dokončeno." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Nastavování se nezdařilo." @@ -3850,19 +3846,19 @@ msgstr "" "němu nejste připojení napřímo. Potřebujete ho pouze když jsou služby služby " "vašeho {box_name} nedostupné z Internetu. To zahrnuje následující situace:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} se nachází za omezující bránou firewall." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" "{box_name} je připojený k (bezdrátovému) směrovači, který není ve vaší " "správě." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3870,7 +3866,7 @@ msgstr "" "Váš poskytovatel připojení vám neposkytuje vnější (veřejnou) IP adresu a " "namísto toho poskytuje připojení prostřednictvím NAT překladu." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." @@ -3878,17 +3874,23 @@ msgstr "" "Váš poskytovatel připojení vám neposkytuje pevnou IP adresu a ta se proto " "mění pokaždé, když se připojíte k Internetu." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "Váš poskytovatel připojení k Internetu omezuje příchozí spojení." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite obchází omezení NAT překladů, bran firewall a IP adres pomocí " "kombinace tunelů a reverzních proxy. Je možné použít libovolného " @@ -3896,19 +3898,15 @@ msgstr "" "\">pagekite.net. V budoucnu si pro toto může být možné s kamarádem " "smluvit využití jeho {box_name}." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "PageKite doména" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "Zapnout PageKite" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "Doména serveru" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3916,31 +3914,31 @@ msgstr "" "Vyberte pagekite server, který chcete používat. Pokud to má být ten výchozí, " "zadejte „pagekite.net“." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "Port serveru" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "Port pagekite serveru (výchozí: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "Kite název" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "Příklad: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "Neplatný kite název" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "Kite heslo" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -3948,53 +3946,43 @@ msgstr "" "Heslo přiřazené ke kite nebo výchozí heslo pro váš účet pokud není na kite " "žádné nastavené." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "Nastavit podrobnosti Kite" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "Nastavení pagekite serveru" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite zapnuto" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite vypnuto" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "Služba zapnuta: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "Služba vypnuta: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "protokol" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "vnější (frontend) port" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "vnitřní (freedombox) port" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "Zapnout podřízené domény" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "Uživatelem určená služba smazána" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -4002,23 +3990,45 @@ msgstr "" "Tato služba je k dispozici jako standardní služba. Zapněte ji na stránce " "„Standardní služby“." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "Uživatelem určená služba přidána" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "Tato služba už existuje" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "PageKite účet" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Uživatelem určené služby" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Uložit nastavení" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Uživatelem určené služby" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "Stávají uživatelem určené služby" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "připojeno na %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Smazat tuto službu" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "Uživatelem určená služba přidána" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -4028,31 +4038,6 @@ msgstr "" "kombinace protokol/port, které zde můžete určit. Například o HTTPS na portu " "jiném, než 443 je známo, že způsobuje problémy." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "Vytvořit uživatelem určenou službu" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Přidat službu" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "Stávají uživatelem určené služby" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "Nemáte zapnutou žádnou uživatelem určenou službu" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "připojeno na %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Smazat tuto službu" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Nastavit podřízenou doménu freedombox.me pomocí vašeho kuponu" @@ -4128,16 +4113,8 @@ msgstr "" "Viz instrukce pro nastavení SSH klienta" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Standardní služby" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Uživatelem určené služby" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Napájení" @@ -4569,6 +4546,103 @@ msgstr "" "lesssecureapps\">https://www.google.com/settings/security/lesssecureapps)." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +#, fuzzy +#| msgid "Select Disk or Partition" +msgid "Select disks for sharing" +msgstr "Vybrat datové úložiště nebo oddíl" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "Štítek" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Přípojný bod" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "Použito" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Share added." +msgid "Share name" +msgstr "Sdílení přidáno." + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Akce" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "Share deleted." +msgid "Share enabled." +msgstr "Sdílení smazáno." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error enabling share: {error_message}" +msgstr "Chyba při vysouvání zařízení: {error_message}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Share edited." +msgid "Share disabled." +msgstr "Sdílení upraveno." + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error disabling share: {error_message}" +msgstr "Chyba při vysouvání zařízení: {error_message}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "Searx" @@ -4627,7 +4701,7 @@ msgstr "" "Umožnit, aby tato aplikace byla používána kýmkoli, kdo se k ní může dostat." #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "Nastavení aktualizována." @@ -5107,7 +5181,7 @@ msgstr "Zachycený stav pořízen." msgid "Storage snapshots configuration updated" msgstr "Nastavení zachycování stavů úložiště aktualizováno" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "Chyba akce: {0} [{1}] [{2}]" @@ -5298,18 +5372,6 @@ msgstr "Zařízení je připojeno jiným uživatelem." msgid "The following storage devices are in use:" msgstr "Jsou používána následující úložná zařízení:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "Štítek" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Přípojný bod" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "Použito" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "Zvětšení oddílu" @@ -5411,22 +5473,7 @@ msgstr "" "být synchronizována do odlišné sady složek. Webové rozhraní {box_name} je k " "dispozici pouze pro uživatele náležející do skupiny „admin“." -#: plinth/modules/syncthing/__init__.py:57 -#, fuzzy -#| msgid "" -#| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" -"Když je zapnuté, webové rozhraní Syncthing bude k dispozici na /syncthing. Jsou k " -"dispozici také klienti pro osobní počítače a mobilní platformy." - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "Spravovat aplikaci Syncthing" @@ -5667,33 +5714,25 @@ msgstr "Tor prohlížeč" msgid "Orbot: Proxy with Tor" msgstr "Orbot: proxy s Tor" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "Nastavení Tor jsou aktualizována" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "Tor je spuštěné" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "Tor není spuštěné" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Hidden Service" msgid "Onion Service" msgstr "Skrytá služba" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "Porty" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "Předávání" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5703,11 +5742,11 @@ msgstr "" "byste ověřit, zda jsou otevřené a předávané následující porty (pokud je " "třeba):" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "Tor SOCKS port je k dispozici na vašem %(box_name)s na TCP portu 9050." @@ -5726,16 +5765,6 @@ msgstr "" "Transmision obsluhuje sdílení souborů Bitorrent. Poznamenejme, že BitTorrent " "není anonymní." -#: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." -msgid "" -"Access the web interface at /transmission." -msgstr "" -"Webové rozhraní je dostupné na /transmission." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "Složka pro stahování" @@ -5774,15 +5803,14 @@ msgstr "" #| "tt-rss path on the web server. It can be accessed by any user with a {box_name} login." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Pokud je zapnuto, Tiny Tiny RSS bude k dispozici v umístění /tt-rss umístění na webovém serveru. Je přístupné pro libovolného uživatele s účtem na {box_name}." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 #, fuzzy #| msgid "" #| "When using a mobile or desktop application for Tiny Tiny RSS, use the URL " @@ -5795,7 +5823,7 @@ msgstr "" "Při používání mobilní nebo desktopové aplikace pro Tiny Tiny RSS použijte " "pro připojování URL adresu /tt-rss-app." -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "Číst a přihlásit se k odběru novinek" @@ -5998,8 +6026,8 @@ msgid "Save Password" msgstr "Uložit heslo" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "Vytvořit uživatele" @@ -6037,7 +6065,7 @@ msgstr "" msgid "Create Account" msgstr "Vytvořit účet" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "Uživatelé" @@ -6171,16 +6199,12 @@ msgstr "" "issues\">systému hlášení chyb abychom to mohli opravit. K hlášení také " "přiložte záznam (log) stavu." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Spustit webového klienta" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "Služba %(service_name)s je spuštěná." -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "Služba %(service_name)s není spuštěná." @@ -6231,59 +6255,55 @@ msgstr "Vyberte jazyk" msgid "Log in" msgstr "Přihlásit" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "Klientské aplikace" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "Web" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "Desktop" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "GNU/Linux" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "Windows" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "macOS" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "Mobilní" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "Obchod Play" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "F-Droid" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "Zdroj aplikací" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "Balíček" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "Debian:" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "Homebrew:" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "RPM:" @@ -6438,6 +6458,14 @@ msgstr "Instalace %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% dokončeno" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Spustit webového klienta" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "Klientské aplikace" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Aplikace zapnuta" @@ -6450,6 +6478,69 @@ msgstr "Aplikace vypnuta" msgid "Gujarati" msgstr "gudžarátština" +#~ msgid "OpenVPN server is running" +#~ msgstr "OpenVPN server je spuštěný" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "OpenVPN server není spuštěný" + +#~ msgid "Enable PageKite" +#~ msgstr "Zapnout PageKite" + +#~ msgid "Service enabled: {name}" +#~ msgstr "Služba zapnuta: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "Služba vypnuta: {name}" + +#~ msgid "PageKite Account" +#~ msgstr "PageKite účet" + +#~ msgid "Save settings" +#~ msgstr "Uložit nastavení" + +#~ msgid "Create a custom service" +#~ msgstr "Vytvořit uživatelem určenou službu" + +#~ msgid "Add Service" +#~ msgstr "Přidat službu" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "Nemáte zapnutou žádnou uživatelem určenou službu" + +#~ msgid "Standard Services" +#~ msgstr "Standardní služby" + +#, fuzzy +#~| msgid "" +#~| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." +#~ msgid "" +#~ "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " +#~ "clients are also available." +#~ msgstr "" +#~ "Když je zapnuté, webové rozhraní Syncthing bude k dispozici na /syncthing. Jsou k " +#~ "dispozici také klienti pro osobní počítače a mobilní platformy." + +#~ msgid "Tor is running" +#~ msgstr "Tor je spuštěné" + +#~ msgid "Tor is not running" +#~ msgstr "Tor není spuštěné" + +#, fuzzy +#~| msgid "" +#~| "Access the web interface at /transmission." +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "Webové rozhraní je dostupné na /transmission." + #~ msgid "Secret" #~ msgstr "Heslo" diff --git a/plinth/locale/da/LC_MESSAGES/django.po b/plinth/locale/da/LC_MESSAGES/django.po index 2829d77ec..663e7b8d0 100644 --- a/plinth/locale/da/LC_MESSAGES/django.po +++ b/plinth/locale/da/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2016-07-03 21:44+0000\n" "Last-Translator: Mikkel Kirkgaard Nielsen \n" "Language-Team: Danish /" #| "tt-rss path on the web server." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "Når aktiveret, vil Tiny Tiny RSS være tilgængelige på stien /tt-rss på webserveren." @@ -709,7 +708,7 @@ msgstr "Generel Konfiguration" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "Konfigurer" @@ -841,7 +840,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 #, fuzzy #| msgid "Enable Shaarli" msgid "File Sharing" @@ -980,17 +979,15 @@ msgstr "Deluge er en BitTorrent-klient som har et webbaseret brugerinterface." #| "'deluge', but you should log in and change it immediately after enabling " #| "this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "Hvis aktiveret vil Deluge web-klienten være tilgængelig på stien /deluge på webserveren. Standardkodeordet er 'deluge', men du " "bør logge ind og ændre det med det samme du har aktiveret denne tjeneste." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -1010,7 +1007,7 @@ msgstr "" "Systemets diagnostiske test vil udføre en række tjek af dit system for at " "afgøre om applikationer og tjenester virker som forventet." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Diagnostisk Test" @@ -1099,18 +1096,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Opdater indstillinger" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Indstilling uændret" @@ -1373,9 +1369,10 @@ msgstr "Om" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Status" @@ -1491,10 +1488,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Konfiguration" @@ -1712,19 +1708,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create User" -msgid "Create repository" -msgstr "Opret Bruger" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create User" msgid "Manage Repositories" msgstr "Opret Bruger" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create User" +msgid "Create repository" +msgstr "Opret Bruger" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 #, fuzzy #| msgid "Tor relay port available" @@ -1790,7 +1786,7 @@ msgid "Edit repository" msgstr "Opret Bruger" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "Der opstod en fejl under konfigurationen." @@ -1972,7 +1968,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 #, fuzzy #| msgid "Learn more »" msgid "Learn more..." @@ -2156,7 +2151,7 @@ msgid "I2P Proxy" msgstr "Privoxy Webproxy" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -2218,16 +2213,14 @@ msgstr "Wiki & Blog" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwiki er en simpel wiki og blog-applikation. Den understøtter flere lette " "markup-sprog, inklusiv Markdown, og almindelig blogging-funktionalitet såsom " "kommentarer og RSS-feeds. Når aktiveret, vil blogge og wikier være " "tilgængelige på /ikiwiki." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2236,7 +2229,7 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 #, fuzzy #| msgid "Services and Applications" msgid "View and edit wiki applications" @@ -2244,6 +2237,7 @@ msgstr "Tjenester og Applikationer" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Type" @@ -2256,16 +2250,16 @@ msgstr "Administratorkontonavn" msgid "Admin Account Password" msgstr "Administratorkontokodeord" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Administrer Wikier og Blogs" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Opret Wiki eller Blog" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Administrer Wikier og Blogs" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "Ingen wikier eller blogs tilgængelig." @@ -2505,14 +2499,14 @@ msgstr "Træk Tilbage" msgid "Obtain" msgstr "Erhverv" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, fuzzy, python-brace-format #| msgid "Certificate successfully revoked for domain {domain}" msgid "" @@ -2520,31 +2514,31 @@ msgid "" "moments to take effect." msgstr "Certifikatet for domænet {domain} blev trukket tilbage" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "Fejl ved tilbagetrækning af certifikatet for domænet {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "Certifikatet for domænet {domain} blev erhvervet" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" "Fejl ved forsøg på at erhverve certifikatet for domænet {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, fuzzy, python-brace-format #| msgid "Certificate successfully revoked for domain {domain}" msgid "Certificate successfully deleted for domain {domain}" msgstr "Certifikatet for domænet {domain} blev trukket tilbage" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, fuzzy, python-brace-format #| msgid "Failed to revoke certificate for domain {domain}: {error}" msgid "Failed to delete certificate for domain {domain}: {error}" @@ -2820,13 +2814,13 @@ msgstr "Aktiver PageKite" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Adresse" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Port" @@ -2959,7 +2953,7 @@ msgstr "Annuller" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Tjeneste" @@ -3056,19 +3050,19 @@ msgstr "Underskriv nøglen" msgid "Send the key back to the keyservers" msgstr "Send nøglen tilbage til nøgleserverne" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "Nøglen blev importeret." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Distribution af nøglen annulleret." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Nøgle distribueret til nøgleserver." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "Fejl under distribuering af nøgle." @@ -3471,14 +3465,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "Kan ikke deaktivere forbindelse: Forbindelse ikke fundet." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "Wi-Fi-netværk i Nærheden" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Tilføj forbindelse" @@ -3557,6 +3551,7 @@ msgid "yes" msgstr "ja" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Enhed" @@ -3741,7 +3736,7 @@ msgstr "Vis forbindelse %(name)s" msgid "Computer" msgstr "Computer" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection" msgid "Connections" @@ -3764,7 +3759,7 @@ msgstr "Inaktiv" msgid "Create..." msgstr "Opret..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 #, fuzzy #| msgid "OpenVPN" msgid "OpenVPN" @@ -3793,7 +3788,7 @@ msgstr "" "af {box_name}. Du kan også tilgå resten af internettet igennem {box_name} " "for øget sikkerhed og anonymitet." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3803,11 +3798,45 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "Aktiver OpenVPN-server" -#: plinth/modules/openvpn/templates/openvpn.html:40 +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:42 +#, python-format +msgid "" +"OpenVPN has not yet been setup. Performing a secure setup takes a very long " +"time. Depending on how fast your %(box_name)s is, it may even take hours. " +"If the setup is interrupted, you may start it again." +msgstr "" +"OpenVPN er endnu ikke konfigureret. At udføre en sikker konfiguration tager " +"meget lang tid. Afhængig af hvor hurtig din %(box_name)s er, kan det tage " +"flere timer. Hvis processen afbrydes kan den blot genstartes." + +#: plinth/modules/openvpn/templates/openvpn.html:55 +msgid "Start setup" +msgstr "Start opsætning" + +#: plinth/modules/openvpn/templates/openvpn.html:64 +msgid "OpenVPN setup is running" +msgstr "OpenVPN-opsætning kører" + +#: plinth/modules/openvpn/templates/openvpn.html:68 +#, python-format +msgid "" +"To perform a secure setup, this process takes a very long time. Depending " +"on how fast your %(box_name)s is, it may even take hours. If the setup is " +"interrupted, you may start it again." +msgstr "" +"At udføre en sikker konfiguration tager meget lang tid. Afhængig af hvor " +"hurtig din %(box_name)s er, kan det tage flere timer. Hvis processen " +"afbrydes kan den blot genstartes." + +#: plinth/modules/openvpn/templates/openvpn.html:87 msgid "Profile" msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:43 +#: plinth/modules/openvpn/templates/openvpn.html:90 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -3819,8 +3848,7 @@ msgstr "Profil" msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " "to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " +"available for most platforms. Click \"Learn more...\" above for recommended " "clients and instructions on how to configure them." msgstr "" "For at forbinde til %(box_name)ss VPN skal du downloade en profil og " @@ -3830,60 +3858,22 @@ msgstr "" "Brugervejledning - OpenVPN\">dokumentation om anbefalede klienter og " "instruktioner til opsætning af dem." -#: plinth/modules/openvpn/templates/openvpn.html:55 +#: plinth/modules/openvpn/templates/openvpn.html:100 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "Profilen er dannet specifikt til hver bruger af %(box_name)s. Hold den " "hemmelig." -#: plinth/modules/openvpn/templates/openvpn.html:66 +#: plinth/modules/openvpn/templates/openvpn.html:111 msgid "Download my profile" msgstr "Hent min profil" -#: plinth/modules/openvpn/templates/openvpn.html:75 -#, python-format -msgid "" -"OpenVPN has not yet been setup. Performing a secure setup takes a very long " -"time. Depending on how fast your %(box_name)s is, it may even take hours. " -"If the setup is interrupted, you may start it again." -msgstr "" -"OpenVPN er endnu ikke konfigureret. At udføre en sikker konfiguration tager " -"meget lang tid. Afhængig af hvor hurtig din %(box_name)s er, kan det tage " -"flere timer. Hvis processen afbrydes kan den blot genstartes." - -#: plinth/modules/openvpn/templates/openvpn.html:88 -msgid "Start setup" -msgstr "Start opsætning" - -#: plinth/modules/openvpn/templates/openvpn.html:95 -msgid "OpenVPN setup is running" -msgstr "OpenVPN-opsætning kører" - -#: plinth/modules/openvpn/templates/openvpn.html:99 -#, python-format -msgid "" -"To perform a secure setup, this process takes a very long time. Depending " -"on how fast your %(box_name)s is, it may even take hours. If the setup is " -"interrupted, you may start it again." -msgstr "" -"At udføre en sikker konfiguration tager meget lang tid. Afhængig af hvor " -"hurtig din %(box_name)s er, kan det tage flere timer. Hvis processen " -"afbrydes kan den blot genstartes." - -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "OpenVPN-server er aktiv" - -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "OpenVPN-server er ikke aktiv" - -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Opsætning færdig." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Opsætning fejlede." @@ -3912,19 +3902,19 @@ msgstr "" "hvis {box_name} tjenester ikke kan nås fra resten af internettet. Dette " "inkluderer de følgende situationer:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} er bag en restriktiv firewall." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" "{box_name} er forbundet til en (trådløs) router som du ikke selv " "kontrollerer." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3932,7 +3922,7 @@ msgstr "" "Din internetudbyder tildeler dig ikke en ekstern IP-adresse, men giver dig " "forbindelse gennem NAT." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 #, fuzzy #| msgid "" #| "Your ISP does not provide you a static IP address and your IP address " @@ -3944,17 +3934,23 @@ msgstr "" "Din internetudbyder tildeler dig ikke en fast IP-adresse, og din IP-adresse " "ændres hver gang du fobinder til nettet." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "Din internetudbyder begrænser indgående forbindelser." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite omgår NAT, firewalls og begrænsninger på IP-adresser ved at bruge " "en kombination af tunneller og omvendte proxier. Du kan bruge enhver " @@ -3962,21 +3958,17 @@ msgstr "" "net. I fremtiden vil det måske blive muligt at bruge din vens {box_name} " "til dette." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 #, fuzzy #| msgid "PageKite Account" msgid "PageKite Domain" msgstr "PageKite-konto" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "Aktiver PageKite" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "Serverdomæne" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3984,31 +3976,31 @@ msgstr "" "Vælg din PageKite-server. Brug \"pagekite.net\" hvis du vil bruge " "standardserveren fra pagekite.net." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "Serverport" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "PageKite-serverport (standard: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "Kite-navn" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "Eksempel: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "Ugyldigt kite-name" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "Kite-hemmelighed" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4016,53 +4008,43 @@ msgstr "" "En hemmelighed tilknyttet denne kite, eller standard-hemmeligheden for din " "konto hvis der ikke er defineret nogen for denne kite." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "Kite-detaljer gemt" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "PageKite-server gemt" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite aktiveret" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite deaktiveret" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "Tjeneste aktiv: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "Tjeneste ikke aktiv: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "protokol" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "ekstern (WAN) port" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "intern (FreedomBox) port" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "Aktiver Subdomæner" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "Brugerdefineret tjeneste slettet" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -4070,23 +4052,45 @@ msgstr "" "Denne tjeneste er tilgængelig som en standardtjeneste. Brug venligst siden " "\"Standardtjenester\" for at aktivere den." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "Tilføjet brugerdefineret tjeneste" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "Denne tjeneste eksisterer allerede" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "PageKite-konto" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Brugerdefinerede Tjenester" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Gem indstillinger" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Brugerdefinerede Tjenester" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "Eksisterende brugerdefinerede tjenester" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "forbundet til %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Slet denne tjeneste" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "Tilføjet brugerdefineret tjeneste" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -4097,31 +4101,6 @@ msgstr "" "her. For eksempel er HTTPS på andre porte end 443 kendt for at give " "problemer." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "Opret en brugerdefineret tjeneste" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Tilføj Service" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "Eksisterende brugerdefinerede tjenester" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "Du har ikke nogen aktive brugerdefinerede tjenester" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "forbundet til %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Slet denne tjeneste" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Konfigurer et freedombox.me subdomæne med din rabatkupon" @@ -4198,16 +4177,8 @@ msgstr "" "Se instruktioner for opsætning af SSH-klient" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Standardtjenester" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Brugerdefinerede Tjenester" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Strøm" @@ -4640,6 +4611,101 @@ msgstr "" "lesssecureapps\">https://www.google.com/settings/security/lesssecureapps)." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Monteringspunkt" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "Brugt" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Kite name" +msgid "Share name" +msgstr "Kite-navn" + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Handlinger" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "{name} deleted." +msgid "Share enabled." +msgstr "{name} slettet." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "Kunne ikke installere applikation: {error}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "{name} deleted." +msgid "Share disabled." +msgstr "{name} slettet." + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "Kunne ikke installere applikation: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -4699,7 +4765,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "Konfiguration opdateret." @@ -5177,7 +5243,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "Konfiguration opdateret" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "Fejl under handling: {0} [{1}] [{2}]" @@ -5382,18 +5448,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "Følgende diske er i brug:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Monteringspunkt" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "Brugt" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -5484,14 +5538,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 #, fuzzy #| msgid "Install this application?" msgid "Administer Syncthing application" @@ -5717,33 +5764,25 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "Tor-konfiguration opdateres" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "Tor er aktiv" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "Tor er ikke aktiv" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Hidden Service" msgid "Onion Service" msgstr "Skjult Tjeneste" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "Porte" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, fuzzy, python-format #| msgid "" #| "Your %(box_name)s is configured as a Tor bridge with obfsproxy, so it can " @@ -5759,11 +5798,11 @@ msgstr "" "router eller firewall, bør du sikre at de følgende porte er åbne, eller " "viderestillede, hvis nødvendigt:" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "En Tor SOCKS-port er tilgængelig på din %(box_name)s TCP-port 9050." @@ -5784,15 +5823,6 @@ msgstr "" "Transmission håndterer BitTorrent fildeling. Bemærk at BitTorrent ikke " "anonymiserer trafik." -#: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." -msgid "" -"Access the web interface at /transmission." -msgstr "Tilgå webbrugerfladen på /transmission." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "Download-mappe" @@ -5833,21 +5863,20 @@ msgstr "" #| "When enabled, Tiny Tiny RSS will be available from /" #| "tt-rss path on the web server." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Når aktiveret, vil Tiny Tiny RSS være tilgængelige på stien /tt-rss på webserveren." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -6061,8 +6090,8 @@ msgid "Save Password" msgstr "Gem Kodeord" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "Opret Bruger" @@ -6102,7 +6131,7 @@ msgstr "" msgid "Create Account" msgstr "PageKite-konto" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "Brugere" @@ -6244,17 +6273,13 @@ msgstr "" "Rapporter venligst fejlen i fejlhåndteringsvørktøjet så vi kan rette den." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Kør webklient" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, fuzzy, python-format #| msgid "Service discovery server is running" msgid "Service %(service_name)s is running." msgstr "Tjenestesøgningstjenesten er aktiv" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, fuzzy, python-format #| msgid "Service discovery server is not running" msgid "Service %(service_name)s is not running." @@ -6313,67 +6338,61 @@ msgstr "Sprog" msgid "Log in" msgstr "Log ind" -#: plinth/templates/clients.html:29 -#, fuzzy -#| msgid "Quassel IRC Client" -msgid "Client Apps" -msgstr "Quassel IRC-klient" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 #, fuzzy #| msgid "IRC Client (Quassel)" msgid "Desktop" msgstr "IRC-klient (Quassel)" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 #, fuzzy #| msgid "Email Client (Roundcube)" msgid "Mobile" msgstr "Emailklient (Roundcube)" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 #, fuzzy #| msgid "reStore" msgid "App Store" msgstr "reStore" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "Pakkenavn" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -6514,6 +6533,16 @@ msgstr "Installerer %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% færdig" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Kør webklient" + +#: plinth/templates/toolbar.html:47 +#, fuzzy +#| msgid "Quassel IRC Client" +msgid "Client Apps" +msgstr "Quassel IRC-klient" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Applikation aktiveret" @@ -6526,6 +6555,54 @@ msgstr "Applikation deaktiveret" msgid "Gujarati" msgstr "" +#~ msgid "OpenVPN server is running" +#~ msgstr "OpenVPN-server er aktiv" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "OpenVPN-server er ikke aktiv" + +#~ msgid "Enable PageKite" +#~ msgstr "Aktiver PageKite" + +#~ msgid "Service enabled: {name}" +#~ msgstr "Tjeneste aktiv: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "Tjeneste ikke aktiv: {name}" + +#~ msgid "PageKite Account" +#~ msgstr "PageKite-konto" + +#~ msgid "Save settings" +#~ msgstr "Gem indstillinger" + +#~ msgid "Create a custom service" +#~ msgstr "Opret en brugerdefineret tjeneste" + +#~ msgid "Add Service" +#~ msgstr "Tilføj Service" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "Du har ikke nogen aktive brugerdefinerede tjenester" + +#~ msgid "Standard Services" +#~ msgstr "Standardtjenester" + +#~ msgid "Tor is running" +#~ msgstr "Tor er aktiv" + +#~ msgid "Tor is not running" +#~ msgstr "Tor er ikke aktiv" + +#, fuzzy +#~| msgid "" +#~| "Access the web interface at /transmission." +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "Tilgå webbrugerfladen på /transmission." + #~ msgid "Create a Wiki or Blog" #~ msgstr "Opret en Wiki eller Blog" @@ -6694,11 +6771,6 @@ msgstr "" #~ msgid " System" #~ msgstr "System" -#, fuzzy -#~| msgid "Kite name" -#~ msgid "Archive name" -#~ msgstr "Kite-navn" - #, fuzzy #~| msgid "Invalid server name" #~ msgid "Invalid archive name" diff --git a/plinth/locale/de/LC_MESSAGES/django.po b/plinth/locale/de/LC_MESSAGES/django.po index 8307ba1e6..f7086b3ef 100644 --- a/plinth/locale/de/LC_MESSAGES/django.po +++ b/plinth/locale/de/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-11-21 18:04+0000\n" "Last-Translator: Michael Breidenbach \n" "Language-Team: German /_cockpit/ path on the web server. It can be " +#| "accessed by any user on {box_name} belonging " +#| "to the admin group." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" -"Falls aktiviert, steht Cockpit auf dem Webserver unter /_cockpit/ zur Verfügung. Zugriff hat jeder Benutzer auf {box_name}, der zur Gruppe der " +"Falls aktiviert, steht Cockpit auf dem Webserver unter /_cockpit/ zur Verfügung. Zugriff hat jeder Benutzer auf {box_name}, der zur Gruppe der " "Administratoren gehört." #: plinth/modules/config/__init__.py:37 @@ -689,7 +693,7 @@ msgstr "Allgemeine Konfiguration" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "Konfigurieren" @@ -822,7 +826,7 @@ msgstr "Ausblenden von erweiterten Apps und Funktionen" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "Filesharing/Dateien teilen" @@ -946,18 +950,22 @@ msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "Deluge ist ein BitTorrent-Client mit einer Weboberfläche." #: plinth/modules/deluge/__init__.py:45 +#, fuzzy +#| msgid "" +#| "When enabled, the Deluge web client will be available from /deluge path on the web server. " +#| "The default password is 'deluge', but you should log in and change it " +#| "immediately after enabling this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "Falls aktiviert, ist die Deluge-Weboberfläche über /deluge verfügbar. Das Standardpasswort lautet " "„deluge“, aber dieses sollte sofort nach dem ersten Anmelden geändert werden." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "Dateien mit BitTorrent herunterladen" @@ -977,7 +985,7 @@ msgstr "" "Der Systemdiagnosetest wird eine Reihe von Tests auf dem System durchführen, " "um zu überprüfen, ob alle Anwendungen und Dienste funktionieren." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Diagnose" @@ -1076,18 +1084,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Update-Einstellungen" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Einstellung unverändert" @@ -1348,9 +1355,10 @@ msgstr "Über" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Status" @@ -1471,10 +1479,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Konfiguration" @@ -1698,15 +1705,15 @@ msgstr "" msgid "Git" msgstr "Git" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" -msgstr "Respository anlegen" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 msgid "Manage Repositories" msgstr "Archive verwalten" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" +msgstr "Respository anlegen" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 msgid "No repositories available." msgstr "Keine Archive verfügbar." @@ -1757,7 +1764,7 @@ msgid "Edit repository" msgstr "Archiv bearbeiten" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "Ein Fehler ist bei der Konfiguration aufgetreten." @@ -1955,7 +1962,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "Mehr erfahren …" @@ -2146,7 +2152,7 @@ msgid "I2P Proxy" msgstr "I2P Proxy" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "Starten" @@ -2204,20 +2210,25 @@ msgid "Wiki and Blog" msgstr "Wiki und Blog" #: plinth/modules/ikiwiki/__init__.py:46 +#, fuzzy +#| msgid "" +#| "ikiwiki is a simple wiki and blog application. It supports several " +#| "lightweight markup languages, including Markdown, and common blogging " +#| "functionality such as comments and RSS feeds. When enabled, the blogs and " +#| "wikis will be available at /ikiwiki (once created)." msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwiki ist eine einfache Wiki- und Blog-Anwendung. Sie unterstützt mehrere " "einfache Markup-Sprachen wie Markdown und übliche Blogging-Funktionen wie " -"Kommentare und RSS-Feeds. Wenn aktiviert, stehen die Blogs und Wikis unter <" -"a href=\"/ikiwiki\" data-turbolinks=\"false\">/ikiwiki bereit (nach " +"Kommentare und RSS-Feeds. Wenn aktiviert, stehen die Blogs und Wikis unter " +"/ikiwiki bereit (nach " "Erstellung)." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2231,12 +2242,13 @@ msgstr "" "\"{users_url}\">Benutzerkonfiguration können diese Rechte geändert oder " "neue Benutzer angelegt werden." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "Wiki-Anwendungen ansehen und bearbeiten" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Typ" @@ -2249,16 +2261,16 @@ msgstr "Admin-Konto-Name" msgid "Admin Account Password" msgstr "Admin-Konto-Passwort" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Wikis und Blogs verwalten" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Wiki oder Blog anlegen" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Wikis und Blogs verwalten" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "Keine Wikis oder Blogs verfügbar." @@ -2477,7 +2489,7 @@ msgstr "Widerrufen" msgid "Obtain" msgstr "Beziehen" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " @@ -2486,7 +2498,7 @@ msgstr "" "Es wurden keine Domains konfiguriert. Um Zertifikate erhalten zu können, " "müssen Domains konfiguriert werden." -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " @@ -2495,29 +2507,29 @@ msgstr "" "Zertifikat erfolgreich widerrufen für Domain {domain}. Es kann einige " "Momente dauern, bis dies in Kraft tritt." -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "Fehler beim Widerrufen des Zertifikats für Domain {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "Zertifikat erfolgreich bezogen für Domain {domain}" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "Fehler beim Beziehen des Zertifikats für Domain {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "Zertifikat erfolgreich widerrufen für Domain {domain}" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "Fehler beim Widerrufen des Zertifikats für Domain {domain}: {error}" @@ -2819,13 +2831,13 @@ msgstr "" "Wenn deaktiviert, können Spieler weder sterben noch irgendwelche Schäden " "erleiden." -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Adresse" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Port" @@ -2951,7 +2963,7 @@ msgstr "Abbrechen" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Dienst" @@ -3049,19 +3061,19 @@ msgstr "Schlüssel signieren" msgid "Send the key back to the keyservers" msgstr "Den Schlüssel zum Server zurücksenden" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "Schlüssel importiert." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Schlüsselveröffentlichung abgebrochen." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Veröffentlichte Schlüssel auf dem Server." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "Fehler beim Veröffentlichen des Schlüssels." @@ -3452,14 +3464,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "Konnte Verbindung nicht ausschalten: Verbindung nicht gefunden." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "WLANs in der Nähe" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Verbindung hinzufügen" @@ -3536,6 +3548,7 @@ msgid "yes" msgstr "ja" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Gerät" @@ -3721,7 +3734,7 @@ msgstr "Verbindung %(name)s anzeigen" msgid "Computer" msgstr "Computer" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "Verbindungen" @@ -3742,7 +3755,7 @@ msgstr "Inaktiv" msgid "Create..." msgstr "Anlegen …" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "OpenVPN" @@ -3767,7 +3780,7 @@ msgstr "" "{box_name} erlangen. Sie können auch auf das Internet via {box_name} für " "zusätzliche Sicherheit und Anonymität zugreifen." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3778,38 +3791,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "OpenVPN-Server einschalten" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" -msgstr "Profil" - -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -"Um sich mit dem VPN von %(box_name)s zu verbinden, müssen Sie ein Profil " -"herunterladen und es an einen OpenVPN-Client auf Ihrem mobilen oder Desktop-" -"Computer übertragen. OpenVPN-Clients sind für die meisten Plattformen " -"verfügbar. Siehe Handbuchseite über empfohlene Clients " -"und Konfigurationsanweisungen." -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" -"Das Profil ist für jeden Benutzer von %(box_name)s spezifisch. Halten Sie es " -"geheim." - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "Mein Profil herunterladen" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3821,15 +3807,15 @@ msgstr "" "dauern. Wenn das Einrichten unterbrochen wird, können Sie es erneut zu " "starten." -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "Einrichten beginnen" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "Einrichtung von OpenVPN läuft" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3840,19 +3826,47 @@ msgstr "" "%(box_name)s ist, kann es sogar Stunden dauern. Wenn das Einrichten " "unterbrochen wird, können Sie es erneut zu starten." -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "OpenVPN Server läuft" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" +msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "OpenVPN Server läuft nicht" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, fuzzy, python-format +#| msgid "" +#| "To connect to %(box_name)s's VPN, you need to download a profile and feed " +#| "it to an OpenVPN client on your mobile or desktop machine. OpenVPN " +#| "Clients are available for most platforms. See the manual page " +#| "on recommended clients and instructions on how to configure them." +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" +"Um sich mit dem VPN von %(box_name)s zu verbinden, müssen Sie ein Profil " +"herunterladen und es an einen OpenVPN-Client auf Ihrem mobilen oder Desktop-" +"Computer übertragen. OpenVPN-Clients sind für die meisten Plattformen " +"verfügbar. Siehe Handbuchseite über empfohlene Clients " +"und Konfigurationsanweisungen." -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" +"Das Profil ist für jeden Benutzer von %(box_name)s spezifisch. Halten Sie es " +"geheim." + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "Mein Profil herunterladen" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Einrichtung beendet." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Einrichtung fehlgeschlagen." @@ -3877,19 +3891,19 @@ msgstr "" "die Dienste Ihrer {box_name} vom Internet nicht erreichbar sind. Dies " "umfasst folgende Situationen:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} ist hinter einer eingeschränkten Firewall." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" "{box_name} ist mit einem (wireless)-Router verbunden, den Sie nicht " "kontrollieren." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3897,7 +3911,7 @@ msgstr "" "Ihr ISP bietet Ihnen keine externe IP-Adresse, sondern statt dessen eine " "Internetverbindung über NAT." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." @@ -3905,17 +3919,23 @@ msgstr "" "Ihr ISP bietet keine statische IP-Adresse und Ihre IP-Adresse ändert sich " "immer, wenn Sie sich mit dem Internet verbinden." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "Ihr ISP schränkt eingehende Verbindungen ein." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite umgeht Einschränkungen von NAT, Firewall und IP-Adressen durch " "Verwendung einer Kombination aus Tunneln und Reverse-Proxys. Sie können " @@ -3923,19 +3943,15 @@ msgstr "" "\"https://pagekite.net\">pagekite.net. In Zukunft könnte es möglich " "sein, hierfür die {box_name} eines Freundes zu nutzen." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "PageKite Domäne" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "PageKite einschalten" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "Serverdomain" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3943,31 +3959,31 @@ msgstr "" "Wählen Sie Ihren PageKite-Server aus. „pagekite.net“ festlegen, um den " "Standardserver zu verwenden." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "Serverport" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "Port Ihres PageKite-Servers (standard: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "Kite-Name" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "Beispiel: meinebox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "Ungültiger kite-Name" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "Kite secret" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -3975,53 +3991,43 @@ msgstr "" "Ein secret assoziiert mit dem kite oder das Standard-secret für Ihr Konto, " "wenn kein secret dem kite zugeordnet ist." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "Kite-Details eingerichtet" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "Pagekite-Server eingerichtet" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite aktiviert" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite ausgeschaltet" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "Dienst eingeschaltet: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "Dienst ausgeschaltet: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "Protokoll" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "externer (frontend) Port" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "interner (FreedomBox) Port" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "Sub-Domainen einschalten" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "Spezieller Dienst gelöscht" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -4029,23 +4035,45 @@ msgstr "" "Dieser Dienst steht als Standarddienst zur Verfügung. Bitte verwenden Sie " "die Seite „Standarddienste“, um ihn zu aktivieren." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "Spezieller Dienst hinzugefügt" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "Dieser Dienst existiert bereits" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "PageKite-Konto" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Spezielle Dienste" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Einstellungen speichern" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Spezielle Dienste" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "Vorhandene spezielle Dienste" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "verbunden mit %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Diesen Dienst löschen" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "Spezieller Dienst hinzugefügt" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -4056,31 +4084,6 @@ msgstr "" "Beispielsweise HTTPS auf anderen Ports als 443, ist bekannt dafür, Probleme " "zu verursachen." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "Speziellen Dienst anlegen" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Dienst hinzufügen" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "Vorhandene spezielle Dienste" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "Kein spezieller Dienst aktiviert" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "verbunden mit %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Diesen Dienst löschen" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Einrichten einer freedombox.me-Subdomain mit Ihrem Gutschein" @@ -4159,16 +4162,8 @@ msgstr "" "Siehe SSH-Client Konfigurationsanweisungen" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Standarddienste" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Spezielle Dienste" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Power" @@ -4481,9 +4476,9 @@ msgid "" "and re-enable it." msgstr "" "Hinweis: Vor der Verwendung von repro, müssen Domains und " -"Benutzer über das web-basierte Konfigurationspanel konfiguriert werden. Die Benutzer der " -"Gruppe admin können sich dort anmelden. Nach dem Festlegen der " +"Benutzer über das web-basierte Konfigurationspanel konfiguriert werden. Die Benutzer " +"der Gruppe admin können sich dort anmelden. Nach dem Festlegen der " "Domain, ist es erforderlich, den repro Dienst neu zu starten. Deaktivieren " "Sie den Dienst und aktivieren ihn wieder." @@ -4573,8 +4568,8 @@ msgid "" "(recommended), fill the server field like imaps://imap.example.com." msgstr "" -"Sie können auf Roundcube von /roundcube zugreifen. Geben Sie Benutzernamen und Passwort des E-Mail-" +"Sie können auf Roundcube von /roundcube zugreifen. Geben Sie Benutzernamen und Passwort des E-Mail-" "Kontos ein, gefolgt von dem Domainnamen des IMAP-Servers Ihres Anbieters wie " "z. B. imap.example.com. Für IMAP über SSL (empfohlen) geben Sie " "im Feld Server etwas ein wie imaps://imap.example.com." @@ -4596,6 +4591,103 @@ msgstr "" "lesssecureapps\" >https://www.google.com/settings/security/lesssecureapps)." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +#, fuzzy +#| msgid "Select Disk or Partition" +msgid "Select disks for sharing" +msgstr "Festplatte oder Partition auswählen" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "Bezeichnung" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Einhängepunkt" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "Genutzt" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Share added." +msgid "Share name" +msgstr "Freigabe hinzugefügt." + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Aktionen" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "Share deleted." +msgid "Share enabled." +msgstr "Freigabe gelöscht." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error enabling share: {error_message}" +msgstr "Fehler beim Auswerfen des Geräts: {error_message}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Share edited." +msgid "Share disabled." +msgstr "Freigabe geändert." + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error disabling share: {error_message}" +msgstr "Fehler beim Auswerfen des Geräts: {error_message}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "Searx" @@ -4656,7 +4748,7 @@ msgstr "" "Erlauben, diese Anwendung von jedem nutzen zu lassen, der sie erreichen kann." #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "Konfiguration aktualisiert." @@ -5133,7 +5225,7 @@ msgstr "Speicherauszug erstellt." msgid "Storage snapshots configuration updated" msgstr "Konfiguration der Speicherauszüge aktualisiert" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "Aktionsfehler: {0} [{1}] [{2}]" @@ -5333,18 +5425,6 @@ msgstr "Das Gerät ist von einem anderen Benutzer eingebunden." msgid "The following storage devices are in use:" msgstr "Die folgenden Speichermedien werden verwendet:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "Bezeichnung" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Einhängepunkt" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "Genutzt" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "Partitions-Erweiterung" @@ -5449,18 +5529,7 @@ msgstr "" "mit unterschiedlichen Ordnern synchronisiert werden. Die Weboberfläche auf " "{box_name} ist nur für Benutzer der „admin“-Gruppe zugänglich." -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" -"Falls aktiviert, ist die Weboberfläche von Syncthing auf /syncthing erreichbar. Client-" -"Apps für Desktop und Mobiltelefon sind ebenfalls erhältlich." - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "Syncthing-Anwendung einstellen" @@ -5702,31 +5771,23 @@ msgstr "Tor Browser" msgid "Orbot: Proxy with Tor" msgstr "Orbot: Proxy mit Tor" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "Tor-Konfiguration wird aktualisiert" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "Tor läuft" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "Tor läuft nicht" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "Onion-Dienste" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "Ports" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "Relay" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5736,11 +5797,11 @@ msgstr "" "Sie sicherstellen, dass die folgenden Ports geöffnet und weitergeleitet " "werden, falls erforderlich:" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "Tor SOCKS-Port ist auf Ihrer %(box_name)s auf TCP port 9050 verfügbar." @@ -5759,14 +5820,6 @@ msgstr "" "Transmission-Daemon verarbeitet BitTorrent-Dateien. Es gilt zu beachten: " "BitTorrent ist nicht anonym!" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" -"Die Weboberfläche kann über /transmission erreicht werden." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "Download-Ordner" @@ -5799,27 +5852,30 @@ msgstr "" "genutzt werden kann, sich aber sehr wie eine normale Anwendung anfühlt." #: plinth/modules/ttrss/__init__.py:52 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be " +#| "accessed by any user with a {box_name} login." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Falls aktiviert, steht Tiny Tiny RSS auf dem Webserver unter /tt-rss zur Verfügung. Zugriff hat jeder " "mit einem {box_name}-Benutzerkonto." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" "Um Tiny Tiny RSS mit einer Anwendung auf ihrem Handy oder Computer zu " -"nutzen, tragen Sie die URL /tt-rss-app ein." +"nutzen, tragen Sie die URL /tt-rss-app ein." -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "Lesen und Abonnieren von Neuigkeiten-Feeds" @@ -6029,8 +6085,8 @@ msgid "Save Password" msgstr "Passwort speichern" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "Benutzer anlegen" @@ -6068,7 +6124,7 @@ msgstr "" msgid "Create Account" msgstr "Konto erstellen" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "Benutzer" @@ -6207,16 +6263,12 @@ msgstr "" "wir ihn beheben können. Fügen Sie auch das Statusprotokoll dem Fehlerbericht bei." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Webclient starten" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "Dienst %(service_name)s läuft." -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "Dienst %(service_name)s läuft nicht." @@ -6267,59 +6319,55 @@ msgstr "Sprache wählen" msgid "Log in" msgstr "Anmelden" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "Client-Anwendungen" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "Web" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "Desktop" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "GNU/Linux" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "Windows" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "macOS" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "Smartphone" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "Play Store" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "F-Droid" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "App-Store" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "Paket" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "Debian:" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "Homebrew:" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "RPM:" @@ -6474,6 +6522,14 @@ msgstr "%(package_names)s wird installiert: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s %% abgeschlossen" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Webclient starten" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "Client-Anwendungen" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Anwendung aktiviert" @@ -6486,6 +6542,62 @@ msgstr "Anwendung deaktiviert" msgid "Gujarati" msgstr "Gujarati" +#~ msgid "OpenVPN server is running" +#~ msgstr "OpenVPN Server läuft" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "OpenVPN Server läuft nicht" + +#~ msgid "Enable PageKite" +#~ msgstr "PageKite einschalten" + +#~ msgid "Service enabled: {name}" +#~ msgstr "Dienst eingeschaltet: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "Dienst ausgeschaltet: {name}" + +#~ msgid "PageKite Account" +#~ msgstr "PageKite-Konto" + +#~ msgid "Save settings" +#~ msgstr "Einstellungen speichern" + +#~ msgid "Create a custom service" +#~ msgstr "Speziellen Dienst anlegen" + +#~ msgid "Add Service" +#~ msgstr "Dienst hinzufügen" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "Kein spezieller Dienst aktiviert" + +#~ msgid "Standard Services" +#~ msgstr "Standarddienste" + +#~ msgid "" +#~ "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " +#~ "clients are also available." +#~ msgstr "" +#~ "Falls aktiviert, ist die Weboberfläche von Syncthing auf /syncthing erreichbar. Client-" +#~ "Apps für Desktop und Mobiltelefon sind ebenfalls erhältlich." + +#~ msgid "Tor is running" +#~ msgstr "Tor läuft" + +#~ msgid "Tor is not running" +#~ msgstr "Tor läuft nicht" + +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "Die Weboberfläche kann über /transmission erreicht werden." + #~ msgid "Secret" #~ msgstr "Passwort" diff --git a/plinth/locale/django.pot b/plinth/locale/django.pot index d57e64f17..df0b651b5 100644 --- a/plinth/locale/django.pot +++ b/plinth/locale/django.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -21,32 +21,32 @@ msgstr "" msgid "Page source" msgstr "" -#: plinth/action_utils.py:298 +#: plinth/action_utils.py:299 #, python-brace-format msgid "Listening on {kind} port {listen_address}:{port}" msgstr "" -#: plinth/action_utils.py:301 +#: plinth/action_utils.py:302 #, python-brace-format msgid "Listening on {kind} port {port}" msgstr "" -#: plinth/action_utils.py:397 +#: plinth/action_utils.py:407 #, python-brace-format msgid "Access URL {url} on tcp{kind}" msgstr "" -#: plinth/action_utils.py:401 +#: plinth/action_utils.py:411 #, python-brace-format msgid "Access URL {url}" msgstr "" -#: plinth/action_utils.py:432 +#: plinth/action_utils.py:442 #, python-brace-format msgid "Connect to {host}:{port}" msgstr "" -#: plinth/action_utils.py:434 +#: plinth/action_utils.py:444 #, python-brace-format msgid "Cannot connect to {host}:{port}" msgstr "" @@ -362,6 +362,7 @@ msgstr "" #: plinth/modules/backups/templates/backups_form.html:35 #: plinth/modules/gitweb/templates/gitweb_create_edit.html:35 +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:47 #: plinth/modules/sharing/templates/sharing_add_edit.html:35 msgid "Submit" msgstr "" @@ -474,71 +475,71 @@ msgstr "" msgid "Restored files from backup." msgstr "" -#: plinth/modules/backups/views.py:187 +#: plinth/modules/backups/views.py:186 msgid "No backup file found." msgstr "" -#: plinth/modules/backups/views.py:195 +#: plinth/modules/backups/views.py:194 msgid "Restore from uploaded file" msgstr "" -#: plinth/modules/backups/views.py:255 +#: plinth/modules/backups/views.py:251 msgid "No additional disks available to add a repository." msgstr "" -#: plinth/modules/backups/views.py:263 +#: plinth/modules/backups/views.py:259 msgid "Create backup repository" msgstr "" -#: plinth/modules/backups/views.py:290 +#: plinth/modules/backups/views.py:286 msgid "Create remote backup repository" msgstr "" -#: plinth/modules/backups/views.py:309 +#: plinth/modules/backups/views.py:305 msgid "Added new remote SSH repository." msgstr "" -#: plinth/modules/backups/views.py:331 +#: plinth/modules/backups/views.py:327 msgid "Verify SSH hostkey" msgstr "" -#: plinth/modules/backups/views.py:357 +#: plinth/modules/backups/views.py:353 msgid "SSH host already verified." msgstr "" -#: plinth/modules/backups/views.py:367 +#: plinth/modules/backups/views.py:363 msgid "SSH host verified." msgstr "" -#: plinth/modules/backups/views.py:381 +#: plinth/modules/backups/views.py:377 msgid "SSH host public key could not be verified." msgstr "" -#: plinth/modules/backups/views.py:383 +#: plinth/modules/backups/views.py:379 msgid "Authentication to remote server failed." msgstr "" -#: plinth/modules/backups/views.py:385 +#: plinth/modules/backups/views.py:381 msgid "Error establishing connection to server: {}" msgstr "" -#: plinth/modules/backups/views.py:396 +#: plinth/modules/backups/views.py:392 msgid "Repository removed." msgstr "" -#: plinth/modules/backups/views.py:410 +#: plinth/modules/backups/views.py:406 msgid "Remove Repository" msgstr "" -#: plinth/modules/backups/views.py:419 +#: plinth/modules/backups/views.py:415 msgid "Repository removed. Backups were not deleted." msgstr "" -#: plinth/modules/backups/views.py:429 +#: plinth/modules/backups/views.py:425 msgid "Unmounting failed!" msgstr "" -#: plinth/modules/backups/views.py:444 plinth/modules/backups/views.py:448 +#: plinth/modules/backups/views.py:440 plinth/modules/backups/views.py:444 msgid "Mounting failed" msgstr "" @@ -582,7 +583,7 @@ msgid "Enable Domain Name System Security Extensions" msgstr "" #: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172 -#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79 +#: plinth/modules/openvpn/views.py:152 plinth/modules/shadowsocks/views.py:79 #: plinth/modules/transmission/views.py:74 msgid "Configuration updated" msgstr "" @@ -607,10 +608,8 @@ msgstr "" #: plinth/modules/cockpit/__init__.py:57 #, python-brace-format msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -620,7 +619,7 @@ msgstr "" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "" @@ -737,7 +736,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -846,14 +845,12 @@ msgstr "" #: plinth/modules/deluge/__init__.py:45 msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -871,7 +868,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -960,18 +957,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1183,9 +1179,10 @@ msgstr "" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "" @@ -1283,10 +1280,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1478,13 +1474,13 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 +msgid "Manage Repositories" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 -msgid "Manage Repositories" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" msgstr "" #: plinth/modules/gitweb/templates/gitweb_configure.html:59 @@ -1537,7 +1533,7 @@ msgid "Edit repository" msgstr "" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1696,7 +1692,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -1843,7 +1838,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -1895,12 +1890,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -1909,12 +1902,13 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -1927,14 +1921,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2133,43 +2127,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2401,13 +2395,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2507,7 +2501,7 @@ msgstr "" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2602,19 +2596,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -2960,14 +2954,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3044,6 +3038,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3217,7 +3212,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "" @@ -3238,7 +3233,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3257,7 +3252,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3267,30 +3262,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3298,15 +3274,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3314,19 +3290,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3347,189 +3337,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3597,16 +3566,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -3930,6 +3891,91 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +msgid "Action" +msgstr "" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, python-brace-format +msgid "Error enabling share: {error_message}" +msgstr "" + +#: plinth/modules/samba/views.py:95 +msgid "Share disabled." +msgstr "" + +#: plinth/modules/samba/views.py:100 +#, python-brace-format +msgid "Error disabling share: {error_message}" +msgstr "" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -3983,7 +4029,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4398,7 +4444,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4578,18 +4624,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4674,14 +4708,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -4880,42 +4907,34 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -4931,12 +4950,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -4966,19 +4979,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5163,8 +5175,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5199,7 +5211,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5324,16 +5336,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5384,59 +5392,55 @@ msgstr "" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5570,6 +5574,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" diff --git a/plinth/locale/el/LC_MESSAGES/django.po b/plinth/locale/el/LC_MESSAGES/django.po index 2773eec72..2bf6da093 100644 --- a/plinth/locale/el/LC_MESSAGES/django.po +++ b/plinth/locale/el/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" @@ -20,32 +20,32 @@ msgstr "" msgid "Page source" msgstr "" -#: plinth/action_utils.py:298 +#: plinth/action_utils.py:299 #, python-brace-format msgid "Listening on {kind} port {listen_address}:{port}" msgstr "" -#: plinth/action_utils.py:301 +#: plinth/action_utils.py:302 #, python-brace-format msgid "Listening on {kind} port {port}" msgstr "" -#: plinth/action_utils.py:397 +#: plinth/action_utils.py:407 #, python-brace-format msgid "Access URL {url} on tcp{kind}" msgstr "" -#: plinth/action_utils.py:401 +#: plinth/action_utils.py:411 #, python-brace-format msgid "Access URL {url}" msgstr "" -#: plinth/action_utils.py:432 +#: plinth/action_utils.py:442 #, python-brace-format msgid "Connect to {host}:{port}" msgstr "" -#: plinth/action_utils.py:434 +#: plinth/action_utils.py:444 #, python-brace-format msgid "Cannot connect to {host}:{port}" msgstr "" @@ -361,6 +361,7 @@ msgstr "" #: plinth/modules/backups/templates/backups_form.html:35 #: plinth/modules/gitweb/templates/gitweb_create_edit.html:35 +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:47 #: plinth/modules/sharing/templates/sharing_add_edit.html:35 msgid "Submit" msgstr "" @@ -473,71 +474,71 @@ msgstr "" msgid "Restored files from backup." msgstr "" -#: plinth/modules/backups/views.py:187 +#: plinth/modules/backups/views.py:186 msgid "No backup file found." msgstr "" -#: plinth/modules/backups/views.py:195 +#: plinth/modules/backups/views.py:194 msgid "Restore from uploaded file" msgstr "" -#: plinth/modules/backups/views.py:255 +#: plinth/modules/backups/views.py:251 msgid "No additional disks available to add a repository." msgstr "" -#: plinth/modules/backups/views.py:263 +#: plinth/modules/backups/views.py:259 msgid "Create backup repository" msgstr "" -#: plinth/modules/backups/views.py:290 +#: plinth/modules/backups/views.py:286 msgid "Create remote backup repository" msgstr "" -#: plinth/modules/backups/views.py:309 +#: plinth/modules/backups/views.py:305 msgid "Added new remote SSH repository." msgstr "" -#: plinth/modules/backups/views.py:331 +#: plinth/modules/backups/views.py:327 msgid "Verify SSH hostkey" msgstr "" -#: plinth/modules/backups/views.py:357 +#: plinth/modules/backups/views.py:353 msgid "SSH host already verified." msgstr "" -#: plinth/modules/backups/views.py:367 +#: plinth/modules/backups/views.py:363 msgid "SSH host verified." msgstr "" -#: plinth/modules/backups/views.py:381 +#: plinth/modules/backups/views.py:377 msgid "SSH host public key could not be verified." msgstr "" -#: plinth/modules/backups/views.py:383 +#: plinth/modules/backups/views.py:379 msgid "Authentication to remote server failed." msgstr "" -#: plinth/modules/backups/views.py:385 +#: plinth/modules/backups/views.py:381 msgid "Error establishing connection to server: {}" msgstr "" -#: plinth/modules/backups/views.py:396 +#: plinth/modules/backups/views.py:392 msgid "Repository removed." msgstr "" -#: plinth/modules/backups/views.py:410 +#: plinth/modules/backups/views.py:406 msgid "Remove Repository" msgstr "" -#: plinth/modules/backups/views.py:419 +#: plinth/modules/backups/views.py:415 msgid "Repository removed. Backups were not deleted." msgstr "" -#: plinth/modules/backups/views.py:429 +#: plinth/modules/backups/views.py:425 msgid "Unmounting failed!" msgstr "" -#: plinth/modules/backups/views.py:444 plinth/modules/backups/views.py:448 +#: plinth/modules/backups/views.py:440 plinth/modules/backups/views.py:444 msgid "Mounting failed" msgstr "" @@ -581,7 +582,7 @@ msgid "Enable Domain Name System Security Extensions" msgstr "" #: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172 -#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79 +#: plinth/modules/openvpn/views.py:152 plinth/modules/shadowsocks/views.py:79 #: plinth/modules/transmission/views.py:74 msgid "Configuration updated" msgstr "" @@ -606,10 +607,8 @@ msgstr "" #: plinth/modules/cockpit/__init__.py:57 #, python-brace-format msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -619,7 +618,7 @@ msgstr "" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "" @@ -736,7 +735,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -845,14 +844,12 @@ msgstr "" #: plinth/modules/deluge/__init__.py:45 msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -870,7 +867,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -959,18 +956,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1182,9 +1178,10 @@ msgstr "" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "" @@ -1282,10 +1279,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1477,13 +1473,13 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 +msgid "Manage Repositories" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 -msgid "Manage Repositories" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" msgstr "" #: plinth/modules/gitweb/templates/gitweb_configure.html:59 @@ -1536,7 +1532,7 @@ msgid "Edit repository" msgstr "" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1695,7 +1691,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -1842,7 +1837,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -1894,12 +1889,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -1908,12 +1901,13 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -1926,14 +1920,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2132,43 +2126,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2400,13 +2394,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2506,7 +2500,7 @@ msgstr "" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2601,19 +2595,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -2959,14 +2953,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3043,6 +3037,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3216,7 +3211,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "" @@ -3237,7 +3232,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3256,7 +3251,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3266,30 +3261,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3297,15 +3273,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3313,19 +3289,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3346,189 +3336,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3596,16 +3565,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -3929,6 +3890,91 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +msgid "Action" +msgstr "" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, python-brace-format +msgid "Error enabling share: {error_message}" +msgstr "" + +#: plinth/modules/samba/views.py:95 +msgid "Share disabled." +msgstr "" + +#: plinth/modules/samba/views.py:100 +#, python-brace-format +msgid "Error disabling share: {error_message}" +msgstr "" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -3982,7 +4028,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4397,7 +4443,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4577,18 +4623,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4673,14 +4707,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -4879,42 +4906,34 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -4930,12 +4949,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -4965,19 +4978,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5162,8 +5174,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5198,7 +5210,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5323,16 +5335,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5383,59 +5391,55 @@ msgstr "" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5569,6 +5573,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" diff --git a/plinth/locale/es/LC_MESSAGES/django.po b/plinth/locale/es/LC_MESSAGES/django.po index 9e1078efe..16cb953f1 100644 --- a/plinth/locale/es/LC_MESSAGES/django.po +++ b/plinth/locale/es/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-10-26 17:53+0000\n" "Last-Translator: Fioddor Superconcentrado \n" "Language-Team: Spanish path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "Una vez activado Cockpit estará disponible en la ruta /_cockpit/ en su servidor web. Puede acceder /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "Cuando se activa, el cliente web Deluge está disponible en la dirección /deluge de su servidor web. La clave de acceso por " "defecto es 'deluge' pero es muy recomendable que nada más activar el " "servicio acceda al mismo y la cambie." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "Descargar archivos usando aplicaciones BitTorrent" @@ -994,7 +991,7 @@ msgstr "" "El test de diagnóstico del sistema ejecuta una serie de comprobaciones para " "confirmar que las aplicaciones y servicios están funcionando como se espera." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Test de diagnóstico" @@ -1093,18 +1090,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Actualizar configuración" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Configuración sin cambio" @@ -1361,9 +1357,10 @@ msgstr "Acerca de" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Estado" @@ -1481,10 +1478,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Configuración" @@ -1710,15 +1706,15 @@ msgstr "Una cadena alfanumérica que identifica unívocamente un repositorio." msgid "Git" msgstr "Git" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" -msgstr "Crear repositorio" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 msgid "Manage Repositories" msgstr "Administrar Repositorios" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" +msgstr "Crear repositorio" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 msgid "No repositories available." msgstr "No hay repositorios disponibles." @@ -1771,7 +1767,7 @@ msgid "Edit repository" msgstr "Editar repositorio" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "Ha habido un error en la configuración." @@ -1965,7 +1961,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "Aprenda más..." @@ -2156,7 +2151,7 @@ msgid "I2P Proxy" msgstr "Proxy I2P" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "Ejecutar" @@ -2224,16 +2219,14 @@ msgstr "Wiki y Blog" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwiki es una sencilla aplicación de wiki y blog. Soporta algunos lenguajes " "de marcado, Markdown incluido, y funcionalidades comunes de los blogs tal " "como comentarios o fuentes RSS. Cuando está activo los blogs y wikis están " "accesibles en /ikiwiki (una vez hayan sido creados)." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2247,12 +2240,13 @@ msgstr "" "\"{users_url}\">configuración de usuarios puede modificar estos permisos " "o añadir nuevos usuarios." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "Aplicaciones wiki para ver y editar" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Tipo" @@ -2265,16 +2259,16 @@ msgstr "Nombre de la cuenta de administración" msgid "Admin Account Password" msgstr "Clave de acceso de la cuenta de administración" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Gestionar Wikis y Blogs" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Crear Wiki o Blog" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Gestionar Wikis y Blogs" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "No hay wikis o blogs disponibles." @@ -2491,7 +2485,7 @@ msgstr "Revocar" msgid "Obtain" msgstr "Obtener" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " @@ -2500,7 +2494,7 @@ msgstr "" "No se ha configurado ningún dominio. Configure " "alguno para poder asignarle un certificado." -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " @@ -2509,29 +2503,29 @@ msgstr "" "El certificado para el dominio {domain} ha sido revocado con éxito. " "Necesitará unos momentos para tener efecto." -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "Falló la revocación del certificado para el dominio {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "Se ha obtenido con éxito el certificado para el dominio {domain}" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "Falló la obtención del certificado para el dominio {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "El certificado para el dominio {domain} ha sido eliminado con éxito" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "Falló la eliminación del certificado para el dominio {domain}: {error}" @@ -2831,13 +2825,13 @@ msgstr "" "Cuando se desactiva, los participantes no pueden morir o recibir daño de " "ningún tipo." -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Dirección" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Puerto" @@ -2961,7 +2955,7 @@ msgstr "Cancelar" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Servicio" @@ -3058,19 +3052,19 @@ msgstr "Firmar la clave" msgid "Send the key back to the keyservers" msgstr "Volver a subir la clave al servidor de claves" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "Clave importada." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Publicación de clave cancelada." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Publicada la clave en el servidor de claves." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "Se ha producido un error al publicar la clave." @@ -3463,14 +3457,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "Ha fallado la desactivación de la conexión: no se encontró." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "Redes Wi-Fi cercanas" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Añadir conexión" @@ -3547,6 +3541,7 @@ msgid "yes" msgstr "sí" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Dispositivo" @@ -3730,7 +3725,7 @@ msgstr "Mostrar la conexión %(name)s" msgid "Computer" msgstr "Ordenador" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "Conexiones" @@ -3751,7 +3746,7 @@ msgstr "Inactiva" msgid "Create..." msgstr "Crear…" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "OpenVPN" @@ -3776,7 +3771,7 @@ msgstr "" "forma privada. También puede acceder a Internet a través de su {box_name} " "para añadir protección y anonimato." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3787,37 +3782,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "Activar servidor OpenVPN" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" -msgstr "Perfil" - -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -"Para conectar a la VPN de %(box_name)s necesita descargar un perfil y " -"añadirlo a un cliente OpenVPN en su ordenador de escritorio o móvil. Hay " -"clientes OpenVPN para la mayoría de las plataformas. Consulte la documentación sobre los clientes recomendados y cómo configurarlos." -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" -"El perfil es específico de cada usuaria/o de %(box_name)s. Manténgalo en " -"secreto." - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "Descargar mi perfil" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3829,15 +3798,15 @@ msgstr "" "llevar incluso horas terminarla. Si la configuración se interrumpe debería " "empezarla de nuevo." -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "Iniciar configuración" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "Se está ejecutando la configuración de OpenVPN" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3848,19 +3817,46 @@ msgstr "" "cómo de rápida sea su %(box_name)s puede necesitar incluso horas. Si la " "configuración se interrumpe debería empezarla de nuevo." -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "El servidor OpenVPN se está ejecutando" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" +msgstr "Perfil" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "El servidor OpenVPN no se está ejecutando" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, fuzzy, python-format +#| msgid "" +#| "To connect to %(box_name)s's VPN, you need to download a profile and feed " +#| "it to an OpenVPN client on your mobile or desktop machine. OpenVPN " +#| "Clients are available for most platforms. See the manual page " +#| "on recommended clients and instructions on how to configure them." +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" +"Para conectar a la VPN de %(box_name)s necesita descargar un perfil y " +"añadirlo a un cliente OpenVPN en su ordenador de escritorio o móvil. Hay " +"clientes OpenVPN para la mayoría de las plataformas. Consulte la documentación sobre los clientes recomendados y cómo configurarlos." -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" +"El perfil es específico de cada usuaria/o de %(box_name)s. Manténgalo en " +"secreto." + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "Descargar mi perfil" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Configuración completada." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Ha fallado la configuración." @@ -3885,18 +3881,18 @@ msgstr "" "servicios de su {box_name} no son accesibles desde Internet. Esto incluye " "las siguientes situaciones:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} está detrás de un firewall restringido." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" "{box_name} está conectado a un router (inalámbrico) que usted no controla." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3904,7 +3900,7 @@ msgstr "" "Su proveedor de servicio no le da una dirección IP externa y, por el " "contrario, le facilita conexión a Internet a través de un NAT." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." @@ -3912,36 +3908,38 @@ msgstr "" "Su proveedor de servicios no le da una dirección IP estática por lo que su " "IP cambia cada vez que se conecta a Internet." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "Su proveedor de servicios limita las conexiones entrantes." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite evita NAT, firewalls y limitaciones de direcciones IP mediante una " "combinación de túneles y proxys inversos. Puede elegir cualquier proveedor " "de servicios pagekite, por ejemplo pagekite." "net. En el futuro será posible usar su amigable {box_name} para esto." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "Dominio PageKite" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "Activar PageKite" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "Dominio del servidor" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3949,31 +3947,31 @@ msgstr "" "Seleccione su servidor pagekite. Elija \"pagekite.net\" para usar el " "servidor pagekite por defecto." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "Puerto del servidor" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "Puerto de su servidor pagekite (por defecto es 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "Nombre Kite" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "Ejemplo: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "Nombre de kite inválido" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "Clave para Kite" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -3981,53 +3979,43 @@ msgstr "" "Una clave asociada al Kite o la clave por defecto para su cuenta si no se " "especifica ninguna." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "Ajustar detalles de Kite" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "Ajustar el servidor PageKite" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite activado" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite desactivado" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "Servicio activado: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "Servicio desactivado: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "protocolo" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "puerto externo (frontend)" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "puerto interno (freedombox)" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "Activar subdominios" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "Servicio personalizado eliminado" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -4035,23 +4023,45 @@ msgstr "" "Este servicio está disponible como servicio estándar. Por favor use los " "\"Servicios estándar\" para activarlo." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "Servicio personalizado añadido" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "Este servicio ya existe" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "Cuenta PageKite" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Servicios personalizados" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Guardar ajustes" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Servicios personalizados" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "Servicios personalizados existentes" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "conectado a %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Eliminar este servicio" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "Servicio personalizado añadido" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -4062,31 +4072,6 @@ msgstr "" "Por ejemplo, se sabe que HTTPS en un puerto distinto de 443 causará " "problemas." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "Crear servicio personalizado" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Añadir servicio" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "Servicios personalizados existentes" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "No tiene ningún servicio personalizado activado" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "conectado a %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Eliminar este servicio" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Configure un subdominio freedombox.me con su cupón" @@ -4161,16 +4146,8 @@ msgstr "" "Vea las instrucciones para la configuración del cliente SSH" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Servicios estándar" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Servicios personalizados" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Apagar / Reiniciar" @@ -4606,6 +4583,103 @@ msgstr "" "google.com/settings/security/lesssecureapps\">https://www.google.com/" "settings/security/lesssecureapps)." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +#, fuzzy +#| msgid "Select Disk or Partition" +msgid "Select disks for sharing" +msgstr "Seleccionar Disco o Partición" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "Etiqueta" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Punto de montaje" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "Usado" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Share added." +msgid "Share name" +msgstr "Compartición añadida." + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Acciones" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "Share deleted." +msgid "Share enabled." +msgstr "Compartición eliminada." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error enabling share: {error_message}" +msgstr "Error al expulsar el dispositivo: {error_message}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Share edited." +msgid "Share disabled." +msgstr "Compartición editada." + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error disabling share: {error_message}" +msgstr "Error al expulsar el dispositivo: {error_message}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "Searx" @@ -4666,7 +4740,7 @@ msgstr "" "Permitir que esta aplicación la use cualquiera que pueda acceder a ella." #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "Configuración actualizada." @@ -5144,7 +5218,7 @@ msgstr "Instantánea creada." msgid "Storage snapshots configuration updated" msgstr "Configuración de almacenamiento de instantáneas actualizada" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "Acción de error: {0} [{1}] [{2}]" @@ -5338,18 +5412,6 @@ msgstr "El dispositivo está ya montado por otro usuario." msgid "The following storage devices are in use:" msgstr "Se están usando los siguientes dispositivos de almacenamiento:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "Etiqueta" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Punto de montaje" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "Usado" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "Expandir la partición" @@ -5452,22 +5514,7 @@ msgstr "" "sincronizarse con un conjunto distinto de carpetas. La interfaz web en " "{box_name} solo está disponible para quienes pertenezcan al grupo \"admin\"." -#: plinth/modules/syncthing/__init__.py:57 -#, fuzzy -#| msgid "" -#| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" -"Cuando se activa, la interfaz web de Syncthing está accesible en /syncthing. También hay disponibles clientes de móvil y escritorio." - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "Administrar Syncthing" @@ -5714,33 +5761,25 @@ msgstr "Navegador Tor" msgid "Orbot: Proxy with Tor" msgstr "Orbot: Proxy con Tor" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "La configuración de Tor está actualizándose" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "Tor se está ejecutando" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "Tor no se está ejecutando" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Hidden Service" msgid "Onion Service" msgstr "Servicio de ocultación" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "Puertos" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "Retransmisión" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5750,11 +5789,11 @@ msgstr "" "de que los siguientes puertos están abiertos, y redireccionados si es " "necesario:" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5775,16 +5814,6 @@ msgstr "" "Transmission controla la compartición de archivos. Recuerde que BitTorrent " "no es anónimo." -#: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." -msgid "" -"Access the web interface at /transmission." -msgstr "" -"Acceder a la interfaz web en /transmission/." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "Directorio de descarga" @@ -5824,16 +5853,15 @@ msgstr "" #| "tt-rss path on the web server. It can be accessed by any user with a {box_name} login." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Cuando está activado, Tiny Tiny RSS estará disponible en la ruta /tt-rss en el servidor web. Cualquier persona con una cuenta de acceso en {box_name} puede " "acceder." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 #, fuzzy #| msgid "" #| "When using a mobile or desktop application for Tiny Tiny RSS, use the URL " @@ -5846,7 +5874,7 @@ msgstr "" "Cuando emplee una aplicación de móvil o de escritorio para Tiny Tiny RSS, " "use la URL /tt-rss-app para conectar." -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "Leer y suscribirse a nuevos agregadores" @@ -6054,8 +6082,8 @@ msgid "Save Password" msgstr "Guardar clave de acceso" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "Crear usuaria/o" @@ -6093,7 +6121,7 @@ msgstr "" msgid "Create Account" msgstr "Crear cuenta" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "Usuarias/os" @@ -6229,16 +6257,12 @@ msgstr "" "para que podamos solucionarlo. Por favor, adjunte al informe de error el resgistro de estado." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Lanzar cliente web" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "El servidor %(service_name)s se está ejecutando." -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "El servidor %(service_name)s no se está ejecutando." @@ -6289,59 +6313,55 @@ msgstr "Seleccionar idioma" msgid "Log in" msgstr "Iniciar sesión" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "Aplicaciones de cliente" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "Web" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "Escritorio" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "GNU/Linux" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "Windows" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "macOS" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "Móvil" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "Play Store" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "F-Droid" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "App Store" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "Paquete" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "Debian:" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "Homebrew:" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "RPM:" @@ -6493,6 +6513,14 @@ msgstr "Instalando %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% completado" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Lanzar cliente web" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "Aplicaciones de cliente" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Aplicación activada" @@ -6505,6 +6533,68 @@ msgstr "Aplicación desactivada" msgid "Gujarati" msgstr "Gujarati" +#~ msgid "OpenVPN server is running" +#~ msgstr "El servidor OpenVPN se está ejecutando" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "El servidor OpenVPN no se está ejecutando" + +#~ msgid "Enable PageKite" +#~ msgstr "Activar PageKite" + +#~ msgid "Service enabled: {name}" +#~ msgstr "Servicio activado: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "Servicio desactivado: {name}" + +#~ msgid "PageKite Account" +#~ msgstr "Cuenta PageKite" + +#~ msgid "Save settings" +#~ msgstr "Guardar ajustes" + +#~ msgid "Create a custom service" +#~ msgstr "Crear servicio personalizado" + +#~ msgid "Add Service" +#~ msgstr "Añadir servicio" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "No tiene ningún servicio personalizado activado" + +#~ msgid "Standard Services" +#~ msgstr "Servicios estándar" + +#, fuzzy +#~| msgid "" +#~| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." +#~ msgid "" +#~ "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " +#~ "clients are also available." +#~ msgstr "" +#~ "Cuando se activa, la interfaz web de Syncthing está accesible en /syncthing. También hay disponibles clientes de móvil y escritorio." + +#~ msgid "Tor is running" +#~ msgstr "Tor se está ejecutando" + +#~ msgid "Tor is not running" +#~ msgstr "Tor no se está ejecutando" + +#, fuzzy +#~| msgid "" +#~| "Access the web interface at /transmission." +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "Acceder a la interfaz web en /transmission/." + #~ msgid "Secret" #~ msgstr "Clave" diff --git a/plinth/locale/fa/LC_MESSAGES/django.po b/plinth/locale/fa/LC_MESSAGES/django.po index 4fd13c236..32ca85b32 100644 --- a/plinth/locale/fa/LC_MESSAGES/django.po +++ b/plinth/locale/fa/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2016-08-12 15:51+0000\n" "Last-Translator: Masoud Abkenar \n" "Language-Team: Persian /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -686,7 +685,7 @@ msgstr "پیکربندی عمومی" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 #, fuzzy msgid "Configure" @@ -818,7 +817,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -953,17 +952,15 @@ msgstr "دِلوگ (Deluge) یک برنامهٔ بیت‌تورنت با راب #| "'deluge', but you should log in and change it immediately after enabling " #| "this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "اگر فعال باشد، برنامهٔ تحت وب Deluge در نشانی /deluge " "در سرور در دسترس خواهد بود. رمز پیش‌فرض 'deluge' است، ولی شما باید پس از " "فعال‌سازی این سرویس بلافاصله وارد شوید و رمز را عوض کنید." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -983,7 +980,7 @@ msgstr "" "برنامهٔ عیب‌یابی با روش‌های مختلفی سیستم شما را می‌آزماید تا مطمئن شود که " "برنامه‌های و سرویس‌ها درست کار می‌کنند." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "آزمون عیب‌یابی" @@ -1072,18 +1069,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "به‌روزرسانی وضعیت" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1341,9 +1337,10 @@ msgstr "درباره" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 #, fuzzy msgid "Status" msgstr "وضعیت" @@ -1448,10 +1445,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1663,19 +1659,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create Connection" -msgid "Create repository" -msgstr "ساختن اتصال" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create Connection" msgid "Manage Repositories" msgstr "ساختن اتصال" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create Connection" +msgid "Create repository" +msgstr "ساختن اتصال" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 #, fuzzy #| msgid "No wikis or blogs available." @@ -1737,7 +1733,7 @@ msgid "Edit repository" msgstr "ساختن اتصال" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1919,7 +1915,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 #, fuzzy msgid "Learn more..." msgstr "بیشتر بدانید »" @@ -2091,7 +2086,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -2151,16 +2146,14 @@ msgstr "مدیریت ویکی‌ها و وبلاگ‌ها" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ایکی‌ویکی (ikiwiki) یک برنامهٔ ویکی و وبلاگ ساده است که از زبان‌های نشانه‌گذاری " "مختلفی مانند Markdown و ویژگی‌های معمول یک وبلاگ مانند نظرگذاری و خوراک RSS " "پشتیبانی می‌کند. اگر این برنامه فعال باشد، وبلاگ‌ها و ویکی‌ها از نشانی /ikiwiki قابل دسترس خواهند بود." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2169,13 +2162,14 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 #, fuzzy msgid "View and edit wiki applications" msgstr "سرویس‌ها و برنامه‌ها" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "نوع" @@ -2188,16 +2182,16 @@ msgstr "نام حساب مدیر" msgid "Admin Account Password" msgstr "رمز حساب مدیر" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "مدیریت ویکی‌ها و وبلاگ‌ها" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "ساختن ویکی یا وبلاگ" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "مدیریت ویکی‌ها و وبلاگ‌ها" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "ویکی یا وبلاگی موجود نیست." @@ -2433,14 +2427,14 @@ msgstr "باطل کردن" msgid "Obtain" msgstr "گرفتن" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, fuzzy, python-brace-format #| msgid "Certificate successfully revoked for domain {domain}" msgid "" @@ -2448,30 +2442,30 @@ msgid "" "moments to take effect." msgstr "گواهی دامنهٔ {domain} با موفقیت باطل شد" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "باطل‌کردن گواهی دامنهٔ {domain} شکست خورد: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "گواهی دیجیتال برای دامنهٔ {domain} با موفقیت گرفته شد" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "گرفتن گواهی برای دامنهٔ {domain} شکست خورد: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, fuzzy, python-brace-format #| msgid "Certificate successfully revoked for domain {domain}" msgid "Certificate successfully deleted for domain {domain}" msgstr "گواهی دامنهٔ {domain} با موفقیت باطل شد" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, fuzzy, python-brace-format #| msgid "Failed to revoke certificate for domain {domain}: {error}" msgid "Failed to delete certificate for domain {domain}: {error}" @@ -2725,13 +2719,13 @@ msgstr "فعال" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "نشانی" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2856,7 +2850,7 @@ msgstr "انصراف" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "سرویس" @@ -2954,19 +2948,19 @@ msgstr "امضای کلید" msgid "Send the key back to the keyservers" msgstr "بازگرداندن کلید به پایگاه کلیدها" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "کلید درون‌ریزی شد." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "انتشار کلید لغو شد." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "کلید در پایگاه کلیدها منتشر شد." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "هنگام انتشار کلید خطایی رخ داد." @@ -3358,14 +3352,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "غیرفعال‌سازی اتصال شکست خورد: اتصالی پیدا نشد." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "شبکه‌های بی‌سیم در نزدیکی" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "افزودن اتصال" @@ -3442,6 +3436,7 @@ msgid "yes" msgstr "بله" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "وسیله" @@ -3625,7 +3620,7 @@ msgstr "اتصال %(name)s را نشان بده" msgid "Computer" msgstr "کامپیوتر" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection" msgid "Connections" @@ -3648,7 +3643,7 @@ msgstr "غیرفعال" msgid "Create..." msgstr "ساختن..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 #, fuzzy #| msgid "Open" msgid "OpenVPN" @@ -3669,7 +3664,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3679,30 +3674,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3710,15 +3686,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3726,19 +3702,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3759,191 +3749,170 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 #, fuzzy #| msgid "Available Domains" msgid "PageKite Domain" msgstr "دامنه‌های موجود" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "با کوپنی که دارید، یک زیردامنهٔ freedombox.me بسازید" @@ -4016,16 +3985,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -4356,6 +4317,102 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "نشانی سوارشدن (mount point)" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +#, fuzzy +msgid "Used" +msgstr "به‌کاربرده" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Shared" +msgid "Share name" +msgstr "مشترک" + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "کنش‌ها" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "{name} deleted." +msgid "Share enabled." +msgstr "{name} پاک شد." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "خطا هنگام نصب برنامه: {error}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Shared" +msgid "Share disabled." +msgstr "مشترک" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "خطا هنگام نصب برنامه: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -4413,7 +4470,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4873,7 +4930,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "پیکربندی به‌روز شد" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -5071,19 +5128,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "دیسک‌های زیر در حال استفاده هستند:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "نشانی سوارشدن (mount point)" - -#: plinth/modules/storage/templates/storage.html:44 -#, fuzzy -msgid "Used" -msgstr "به‌کاربرده" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -5174,14 +5218,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -5384,44 +5421,36 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Service" msgid "Onion Service" msgstr "سرویس" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5437,12 +5466,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -5472,19 +5495,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5674,8 +5696,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5715,7 +5737,7 @@ msgstr "" msgid "Create Account" msgstr "ساختن اتصال" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5840,16 +5862,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5903,62 +5921,56 @@ msgstr "زبان" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -#, fuzzy -#| msgid "BitTorrent Web Client (Deluge)" -msgid "Client Apps" -msgstr "برنامهٔ تحت وب بیت‌تورنت (Deluge)" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 #, fuzzy msgid "Mobile" msgstr "برنامهٔ DNS متغیر (Dynamic DNS Client)" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -6094,6 +6106,16 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +#, fuzzy +#| msgid "BitTorrent Web Client (Deluge)" +msgid "Client Apps" +msgstr "برنامهٔ تحت وب بیت‌تورنت (Deluge)" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" diff --git a/plinth/locale/fake/LC_MESSAGES/django.po b/plinth/locale/fake/LC_MESSAGES/django.po index 98079133c..3a1cd9668 100644 --- a/plinth/locale/fake/LC_MESSAGES/django.po +++ b/plinth/locale/fake/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Plinth 0.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2016-01-31 22:24+0530\n" "Last-Translator: Sunil Mohan Adapa \n" "Language-Team: Plinth Developers /ikiwiki." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "WHEN ENABLED, THE BLOGS AND WIKIS WILL BE AVAILABLE FROM /IKIWIKI." @@ -718,7 +717,7 @@ msgstr "GENERAL CONFIGURATION" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "CONFIGURE" @@ -851,7 +850,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 #, fuzzy #| msgid "Enable Shaarli" msgid "File Sharing" @@ -990,17 +989,15 @@ msgstr "DELUGE IS A BITTORRENT CLIENT THAT FEATURES A WEB UI." #| "'deluge', but you should log in and change it immediately after enabling " #| "this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "WHEN ENABLED, THE DELUGE WEB CLIENT WILL BE AVAILABLE FROM /DELUGE PATH ON THE WEB SERVER. THE DEFAULT PASSWORD IS 'DELUGE', BUT " "YOU SHOULD LOG IN AND CHANGE IT IMMEDIATELY AFTER ENABLING THIS SERVICE." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -1020,7 +1017,7 @@ msgstr "" "THE SYSTEM DIAGNOSTIC TEST WILL RUN A NUMBER OF CHECKS ON YOUR SYSTEM TO " "CONFIRM THAT APPLICATIONS AND SERVICES ARE WORKING AS EXPECTED." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "DIAGNOSTIC TEST" @@ -1109,18 +1106,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "UPDATE SETUP" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "SETTING UNCHANGED" @@ -1436,9 +1432,10 @@ msgstr "ABOUT" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "STATUS" @@ -1556,10 +1553,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "CONFIGURATION" @@ -1781,19 +1777,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create User" -msgid "Create repository" -msgstr "CREATE USER" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create User" msgid "Manage Repositories" msgstr "CREATE USER" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create User" +msgid "Create repository" +msgstr "CREATE USER" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 #, fuzzy #| msgid "Tor relay port available" @@ -1859,7 +1855,7 @@ msgid "Edit repository" msgstr "CREATE USER" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "AN ERROR OCCURRED DURING CONFIGURATION." @@ -2040,7 +2036,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 #, fuzzy #| msgid "Learn more »" msgid "Learn more..." @@ -2224,7 +2219,7 @@ msgid "I2P Proxy" msgstr "PRIVOXY WEB PROXY" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -2278,12 +2273,10 @@ msgstr "WIKI AND BLOG" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2292,7 +2285,7 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 #, fuzzy #| msgid "Services and Applications" msgid "View and edit wiki applications" @@ -2300,6 +2293,7 @@ msgstr "SERVICES AND APPLICATIONS" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "TYPE" @@ -2312,16 +2306,16 @@ msgstr "ADMIN ACCOUNT NAME" msgid "Admin Account Password" msgstr "ADMIN ACCOUNT NAMEADMIN ACCOUNT PASSWORD" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "MANAGE WIKIS AND BLOGS" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "CREATE WIKI OR BLOG" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "MANAGE WIKIS AND BLOGS" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "NO WIKIS OR BLOGS AVAILABLE." @@ -2560,14 +2554,14 @@ msgstr "REVOKE" msgid "Obtain" msgstr "OBTAIN" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, fuzzy, python-brace-format #| msgid "Certificate successfully revoked for domain {domain}" msgid "" @@ -2575,30 +2569,30 @@ msgid "" "moments to take effect." msgstr "CERTIFICATE SUCCESSFULLY REVOKED FOR DOMAIN {domain}" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "FAILED TO REVOKE CERTIFICATE FOR DOMAIN {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "CERTIFICATE SUCCESSFULLY OBTAINED FOR DOMAIN {domain}" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "FAILED TO OBTAIN CERTIFICATE FOR DOMAIN {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, fuzzy, python-brace-format #| msgid "Certificate successfully revoked for domain {domain}" msgid "Certificate successfully deleted for domain {domain}" msgstr "CERTIFICATE SUCCESSFULLY REVOKED FOR DOMAIN {domain}" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, fuzzy, python-brace-format #| msgid "Failed to revoke certificate for domain {domain}: {error}" msgid "Failed to delete certificate for domain {domain}: {error}" @@ -2870,13 +2864,13 @@ msgstr "ENABLE PAGEKITE" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "ADDRESS" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "PORT" @@ -3028,7 +3022,7 @@ msgstr "CANCEL" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "SERVICE" @@ -3147,19 +3141,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "PUBLISHED KEY TO KEYSERVER." -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "CANCELLED KEY PUBLISHING." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "PUBLISHED KEY TO KEYSERVER." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "ERROR OCCURRED WHILE PUBLISHING KEY." @@ -3546,14 +3540,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "FAILED TO DE-ACTIVATE CONNECTION: CONNECTION NOT FOUND." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "NEARBY WI-FI NETWORKS" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "ADD CONNECTION" @@ -3632,6 +3626,7 @@ msgid "yes" msgstr "YES" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "DEVICE" @@ -3815,7 +3810,7 @@ msgstr "SHOW CONNECTION %(name)s" msgid "Computer" msgstr "COMPUTER" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection" msgid "Connections" @@ -3838,7 +3833,7 @@ msgstr "INACTIVE" msgid "Create..." msgstr "CREATE..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 #, fuzzy #| msgid "OpenVPN" msgid "OpenVPN" @@ -3874,7 +3869,7 @@ msgstr "" "YOU CAN ALSO ACCESS THE REST OF THE INTERNET VIA %(box_name)s FOR ADDED " "SECURITY AND ANONYMITY." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3884,11 +3879,45 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "ENABLE OPENVPN SERVER" -#: plinth/modules/openvpn/templates/openvpn.html:40 +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:42 +#, python-format +msgid "" +"OpenVPN has not yet been setup. Performing a secure setup takes a very long " +"time. Depending on how fast your %(box_name)s is, it may even take hours. " +"If the setup is interrupted, you may start it again." +msgstr "" +"OPENVPN HAS NOT YET BEEN SETUP. PERFORMING A SECURE SETUP TAKES A VERY LONG " +"TIME. DEPENDING ON HOW FAST YOUR %(box_name)s IS, IT MAY EVEN TAKE HOURS. " +"IF THE SETUP IS INTERRUPTED, YOU MAY START IT AGAIN." + +#: plinth/modules/openvpn/templates/openvpn.html:55 +msgid "Start setup" +msgstr "START SETUP" + +#: plinth/modules/openvpn/templates/openvpn.html:64 +msgid "OpenVPN setup is running" +msgstr "OPENVPN SETUP IS RUNNING" + +#: plinth/modules/openvpn/templates/openvpn.html:68 +#, python-format +msgid "" +"To perform a secure setup, this process takes a very long time. Depending " +"on how fast your %(box_name)s is, it may even take hours. If the setup is " +"interrupted, you may start it again." +msgstr "" +"TO PERFORM A SECURE SETUP, THIS PROCESS TAKES A VERY LONG TIME. DEPENDING " +"ON HOW FAST YOUR %(box_name)s IS, IT MAY EVEN TAKE HOURS. IF THE SETUP IS " +"INTERRUPTED, YOU MAY START IT AGAIN." + +#: plinth/modules/openvpn/templates/openvpn.html:87 msgid "Profile" msgstr "PROFILE" -#: plinth/modules/openvpn/templates/openvpn.html:43 +#: plinth/modules/openvpn/templates/openvpn.html:90 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -3900,8 +3929,7 @@ msgstr "PROFILE" msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " "to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " +"available for most platforms. Click \"Learn more...\" above for recommended " "clients and instructions on how to configure them." msgstr "" "TO CONNECT TO %(box_name)s's VPN, YOU NEED TO DOWNLOAD A PROFILE AND FEED IT " @@ -3911,58 +3939,20 @@ msgstr "" "\">DOCUMENTATION ON RECOMMENDED CLIENTS AND INSTRUCTIONS ON HOW TO " "CONFIGURE THEM." -#: plinth/modules/openvpn/templates/openvpn.html:55 +#: plinth/modules/openvpn/templates/openvpn.html:100 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "PROFILE IS SPECIFIC TO EACH USER OF %(box_name)s. KEEP IT A SECRET." -#: plinth/modules/openvpn/templates/openvpn.html:66 +#: plinth/modules/openvpn/templates/openvpn.html:111 msgid "Download my profile" msgstr "DOWNLOAD MY PROFILE" -#: plinth/modules/openvpn/templates/openvpn.html:75 -#, python-format -msgid "" -"OpenVPN has not yet been setup. Performing a secure setup takes a very long " -"time. Depending on how fast your %(box_name)s is, it may even take hours. " -"If the setup is interrupted, you may start it again." -msgstr "" -"OPENVPN HAS NOT YET BEEN SETUP. PERFORMING A SECURE SETUP TAKES A VERY LONG " -"TIME. DEPENDING ON HOW FAST YOUR %(box_name)s IS, IT MAY EVEN TAKE HOURS. " -"IF THE SETUP IS INTERRUPTED, YOU MAY START IT AGAIN." - -#: plinth/modules/openvpn/templates/openvpn.html:88 -msgid "Start setup" -msgstr "START SETUP" - -#: plinth/modules/openvpn/templates/openvpn.html:95 -msgid "OpenVPN setup is running" -msgstr "OPENVPN SETUP IS RUNNING" - -#: plinth/modules/openvpn/templates/openvpn.html:99 -#, python-format -msgid "" -"To perform a secure setup, this process takes a very long time. Depending " -"on how fast your %(box_name)s is, it may even take hours. If the setup is " -"interrupted, you may start it again." -msgstr "" -"TO PERFORM A SECURE SETUP, THIS PROCESS TAKES A VERY LONG TIME. DEPENDING " -"ON HOW FAST YOUR %(box_name)s IS, IT MAY EVEN TAKE HOURS. IF THE SETUP IS " -"INTERRUPTED, YOU MAY START IT AGAIN." - -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "OPENVPN SERVER IS RUNNING" - -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "OPENVPN SERVER IS NOT RUNNING" - -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "SETUP COMPLETED." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "SETUP FAILED." @@ -3996,13 +3986,13 @@ msgstr "" "SERVICES ARE UNREACHABLE FROM THE REST OF THE INTERNET. THIS INCLUDES THE " "FOLLOWING SITUATIONS:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, fuzzy, python-brace-format #| msgid "%(box_name)s is behind a restricted firewall." msgid "{box_name} is behind a restricted firewall." msgstr "%(box_name)s IS BEHIND A RESTRICTED FIREWALL." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, fuzzy, python-brace-format #| msgid "" #| "%(box_name)s is connected to a (wireless) router which you don't control." @@ -4010,7 +4000,7 @@ msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" "%(box_name)s IS CONNECTED TO A (WIRELESS) ROUTER WHICH YOU DON'T CONTROL." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -4018,7 +4008,7 @@ msgstr "" "YOUR ISP DOES NOT PROVIDE YOU AN EXTERNAL IP ADDRESS AND INSTEAD PROVIDES " "INTERNET CONNECTION THROUGH NAT." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 #, fuzzy #| msgid "" #| "Your ISP does not provide you a static IP address and your IP address " @@ -4030,11 +4020,11 @@ msgstr "" "YOUR ISP DOES NOT PROVIDE YOU A STATIC IP ADDRESS AND YOUR IP ADDRESS " "CHANGES EVERTIME YOU CONNECT TO INTERNET." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "YOUR ISP LIMITS INCOMING CONNECTIONS." -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, fuzzy, python-brace-format #| msgid "" #| "PageKite works around NAT, firewalls and IP-address limitations by using " @@ -4043,31 +4033,27 @@ msgstr "YOUR ISP LIMITS INCOMING CONNECTIONS." #| "net. In future it might be possible to use your buddy's %(box_name)s " #| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PAGEKITE WORKS AROUND NAT, FIREWALLS AND IP-ADDRESS LIMITATIONS BY USING A " "COMBINATION OF TUNNELS AND REVERSE PROXIES. YOU CAN USE ANY PAGEKITE SERVICE " "PROVIDER, FOR EXAMPLE PAGEKITE.NET. IN " "FUTURE IT MIGHT BE POSSIBLE TO USE YOUR BUDDY'S %(box_name)s FOR THIS." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 #, fuzzy #| msgid "PageKite Account" msgid "PageKite Domain" msgstr "PAGEKITE ACCOUNT" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "ENABLE PAGEKITE" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "SERVER DOMAIN" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -4075,31 +4061,31 @@ msgstr "" "SELECT YOUR PAGEKITE SERVER. SET \"PAGEKITE.NET\" TO USE THE DEFAULT " "PAGEKITE.NET SERVER." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "SERVER PORT" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "PORT OF YOUR PAGEKITE SERVER (DEFAULT: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "KITE NAME" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "EXAMPLE: MYBOX.PAGEKITE.ME" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "INVALID KITE NAME" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "KITE SECRET" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4107,53 +4093,43 @@ msgstr "" "A SECRET ASSOCIATED WITH THE KITE OR THE DEFAULT SECRET FOR YOUR ACCOUNT IF " "NO SECRET IS SET ON THE KITE." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "KITE DETAILS SET" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "PAGEKITE SERVER SET" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PAGEKITE ENABLED" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PAGEKITE DISABLED" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "SERVICE ENABLED: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "SERVICE DISABLED: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "PROTOCOL" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "EXTERNAL (FRONTEND) PORT" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "INTERNAL (FREEDOMBOX) PORT" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "ENABLE SUBDOMAINS" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "DELETED CUSTOM SERVICE" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -4161,23 +4137,45 @@ msgstr "" "THIS SERVICE IS AVAILABLE AS A STANDARD SERVICE. PLEASE USE THE \"STANDARD " "SERVICES\" PAGE TO ENABLE IT. " -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "ADDED CUSTOM SERVICE" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "THIS SERVICE ALREADY EXISTS" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "PAGEKITE ACCOUNT" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "CUSTOM SERVICES" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "SAVE SETTINGS" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "CUSTOM SERVICES" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "EXISTING CUSTOM SERVICES" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "CONNECTED TO %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "DELETE THIS SERVICE" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "ADDED CUSTOM SERVICE" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -4187,31 +4185,6 @@ msgstr "" "PROTOCOL/PORT COMBINATIONS THAT YOU ARE ABLE TO DEFINE HERE. FOR EXAMPLE, " "HTTPS ON PORTS OTHER THAN 443 IS KNOWN TO CAUSE PROBLEMS." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "CREATE A CUSTOM SERVICE" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "ADD SERVICE" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "EXISTING CUSTOM SERVICES" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "YOU DON'T HAVE ANY CUSTOM SERVICES ENABLED" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "CONNECTED TO %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "DELETE THIS SERVICE" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -4285,16 +4258,8 @@ msgstr "" "SEE SSH CLIENT SETUP INSTRUCTIONS" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "STANDARD SERVICES" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "CUSTOM SERVICES" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "POWER" @@ -4741,6 +4706,101 @@ msgstr "" "lesssecureapps\" >HTTPS://WWW.GOOGLE.COM/SETTINGS/SECURITY/LESSSECUREAPPS)." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Kite name" +msgid "Share name" +msgstr "KITE NAME" + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "ACTIONS" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "{name} deleted." +msgid "Share enabled." +msgstr "{name} DELETED." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing packages: {string} {details}" +msgid "Error enabling share: {error_message}" +msgstr "ERROR INSTALLING PACKAGES: {string} {details}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "{name} deleted." +msgid "Share disabled." +msgstr "{name} DELETED." + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing packages: {string} {details}" +msgid "Error disabling share: {error_message}" +msgstr "ERROR INSTALLING PACKAGES: {string} {details}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -4800,7 +4860,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "CONFIGURATION UPDATED." @@ -5278,7 +5338,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "CONFIGURATION UPDATED" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "ACTION ERROR: {0} [{1}] [{2}]" @@ -5478,18 +5538,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "THE FOLLOWING IS THE CURRENT STATUS:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -5577,14 +5625,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 #, fuzzy #| msgid "Installation" msgid "Administer Syncthing application" @@ -5817,35 +5858,27 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "TOR CONFIGURATION IS BEING UPDATED" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "TOR IS RUNNING" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "TOR IS NOT RUNNING" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Hidden Service" msgid "Onion Service" msgstr "HIDDEN SERVICE" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 #, fuzzy #| msgid "Port" msgid "Ports" msgstr "PORT" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, fuzzy, python-format #| msgid "" #| "Your %(box_name)s is configured as a Tor bridge with obfsproxy, so it can " @@ -5861,11 +5894,11 @@ msgstr "" "FIREWALL, YOU SHOULD MAKE SURE THE FOLLOWING PORTS ARE OPEN, AND PORT-" "FORWARDED, IF NECESSARY:" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "A TOR SOCKS PORT IS AVAILABLE ON YOUR %(box_name)s ON TCP PORT 9050." @@ -5885,16 +5918,6 @@ msgstr "" "BITTORRENT IS A PEER-TO-PEER FILE SHARING PROTOCOL. TRANSMISSION DAEMON " "HANDLES BITORRENT FILE SHARING. NOTE THAT BITTORRENT IS NOT ANONYMOUS." -#: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." -msgid "" -"Access the web interface at /transmission." -msgstr "" -"ACCESS THE WEB INTERFACE AT /TRANSMISSION." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "DOWNLOAD DIRECTORY" @@ -5930,21 +5953,20 @@ msgstr "" #| "When enabled, the blogs and wikis will be available from /ikiwiki." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "WHEN ENABLED, THE BLOGS AND WIKIS WILL BE AVAILABLE FROM /IKIWIKI." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -6159,8 +6181,8 @@ msgid "Save Password" msgstr "SAVE PASSWORD" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "CREATE USER" @@ -6200,7 +6222,7 @@ msgstr "" msgid "Create Account" msgstr "PAGEKITE ACCOUNT" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "USERS" @@ -6347,17 +6369,13 @@ msgstr "" "REPORT THE ERROR ON THE BUG TRACKER SO WE CAN FIX IT." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "LAUNCH WEB CLIENT" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, fuzzy, python-format #| msgid "Service discovery server is running" msgid "Service %(service_name)s is running." msgstr "SERVICE DISCOVERY SERVER IS RUNNING" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, fuzzy, python-format #| msgid "Service discovery server is not running" msgid "Service %(service_name)s is not running." @@ -6416,67 +6434,61 @@ msgstr "LANGUAGE" msgid "Log in" msgstr "LOG IN" -#: plinth/templates/clients.html:29 -#, fuzzy -#| msgid "Quassel IRC Client" -msgid "Client Apps" -msgstr "QUASSEL IRC CLIENT" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 #, fuzzy #| msgid "IRC Client (Quassel)" msgid "Desktop" msgstr "IRC CLIENT (QUASSEL)" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 #, fuzzy #| msgid "Email Client (Roundcube)" msgid "Mobile" msgstr "EMAIL CLIENT (ROUNDCUBE)" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 #, fuzzy #| msgid "reStore" msgid "App Store" msgstr "RESTORE" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "PACKAGE" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -6619,6 +6631,16 @@ msgstr "INSTALLING %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% COMPLETE" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "LAUNCH WEB CLIENT" + +#: plinth/templates/toolbar.html:47 +#, fuzzy +#| msgid "Quassel IRC Client" +msgid "Client Apps" +msgstr "QUASSEL IRC CLIENT" + #: plinth/views.py:180 #, fuzzy #| msgid "Applications" @@ -6635,6 +6657,55 @@ msgstr "APPLICATIONS" msgid "Gujarati" msgstr "" +#~ msgid "OpenVPN server is running" +#~ msgstr "OPENVPN SERVER IS RUNNING" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "OPENVPN SERVER IS NOT RUNNING" + +#~ msgid "Enable PageKite" +#~ msgstr "ENABLE PAGEKITE" + +#~ msgid "Service enabled: {name}" +#~ msgstr "SERVICE ENABLED: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "SERVICE DISABLED: {name}" + +#~ msgid "PageKite Account" +#~ msgstr "PAGEKITE ACCOUNT" + +#~ msgid "Save settings" +#~ msgstr "SAVE SETTINGS" + +#~ msgid "Create a custom service" +#~ msgstr "CREATE A CUSTOM SERVICE" + +#~ msgid "Add Service" +#~ msgstr "ADD SERVICE" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "YOU DON'T HAVE ANY CUSTOM SERVICES ENABLED" + +#~ msgid "Standard Services" +#~ msgstr "STANDARD SERVICES" + +#~ msgid "Tor is running" +#~ msgstr "TOR IS RUNNING" + +#~ msgid "Tor is not running" +#~ msgstr "TOR IS NOT RUNNING" + +#, fuzzy +#~| msgid "" +#~| "Access the web interface at /transmission." +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "ACCESS THE WEB INTERFACE AT /TRANSMISSION." + #~ msgid "Create a Wiki or Blog" #~ msgstr "CREATE A WIKI OR BLOG" @@ -6780,11 +6851,6 @@ msgstr "" #~ msgid " System" #~ msgstr "SYSTEM" -#, fuzzy -#~| msgid "Kite name" -#~ msgid "Archive name" -#~ msgstr "KITE NAME" - #, fuzzy #~| msgid "Invalid server name" #~ msgid "Invalid archive name" diff --git a/plinth/locale/fr/LC_MESSAGES/django.po b/plinth/locale/fr/LC_MESSAGES/django.po index 1d678259d..24baf2207 100644 --- a/plinth/locale/fr/LC_MESSAGES/django.po +++ b/plinth/locale/fr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-11-21 18:04+0000\n" "Last-Translator: Fred \n" "Language-Team: French /_cockpit/ path on the web server. It can be " +#| "accessed by any user on {box_name} belonging " +#| "to the admin group." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" -"Une fois activé, Cockpit est accessible depuis le chemin /_cockpit sur le serveur web. Il " -"peut être consulté par tout utilisateur avec un " -"compte admin sur {box_name}." +"Une fois activé, Cockpit est accessible depuis le chemin /_cockpit sur le serveur web. Il peut être " +"consulté par tout utilisateur avec un compte " +"admin sur {box_name}." #: plinth/modules/config/__init__.py:37 msgid "General Configuration" @@ -685,7 +689,7 @@ msgstr "Configuration générale" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "Configurer" @@ -826,7 +830,7 @@ msgstr "Cacher les applications et les fonctionnalités avancées" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "Partage de fichiers" @@ -950,19 +954,23 @@ msgid "Deluge is a BitTorrent client that features a Web UI." msgstr "Deluge est un client BitTorrent avec une interface utilisateur Web." #: plinth/modules/deluge/__init__.py:45 +#, fuzzy +#| msgid "" +#| "When enabled, the Deluge web client will be available from /deluge path on the web server. " +#| "The default password is 'deluge', but you should log in and change it " +#| "immediately after enabling this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -"Lorsqu'il est activé, le client Web Deluge sera accessible depuis le chemin <" -"a href=\"/deluge\" data-turbolinks=\"false\">/deluge sur le serveur Web. " -"Le mot de passe par défaut est 'deluge'. Vous devrez toutefois vous " +"Lorsqu'il est activé, le client Web Deluge sera accessible depuis le chemin " +"/deluge sur le serveur " +"Web. Le mot de passe par défaut est 'deluge'. Vous devrez toutefois vous " "connecter et le changer tout de suite après l'activation du service." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "Télécharger des fichiers avec des applications BitTorrent" @@ -983,7 +991,7 @@ msgstr "" "sur votre système pour confirmer que les applications et les services " "fonctionnent comme prévu." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Test de diagnostic" @@ -1082,18 +1090,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Actualiser la configuration" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Paramètre inchangé" @@ -1358,9 +1365,10 @@ msgstr "À propos" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "État" @@ -1480,10 +1488,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Configuration" @@ -1703,15 +1710,15 @@ msgstr "Une chaîne alpha-numérique qui identifie de manière unique un dépôt msgid "Git" msgstr "Git" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" -msgstr "Créer un dépôt" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 msgid "Manage Repositories" msgstr "Gérer les dépôts" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" +msgstr "Créer un dépôt" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 msgid "No repositories available." msgstr "Aucun dépôt disponible." @@ -1762,7 +1769,7 @@ msgid "Edit repository" msgstr "Modifier un dépôt" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "Une erreur est survenue pendant la configuration." @@ -1960,7 +1967,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "En savoir plus..." @@ -2154,7 +2160,7 @@ msgid "I2P Proxy" msgstr "Serveur mandataire I2P" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "Lancer" @@ -2212,12 +2218,17 @@ msgid "Wiki and Blog" msgstr "Wiki et Blogue" #: plinth/modules/ikiwiki/__init__.py:46 +#, fuzzy +#| msgid "" +#| "ikiwiki is a simple wiki and blog application. It supports several " +#| "lightweight markup languages, including Markdown, and common blogging " +#| "functionality such as comments and RSS feeds. When enabled, the blogs and " +#| "wikis will be available at /ikiwiki (once created)." msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwiki est une application simple de wiki et de blogs. Il prend en charge " "plusieurs langages de balisage légers, y compris Markdown, et les " @@ -2225,7 +2236,7 @@ msgstr "" "Une fois activés, les blogs et les wikis seront disponibles sur /ikiwiki (s'il sont créés)." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2239,12 +2250,13 @@ msgstr "" "modifier ces autorisations ou ajouter de nouveaux utilisateurs dans la configuration des utilisateurs." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "Afficher et modifier des applications wiki" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Type" @@ -2257,16 +2269,16 @@ msgstr "Nom Compte Admin" msgid "Admin Account Password" msgstr "Mot de Passe Compte Admin" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Gestion Wikis et Blogues" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Créer un Wiki ou un Blogue" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Gestion Wikis et Blogues" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "Pas de wiki ou de blogue disponible." @@ -2484,7 +2496,7 @@ msgstr "Révoquer" msgid "Obtain" msgstr "Obtenir" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " @@ -2493,7 +2505,7 @@ msgstr "" "Aucun domaine n'a été configuré. Configurez des " "domaines pour pouvoir leur obtenir des certificats." -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " @@ -2502,30 +2514,30 @@ msgstr "" "Certificat révoqué avec succès pour le domaine {domain}. Cela peut prendre " "un moment pour prendre effet." -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" "Échec de la révocation du certificat pour le domaine {domain} : {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "Certificat obtenu avec succès pour le domaine {domain}" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "Échec de l'obtention du certificat pour le domaine {domain} : {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "Certificat supprimé avec succès pour le domaine {domain}" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2828,13 +2840,13 @@ msgstr "" "Si désactivé, les joueurs ne peuvent pas mourir ou être blessés d'aucune " "manière." -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Adresse" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Port" @@ -2960,7 +2972,7 @@ msgstr "Annuler" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Service" @@ -3058,19 +3070,19 @@ msgstr "Signer la clé" msgid "Send the key back to the keyservers" msgstr "Retourner la clé sur les serveurs de clefs" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "Clé importée." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Publication de la clef annulée." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Clef publiée sur le serveur de clefs." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "Une erreur est survenue lors de la publication de la clef." @@ -3463,14 +3475,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "Échec de la désactivation de la connexion : connexion introuvable." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "Réseaux Wi-Fi à Proximité" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Ajouter connexion" @@ -3547,6 +3559,7 @@ msgid "yes" msgstr "oui" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Appareil" @@ -3731,7 +3744,7 @@ msgstr "Montrer la connexion %(name)s" msgid "Computer" msgstr "Machine" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "Connexions" @@ -3752,7 +3765,7 @@ msgstr "Inactif" msgid "Create..." msgstr "Créer..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "OpenVPN" @@ -3777,7 +3790,7 @@ msgstr "" "internes via {box_name}. Vous pouvez aussi accéder à l'Internet via " "{box_name} depuis votre réseau pour une sécurité et un anonymat accrus." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3789,37 +3802,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "Activer le serveur OpenVPN" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" -msgstr "Profil" - -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -"Pour vous connecter au réseau VPN de %(box_name)s, vous devez télécharger un " -"profil et le fournir à un client OpenVPN sur votre mobile ou sur votre " -"ordinateur. Les clients OpenVPN sont disponibles pour de nombreuses plate-" -"formes. Voir la documentation wiki consacrée aux clients recommandés " -"et aux instructions liées à leur configuration." -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" -"Un profil est propre à chaque utilisateur de %(box_name)s. Gardez le secret." - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "Télécharger mon profil" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3830,15 +3817,15 @@ msgstr "" "temps. En fonction de la vélocité de %(box_name)s, cela peut prendre des " "heures. Si l'installation est interrompue, vous devez recommencer." -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "Démarrer l'Installation" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "L'installation d'OpenVPN est en cours" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3849,19 +3836,46 @@ msgstr "" "%(box_name)s, cela peut prendre des heures. Si l'installation est " "interrompue, vous devez recommencer." -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "Le serveur OpenVPN est actif" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" +msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "Le serveur OpenVPN est inactif" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, fuzzy, python-format +#| msgid "" +#| "To connect to %(box_name)s's VPN, you need to download a profile and feed " +#| "it to an OpenVPN client on your mobile or desktop machine. OpenVPN " +#| "Clients are available for most platforms. See the manual page " +#| "on recommended clients and instructions on how to configure them." +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" +"Pour vous connecter au réseau VPN de %(box_name)s, vous devez télécharger un " +"profil et le fournir à un client OpenVPN sur votre mobile ou sur votre " +"ordinateur. Les clients OpenVPN sont disponibles pour de nombreuses plate-" +"formes. Voir la documentation wiki consacrée aux clients recommandés " +"et aux instructions liées à leur configuration." -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" +"Un profil est propre à chaque utilisateur de %(box_name)s. Gardez le secret." + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "Télécharger mon profil" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Installation terminée." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Échec de l'installation." @@ -3886,18 +3900,18 @@ msgstr "" "besoin que si les services de {box_name} ne sont pas joignables depuis le " "reste de l'Internet. Cela comprend les situations suivantes :" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} est derrière un pare-feu restrictif." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" "{box_name} est connecté à un réseau (sans fil) que vous ne contrôlez pas." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3905,7 +3919,7 @@ msgstr "" "Votre FAI ne vous fournit pas une adresse IP externe, plutôt une connexion " "Internet via NAT." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." @@ -3913,17 +3927,23 @@ msgstr "" "Votre FAI ne vous fournit pas une adresse IP statique, elle change à chaque " "fois que vous vous connectez à l'Internet." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "Votre FAI limite les connexions entrantes." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite fonctionne malgré un routeur NAT, des pare-feux et des limitations " "d'adresse IP en utilisant une combinaison de tunnels et de proxys inverses. " @@ -3932,19 +3952,15 @@ msgstr "" "futur, il sera peut-être possible d'utiliser {box_name} d'un ami pour ce " "faire." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "Domaine PageKite" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "Activer PageKite" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "Domaine du serveur" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3952,31 +3968,31 @@ msgstr "" "Sélectionner votre serveur pagekite. Établir \"pagekite.net\" pour une " "utilisation par défaut du serveur pagekite.net." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "Port serveur" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "Port de votre serveur pagekite (par défaut : 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "Nom Kite" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "Exemple : monpc.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "Nom Kite invalide" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "Kite secret" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -3984,53 +4000,43 @@ msgstr "" "Un secret associé à Kite ou un secret par défaut pour votre compte si aucun " "secret n'est établi sur kite." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "Renseignements pour Kite établis" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "Serveur PageKite établi" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite activé" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite désactivé" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "Service activé : {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "Service désactivé : {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "protocole" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "port externe (frontal)" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "port interne (freedombox)" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "Activer les sous-domaines" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "Service personnalisé supprimé" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -4038,23 +4044,45 @@ msgstr "" "Ce service est disponible sous forme standard. Utiliser la page « Services " "Standards » pour l'activer." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "Service personnalisé ajouté" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "Ce service existe déjà" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "Compte PageKite" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Services Personnalisés" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Sauvegarder la configuration" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Services Personnalisés" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "Services personnalisés existants" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "connecté à %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Supprimer ce service" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "Service personnalisé ajouté" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -4065,31 +4093,6 @@ msgstr "" "définition. Par exemple, le protocole HTTPS sur les ports autres que 443 est " "connu pour causer un problème." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "Créer un service personnalisé" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Ajouter Service" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "Services personnalisés existants" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "Vous n'avez pas de Services Personnalisés actifs" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "connecté à %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Supprimer ce service" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Créer un sous-domaine sur freedombox.me grâce à votre récépissé." @@ -4166,16 +4169,8 @@ msgstr "" "Voir comment configurer le client SSH sur le wiki pagekite (en anglais)" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Services Standards" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Services Personnalisés" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Alimentation" @@ -4611,6 +4606,103 @@ msgstr "" "settings/security/lesssecureapps\">https://www.google.com/settings/security/" "lesssecureapps)." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +#, fuzzy +#| msgid "Select Disk or Partition" +msgid "Select disks for sharing" +msgstr "Choisissez un disque ou une partition" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "Étiquette" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Point de montage" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "Utilisé" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Share added." +msgid "Share name" +msgstr "Partage créé." + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Actions" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "Share deleted." +msgid "Share enabled." +msgstr "Partage supprimé." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error enabling share: {error_message}" +msgstr "Erreur lors de l'éjection du media : {error_message}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Share edited." +msgid "Share disabled." +msgstr "Partage modifié." + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error disabling share: {error_message}" +msgstr "Erreur lors de l'éjection du media : {error_message}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "Searx" @@ -4672,7 +4764,7 @@ msgstr "" "Permettre à tous ceux qui peuvent accéder à cette application de l'utiliser." #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "Configuration actualisée." @@ -5150,7 +5242,7 @@ msgstr "Instantané créé." msgid "Storage snapshots configuration updated" msgstr "Configuration du stockage des instantanés mise à jour" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "Erreur sur action : {0} [{1}] [{2}]" @@ -5346,18 +5438,6 @@ msgstr "Le media est monté par un autre utilisateur." msgid "The following storage devices are in use:" msgstr "Les media de stockage suivants sont en cours d'utilisation :" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "Étiquette" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Point de montage" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "Utilisé" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "Extension de la partition" @@ -5462,17 +5542,7 @@ msgstr "" "groupe distinct de dossiers. L'interface Web sur {box_name} est seulement " "disponible pour les utilisateurs appartenant au groupe \"admin\"." -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" -"Quand activé, l'interface web de Syncthing sera disponible à /syncthing. Des clients bureau et " -"mobile sont aussi disponibles.." - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "Administre l'application Syncthing" @@ -5708,31 +5778,23 @@ msgstr "Navigateur Tor" msgid "Orbot: Proxy with Tor" msgstr "Orbot : Mandataire avec Tor" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "La configuration de Tor est en cours d'actualisation" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "Tor est actif" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "Tor n'est pas actif" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "Service Onion" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "Ports" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "Relais" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5742,11 +5804,11 @@ msgstr "" "devez vous assurer que les ports suivants soient ouverts et réacheminés si " "nécessaire :" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5766,14 +5828,6 @@ msgstr "" "Transmission permet le partage de fichiers Bitorrent. Noter que " "l'utilisation de Bitorrent n'est pas anonyme." -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" -"Accéder à l'interface Web de /transmission." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "Répertoire de téléchargement" @@ -5808,18 +5862,21 @@ msgstr "" "ordinateur." #: plinth/modules/ttrss/__init__.py:52 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be " +#| "accessed by any user with a {box_name} login." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Une fois activé, Tiny Tiny RSS est accessible depuis le chemin /tt-rss sur le serveur web. Il peut être " "consulté par tout utilisateur avec un compte " "{box_name}." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " @@ -5829,7 +5886,7 @@ msgstr "" "utilisez l'URL tt-rss-" "app pour se connecter." -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "Lire et souscrire à des abonnements d'infos" @@ -6041,8 +6098,8 @@ msgid "Save Password" msgstr "Sauvegarder Mot de Passe" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "Créer Utilisateur" @@ -6081,7 +6138,7 @@ msgstr "" msgid "Create Account" msgstr "Créer le compte" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "Utilisateurs" @@ -6217,16 +6274,12 @@ msgstr "" "a> pour traitement et réparation. Veuillez également attacher le journal d'état au rapport d'erreur." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Lancer le client Web" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "Le service %(service_name)s est en fonctionnement." -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "Le service %(service_name)s n'est pas en fonctionnement." @@ -6277,59 +6330,55 @@ msgstr "Choisir la langue" msgid "Log in" msgstr "S'identifier" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "Applications clientes" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "Web" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "Bureau" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "GNU/Linux" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "Windows" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "macOS" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "Mobile" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "Play Store" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "F-Droid" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "App Store" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "Paquet" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "Debian :" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "Homebrew :" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "RPM :" @@ -6485,6 +6534,14 @@ msgstr "Installation de %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% effectué" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Lancer le client Web" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "Applications clientes" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Application activée" @@ -6497,6 +6554,61 @@ msgstr "Application désactivée" msgid "Gujarati" msgstr "Gujarati" +#~ msgid "OpenVPN server is running" +#~ msgstr "Le serveur OpenVPN est actif" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "Le serveur OpenVPN est inactif" + +#~ msgid "Enable PageKite" +#~ msgstr "Activer PageKite" + +#~ msgid "Service enabled: {name}" +#~ msgstr "Service activé : {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "Service désactivé : {name}" + +#~ msgid "PageKite Account" +#~ msgstr "Compte PageKite" + +#~ msgid "Save settings" +#~ msgstr "Sauvegarder la configuration" + +#~ msgid "Create a custom service" +#~ msgstr "Créer un service personnalisé" + +#~ msgid "Add Service" +#~ msgstr "Ajouter Service" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "Vous n'avez pas de Services Personnalisés actifs" + +#~ msgid "Standard Services" +#~ msgstr "Services Standards" + +#~ msgid "" +#~ "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " +#~ "clients are also available." +#~ msgstr "" +#~ "Quand activé, l'interface web de Syncthing sera disponible à /syncthing. Des clients bureau " +#~ "et mobile sont aussi disponibles.." + +#~ msgid "Tor is running" +#~ msgstr "Tor est actif" + +#~ msgid "Tor is not running" +#~ msgstr "Tor n'est pas actif" + +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "Accéder à l'interface Web de /transmission." + #~ msgid "Secret" #~ msgstr "Secret" diff --git a/plinth/locale/gl/LC_MESSAGES/django.po b/plinth/locale/gl/LC_MESSAGES/django.po index aa711301e..aac942a7b 100644 --- a/plinth/locale/gl/LC_MESSAGES/django.po +++ b/plinth/locale/gl/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-07-11 08:01+0000\n" "Last-Translator: Miguel A. Bouzada \n" "Language-Team: Galician /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -624,7 +623,7 @@ msgstr "" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "" @@ -741,7 +740,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -850,14 +849,12 @@ msgstr "" #: plinth/modules/deluge/__init__.py:45 msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -875,7 +872,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -964,18 +961,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1187,9 +1183,10 @@ msgstr "" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "" @@ -1287,10 +1284,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1482,13 +1478,13 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 +msgid "Manage Repositories" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 -msgid "Manage Repositories" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" msgstr "" #: plinth/modules/gitweb/templates/gitweb_configure.html:59 @@ -1541,7 +1537,7 @@ msgid "Edit repository" msgstr "" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1700,7 +1696,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -1847,7 +1842,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -1899,12 +1894,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -1913,12 +1906,13 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -1931,14 +1925,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2137,43 +2131,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2405,13 +2399,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2511,7 +2505,7 @@ msgstr "" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2606,19 +2600,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -2964,14 +2958,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3048,6 +3042,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3221,7 +3216,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "" @@ -3242,7 +3237,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3261,7 +3256,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3271,30 +3266,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3302,15 +3278,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3318,19 +3294,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3351,189 +3341,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3601,16 +3570,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -3934,6 +3895,93 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +msgid "Action" +msgstr "" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "Produciuse un erro ao instalar o aplicativo: {error}" + +#: plinth/modules/samba/views.py:95 +msgid "Share disabled." +msgstr "" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "Produciuse un erro ao instalar o aplicativo: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -3987,7 +4035,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4402,7 +4450,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4582,18 +4630,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4678,14 +4714,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -4884,42 +4913,34 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -4935,12 +4956,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -4970,19 +4985,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5167,8 +5181,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5203,7 +5217,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5328,16 +5342,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5388,59 +5398,55 @@ msgstr "" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5574,6 +5580,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" diff --git a/plinth/locale/gu/LC_MESSAGES/django.po b/plinth/locale/gu/LC_MESSAGES/django.po index 45586377b..f3bea4a9d 100644 --- a/plinth/locale/gu/LC_MESSAGES/django.po +++ b/plinth/locale/gu/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2018-02-05 18:37+0000\n" "Last-Translator: drashti kaushik \n" "Language-Team: Gujarati /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "સક્ષમ કરેલ હોય ત્યારે, કોકપિટ અહીંથી ઉપલબ્ધ રહેશે /_cockpit/ વેબ સર્વર પાથ પર. તે કોઈપણ વપરાશકર્તા " @@ -659,7 +658,7 @@ msgstr "સામાન્ય ગોઠવણી" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "ગોઠવો" @@ -787,7 +786,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -908,17 +907,15 @@ msgstr "Deluge બીટ ટોરેન્ટ ક્લાયન્ટ છે #| "'deluge', but you should log in and change it immediately after enabling " #| "this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "જયારે સક્રિય કરવામાં આવે ત્યારે Deluge વેબ ક્લાયન્ટ વેબ સર્વર પર /" "deluge થી ઉપલબ્ધ થશે. તેનો પહેલાથી નક્કી પાસવર્ડ 'deluge' છે, પરંતુ આ સેવા સક્રિય " "કાર્ય બાદ તુરંત જ આપે લોગ ઇન કરી ને તેને બદલી નાખવો જોઈએ." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "BitTorrent કાર્યક્રમોનો ઉપયોગ કરીને ફાઇલો ડાઉનલોડ કરો" @@ -938,7 +935,7 @@ msgstr "" "સીસ્ટમ તપાસ પરિક્ષણ આપની એપ્લીકેશન અને સેવાઓ નિર્ધારિત રીતે કામ કરે છે કે નહિ, તે ચકાસવા " "આપની સીસ્ટમ પર અમુક પરીક્ષણો કરશે." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "તપાસકીય પરિક્ષણ" @@ -1035,18 +1032,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "સેટઅપ અપડેટ કરો" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "સેટિંગ યથાવત" @@ -1296,9 +1292,10 @@ msgstr "વિશે" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "સ્થિતિ" @@ -1423,10 +1420,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "રૂપરેખાંકન" @@ -1637,19 +1633,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Documentation" -msgid "Create repository" -msgstr "દસ્તાવેજીકરણ" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Documentation" msgid "Manage Repositories" msgstr "દસ્તાવેજીકરણ" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Documentation" +msgid "Create repository" +msgstr "દસ્તાવેજીકરણ" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 msgid "No repositories available." msgstr "" @@ -1702,7 +1698,7 @@ msgid "Edit repository" msgstr "દસ્તાવેજીકરણ" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1861,7 +1857,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -2012,7 +2007,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -2064,12 +2059,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2078,12 +2071,13 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -2096,14 +2090,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2302,43 +2296,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2586,13 +2580,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2694,7 +2688,7 @@ msgstr "" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2789,19 +2783,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -3147,14 +3141,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3231,6 +3225,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3404,7 +3399,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Conversations" msgid "Connections" @@ -3427,7 +3422,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3446,7 +3441,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3456,30 +3451,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3487,15 +3463,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3503,19 +3479,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3536,189 +3526,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3786,16 +3755,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -4119,6 +4080,95 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +msgid "Action" +msgstr "" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "એપ્લીકેશન પ્રસ્થાપિત કરતાં ભૂલ થઇ છે: {error}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Application disabled" +msgid "Share disabled." +msgstr "એપ્લિકેશન અક્ષમ છે" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "એપ્લીકેશન પ્રસ્થાપિત કરતાં ભૂલ થઇ છે: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -4172,7 +4222,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4588,7 +4638,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "DNSSEC ગોઠવણીને સુધારેલી શરુ કરો" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4772,18 +4822,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4868,14 +4906,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -5074,44 +5105,36 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Dynamic DNS Service" msgid "Onion Service" msgstr "ડાયનેમિક DNS સેવા" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5127,12 +5150,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -5162,23 +5179,22 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, fuzzy, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "સક્ષમ કરેલ હોય ત્યારે, કોકપિટ અહીંથી ઉપલબ્ધ રહેશે /_cockpit/ વેબ સર્વર પાથ પર. તે કોઈપણ વપરાશકર્તા " "સાથે{box_name} લૉગિન દ્વારા ઍક્સેસ કરી શકાય છે. સંવેદનશીલ માહિતી અને વ્યવસ્થાપનની " "ક્ષમતાઓ એડમિન ગ્રૂપના વપરાશકર્તાઓ માટે મર્યાદિત છે." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5369,8 +5385,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5405,7 +5421,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5530,16 +5546,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "વેબ ક્લાયન્ટ શરૂ કરો" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5592,61 +5604,55 @@ msgstr "ભાષા" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -#, fuzzy -#| msgid "BitTorrent Web Client" -msgid "Client Apps" -msgstr "બીટ ટોરેન્ટ વેબ ક્લાયન્ટ" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5782,6 +5788,16 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "વેબ ક્લાયન્ટ શરૂ કરો" + +#: plinth/templates/toolbar.html:47 +#, fuzzy +#| msgid "BitTorrent Web Client" +msgid "Client Apps" +msgstr "બીટ ટોરેન્ટ વેબ ક્લાયન્ટ" + #: plinth/views.py:180 msgid "Application enabled" msgstr "એપ્લિકેશન સક્ષમ કરો" diff --git a/plinth/locale/hi/LC_MESSAGES/django.po b/plinth/locale/hi/LC_MESSAGES/django.po index ce433d527..10a423837 100644 --- a/plinth/locale/hi/LC_MESSAGES/django.po +++ b/plinth/locale/hi/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2018-08-09 20:39+0000\n" "Last-Translator: Gayathri Das \n" "Language-Team: Hindi /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "सक्षम होने पर, कॉकपिट /_cockpit/ पात पर वेब सर्वर से " "माैजूद होते है. यह कोई से एक {box_name} के सात पहुंच " @@ -702,7 +701,7 @@ msgstr "सामान्य कॉन्फ़िगरेशन" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "कॉन्फ़िगर करें" @@ -844,7 +843,7 @@ msgstr "" msgid "Coquelicot" msgstr "कोकेलिकॉट" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "फ़ाइल शेयरइंग" @@ -973,17 +972,15 @@ msgstr "डेलूज एक बिटटोरेंट ग्राहक #| "'deluge', but you should log in and change it immediately after enabling " #| "this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "सक्षम होने पर, डेलूज वेब ग्राहक यहा से /deluge मौजूद होगा. " "डिफ़ॉल्ट पासवर्ड 'डेलूज' है लेकिन आप डेलूज से सक्षम करके आपको लॉग ऑन करना चाहिये आैर इसको " "बदलना चाहिये." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "बिटटोरेंट एप्लिकेशन उपयोग कर फ़ाइल डाउनलोड करें" @@ -1003,7 +1000,7 @@ msgstr "" "पुष्टि करने के लिये कि एप्लिकेशन या सेवाएं अच्छेसे चल रहे है, सिस्टम निदान परिक्षा बहुत सारे " "चेकों करोगे." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "निदान परिक्षा" @@ -1099,18 +1096,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "सेटअप अपडेट" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "सेटिंग स्थिर है" @@ -1360,9 +1356,10 @@ msgstr "के बारे में" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "स्थिति" @@ -1482,10 +1479,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "कॉन्फ़िगरेशन" @@ -1709,19 +1705,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create User" -msgid "Create repository" -msgstr "यूसर बनाये" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create User" msgid "Manage Repositories" msgstr "यूसर बनाये" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create User" +msgid "Create repository" +msgstr "यूसर बनाये" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 #, fuzzy #| msgid "Tor relay port available" @@ -1783,7 +1779,7 @@ msgid "Edit repository" msgstr "यूसर बनाये" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "कॉंफ़िगरेशन के दौरान कूछ त्रुटि हुई." @@ -1958,7 +1954,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "और सीखिये..." @@ -2132,7 +2127,7 @@ msgid "I2P Proxy" msgstr "वेब प्रॉक्सी" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "लॉन्च" @@ -2191,16 +2186,14 @@ msgstr "विकि और ब्लॉग" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "इकिविकि एक साधा विकि और ब्लॉग एप्लिकेशन है. यह बहूत सारे हल्के मार्कअप भाषाओं का समर्थन " "करता है, Markdown भी, और आम ब्लॉगिंग कार्यशीलता, आरएसएस फ़ीड और टिप्पणी के जैसे. सक्षम " "होने पर, ब्लॉग्स और विकि /इकिविकि/ (एक बार बनाए गए) पर " "उपलब्ध होंगे." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2213,12 +2206,13 @@ msgstr "" "विकी संपादितकर सकते है. वह युज़र कॉन्फ़िगरेशन पर " "आपको यह अनुमति बदल सकता और नया युज़रसॅ को जोडं सकता है." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "विकी एप्लिकेशन को देखें और संपादित करें" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "टाइप" @@ -2231,16 +2225,16 @@ msgstr "व्यवस्थापक अकाउंट नाम" msgid "Admin Account Password" msgstr "व्यवस्थापक अकाउंट पासवर्ड" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "विकी और ब्लॉग्स प्रबंधित करें" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "विकी या ब्लॉग बनाइये" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "विकी और ब्लॉग्स प्रबंधित करें" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "कोई विकी या ब्लॉग उपलब्ध नहीं है." @@ -2454,7 +2448,7 @@ msgstr "रीवोकॅ" msgid "Obtain" msgstr "उबटैईन" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, fuzzy, python-format #| msgid "" #| "No domains have been configured. Configure domains to be able to obtain " @@ -2466,7 +2460,7 @@ msgstr "" "कोई डोमेन कॉंफ़िगर नहीं किया गया है. डोमेन कॉंफ़िगर करें उंहें के लिए प्रमाणपत्र प्राप्त करने के " "लिये." -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " @@ -2475,29 +2469,29 @@ msgstr "" "डोमेन पर प्रमाणपत्र कामयाबी सेवापस ले लिया गया{domain}. यह कुछ समय को प्रभावी करने के " "लिए ले सकता है." -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "डोमेन पर प्रमाणपत्र कामयाबी से वापस नहीं ले लिया गया{domain}:{error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "डोमेन के लिए प्रमाणपत्र कामयाबी से प्राप्त किया {domain}" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "डोमेन के लिए प्रमाणपत्र कामयाबी से नहीं प्राप्त किया {domain}:{error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "डोमेन के लिए प्रमाणपत्र कामयाबी से हटाया गया {domain}" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "डोमेन के लिए प्रमाणपत्र नहीं हटाया गया {domain}:{error}" @@ -2771,13 +2765,13 @@ msgstr "क्षति को सक्षम करें" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "अक्षम होने पर खिलाड़ियों नहीं मर सकते या किसी चोट लग सकते." -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "ऍड्रेस" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "पोर्ट" @@ -2900,7 +2894,7 @@ msgstr "कैंसिल" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "सर्विस" @@ -2997,19 +2991,19 @@ msgstr "चाबी पर हस्ताक्षर करें" msgid "Send the key back to the keyservers" msgstr "चाबी कीसर्वर से वापस भेजें" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "इमपोरटेड़ चाबी." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "चाबी प्रकाशन रद्द किया गया." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "चाबी किसर्वर पर प्रकाशित किया गया." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "चाबी प्रकाशित करते समय एरर हो गया." @@ -3381,14 +3375,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "कनेक्शन को निष्क्रिय करने में विफल: कनेक्शन नहीं मिला." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "पास के वाई-फाई नेटवर्क" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "कनेक्शन जोड़ें" @@ -3465,6 +3459,7 @@ msgid "yes" msgstr "हाँ" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "यंत्र" @@ -3647,7 +3642,7 @@ msgstr "कनेक्शन दिखाइये %(name)s" msgid "Computer" msgstr "कंप्यूटर" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection" msgid "Connections" @@ -3670,7 +3665,7 @@ msgstr "इनएक्टिव" msgid "Create..." msgstr "बनाएँ…" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "ओपन वीपीएन" @@ -3694,7 +3689,7 @@ msgstr "" "आंतरिक सर्विसस उपयोग करने के लिये. आप बाकी सब इंटरनेट {box_name} के जरिए उपयोग कर " "सकते हैं अगर अापको और सुरक्षा और गुमनामी चाहिये." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3705,11 +3700,45 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "ओपनवीपीएन सर्वर सक्षम करें" -#: plinth/modules/openvpn/templates/openvpn.html:40 +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:42 +#, python-format +msgid "" +"OpenVPN has not yet been setup. Performing a secure setup takes a very long " +"time. Depending on how fast your %(box_name)s is, it may even take hours. " +"If the setup is interrupted, you may start it again." +msgstr "" +"ओपनवीपीएन अभी तक सेटअप नहीं किया गया है. एक सुरक्षित सेटअप करने के लिये बहूत समय होगा. " +"इस पर निर्भर करता है कि आपका%(box_name)s कितना तेज़ है, ये घंटों भी लग सकते. अगर सेटअप " +"बाधित हो गया, फिर से शरु कर सकता है." + +#: plinth/modules/openvpn/templates/openvpn.html:55 +msgid "Start setup" +msgstr "सटअप शुरु करें" + +#: plinth/modules/openvpn/templates/openvpn.html:64 +msgid "OpenVPN setup is running" +msgstr "ओपनवीपीएन सेटअप चल रहा है" + +#: plinth/modules/openvpn/templates/openvpn.html:68 +#, python-format +msgid "" +"To perform a secure setup, this process takes a very long time. Depending " +"on how fast your %(box_name)s is, it may even take hours. If the setup is " +"interrupted, you may start it again." +msgstr "" +"एक सुरक्षित सेटअप करने के लिये बहूत समय होगा. इस पर निर्भर करता है कि आपका" +"%(box_name)s कितना तेज़ है, ये घंटों भी लग सकते. अगर सेटअप बाधित हो गया, फिर से शरु कर " +"सकता है." + +#: plinth/modules/openvpn/templates/openvpn.html:87 msgid "Profile" msgstr "प्रोफ़ाइल" -#: plinth/modules/openvpn/templates/openvpn.html:43 +#: plinth/modules/openvpn/templates/openvpn.html:90 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -3721,8 +3750,7 @@ msgstr "प्रोफ़ाइल" msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " "to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " +"available for most platforms. Click \"Learn more...\" above for recommended " "clients and instructions on how to configure them." msgstr "" "%(box_name)s का वीपीएन से कनेक्ट करने के लिए, आपको एक प्रोफ़ाइल डाउनलोड करना चाहिये " @@ -3731,58 +3759,20 @@ msgstr "" "FreedomBox/Manual/OpenVPN\" title=\"%(box_name)s Manual - OpenVPN" "\">documentation देखें अनुशंसित क्लाइंट और उन्हें कॉन्फ़िगर करने के तरीके देखने के लिये." -#: plinth/modules/openvpn/templates/openvpn.html:55 +#: plinth/modules/openvpn/templates/openvpn.html:100 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "प्रोफ़ाइल हर %(box_name)s यूसर के लिए विशिष्ट है. इसे गुप्त रखें." -#: plinth/modules/openvpn/templates/openvpn.html:66 +#: plinth/modules/openvpn/templates/openvpn.html:111 msgid "Download my profile" msgstr "मेरी प्रोफ़ाइल डाउनलोड करें" -#: plinth/modules/openvpn/templates/openvpn.html:75 -#, python-format -msgid "" -"OpenVPN has not yet been setup. Performing a secure setup takes a very long " -"time. Depending on how fast your %(box_name)s is, it may even take hours. " -"If the setup is interrupted, you may start it again." -msgstr "" -"ओपनवीपीएन अभी तक सेटअप नहीं किया गया है. एक सुरक्षित सेटअप करने के लिये बहूत समय होगा. " -"इस पर निर्भर करता है कि आपका%(box_name)s कितना तेज़ है, ये घंटों भी लग सकते. अगर सेटअप " -"बाधित हो गया, फिर से शरु कर सकता है." - -#: plinth/modules/openvpn/templates/openvpn.html:88 -msgid "Start setup" -msgstr "सटअप शुरु करें" - -#: plinth/modules/openvpn/templates/openvpn.html:95 -msgid "OpenVPN setup is running" -msgstr "ओपनवीपीएन सेटअप चल रहा है" - -#: plinth/modules/openvpn/templates/openvpn.html:99 -#, python-format -msgid "" -"To perform a secure setup, this process takes a very long time. Depending " -"on how fast your %(box_name)s is, it may even take hours. If the setup is " -"interrupted, you may start it again." -msgstr "" -"एक सुरक्षित सेटअप करने के लिये बहूत समय होगा. इस पर निर्भर करता है कि आपका" -"%(box_name)s कितना तेज़ है, ये घंटों भी लग सकते. अगर सेटअप बाधित हो गया, फिर से शरु कर " -"सकता है." - -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "ओपनवीपीएन सर्वर चल रहा है" - -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "ओपनवीपीएन सर्वर नहीं चल रहा है" - -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "सेटअप पूरा हो गया." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "सेटअप विफल." @@ -3806,17 +3796,17 @@ msgstr "" "सीधा कनेक्शन नहीं है. इसके जरूरत है सिर्फ आपके {box_name} के सर्विसस बाकी इंटरनेट से पहुँच " "योग्य नहीं. इसमें इन स्थितियों को शामिल किया गया है:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} एक प्रतिबंधित फ़ायरवॉल के पीछे है." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "{box_name} एक (वायरलेस) रूटर से कनेक्टेड है जिसे आप नियंत्रित नहीं करते हैं." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3824,7 +3814,7 @@ msgstr "" "आपका ISP आपको एक बाहरी IP एड्रेस नहीं दता लेकिन NAT के माध्यम से इंटरनेट कनेक्शन प्रदान " "करता है." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." @@ -3832,38 +3822,40 @@ msgstr "" "आपके ISP आपको एक स्थिर IP एड्रेस प्रदान नहीं करता है और आपके IP एड्रेस बदलाएग जब आप " "इंटरनेट से कनेक्ट होते हैं." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "आपके ISP आने वाले कनेक्शंसस को सीमित करता है." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "पेजकइट सुरंगों और रिवर्स प्रॉक्सी उपयोग करके NAT, फायरवॉल और IP एड्रेस सीमाओं के आसपास " "काम करता है. आप किसी भी पेजकइट सर्विस प्रदाता का उपयोग कर सकते हैं, यह एक उदाहरण है " "pagekite.net. भविष्य में अापका दोस्त का " "{box_name} इसके लिये उपयोग कर सकते हैं." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 #, fuzzy #| msgid "PageKite Account" msgid "PageKite Domain" msgstr "पेजकईट अकाउंट" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "पेजकाइट सक्षम करें" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "सर्वर डोमेन" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3871,84 +3863,74 @@ msgstr "" "अपने पेजकईटसर्वर चूनें. \"pagekite.net\" सेट करें डिफ़ॉल्ट pagekite.net सर्वर उपयोग करने " "के लिए." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "सर्वर पोर्ट" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "अपने पेजकईट सर्वर का पोर्ट (डिफ़ॉल्ट: ८०)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "कईट नाम" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "उदाहरण: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "अमान्य कईट नाम" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "कईट गुप्त" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" "एक कोई का सम्बंधित गुप्त या अपना अकाउंट का डिफ़ॉल्ट गुप्त अगर कोई रहस्य कईट पर सेट है." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "कईट विवरण सेट" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "पेजकईट सर्वर सेट" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "पेजकईट सक्षम किया गया" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "पेजकईट अक्षम किया गया" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "सर्विस सक्षम किया गया:{name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "सर्विस सक्षम किया गया:{name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "प्रोटोकॉल" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "बाहरी (फ्रंटेंड) पोर्ट" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "आंतरिक (फ्रीडमबॉकस) पोर्ट" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "सबडोमेन सक्षम करें" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "हटाई गई कस्टम सर्विस" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -3956,23 +3938,45 @@ msgstr "" "यह सर्विस एक मानक सर्विस के रूप में उपलब्ध है. इसे सक्षम करने के लिए \"मानक सर्विस\" पेज " "का उपयोग करें." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "जोड़ा गया कस्टम सर्विस" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "यह सर्विस पहले से मौजूद है" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "पेजकईट अकाउंट" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "कस्टम सर्विसस" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "सेटिंग्स सहेजें" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "कस्टम सर्विसस" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "मौजूदा कस्टम सर्विसस" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "%(backend_host)s से कनेक्टेड:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "यह सर्विस हटाएं" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "जोड़ा गया कस्टम सर्विस" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -3982,31 +3986,6 @@ msgstr "" "पोर्ट संयोजन का समर्थन नहीं कर सकते है. उदाहरण के लिए, ४४३ के अलावा पोर्ट पर HTTPS " "समस्याओं का कारण बनता है." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "कोई कस्टम सर्विस बनाएं" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "सर्विस जोड़ें" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "मौजूदा कस्टम सर्विसस" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "अाप कोई कस्टम सर्विसस सक्षम नहीं हैं" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "%(backend_host)s से कनेक्टेड:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "यह सर्विस हटाएं" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "अपने वाउचर उपयोग कर freedombox.me सबडोमेन सेटअप करें" @@ -4080,16 +4059,8 @@ msgstr "" "SSH ग्राहक सेटअप देखें instructions" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "स्टैण्डर्ड सर्विसस" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "कस्टम सर्विसस" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "पावर" @@ -4515,6 +4486,101 @@ msgstr "" "security/lesssecureapps\">https://www.google.com/settings/security/" "lesssecureapps)." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "लेबल" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "माउन्ट प्वाइंट" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "उपयोग किया गया" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Share added." +msgid "Share name" +msgstr "शेयर जोड़ा गया." + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "एक्सआयन" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "Share deleted." +msgid "Share enabled." +msgstr "शेयर हटाया गया." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error enabling share: {error_message}" +msgstr "एेरर इजेक्टिग्न डिवाइस: {error_message}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Share edited." +msgid "Share disabled." +msgstr "शेयर संपादित किया गया." + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error disabling share: {error_message}" +msgstr "एेरर इजेक्टिग्न डिवाइस: {error_message}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "सिरएक्स" @@ -4572,7 +4638,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "कॉन्फ़िगरेशन अपडेट किया." @@ -5040,7 +5106,7 @@ msgstr "स्नैपशॉट बनाया गया है." msgid "Storage snapshots configuration updated" msgstr "स्टोरेज स्नैपशॉट कॉंफ़िगरेशन अपडेट किया गया" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "क्रिया त्रुटि: {0} [{1}] [{2}]" @@ -5235,18 +5301,6 @@ msgstr "किसी और यूसर ने डिवाइस माउं msgid "The following storage devices are in use:" msgstr "निम्नलिखित डिस्कस उपयोग में है:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "लेबल" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "माउन्ट प्वाइंट" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "उपयोग किया गया" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "पारटिशन एक्सपांसन" @@ -5346,22 +5400,7 @@ msgstr "" "सेट एक फ़ोल्डर्स का एक अलग सेट का उपयोग करके सिंक्रनाइज़ किया जा सकता है. {box_name} " "पर वेब इंटरफेस सिर्फ \"एडमिन\" समूह के यूसकस के लिए उपलब्ध है." -#: plinth/modules/syncthing/__init__.py:57 -#, fuzzy -#| msgid "" -#| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" -"सक्षम होने पर सिंकतिन्ग का वेब इंटरफेस यहाॅं से उपलब्ध होगा /" -"syncthing. डेस्कटॉप और मोबाइल क्लाइंट्स भी उपलब्ध होगा available." - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "सिंकतिन्ग एप्लिकेशन का प्रशासन करें" @@ -5598,33 +5637,25 @@ msgstr "टोर ब्राउजर" msgid "Orbot: Proxy with Tor" msgstr "अोरबोट: टोर के साथ प्रॉक्सी" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "टोर कॉन्फ़िगरेशन अपडेट किया जा रहा है" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "टोर चल रहा है" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "टोर नहीं चल रहा है" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Hidden Service" msgid "Onion Service" msgstr "हिडन सर्विस" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "पोर्टस" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "रीले" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5633,11 +5664,11 @@ msgstr "" "अगर आपका %(box_name)s एक रूटर या फ़ायरवॉल के पीछे है, आपको यह सुनिश्चित करना चाहिए " "कि पोर्टस खुले हैं, और अगर जरुरत है,पोर्ट-फॉरवर्डेड:" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "सॉक्स" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "एक टोर सॉक्स पोर्ट आपका %(box_name)s र उपलब्ध है, TCP पोर्ट ९०५० पर." @@ -5655,15 +5686,6 @@ msgstr "" "बिटटोरेंट एक पीअर-टू-पीअर फ़ाइल साझा प्रोटोकॉल है. ट्रांसमिशन डेमॉन बिटटोरेंट फ़ाइल साझा " "संभालती है. नोट-बिटटोरेंट अनाम नहीं है." -#: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." -msgid "" -"Access the web interface at /transmission." -msgstr "वेब अंतरफलक यहाॅं पर प्रवेश करें /transmission." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "डायरेक्टरी डाउनलोड करें" @@ -5702,15 +5724,14 @@ msgstr "" #| "tt-rss path on the web server. It can be accessed by any user with a {box_name} login." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "सक्षम होने से, टैनी टैनी आरएसएस /tt-rss पात वेब सर्वर से " "माैजूद होते है. यह किसी एक {box_name} के सात लॉग इन " "कर सकता है." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 #, fuzzy #| msgid "" #| "When using a mobile or desktop application for Tiny Tiny RSS, use the URL " @@ -5723,7 +5744,7 @@ msgstr "" "टैनी टैनी आरएसएस का मोबाइल या डेस्कटॉप एप्लिकेशन उपयोग करते समय, यह यूआरएल/tt-rss-app कनेक्ट करने के लिए उपयोग करें." -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "समाचार फ़ीड्स पढ़ें और सब्सक्राइब करें" @@ -5930,8 +5951,8 @@ msgid "Save Password" msgstr "पासवर्ड सहेजें" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "यूसर बनाये" @@ -5969,7 +5990,7 @@ msgstr "" msgid "Create Account" msgstr "अकाउंट बनाएँ" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "यूसरस" @@ -6104,16 +6125,12 @@ msgstr "" "तो हम इसे ठीक कर सकते हैं. साथ ही, बग रिपोर्ट में " "स्टेटस लॉग संलग्न करें." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "वेब क्लाइंट लॉंच" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "सर्विस %(service_name)s चल रहा है." -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "सर्विस %(service_name)s नहीं चल रहा है." @@ -6165,59 +6182,55 @@ msgstr "भाषा चुनें" msgid "Log in" msgstr "लॉग इन" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "क्लाइंट ऐप्स" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "वेब" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "डेस्कटॉप" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "जीएनयू / लिनक्स" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "विंडोज़" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "मैकओएस" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "मोबाइल" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "प्ले स्टोर" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "एफ-ड्रॉईड" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "ऐप स्टोर" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "पैकेज" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "डेबियन:" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "होमब्रु:" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "आरपीएम:" @@ -6360,6 +6373,14 @@ msgstr "%(package_names)s:%(status)s इंस्टॉलेशन किया msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% पूर्ण" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "वेब क्लाइंट लॉंच" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "क्लाइंट ऐप्स" + #: plinth/views.py:180 msgid "Application enabled" msgstr "एप्लीकेशन सक्षम किया गया है" @@ -6372,6 +6393,68 @@ msgstr "एप्लीकेशन अक्षम किया गया ह msgid "Gujarati" msgstr "" +#~ msgid "OpenVPN server is running" +#~ msgstr "ओपनवीपीएन सर्वर चल रहा है" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "ओपनवीपीएन सर्वर नहीं चल रहा है" + +#~ msgid "Enable PageKite" +#~ msgstr "पेजकाइट सक्षम करें" + +#~ msgid "Service enabled: {name}" +#~ msgstr "सर्विस सक्षम किया गया:{name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "सर्विस सक्षम किया गया:{name}" + +#~ msgid "PageKite Account" +#~ msgstr "पेजकईट अकाउंट" + +#~ msgid "Save settings" +#~ msgstr "सेटिंग्स सहेजें" + +#~ msgid "Create a custom service" +#~ msgstr "कोई कस्टम सर्विस बनाएं" + +#~ msgid "Add Service" +#~ msgstr "सर्विस जोड़ें" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "अाप कोई कस्टम सर्विसस सक्षम नहीं हैं" + +#~ msgid "Standard Services" +#~ msgstr "स्टैण्डर्ड सर्विसस" + +#, fuzzy +#~| msgid "" +#~| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." +#~ msgid "" +#~ "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " +#~ "clients are also available." +#~ msgstr "" +#~ "सक्षम होने पर सिंकतिन्ग का वेब इंटरफेस यहाॅं से उपलब्ध होगा /" +#~ "syncthing. डेस्कटॉप और मोबाइल क्लाइंट्स भी उपलब्ध होगा available." + +#~ msgid "Tor is running" +#~ msgstr "टोर चल रहा है" + +#~ msgid "Tor is not running" +#~ msgstr "टोर नहीं चल रहा है" + +#, fuzzy +#~| msgid "" +#~| "Access the web interface at /transmission." +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "वेब अंतरफलक यहाॅं पर प्रवेश करें /transmission." + #~ msgid "Secret" #~ msgstr "रहस्य" diff --git a/plinth/locale/hu/LC_MESSAGES/django.po b/plinth/locale/hu/LC_MESSAGES/django.po index 0ec858eaa..f71c04fe8 100644 --- a/plinth/locale/hu/LC_MESSAGES/django.po +++ b/plinth/locale/hu/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-11-06 06:04+0000\n" "Last-Translator: Doma Gergő \n" "Language-Team: Hungarian path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "Ha engedélyezett, a Cockpit elérhető lesz a webkiszolgáló /_cockpit/ útvonalán. Használhatja majd a {box_name} eszköz " @@ -682,7 +681,7 @@ msgstr "Általános beállítások" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "Beállítások" @@ -816,7 +815,7 @@ msgstr "Haladó szintű alkalmazások és funkciók elrejtése" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "Fájlmegosztás" @@ -947,17 +946,15 @@ msgstr "Deluge egy webes felülettel rendelkező BitTorrent kliens." #| "'deluge', but you should log in and change it immediately after enabling " #| "this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "Ha engedélyezett, a Deluge webes kliens elérhető lesz a webszerver /deluge útvonalán. Az alapértelmezett jelszó 'deluge', de a " "szolgáltatás engedélyezése után jelentkezz be és azonnal változtasd meg." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "Fájlok letöltése BitTorrent alkalmazások használatával" @@ -978,7 +975,7 @@ msgstr "" "annak megerősítésére, hogy az alkalmazások és a szolgáltatások az elvárt " "módon működnek." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Ellenőrző tesz" @@ -1077,18 +1074,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Beállítások frissítése" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "A beállítás változatlan" @@ -1351,9 +1347,10 @@ msgstr "Leírás" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Állapot" @@ -1473,10 +1470,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Beállítások" @@ -1697,15 +1693,15 @@ msgstr "" msgid "Git" msgstr "Git" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" -msgstr "Tároló létrehozása" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 msgid "Manage Repositories" msgstr "Tárolók kezelése" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" +msgstr "Tároló létrehozása" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 msgid "No repositories available." msgstr "Nincs elérhető tároló." @@ -1758,7 +1754,7 @@ msgid "Edit repository" msgstr "Tároló szerkesztése" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "Hiba történt a beállítás közben." @@ -1943,7 +1939,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "Bővebben..." @@ -2121,7 +2116,7 @@ msgid "I2P Proxy" msgstr "Web proxy" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "Indítás" @@ -2188,9 +2183,7 @@ msgstr "Wiki és blog" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwiki egy egyszerű wiki és blog alkalmazás. Számos könnyűsúlyú " "leírónyelvet támogat, beleértve a Markdown-t és olyan általános bloggolási " @@ -2198,7 +2191,7 @@ msgstr "" "engedélyezett, a blogok és wikik itt lesznek elérhetők: /ikiwiki (ha már létre lett hozva)." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2212,12 +2205,13 @@ msgstr "" "A Felhasználók beállítása oldalon tudod " "módosítani ezeket a jogosultságokat vagy hozzáadhatsz új felhasználókat." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "Wiki alkalmazások megtekintése és szerkesztése" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Típus" @@ -2230,16 +2224,16 @@ msgstr "Adminisztrátori fiók neve" msgid "Admin Account Password" msgstr "Adminisztrátori fiók jelszava" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Wikik és Blogok kezelése" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Wiki vagy Blog létrehozása" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Wikik és Blogok kezelése" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "Nincs elérhető wiki vagy blog." @@ -2460,7 +2454,7 @@ msgstr "Visszavonás" msgid "Obtain" msgstr "Beszerzés" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " @@ -2469,7 +2463,7 @@ msgstr "" "Nincsenek domain-ek beállítva. Előbb állítsd be a " "domain-eket ahhoz, hogy tanúsítványokat kaphass azokhoz." -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " @@ -2478,29 +2472,29 @@ msgstr "" "A {domain} domain tanúsítványa sikeresen visszavonva. Eltarthat néhány " "pillanatig, mire életbe lép." -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "A {domain} domain tanúsítványát nem sikerült visszavonni: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "A {domain} domain sikeresen megkapta a tanúsítványt" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "A {domain} domain nem kapott tanúsítványt: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "{domain} domain-on a tanúsítvány sikeresen törölve" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "{domain} domain-on nem sikerült kitörölni a tanúsítványt: {error}" @@ -2800,13 +2794,13 @@ msgstr "Sérülés engedélyezése" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "Ha le van tiltva, a játékosok nem fognak meghalni ill. megsérülni." -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Cím" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Port" @@ -2932,7 +2926,7 @@ msgstr "Mégse" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Szolgáltatás" @@ -3030,19 +3024,19 @@ msgstr "A kulcs aláírása" msgid "Send the key back to the keyservers" msgstr "A kulcs visszaküldése a kulcskiszolgálónak" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "Importált kulcs." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Kulcs közzététel megszakítva." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Kulcs közzétéve a kulcskiszolgálónak." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "Hiba történt a kulcs közzététele során." @@ -3436,14 +3430,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "Kapcsolat deaktiválása sikertelen: kapcsolat nem található." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "Wi-Fi hálózatok a közelben" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Kapcsolat hozzáadása" @@ -3520,6 +3514,7 @@ msgid "yes" msgstr "igen" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Eszköz" @@ -3704,7 +3699,7 @@ msgstr "%(name)s kapcsolat megjelenítése" msgid "Computer" msgstr "Számítógép" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection" msgid "Connections" @@ -3727,7 +3722,7 @@ msgstr "Inaktív" msgid "Create..." msgstr "Létrehoz..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "OpenVPN" @@ -3753,7 +3748,7 @@ msgstr "" "eszközödön keresztül az Internetet is további biztonság és anonimitás " "érdekében." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3764,38 +3759,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "OpenVPN kiszolgáló engedélyezése" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" -msgstr "Profil" - -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -"Ahhoz, hogy a te %(box_name)s eszközöd virtuális magánhálózatára (VPN) " -"kapcsolódj, le kell töltened a profilt és azt meg kell adnod a mobil vagy " -"asztali géped OpenVPN kliensének. OpenVPN kliensek a legtöbb platformra " -"elérhetőek. Tekintsd meg a dokumentációt az ajánlott " -"kliensekhez és a beállítási utasításokhoz." -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" -"A profil a %(box_name)s eszköz minden egyes felhasználójára egyedi. Tartsd " -"titokban." - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "Saját profilom letöltése" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3807,15 +3775,15 @@ msgstr "" "órákig is eltarthat. Ha a beállítás megszakad, akkor később újra lehet " "kezdeni." -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "Beállítás elindítása" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "OpenVPN beállítás fut" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3826,19 +3794,47 @@ msgstr "" "függően hogy milyen gyors a te %(box_name)s eszközöd, akár órákig is " "eltarthat. Ha a beállítás megszakad, akkor később újra lehet kezdeni." -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "OpenVPN kiszolgáló fut" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" +msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "OpenVPN kiszolgáló nem fut" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, fuzzy, python-format +#| msgid "" +#| "To connect to %(box_name)s's VPN, you need to download a profile and feed " +#| "it to an OpenVPN client on your mobile or desktop machine. OpenVPN " +#| "Clients are available for most platforms. See the manual page " +#| "on recommended clients and instructions on how to configure them." +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" +"Ahhoz, hogy a te %(box_name)s eszközöd virtuális magánhálózatára (VPN) " +"kapcsolódj, le kell töltened a profilt és azt meg kell adnod a mobil vagy " +"asztali géped OpenVPN kliensének. OpenVPN kliensek a legtöbb platformra " +"elérhetőek. Tekintsd meg a dokumentációt az ajánlott " +"kliensekhez és a beállítási utasításokhoz." -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" +"A profil a %(box_name)s eszköz minden egyes felhasználójára egyedi. Tartsd " +"titokban." + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "Saját profilom letöltése" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Beállítás sikerült." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Beállítás sikertelen." @@ -3864,19 +3860,19 @@ msgstr "" "szolgáltatásai nem érhetőek el az internet felől. Ez magában foglalja az " "alábbi eseteket:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} eszközöd egy korlátozott tűzfal mögött van." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" "{box_name} eszközöd egy olyan (vezetéknélküli) router-hez kapcsolódik, " "amelyet te nem állíthatsz be." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3884,7 +3880,7 @@ msgstr "" "Az internetszolgáltatód nem biztosít neked külső IP címet, ehelyett hálózati " "címfordításon (NAT) keresztül tudod elérni az Internetet." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." @@ -3892,17 +3888,23 @@ msgstr "" "Az internetszolgáltatód nem biztosít neked statikus IP címet és az IP címed " "mindig megváltozik, amikor az Internetre csatlakozol." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "Az internetszolgáltatód korlátozza a bejövő kapcsolatokat." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "A PageKite megkerüli a NAT, tűzfal és IP-cím korlátozásokat alagutak és " "fordított proxy-k kombinációjának használatával. Bármely pagekite " @@ -3910,19 +3912,15 @@ msgstr "" "net. A jövőben talán a barátod {box_name} eszközét is lehetőséged lesz " "használni erre a célra." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "PageKite domain" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "PageKite engedélyezése" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "Kiszolgáló domain" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3930,31 +3928,31 @@ msgstr "" "Válaszd ki a pagekite kiszolgálódat. Állítsd „pagekite.net” -re, ha az " "alapértelmezett pagekite.net kiszolgálót szeretnéd használni." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "Kiszolgáló port" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "A pagekite kiszolgálód portja (alapértelmezett: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "Kite név" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "Például: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "Érvénytelen kite név" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "Kite titkos kulcs" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -3962,53 +3960,43 @@ msgstr "" "A kite-hoz kapcsolódó titkos kulcs vagy a fiókod alapértelmezett titkos " "kulcsa, ha nem lett titkos kulcs beállítva a kite-ra." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "Kite részletek beállítva" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "Pagekite kiszolgáló beállítva" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite engedélyezve" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite letiltva" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "Szolgáltatás engedélyezve: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "Szolgáltatás letiltva: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "protokoll" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "külső (frontend) port" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "belső (freedombox) port" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "Aldomének engedélyezése" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "Törölt egyéni szolgáltatás" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -4016,23 +4004,45 @@ msgstr "" "Ez egy szabványosként elérhető szolgáltatás. Kérlek használd a \"Szabványos " "szolgáltatások\" lapot az engedélyezéséhez." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "Egyedi szolgáltatás hozzáadva" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "Ez a szolgáltatás már létezik" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "PageKite fiók" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Egyedi szolgáltatások" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Beállítások mentése" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Egyedi szolgáltatások" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "Meglévő egyedi szolgáltatások" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "csatlakoztatva a következőhöz: %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Szolgáltatás törlése" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "Egyedi szolgáltatás hozzáadva" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -4042,31 +4052,6 @@ msgstr "" "támogatja az összes itt definiálható protokoll/port kombinációkat. Például " "ismert, hogy a HTTPS 443-tól eltérő porton problémákat okozhat." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "Egyedi szolgáltatás létrehozása" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Szolgáltatás hozzáadása" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "Meglévő egyedi szolgáltatások" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "Nincs engedélyezett egyedi szolgáltatás" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "csatlakoztatva a következőhöz: %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Szolgáltatás törlése" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Egy freedombox.me aldomain beállítása az utalványkódoddal" @@ -4142,16 +4127,8 @@ msgstr "" "Tekintsd meg az SSH kliens beállítási instrukciókat" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Szabványos szolgáltatások" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Egyedi szolgáltatások" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Leállítás" @@ -4591,6 +4568,103 @@ msgstr "" "href=\"https://www.google.com/settings/security/lesssecureapps\">https://www." "google.com/settings/security/lesssecureapps)." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +#, fuzzy +#| msgid "Select Disk or Partition" +msgid "Select disks for sharing" +msgstr "Válaszd ki a lemezt vagy partíciót" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "Címke" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Csatolási pont" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "Felhasznált" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Share added." +msgid "Share name" +msgstr "Megosztás hozzáadva." + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Műveletek" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "Share deleted." +msgid "Share enabled." +msgstr "Megosztás törölve." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error enabling share: {error_message}" +msgstr "Hiba történt az eszköz kiadása során: {error_message}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Share edited." +msgid "Share disabled." +msgstr "Megosztás szerkesztve." + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error disabling share: {error_message}" +msgstr "Hiba történt az eszköz kiadása során: {error_message}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "Searx" @@ -4651,7 +4725,7 @@ msgstr "" "Engedélyezi ennek az alkalmazásnak a használatát bárkinek, aki el tudja érni." #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "Beállítások frissítve." @@ -5147,7 +5221,7 @@ msgstr "Pillanatkép létrehozva." msgid "Storage snapshots configuration updated" msgstr "Tárolási pillanatképek konfigurációja frissítve" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "Hiba a művelet közben: {0} [{1}] [{2}]" @@ -5347,18 +5421,6 @@ msgstr "Az eszközt egy másik felhasználó felcsatolva." msgid "The following storage devices are in use:" msgstr "A következő tárolóeszközök vannak használatban:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "Címke" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Csatolási pont" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "Felhasznált" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "Partíció kibővítése" @@ -5463,22 +5525,7 @@ msgstr "" "felület csak az \"admin\" csoporthoz tartozó felhasználók számára " "hozzáférhető." -#: plinth/modules/syncthing/__init__.py:57 -#, fuzzy -#| msgid "" -#| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" -"Ha engedélyezett, a Syncthing webes felülete a /" -"syncthing címről érhető el. Asztali és mobil kliensek szintén hozzáférhetőek." - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "A Syncthing alkalmazás beállítása" @@ -5724,33 +5771,25 @@ msgstr "Tor böngésző" msgid "Orbot: Proxy with Tor" msgstr "Orbot: Tor proxy Android platformra" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "A Tor beállításainak frissítése folyamatban" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "A Tor fut" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "A Tor nem fut" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Hidden Service" msgid "Onion Service" msgstr "Rejtett szolgáltatás" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "Portok" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "Továbbító" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5760,11 +5799,11 @@ msgstr "" "található, akkor győződj meg arról, hogy a következő portok nyitva vannak és " "port továbbításuk (port-forward) megfelelő:" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5784,16 +5823,6 @@ msgstr "" "kezeli a Bitorrent fájlmegosztást. Vedd figyelembe, hogy a BitTorrent nem " "biztosít névtelenséget." -#: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." -msgid "" -"Access the web interface at /transmission." -msgstr "" -"A webes felület itt érhető el: /transmission." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "Letöltési könyvtár" @@ -5833,16 +5862,15 @@ msgstr "" #| "tt-rss path on the web server. It can be accessed by any user with a {box_name} login." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Ha engedélyezett, a Tiny Tiny RSS elérhető lesz a webkiszolgáló /tt-rss útvonalán. Elérhető lesz bármely felhasználó számára {box_name} " "felhasználónévvel." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 #, fuzzy #| msgid "" #| "When using a mobile or desktop application for Tiny Tiny RSS, use the URL " @@ -5856,7 +5884,7 @@ msgstr "" "hez, használd a /tt-rss-app URL-t a " "csatlakozáshoz." -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "Hírcsatornákra való feliratkozás / olvasás" @@ -6057,8 +6085,8 @@ msgid "Save Password" msgstr "Jelszó mentése" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "Felhasználó létrehozása" @@ -6097,7 +6125,7 @@ msgstr "" msgid "Create Account" msgstr "Fiók létrehozása" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "Felhasználók" @@ -6232,16 +6260,12 @@ msgstr "" "javítani. Továbbá mellékeld a bejelentésben az állapotnapló tartalmát." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Webes kliens indítása" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "A szolgáltatás fut (%(service_name)s)." -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "A szolgáltatás nem fut (%(service_name)s)." @@ -6292,59 +6316,55 @@ msgstr "Válassz nyelvet" msgid "Log in" msgstr "Bejelentkezés" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "Kliens alkalmazások" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "Webes" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "Asztali" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "GNU/Linux" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "Windows" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "macOS" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "Mobil" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "Play Áruház" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "F-Droid" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "App Store" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "Csomag" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "Debian:" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "Homebrew:" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "RPM:" @@ -6499,6 +6519,14 @@ msgstr "%(package_names)s telepítése: %(status)s" msgid "%(percentage)s%% complete" msgstr "befejezettségi szint: %(percentage)s%%" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Webes kliens indítása" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "Kliens alkalmazások" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Alkalmazás engedélyezve" @@ -6511,6 +6539,69 @@ msgstr "Alkalmazás letiltva" msgid "Gujarati" msgstr "Gudzsaráti" +#~ msgid "OpenVPN server is running" +#~ msgstr "OpenVPN kiszolgáló fut" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "OpenVPN kiszolgáló nem fut" + +#~ msgid "Enable PageKite" +#~ msgstr "PageKite engedélyezése" + +#~ msgid "Service enabled: {name}" +#~ msgstr "Szolgáltatás engedélyezve: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "Szolgáltatás letiltva: {name}" + +#~ msgid "PageKite Account" +#~ msgstr "PageKite fiók" + +#~ msgid "Save settings" +#~ msgstr "Beállítások mentése" + +#~ msgid "Create a custom service" +#~ msgstr "Egyedi szolgáltatás létrehozása" + +#~ msgid "Add Service" +#~ msgstr "Szolgáltatás hozzáadása" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "Nincs engedélyezett egyedi szolgáltatás" + +#~ msgid "Standard Services" +#~ msgstr "Szabványos szolgáltatások" + +#, fuzzy +#~| msgid "" +#~| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." +#~ msgid "" +#~ "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " +#~ "clients are also available." +#~ msgstr "" +#~ "Ha engedélyezett, a Syncthing webes felülete a /" +#~ "syncthing címről érhető el. Asztali és mobil kliensek szintén hozzáférhetőek." + +#~ msgid "Tor is running" +#~ msgstr "A Tor fut" + +#~ msgid "Tor is not running" +#~ msgstr "A Tor nem fut" + +#, fuzzy +#~| msgid "" +#~| "Access the web interface at /transmission." +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "A webes felület itt érhető el: /transmission." + #~ msgid "Secret" #~ msgstr "Titkos kulcs" diff --git a/plinth/locale/id/LC_MESSAGES/django.po b/plinth/locale/id/LC_MESSAGES/django.po index ad7e23bc3..4093c6baa 100644 --- a/plinth/locale/id/LC_MESSAGES/django.po +++ b/plinth/locale/id/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Indonesian (FreedomBox)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2018-11-02 00:44+0000\n" "Last-Translator: ButterflyOfFire \n" "Language-Team: Indonesian /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -671,7 +670,7 @@ msgstr "Konfigurasi Umum" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "Konfigurasi" @@ -792,7 +791,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -905,14 +904,12 @@ msgstr "" #: plinth/modules/deluge/__init__.py:45 msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -930,7 +927,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -1019,18 +1016,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1242,9 +1238,10 @@ msgstr "Tentang" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Status" @@ -1348,10 +1345,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1551,19 +1547,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Actions" -msgid "Create repository" -msgstr "Aksi" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Actions" msgid "Manage Repositories" msgstr "Aksi" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Actions" +msgid "Create repository" +msgstr "Aksi" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 #, fuzzy #| msgid "No wikis or blogs available." @@ -1621,7 +1617,7 @@ msgid "Edit repository" msgstr "Aksi" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1782,7 +1778,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 #, fuzzy #| msgid "Learn more »" msgid "Learn more..." @@ -1941,7 +1936,7 @@ msgid "I2P Proxy" msgstr "Web Proxy (Privoxy)" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -1997,12 +1992,10 @@ msgstr "Kelola Wiki dan Blog" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2011,7 +2004,7 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 #, fuzzy #| msgid "Services and Applications" msgid "View and edit wiki applications" @@ -2019,6 +2012,7 @@ msgstr "Layanan dan Aplikasi" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Tipe" @@ -2031,16 +2025,16 @@ msgstr "Nama Akun Admin" msgid "Admin Account Password" msgstr "Kata sandi Akun Admin" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Kelola Wiki dan Blog" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Membuat Wiki atau Blog" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Kelola Wiki dan Blog" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "Tidak ada wiki atau blogs yang tersedia." @@ -2247,43 +2241,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2539,13 +2533,13 @@ msgstr "Aktifkan PageKite" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Address" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Port" @@ -2651,7 +2645,7 @@ msgstr "Batal" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Layanan" @@ -2746,19 +2740,19 @@ msgstr "Tanda tangani kunci" msgid "Send the key back to the keyservers" msgstr "Kirim kembali kunci ke keyserver" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Batalkan publikasi kunci." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Publikasikan kunci ke keyserver." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -3111,14 +3105,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "Jaringan Wi-Fi terdekat" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Tambah Koneksi" @@ -3195,6 +3189,7 @@ msgid "yes" msgstr "ya" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Perangkat" @@ -3370,7 +3365,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection" msgid "Connections" @@ -3393,7 +3388,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 #, fuzzy #| msgid "Open" msgid "OpenVPN" @@ -3414,7 +3409,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3424,30 +3419,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" -msgstr "Profil" - -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "Unduh profil saya" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3455,15 +3431,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "Jalankan pengaturan" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3471,19 +3447,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" +msgstr "Profil" + +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "Unduh profil saya" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Pengaturan selesai." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Pengaturan gagal." @@ -3506,191 +3496,172 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 #, fuzzy #| msgid "Pagekite" msgid "PageKite Domain" msgstr "Pagekite" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "Aktifkan PageKite" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "nama Kite" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Kostumisasi Layanan" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Kostumisasi Layanan" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Simpan pengaturan" +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Hapus layanan ini" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " "HTTPS on ports other than 443 is known to cause problems." msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Tambah Layanan" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Hapus layanan ini" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3758,16 +3729,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Layanan Standar" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Kostumisasi Layanan" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -4097,6 +4060,101 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Mount Point" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "Digunakan" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Shared" +msgid "Share name" +msgstr "Shared" + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Aksi" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "{name} deleted." +msgid "Share enabled." +msgstr "{name} dihapus." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "Kesalahan pemasangan aplikasi: {error}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Shared" +msgid "Share disabled." +msgstr "Shared" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "Kesalahan pemasangan aplikasi: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -4156,7 +4214,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4607,7 +4665,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "Konfigurasi Umum" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4802,18 +4860,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Mount Point" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "Digunakan" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4898,14 +4944,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -5110,46 +5149,38 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Service" msgid "Onion Service" msgstr "Layanan" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 #, fuzzy msgid "Ports" msgstr "Ports" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 #, fuzzy msgid "Relay" msgstr "Relay" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5165,12 +5196,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -5200,19 +5225,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5403,8 +5427,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5441,7 +5465,7 @@ msgstr "" msgid "Create Account" msgstr "Akun Administrator" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5566,16 +5590,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5632,59 +5652,55 @@ msgstr "Bahasa" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5824,6 +5840,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" @@ -5836,6 +5860,18 @@ msgstr "" msgid "Gujarati" msgstr "" +#~ msgid "Enable PageKite" +#~ msgstr "Aktifkan PageKite" + +#~ msgid "Save settings" +#~ msgstr "Simpan pengaturan" + +#~ msgid "Add Service" +#~ msgstr "Tambah Layanan" + +#~ msgid "Standard Services" +#~ msgstr "Layanan Standar" + #~ msgid "Create a Wiki or Blog" #~ msgstr "Membuat Wiki atau Blog" diff --git a/plinth/locale/it/LC_MESSAGES/django.po b/plinth/locale/it/LC_MESSAGES/django.po index 4f2dd4166..eac61c83d 100644 --- a/plinth/locale/it/LC_MESSAGES/django.po +++ b/plinth/locale/it/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-09-03 21:24+0000\n" "Last-Translator: Swann Martinet \n" "Language-Team: Italian /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "Quando abilitato, Cockpit è disponibile da /cockpit/ percorso del tuo server web. Può essere raggiunto inoltre da/deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "Quando abilitato, il client web Deluge è raggiungibile da /deluge percorso del server web. La password predefinita è 'deluge', " "ma è consigliabile accedere e cambiarla subito dopo l'attivazione di questo " "servizio." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "Scarica file usando applicazioni BitTorrent" @@ -989,7 +986,7 @@ msgstr "" "La diagnostica di sistema eseguirà una serie di controlli per verificare che " "le applicazioni e i servizi stiano funzionino correttamente." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Test Diagnostica" @@ -1089,18 +1086,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Aggiorna impostazioni" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Impostazioni invariate" @@ -1366,9 +1362,10 @@ msgstr "About" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Stato" @@ -1490,10 +1487,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Configurazione" @@ -1711,19 +1707,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create Connection" -msgid "Create repository" -msgstr "Crea Connessione" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create Connection" msgid "Manage Repositories" msgstr "Crea Connessione" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create Connection" +msgid "Create repository" +msgstr "Crea Connessione" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 #, fuzzy #| msgid "No wikis or blogs available." @@ -1784,7 +1780,7 @@ msgid "Edit repository" msgstr "Crea Connessione" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1965,7 +1961,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "Impara di più..." @@ -2139,7 +2134,7 @@ msgid "I2P Proxy" msgstr "Web Proxy" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -2192,16 +2187,14 @@ msgstr "Wiki e Blog" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwi è una semplice applicazione per wiki e per blog. Supporta parecchi " "markup di linguaggio leggeri, incluso Markdown, e comuni funzionalità di " "blogging come commenti e feed RSS. Quando abilitato, i blog e wiki saranno " "disponibili su /ikiwiki/, una volta creati." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, fuzzy, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2215,12 +2208,13 @@ msgstr "" "Configurazione Utente è possibile cambiare questi permessi o aggiungere " "nuovi utenti." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "Vedi e modifica le applicazioni wiki" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Tipo" @@ -2233,16 +2227,16 @@ msgstr "Nome Utente Amministratore" msgid "Admin Account Password" msgstr "Password Profilo Amministratore" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Gestisci Wiki e Blog" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Crea Wiki o Blog" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Gestisci Wiki e Blog" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "Nessun wiki o blog disponibile." @@ -2463,7 +2457,7 @@ msgstr "Revoca" msgid "Obtain" msgstr "Ottieni" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, fuzzy, python-format msgid "" "No domains have been configured. Configure " @@ -2472,7 +2466,7 @@ msgstr "" "Non è stato configurato nessun dominio. Configurante uno per poter ottenere " "dei certificati" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " @@ -2481,29 +2475,29 @@ msgstr "" "Certificato revocato correttamente per il dominio {domain}. Ciò può " "richiedere alcuni minuti per avere effetto." -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "Revoca certificato fallita per il dominio {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "Certificato correttamente ottenuto per il dominio {domain}" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "Rilascio certificato fallito per il dominio {domain}:{error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "Certificato cancellato correttamente per il dominio {domain}" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "Cancellazione certificato fallita per il dominio {domain}:{error}" @@ -2798,13 +2792,13 @@ msgstr "" "Quando disabilitato i giocatori non potranno morire o subire nessun tipo di " "danno." -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Indirizzo" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Porta" @@ -2918,7 +2912,7 @@ msgstr "Cancella" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Servizio" @@ -3016,19 +3010,19 @@ msgstr "Firma la chiave" msgid "Send the key back to the keyservers" msgstr "Rispedisci la chiave ai keyserver" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "Chiave importata." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Pubblicazione chiave cancellata." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Chiave pubblicata nel keyserver." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "Errore sorto durante la pubblicazione della chiave." @@ -3410,14 +3404,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "Disattivazione connessione fallita: connessione non trovata." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "Reti WiFi vicine" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Aggiungi Connessione" @@ -3494,6 +3488,7 @@ msgid "yes" msgstr "si" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Dispositivo" @@ -3679,7 +3674,7 @@ msgstr "Mostra connessione %(name)s" msgid "Computer" msgstr "Computer" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection" msgid "Connections" @@ -3702,7 +3697,7 @@ msgstr "Inattiva" msgid "Create..." msgstr "Crea..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "OpenVPN" @@ -3727,7 +3722,7 @@ msgstr "" "accedere al resto della rete Internet via {box_name} per una maggiore " "sicurezza e anonimità." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3738,36 +3733,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "Abilita server OpenVPN" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" -msgstr "Profilo" - -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -"Per connetterti alla VPN del %(box_name)s, hai bisogno di scaricare un " -"profilo e fornirlo ad un client OpenVPN nel tuo dispositivo mobile o " -"desktop. I client OpenVPN sono disponibili per le principali piattaforme. " -"Vedi il manuale sui client raccomandati e su come configurarli." -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" -"Il profilo è specifico per ogni utente del %(box_name)s. Mantienilo segreto." - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "Scarica il mio profilo" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3779,15 +3749,15 @@ msgstr "" "impiegare anche delle ore. Se il setup viene interroto, è possibile " "riavviarlo." -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "Avvia setup" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "Setup OpenVPN in corso" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3799,19 +3769,45 @@ msgstr "" "alcune ore. Se il setup viene interrotto, è sempre possibile avviarlo di " "nuovo." -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "Il server OpenVPN è in esecuzione" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" +msgstr "Profilo" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "Il server OpenVPN non è in esecuzione" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, fuzzy, python-format +#| msgid "" +#| "To connect to %(box_name)s's VPN, you need to download a profile and feed " +#| "it to an OpenVPN client on your mobile or desktop machine. OpenVPN " +#| "Clients are available for most platforms. See the manual page " +#| "on recommended clients and instructions on how to configure them." +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" +"Per connetterti alla VPN del %(box_name)s, hai bisogno di scaricare un " +"profilo e fornirlo ad un client OpenVPN nel tuo dispositivo mobile o " +"desktop. I client OpenVPN sono disponibili per le principali piattaforme. " +"Vedi il manuale sui client raccomandati e su come configurarli." -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" +"Il profilo è specifico per ogni utente del %(box_name)s. Mantienilo segreto." + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "Scarica il mio profilo" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Setup completato." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Setup fallito." @@ -3836,18 +3832,18 @@ msgstr "" "il tuo {box_name} non è raggiungibile dall'esterno. Questo include le " "situazioni seguenti:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} è valle di un firewall ristretto." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" "{box_name} è connesso ad un router (wireless) di cui non hai il controllo." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3855,7 +3851,7 @@ msgstr "" "Il tuo ISP non ti assegna un IP pubblico ma ti fornisce una connessione " "tramite NAT." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." @@ -3863,38 +3859,40 @@ msgstr "" "Il tuo ISP non ti fornisce un IP statico e il tuo IP cambia ogni volta che " "ti connetti a Internet." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "Il tuo ISP limita le connessioni in entrata." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite raggira il NAT, i firewall, e le limitazioni IP tramite una " "combinazione di tunnel e reverse proxy. Puoi usare un qualsiasi provider di " "pagekite, per esempio pagekite.net. In " "futuro potrebbe essere usare il {box_name} del tuo amico." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 #, fuzzy #| msgid "PageKite Account" msgid "PageKite Domain" msgstr "Profilo PageKite" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "Abilita PageKite" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "Dominio server" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3902,31 +3900,31 @@ msgstr "" "Selezione il tuo server pagekite. Imposta \"pagekite.net\" per usare il " "server predefinito di pagekite.net." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "Porta server" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "Porta del tuo server pagekite (predefinita: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "Nome Kite" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "Esempio: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "Nome Kite invalido" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "Segreto Kite" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -3934,53 +3932,43 @@ msgstr "" "Un segreto associate col kite o il segreto predefinito del tuo profile nel " "caso non sia state impostato nel kite." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "Dettagli kite configurati" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "Server PageKite configurato" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite abilitato" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite disabilitato" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "Servizio abilitato: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "Servizio disabilitato: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "protocollo" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "porta esterna (frontend)" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "porta interna (freedombox)" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "Abilita Sottodomini" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "Cancella servizio personalizzato" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -3988,23 +3976,45 @@ msgstr "" "Questo servizio è disponibile come servizio standard. Prego, usa la pagina " "\"Servizi Standard\" per abilitarli." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "Servizio personalizzato aggiunto" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "Questo servizio è già presente" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "Profilo PageKite" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Servizi personalizzati" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Salva impostazioni" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Servizi personalizzati" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "Servizi personalizzati esistenti" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "connesso a %(backend_host)s: %(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Cancella questo servizio" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "Servizio personalizzato aggiunto" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -4015,31 +4025,6 @@ msgstr "" "Per esempio, è noto che HTTPS, in porte diverse dalla 443, può causare " "problemi." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "Crea un servizio personalizzato" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Aggiungi Servizio" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "Servizi personalizzati esistenti" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "Non hai nessun Servizi Personalizzati abilitati" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "connesso a %(backend_host)s: %(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Cancella questo servizio" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Configura un sottodominio freedombox.me con il tuo voucher" @@ -4116,16 +4101,8 @@ msgstr "" "Vedi le istruzioni della configurazione del client SSH" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Servizi Standard" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Servizi personalizzati" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Power" @@ -4495,6 +4472,99 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Kite name" +msgid "Share name" +msgstr "Nome Kite" + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Azioni" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "PageKite enabled" +msgid "Share enabled." +msgstr "PageKite abilitato" + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +msgid "Error enabling share: {error_message}" +msgstr "Errore installazione applicazione: {error}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "PageKite disabled" +msgid "Share disabled." +msgstr "PageKite disabilitato" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +msgid "Error disabling share: {error_message}" +msgstr "Errore installazione applicazione: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "Searx" @@ -4548,7 +4618,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4971,7 +5041,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -5156,18 +5226,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -5252,14 +5310,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -5460,44 +5511,36 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Service" msgid "Onion Service" msgstr "Servizio" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5513,12 +5556,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -5548,9 +5585,8 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, fuzzy, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Quando abilitato, Cockpit è disponibile da /cockpit/ percorso del tuo server web. Può essere raggiunto inoltre da/tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5750,8 +5786,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5786,7 +5822,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5911,16 +5947,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Avvia client web" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5971,59 +6003,55 @@ msgstr "" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "GNU/Linux" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "Windows" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "macOS" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "F-Droid" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "Debian:" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -6157,6 +6185,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% completata" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Avvia client web" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Applicazione abilitata" @@ -6169,6 +6205,39 @@ msgstr "Applicazione disabilitata" msgid "Gujarati" msgstr "" +#~ msgid "OpenVPN server is running" +#~ msgstr "Il server OpenVPN è in esecuzione" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "Il server OpenVPN non è in esecuzione" + +#~ msgid "Enable PageKite" +#~ msgstr "Abilita PageKite" + +#~ msgid "Service enabled: {name}" +#~ msgstr "Servizio abilitato: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "Servizio disabilitato: {name}" + +#~ msgid "PageKite Account" +#~ msgstr "Profilo PageKite" + +#~ msgid "Save settings" +#~ msgstr "Salva impostazioni" + +#~ msgid "Create a custom service" +#~ msgstr "Crea un servizio personalizzato" + +#~ msgid "Add Service" +#~ msgstr "Aggiungi Servizio" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "Non hai nessun Servizi Personalizzati abilitati" + +#~ msgid "Standard Services" +#~ msgstr "Servizi Standard" + #~ msgid "Secret" #~ msgstr "Segreto" @@ -6427,11 +6496,6 @@ msgstr "" #~ msgid "DAVDroid" #~ msgstr "DAVDroid" -#, fuzzy -#~| msgid "Kite name" -#~ msgid "Archive name" -#~ msgstr "Nome Kite" - #~ msgid "Name for new backup archive." #~ msgstr "Nome del nuovo archivio di backup." diff --git a/plinth/locale/ja/LC_MESSAGES/django.po b/plinth/locale/ja/LC_MESSAGES/django.po index 6a7783ad0..0ebd5f2a9 100644 --- a/plinth/locale/ja/LC_MESSAGES/django.po +++ b/plinth/locale/ja/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,32 +22,32 @@ msgstr "" msgid "Page source" msgstr "" -#: plinth/action_utils.py:298 +#: plinth/action_utils.py:299 #, python-brace-format msgid "Listening on {kind} port {listen_address}:{port}" msgstr "" -#: plinth/action_utils.py:301 +#: plinth/action_utils.py:302 #, python-brace-format msgid "Listening on {kind} port {port}" msgstr "" -#: plinth/action_utils.py:397 +#: plinth/action_utils.py:407 #, python-brace-format msgid "Access URL {url} on tcp{kind}" msgstr "" -#: plinth/action_utils.py:401 +#: plinth/action_utils.py:411 #, python-brace-format msgid "Access URL {url}" msgstr "" -#: plinth/action_utils.py:432 +#: plinth/action_utils.py:442 #, python-brace-format msgid "Connect to {host}:{port}" msgstr "" -#: plinth/action_utils.py:434 +#: plinth/action_utils.py:444 #, python-brace-format msgid "Cannot connect to {host}:{port}" msgstr "" @@ -363,6 +363,7 @@ msgstr "" #: plinth/modules/backups/templates/backups_form.html:35 #: plinth/modules/gitweb/templates/gitweb_create_edit.html:35 +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:47 #: plinth/modules/sharing/templates/sharing_add_edit.html:35 msgid "Submit" msgstr "" @@ -475,71 +476,71 @@ msgstr "" msgid "Restored files from backup." msgstr "" -#: plinth/modules/backups/views.py:187 +#: plinth/modules/backups/views.py:186 msgid "No backup file found." msgstr "" -#: plinth/modules/backups/views.py:195 +#: plinth/modules/backups/views.py:194 msgid "Restore from uploaded file" msgstr "" -#: plinth/modules/backups/views.py:255 +#: plinth/modules/backups/views.py:251 msgid "No additional disks available to add a repository." msgstr "" -#: plinth/modules/backups/views.py:263 +#: plinth/modules/backups/views.py:259 msgid "Create backup repository" msgstr "" -#: plinth/modules/backups/views.py:290 +#: plinth/modules/backups/views.py:286 msgid "Create remote backup repository" msgstr "" -#: plinth/modules/backups/views.py:309 +#: plinth/modules/backups/views.py:305 msgid "Added new remote SSH repository." msgstr "" -#: plinth/modules/backups/views.py:331 +#: plinth/modules/backups/views.py:327 msgid "Verify SSH hostkey" msgstr "" -#: plinth/modules/backups/views.py:357 +#: plinth/modules/backups/views.py:353 msgid "SSH host already verified." msgstr "" -#: plinth/modules/backups/views.py:367 +#: plinth/modules/backups/views.py:363 msgid "SSH host verified." msgstr "" -#: plinth/modules/backups/views.py:381 +#: plinth/modules/backups/views.py:377 msgid "SSH host public key could not be verified." msgstr "" -#: plinth/modules/backups/views.py:383 +#: plinth/modules/backups/views.py:379 msgid "Authentication to remote server failed." msgstr "" -#: plinth/modules/backups/views.py:385 +#: plinth/modules/backups/views.py:381 msgid "Error establishing connection to server: {}" msgstr "" -#: plinth/modules/backups/views.py:396 +#: plinth/modules/backups/views.py:392 msgid "Repository removed." msgstr "" -#: plinth/modules/backups/views.py:410 +#: plinth/modules/backups/views.py:406 msgid "Remove Repository" msgstr "" -#: plinth/modules/backups/views.py:419 +#: plinth/modules/backups/views.py:415 msgid "Repository removed. Backups were not deleted." msgstr "" -#: plinth/modules/backups/views.py:429 +#: plinth/modules/backups/views.py:425 msgid "Unmounting failed!" msgstr "" -#: plinth/modules/backups/views.py:444 plinth/modules/backups/views.py:448 +#: plinth/modules/backups/views.py:440 plinth/modules/backups/views.py:444 msgid "Mounting failed" msgstr "" @@ -583,7 +584,7 @@ msgid "Enable Domain Name System Security Extensions" msgstr "" #: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172 -#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79 +#: plinth/modules/openvpn/views.py:152 plinth/modules/shadowsocks/views.py:79 #: plinth/modules/transmission/views.py:74 msgid "Configuration updated" msgstr "" @@ -608,10 +609,8 @@ msgstr "" #: plinth/modules/cockpit/__init__.py:57 #, python-brace-format msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -621,7 +620,7 @@ msgstr "" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "" @@ -738,7 +737,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -847,14 +846,12 @@ msgstr "" #: plinth/modules/deluge/__init__.py:45 msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -872,7 +869,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -961,18 +958,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1184,9 +1180,10 @@ msgstr "" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "" @@ -1284,10 +1281,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1479,13 +1475,13 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 +msgid "Manage Repositories" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 -msgid "Manage Repositories" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" msgstr "" #: plinth/modules/gitweb/templates/gitweb_configure.html:59 @@ -1538,7 +1534,7 @@ msgid "Edit repository" msgstr "" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1697,7 +1693,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -1844,7 +1839,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -1896,12 +1891,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -1910,12 +1903,13 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -1928,14 +1922,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2134,43 +2128,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2402,13 +2396,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2508,7 +2502,7 @@ msgstr "" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2603,19 +2597,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -2961,14 +2955,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3045,6 +3039,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3218,7 +3213,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "" @@ -3239,7 +3234,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3258,7 +3253,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3268,30 +3263,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3299,15 +3275,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3315,19 +3291,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3348,189 +3338,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3598,16 +3567,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -3931,6 +3892,91 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +msgid "Action" +msgstr "" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, python-brace-format +msgid "Error enabling share: {error_message}" +msgstr "" + +#: plinth/modules/samba/views.py:95 +msgid "Share disabled." +msgstr "" + +#: plinth/modules/samba/views.py:100 +#, python-brace-format +msgid "Error disabling share: {error_message}" +msgstr "" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -3984,7 +4030,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4399,7 +4445,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4579,18 +4625,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4675,14 +4709,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -4881,42 +4908,34 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -4932,12 +4951,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -4967,19 +4980,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5164,8 +5176,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5200,7 +5212,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5325,16 +5337,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5385,59 +5393,55 @@ msgstr "" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5571,6 +5575,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" diff --git a/plinth/locale/kn/LC_MESSAGES/django.po b/plinth/locale/kn/LC_MESSAGES/django.po index 6a7783ad0..0ebd5f2a9 100644 --- a/plinth/locale/kn/LC_MESSAGES/django.po +++ b/plinth/locale/kn/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,32 +22,32 @@ msgstr "" msgid "Page source" msgstr "" -#: plinth/action_utils.py:298 +#: plinth/action_utils.py:299 #, python-brace-format msgid "Listening on {kind} port {listen_address}:{port}" msgstr "" -#: plinth/action_utils.py:301 +#: plinth/action_utils.py:302 #, python-brace-format msgid "Listening on {kind} port {port}" msgstr "" -#: plinth/action_utils.py:397 +#: plinth/action_utils.py:407 #, python-brace-format msgid "Access URL {url} on tcp{kind}" msgstr "" -#: plinth/action_utils.py:401 +#: plinth/action_utils.py:411 #, python-brace-format msgid "Access URL {url}" msgstr "" -#: plinth/action_utils.py:432 +#: plinth/action_utils.py:442 #, python-brace-format msgid "Connect to {host}:{port}" msgstr "" -#: plinth/action_utils.py:434 +#: plinth/action_utils.py:444 #, python-brace-format msgid "Cannot connect to {host}:{port}" msgstr "" @@ -363,6 +363,7 @@ msgstr "" #: plinth/modules/backups/templates/backups_form.html:35 #: plinth/modules/gitweb/templates/gitweb_create_edit.html:35 +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:47 #: plinth/modules/sharing/templates/sharing_add_edit.html:35 msgid "Submit" msgstr "" @@ -475,71 +476,71 @@ msgstr "" msgid "Restored files from backup." msgstr "" -#: plinth/modules/backups/views.py:187 +#: plinth/modules/backups/views.py:186 msgid "No backup file found." msgstr "" -#: plinth/modules/backups/views.py:195 +#: plinth/modules/backups/views.py:194 msgid "Restore from uploaded file" msgstr "" -#: plinth/modules/backups/views.py:255 +#: plinth/modules/backups/views.py:251 msgid "No additional disks available to add a repository." msgstr "" -#: plinth/modules/backups/views.py:263 +#: plinth/modules/backups/views.py:259 msgid "Create backup repository" msgstr "" -#: plinth/modules/backups/views.py:290 +#: plinth/modules/backups/views.py:286 msgid "Create remote backup repository" msgstr "" -#: plinth/modules/backups/views.py:309 +#: plinth/modules/backups/views.py:305 msgid "Added new remote SSH repository." msgstr "" -#: plinth/modules/backups/views.py:331 +#: plinth/modules/backups/views.py:327 msgid "Verify SSH hostkey" msgstr "" -#: plinth/modules/backups/views.py:357 +#: plinth/modules/backups/views.py:353 msgid "SSH host already verified." msgstr "" -#: plinth/modules/backups/views.py:367 +#: plinth/modules/backups/views.py:363 msgid "SSH host verified." msgstr "" -#: plinth/modules/backups/views.py:381 +#: plinth/modules/backups/views.py:377 msgid "SSH host public key could not be verified." msgstr "" -#: plinth/modules/backups/views.py:383 +#: plinth/modules/backups/views.py:379 msgid "Authentication to remote server failed." msgstr "" -#: plinth/modules/backups/views.py:385 +#: plinth/modules/backups/views.py:381 msgid "Error establishing connection to server: {}" msgstr "" -#: plinth/modules/backups/views.py:396 +#: plinth/modules/backups/views.py:392 msgid "Repository removed." msgstr "" -#: plinth/modules/backups/views.py:410 +#: plinth/modules/backups/views.py:406 msgid "Remove Repository" msgstr "" -#: plinth/modules/backups/views.py:419 +#: plinth/modules/backups/views.py:415 msgid "Repository removed. Backups were not deleted." msgstr "" -#: plinth/modules/backups/views.py:429 +#: plinth/modules/backups/views.py:425 msgid "Unmounting failed!" msgstr "" -#: plinth/modules/backups/views.py:444 plinth/modules/backups/views.py:448 +#: plinth/modules/backups/views.py:440 plinth/modules/backups/views.py:444 msgid "Mounting failed" msgstr "" @@ -583,7 +584,7 @@ msgid "Enable Domain Name System Security Extensions" msgstr "" #: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172 -#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79 +#: plinth/modules/openvpn/views.py:152 plinth/modules/shadowsocks/views.py:79 #: plinth/modules/transmission/views.py:74 msgid "Configuration updated" msgstr "" @@ -608,10 +609,8 @@ msgstr "" #: plinth/modules/cockpit/__init__.py:57 #, python-brace-format msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -621,7 +620,7 @@ msgstr "" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "" @@ -738,7 +737,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -847,14 +846,12 @@ msgstr "" #: plinth/modules/deluge/__init__.py:45 msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -872,7 +869,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -961,18 +958,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1184,9 +1180,10 @@ msgstr "" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "" @@ -1284,10 +1281,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1479,13 +1475,13 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 +msgid "Manage Repositories" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 -msgid "Manage Repositories" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" msgstr "" #: plinth/modules/gitweb/templates/gitweb_configure.html:59 @@ -1538,7 +1534,7 @@ msgid "Edit repository" msgstr "" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1697,7 +1693,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -1844,7 +1839,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -1896,12 +1891,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -1910,12 +1903,13 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -1928,14 +1922,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2134,43 +2128,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2402,13 +2396,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2508,7 +2502,7 @@ msgstr "" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2603,19 +2597,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -2961,14 +2955,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3045,6 +3039,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3218,7 +3213,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "" @@ -3239,7 +3234,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3258,7 +3253,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3268,30 +3263,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3299,15 +3275,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3315,19 +3291,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3348,189 +3338,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3598,16 +3567,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -3931,6 +3892,91 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +msgid "Action" +msgstr "" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, python-brace-format +msgid "Error enabling share: {error_message}" +msgstr "" + +#: plinth/modules/samba/views.py:95 +msgid "Share disabled." +msgstr "" + +#: plinth/modules/samba/views.py:100 +#, python-brace-format +msgid "Error disabling share: {error_message}" +msgstr "" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -3984,7 +4030,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4399,7 +4445,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4579,18 +4625,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4675,14 +4709,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -4881,42 +4908,34 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -4932,12 +4951,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -4967,19 +4980,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5164,8 +5176,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5200,7 +5212,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5325,16 +5337,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5385,59 +5393,55 @@ msgstr "" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5571,6 +5575,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" diff --git a/plinth/locale/lt/LC_MESSAGES/django.po b/plinth/locale/lt/LC_MESSAGES/django.po index 61cf8bb77..0780d5c66 100644 --- a/plinth/locale/lt/LC_MESSAGES/django.po +++ b/plinth/locale/lt/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -23,32 +23,32 @@ msgstr "" msgid "Page source" msgstr "" -#: plinth/action_utils.py:298 +#: plinth/action_utils.py:299 #, python-brace-format msgid "Listening on {kind} port {listen_address}:{port}" msgstr "" -#: plinth/action_utils.py:301 +#: plinth/action_utils.py:302 #, python-brace-format msgid "Listening on {kind} port {port}" msgstr "" -#: plinth/action_utils.py:397 +#: plinth/action_utils.py:407 #, python-brace-format msgid "Access URL {url} on tcp{kind}" msgstr "" -#: plinth/action_utils.py:401 +#: plinth/action_utils.py:411 #, python-brace-format msgid "Access URL {url}" msgstr "" -#: plinth/action_utils.py:432 +#: plinth/action_utils.py:442 #, python-brace-format msgid "Connect to {host}:{port}" msgstr "" -#: plinth/action_utils.py:434 +#: plinth/action_utils.py:444 #, python-brace-format msgid "Cannot connect to {host}:{port}" msgstr "" @@ -364,6 +364,7 @@ msgstr "" #: plinth/modules/backups/templates/backups_form.html:35 #: plinth/modules/gitweb/templates/gitweb_create_edit.html:35 +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:47 #: plinth/modules/sharing/templates/sharing_add_edit.html:35 msgid "Submit" msgstr "" @@ -476,71 +477,71 @@ msgstr "" msgid "Restored files from backup." msgstr "" -#: plinth/modules/backups/views.py:187 +#: plinth/modules/backups/views.py:186 msgid "No backup file found." msgstr "" -#: plinth/modules/backups/views.py:195 +#: plinth/modules/backups/views.py:194 msgid "Restore from uploaded file" msgstr "" -#: plinth/modules/backups/views.py:255 +#: plinth/modules/backups/views.py:251 msgid "No additional disks available to add a repository." msgstr "" -#: plinth/modules/backups/views.py:263 +#: plinth/modules/backups/views.py:259 msgid "Create backup repository" msgstr "" -#: plinth/modules/backups/views.py:290 +#: plinth/modules/backups/views.py:286 msgid "Create remote backup repository" msgstr "" -#: plinth/modules/backups/views.py:309 +#: plinth/modules/backups/views.py:305 msgid "Added new remote SSH repository." msgstr "" -#: plinth/modules/backups/views.py:331 +#: plinth/modules/backups/views.py:327 msgid "Verify SSH hostkey" msgstr "" -#: plinth/modules/backups/views.py:357 +#: plinth/modules/backups/views.py:353 msgid "SSH host already verified." msgstr "" -#: plinth/modules/backups/views.py:367 +#: plinth/modules/backups/views.py:363 msgid "SSH host verified." msgstr "" -#: plinth/modules/backups/views.py:381 +#: plinth/modules/backups/views.py:377 msgid "SSH host public key could not be verified." msgstr "" -#: plinth/modules/backups/views.py:383 +#: plinth/modules/backups/views.py:379 msgid "Authentication to remote server failed." msgstr "" -#: plinth/modules/backups/views.py:385 +#: plinth/modules/backups/views.py:381 msgid "Error establishing connection to server: {}" msgstr "" -#: plinth/modules/backups/views.py:396 +#: plinth/modules/backups/views.py:392 msgid "Repository removed." msgstr "" -#: plinth/modules/backups/views.py:410 +#: plinth/modules/backups/views.py:406 msgid "Remove Repository" msgstr "" -#: plinth/modules/backups/views.py:419 +#: plinth/modules/backups/views.py:415 msgid "Repository removed. Backups were not deleted." msgstr "" -#: plinth/modules/backups/views.py:429 +#: plinth/modules/backups/views.py:425 msgid "Unmounting failed!" msgstr "" -#: plinth/modules/backups/views.py:444 plinth/modules/backups/views.py:448 +#: plinth/modules/backups/views.py:440 plinth/modules/backups/views.py:444 msgid "Mounting failed" msgstr "" @@ -584,7 +585,7 @@ msgid "Enable Domain Name System Security Extensions" msgstr "" #: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172 -#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79 +#: plinth/modules/openvpn/views.py:152 plinth/modules/shadowsocks/views.py:79 #: plinth/modules/transmission/views.py:74 msgid "Configuration updated" msgstr "" @@ -609,10 +610,8 @@ msgstr "" #: plinth/modules/cockpit/__init__.py:57 #, python-brace-format msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -622,7 +621,7 @@ msgstr "" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "" @@ -739,7 +738,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -848,14 +847,12 @@ msgstr "" #: plinth/modules/deluge/__init__.py:45 msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -873,7 +870,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -962,18 +959,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1185,9 +1181,10 @@ msgstr "" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "" @@ -1285,10 +1282,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1480,13 +1476,13 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 +msgid "Manage Repositories" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 -msgid "Manage Repositories" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" msgstr "" #: plinth/modules/gitweb/templates/gitweb_configure.html:59 @@ -1539,7 +1535,7 @@ msgid "Edit repository" msgstr "" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1698,7 +1694,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -1845,7 +1840,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -1897,12 +1892,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -1911,12 +1904,13 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -1929,14 +1923,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2135,43 +2129,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2403,13 +2397,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2509,7 +2503,7 @@ msgstr "" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2604,19 +2598,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -2962,14 +2956,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3046,6 +3040,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3219,7 +3214,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "" @@ -3240,7 +3235,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3259,7 +3254,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3269,30 +3264,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3300,15 +3276,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3316,19 +3292,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3349,189 +3339,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3599,16 +3568,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -3932,6 +3893,91 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +msgid "Action" +msgstr "" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, python-brace-format +msgid "Error enabling share: {error_message}" +msgstr "" + +#: plinth/modules/samba/views.py:95 +msgid "Share disabled." +msgstr "" + +#: plinth/modules/samba/views.py:100 +#, python-brace-format +msgid "Error disabling share: {error_message}" +msgstr "" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -3985,7 +4031,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4400,7 +4446,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4580,18 +4626,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4676,14 +4710,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -4882,42 +4909,34 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -4933,12 +4952,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -4968,19 +4981,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5165,8 +5177,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5201,7 +5213,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5326,16 +5338,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5386,59 +5394,55 @@ msgstr "" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5572,6 +5576,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" diff --git a/plinth/locale/nb/LC_MESSAGES/django.po b/plinth/locale/nb/LC_MESSAGES/django.po index e7900ba11..ce76ce852 100644 --- a/plinth/locale/nb/LC_MESSAGES/django.po +++ b/plinth/locale/nb/LC_MESSAGES/django.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-11-12 08:04+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Norwegian Bokmål path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "Når aktivert, er Cockpit tilgjengelig fra /_cockpit/-banen på nettjeneren. Den kan brukes av enhver " @@ -697,7 +696,7 @@ msgstr "Generelt oppsett" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "Sette opp" @@ -829,7 +828,7 @@ msgstr "Viser ikke avanserte programmer og funksjoner" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "Fildeling" @@ -963,18 +962,16 @@ msgstr "Deluge er en BitTorrent-klient som har et Web-grensesnitt." #| "'deluge', but you should log in and change it immediately after enabling " #| "this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "Når den er aktivert, vil Deluge nett-klienten være tilgjengelig fra /deluge på netttjeneren. Standardpassordet er «deluge», men " "du bør logge inn og endre det umiddelbart etter at denne tjenesten er " "aktivert." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "Last ned filer ved bruk av BitTorrent-programmer" @@ -994,7 +991,7 @@ msgstr "" "Systemets diagnostikktest vil kjøre en rekke kontroller på systemet for å få " "bekreftet at programmer og tjenester fungerer som forventet." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Diagnostikktest" @@ -1092,18 +1089,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Oppdater oppsett" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Oppsett uendret" @@ -1358,9 +1354,10 @@ msgstr "Om" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Status" @@ -1478,10 +1475,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Oppsett" @@ -1730,19 +1726,19 @@ msgstr "" msgid "Git" msgstr "Git" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create Repository" -msgid "Create repository" -msgstr "Opprett depot" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create Repository" msgid "Manage Repositories" msgstr "Opprett depot" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create Repository" +msgid "Create repository" +msgstr "Opprett depot" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 #, fuzzy #| msgid "Tor relay port available" @@ -1808,7 +1804,7 @@ msgid "Edit repository" msgstr "Opprett depot" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "En feil oppsto under konfigureringen." @@ -2002,7 +1998,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "Lær mer…" @@ -2194,7 +2189,7 @@ msgid "I2P Proxy" msgstr "Mellomtjener for nettet" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "Start" @@ -2262,16 +2257,14 @@ msgstr "Wiki og Blogg" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwiki er et enkelt wiki- og bloggsystem. Det støtter flere ulike " "lettvektsoppmerkingsspråk, inkludert Markdown, og vanlige bloggfunksjoner " "som kommentarer og RSS-kilder. Når den er aktiv, vil bloggene og wikiene " "bli tilgjengelig på /ikiwiki (etter opprettelsen)." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2285,12 +2278,13 @@ msgstr "" "\"{users_url}\">brukeroppsettet kan du endre disse tilgangene eller " "legge til nye brukere." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "Vis og rediger wiki-programmer" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Type" @@ -2303,16 +2297,16 @@ msgstr "Administratorkonto navn" msgid "Admin Account Password" msgstr "Administratorkonto passord" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Vedlikehold Wiki og Blogg" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Lage Wiki eller Blogg" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Vedlikehold Wiki og Blogg" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "Ingen wikier eller blogger tilgjengelig." @@ -2529,7 +2523,7 @@ msgstr "Inndra (tilbakekall)" msgid "Obtain" msgstr "Innhente" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " @@ -2538,7 +2532,7 @@ msgstr "" "Ingen domener er satt opp. Sett opp domener " "for å kunne skaffe sertifikater for dem." -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " @@ -2547,29 +2541,29 @@ msgstr "" "Sertifikat vellykket tilbakekalt for domenet {domain}. Det kan ta en liten " "stund før dette tar effekt." -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "Klarte ikke å inndra sertifikatet for domenet {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "Sertifikat vellykket innhentet til domene {domain}" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "Klarte ikke å oppnå sertifikat til domene {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "Vellykket sletting av sertifikatet for domenet {domain}" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "Klarte ikke å slette sertifikatet for domenet {domain}: {error}" @@ -2862,13 +2856,13 @@ msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" "Når den ikke er aktiv, kan ikke spillere dø eller ta skade av noe slag." -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Adresse" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Port" @@ -2990,7 +2984,7 @@ msgstr "Kanseller" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Tjeneste" @@ -3088,19 +3082,19 @@ msgstr "Signer nøkkelen" msgid "Send the key back to the keyservers" msgstr "Send nøkkelen tilbake til nøkkeltjenerne" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "Importert nøkkel." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Avbrutt nøkkelutlegging." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Publisert nøkkel til nøkkeltjener." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "Feil oppstått under utlegging av nøkkel." @@ -3493,14 +3487,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "Kunne ikke deaktivere tilkobling: Tilkobling ikke funnet." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "Wi-Fi-nettverk i nærheten" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Legg til tilkobling" @@ -3577,6 +3571,7 @@ msgid "yes" msgstr "Ja" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Enhet" @@ -3762,7 +3757,7 @@ msgstr "Vis forbindelse %(name)s" msgid "Computer" msgstr "Datamaskin" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection" msgid "Connections" @@ -3785,7 +3780,7 @@ msgstr "Slått av (inaktiv)" msgid "Create..." msgstr "Lage ..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "OpenVPN" @@ -3810,7 +3805,7 @@ msgstr "" "Du kan også få tilgang til resten av Internettet via {box_name} med utvidet " "sikkerhet og anonymitet." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3821,37 +3816,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "Aktiver OpenVPN-tjener" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" -msgstr "Profil" - -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -"For å koble til %(box_name)s VPN må du laste ned en profil og legge den til " -"en OpenVPN-klient på mobilen, eller på en stasjonær maskin. OpenVPN-klienter " -"er tilgjengelig for de fleste plattformer. Se manualsiden om " -"anbefalte klienter, og instruksjoner om hvordan de settes opp." -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" -"Profilen er spesifikk for hver enkelt bruker av %(box_name)s. Hold den " -"hemmelig." - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "Last ned min profil" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3862,15 +3831,15 @@ msgstr "" "tid. Avhengig av hvor fort din %(box_name)s er, kan det hende at det tar " "timer. Hvis oppsettingen blir avbrutt, kan du starte den igjen." -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "Start oppsett" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "OpenVPN-oppsett kjører" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3881,19 +3850,46 @@ msgstr "" "av hvor raskt din %(box_name)s er, kan det hende at det tar timer. Hvis " "oppsettingen blir avbrutt, kan du starte den igjen." -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "OpenVPN-tjeneren kjører" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" +msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "OpenVPN-tjeneren kjører ikke" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, fuzzy, python-format +#| msgid "" +#| "To connect to %(box_name)s's VPN, you need to download a profile and feed " +#| "it to an OpenVPN client on your mobile or desktop machine. OpenVPN " +#| "Clients are available for most platforms. See the manual page " +#| "on recommended clients and instructions on how to configure them." +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" +"For å koble til %(box_name)s VPN må du laste ned en profil og legge den til " +"en OpenVPN-klient på mobilen, eller på en stasjonær maskin. OpenVPN-klienter " +"er tilgjengelig for de fleste plattformer. Se manualsiden om " +"anbefalte klienter, og instruksjoner om hvordan de settes opp." -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" +"Profilen er spesifikk for hver enkelt bruker av %(box_name)s. Hold den " +"hemmelig." + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "Last ned min profil" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Oppsettet fullført." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Oppsettet mislyktes." @@ -3918,17 +3914,17 @@ msgstr "" "{box_name}-tjenester ikke nås fra resten av nettet. Dette omfatter de " "følgende situasjoner:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} er bak en begrensende brannmur." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "{box_name} er koblet til en (trådløs) ruter du ikke kan kontrollere." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3936,7 +3932,7 @@ msgstr "" "Din Internett-leverandør gir deg ikke en ekstern IP-adresse, og gir i stedet " "en NAT-et Internett-tilkobling." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." @@ -3944,17 +3940,23 @@ msgstr "" "Internett-leverandøren gir deg ikke en statisk IP-adresse, og IP-adressen " "endres hver gang du kobler deg til Internett." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "Din Internett-leverandør begrenser innkommende oppkoblinger." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite fungerer gjennom NAT, brannmurer og IP-adressebegrensninger ved " "hjelp av en kombinasjon av tunneler og snudde mellomtjenere (reverse proxy). " @@ -3962,19 +3964,15 @@ msgstr "" "\"https://pagekite.net\">pagekite.net. I fremtiden kan det bli mulig å " "bruke kameratens {box_name} til dette." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "PageKite-domene" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "Aktiver PageKite" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "Tjenerdomene" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3982,31 +3980,31 @@ msgstr "" "Velg din PageKite-tjener. Sett «pagekite.net» for å bruke den forvalgte " "pagekite.net-tjeneren." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "Tjenerport" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "Port for din PageKite-tjener (default: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "«Kite»-navn" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "Eksempel: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "Ugyldig «kite»-navn" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "«Kite»-hemmelig" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -4014,53 +4012,43 @@ msgstr "" "En hemmelighet knyttet til «Kite»-en, eller den forvalgte hemmeligheten for " "din konto hvis ingen hemmelighet er satt for «Kite»-en." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "«Kite»-detaljer satt" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "PageKite-tjener satt" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite aktivert" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite deaktivert" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "Tjeneste aktivert: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "Tjeneste deaktivert: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "protokoll" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "Ekstern (frontend) port" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "intern (FreedomBox) port" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "Tillat underdomener (Subdomains)" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "Deaktivert selvvalgt (tilpasset) tjeneste" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -4068,23 +4056,45 @@ msgstr "" "Denne tjenesten er tilgjengelig som en standard tjeneste. Vennligst bruk " "«Standard Services»-siden for å aktivere den." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "Lagt til selvvalgt tjeneste" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "Denne tjenesten finnes allerede" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "PageKite-konto" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Tilpassede tjenester" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Lagre innstillinger" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Tilpassede tjenester" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "Eksisterende selvvalgte tjenester" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "koblet til %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Slett denne tjenesten" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "Lagt til selvvalgt tjeneste" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -4094,31 +4104,6 @@ msgstr "" "alle protokoll-/portkombinasjoner som du kan definere her. For eksempel, " "HTTPS på andre ting enn 443 er kjent for å forårsake problemer." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "Lage en selvvalgt tjeneste" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Legg til tjeneste" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "Eksisterende selvvalgte tjenester" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "Du har ikke noen selvvalgte tjenester aktivert" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "koblet til %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Slett denne tjenesten" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Sett opp et freedombox.me -underdomene med din kupong" @@ -4197,16 +4182,8 @@ msgstr "" "Se oppsettet for SSH-klienten instructions (instruksjoner)" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Standardtjenester" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Tilpassede tjenester" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Strøm" @@ -4642,6 +4619,103 @@ msgstr "" "lesssecureapps\">https://www.google.com/settings/security/lesssecureapps)." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +#, fuzzy +#| msgid "Select Disk or Partition" +msgid "Select disks for sharing" +msgstr "Velg disk eller partisjon" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "Merkelapp" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Monteringspunkt" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "Brukt" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Share added." +msgid "Share name" +msgstr "Deling lagt til." + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Handlinger" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "Share deleted." +msgid "Share enabled." +msgstr "Deling slettet." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error enabling share: {error_message}" +msgstr "Feil ved utløsing av enhet: {error_message}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Share edited." +msgid "Share disabled." +msgstr "Deling redigert." + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error disabling share: {error_message}" +msgstr "Feil ved utløsing av enhet: {error_message}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "Searx" @@ -4701,7 +4775,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "Tillat dette programmet brukt av alle som kan nå det." #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "Konfigurering oppdatert." @@ -5183,7 +5257,7 @@ msgstr "Opprett øyeblikksbilde." msgid "Storage snapshots configuration updated" msgstr "Lagringsavbildings-oppsett oppdatert" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "Handlingsfeil: {0} [{1}] [{2}]" @@ -5386,18 +5460,6 @@ msgstr "Enheten er montert av en annen bruker." msgid "The following storage devices are in use:" msgstr "Følgende lagringsenheter er i bruk:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "Merkelapp" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Monteringspunkt" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "Brukt" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "Partisjonsutvidelse" @@ -5499,22 +5561,7 @@ msgstr "" "med sine egne sett med mapper. Webgrensesnittet er bare tilgjengelig for " "brukere som hører til i «admin»-gruppen." -#: plinth/modules/syncthing/__init__.py:57 -#, fuzzy -#| msgid "" -#| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" -"Når aktivert, vil Syncthings webgrensesnitt være tilgjengelig fra /syncthing. Stasjonære og mobile klienter er også -tilgjengelig (available)." - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "Administrer Syncthing-programmet" @@ -5758,33 +5805,25 @@ msgstr "Tor-nettleseren" msgid "Orbot: Proxy with Tor" msgstr "Orbot: Mellomtjener med Tor" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "Tor-oppsettet oppdateres" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "Tor kjører" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "Tor kjører ikke" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Hidden Service" msgid "Onion Service" msgstr "Skjult tjeneste" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "Porter" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "Videresending" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5793,11 +5832,11 @@ msgstr "" "Hvis din %(box_name)s er bak en ruter eller brannvegg, må du forsikre deg om " "at de følgende portene er åpne, og at portene er videresendt, om nødvendig:" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5817,17 +5856,6 @@ msgstr "" "(overføringsdemon) håndterer BitTorrent-fildeling i bakgrunnen. Merk at " "BitTorrent ikke er anonym." -#: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." -msgid "" -"Access the web interface at /transmission." -msgstr "" -"Tilgang til nettgrensesnittet fra /transmission." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "Last ned katalog" @@ -5867,15 +5895,14 @@ msgstr "" #| "tt-rss path on the web server. It can be accessed by any user with a {box_name} login." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Tiny Tiny RSS er tilgjengelig fra /tt-rss-banen på " "vevtjeneren når den er aktivert. Den er tilgjengelig for enhver bruker med et {box_name}-brukernavn." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 #, fuzzy #| msgid "" #| "When using a mobile or desktop application for Tiny Tiny RSS, use the URL " @@ -5888,7 +5915,7 @@ msgstr "" "Når du bruker et mobilbasert- eller skrivebords-program for Tiny Tiny RSS, " "bruk nettadressen /tt-rss-appfor å koble til." -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "Les og abonner på nyhetsstrømmer" @@ -6093,8 +6120,8 @@ msgid "Save Password" msgstr "Lagre passord" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "Opprett bruker" @@ -6132,7 +6159,7 @@ msgstr "" msgid "Create Account" msgstr "Opprett konto" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "Brukere" @@ -6268,16 +6295,12 @@ msgstr "" "veldig fint om du legger statusloggen ved " "feilrapporten." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Sette i gang en web-klient" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "Tjenesten %(service_name)s kjører." -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "Tjenesten %(service_name)s kjører ikke." @@ -6328,59 +6351,55 @@ msgstr "Velg språk" msgid "Log in" msgstr "Logg inn" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "Klientprogrammer" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "Web" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "Skrivebord" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "Linux|GNU" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "Windows" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "macOS" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "Mobil" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "Play-butikken" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "F-Droid" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "Programbutikk" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "Pakke" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "Debian:" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "Hjemmelaget:" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "RPM:" @@ -6532,6 +6551,14 @@ msgstr "Installere %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% fullført" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Sette i gang en web-klient" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "Klientprogrammer" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Programmet er aktivert" @@ -6544,6 +6571,69 @@ msgstr "Programmet er deaktivert" msgid "Gujarati" msgstr "Gujarati" +#~ msgid "OpenVPN server is running" +#~ msgstr "OpenVPN-tjeneren kjører" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "OpenVPN-tjeneren kjører ikke" + +#~ msgid "Enable PageKite" +#~ msgstr "Aktiver PageKite" + +#~ msgid "Service enabled: {name}" +#~ msgstr "Tjeneste aktivert: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "Tjeneste deaktivert: {name}" + +#~ msgid "PageKite Account" +#~ msgstr "PageKite-konto" + +#~ msgid "Save settings" +#~ msgstr "Lagre innstillinger" + +#~ msgid "Create a custom service" +#~ msgstr "Lage en selvvalgt tjeneste" + +#~ msgid "Add Service" +#~ msgstr "Legg til tjeneste" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "Du har ikke noen selvvalgte tjenester aktivert" + +#~ msgid "Standard Services" +#~ msgstr "Standardtjenester" + +#, fuzzy +#~| msgid "" +#~| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." +#~ msgid "" +#~ "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " +#~ "clients are also available." +#~ msgstr "" +#~ "Når aktivert, vil Syncthings webgrensesnitt være tilgjengelig fra /syncthing. Stasjonære og mobile klienter er også -tilgjengelig (available)." + +#~ msgid "Tor is running" +#~ msgstr "Tor kjører" + +#~ msgid "Tor is not running" +#~ msgstr "Tor kjører ikke" + +#, fuzzy +#~| msgid "" +#~| "Access the web interface at /transmission." +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "Tilgang til nettgrensesnittet fra /" +#~ "transmission." + #~ msgid "Secret" #~ msgstr "Hemmelighet" diff --git a/plinth/locale/nl/LC_MESSAGES/django.po b/plinth/locale/nl/LC_MESSAGES/django.po index d631b0f9b..32889875a 100644 --- a/plinth/locale/nl/LC_MESSAGES/django.po +++ b/plinth/locale/nl/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-10-15 22:52+0000\n" "Last-Translator: ikmaak \n" "Language-Team: Dutch path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "Indien ingeschakeld, is Cockpit beschikbaar op het /" "_cockpit/ pad op de webserver. Het kan geraadpleegd worden door /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "Indien ingeschakeld, is de Deluge web-client beschikbaar via het /deluge pad op de webserver. Het standaardwachtwoord is " "'deluge', maar dit moet zo snel mogelijk na activering gewijzigd worden." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "Download bestanden met BitTorrent toepassingen" @@ -949,7 +946,7 @@ msgstr "" "De systeemdiagnose zal een aantal tests uitvoeren op dit systeem om te " "bevestigen dat de programma's en diensten zoals verwacht functioneren." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Diagnostische test" @@ -1048,18 +1045,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Instelling bijwerken" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Instelling onveranderd" @@ -1316,9 +1312,10 @@ msgstr "Over" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Status" @@ -1437,10 +1434,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Configuratie" @@ -1668,19 +1664,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create Repository" -msgid "Create repository" -msgstr "Maak Repository" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create Repository" msgid "Manage Repositories" msgstr "Maak Repository" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create Repository" +msgid "Create repository" +msgstr "Maak Repository" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 #, fuzzy #| msgid "Tor relay port available" @@ -1746,7 +1742,7 @@ msgid "Edit repository" msgstr "Maak Repository" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "Er is een fout opgetreden tijdens de configuratie." @@ -1926,7 +1922,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "Lees meer..." @@ -2096,7 +2091,7 @@ msgid "I2P Proxy" msgstr "I2P proxy" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "Starten" @@ -2158,9 +2153,7 @@ msgstr "Wiki en Blog" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwiki is een eenvoudig wiki- en blog programma. Het ondersteunt " "verschillende lichtgewicht markup-talen, met inbegrip van Markdown, en " @@ -2168,7 +2161,7 @@ msgstr "" "ingeschakeld, zijn de blogs en wiki's beschikbaar op /" "ikiwiki (indien gemaakt)." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2182,12 +2175,13 @@ msgstr "" "Configuratie kan je deze instellingen wijzigen en nieuwe gebruikers " "registreren." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "Bekijken en bewerken van wiki toepassingen" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Type" @@ -2200,16 +2194,16 @@ msgstr "Beheerdersaccount naam" msgid "Admin Account Password" msgstr "Beheerdersaccount wachtwooord" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Stel Wiki's en Blog's in" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Maak Wiki of Blog" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Stel Wiki's en Blog's in" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "Geen wiki's of blogs beschikbaar." @@ -2430,7 +2424,7 @@ msgstr "Intrekken" msgid "Obtain" msgstr "Verkrijgen" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " @@ -2439,7 +2433,7 @@ msgstr "" "Er zijn geen geconfigureerde domeinen. Stel " "domeinen in om certificaten ervoor te kunnen uitgeven." -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " @@ -2448,29 +2442,29 @@ msgstr "" "Certificaat met succes ingetrokken voor domein {domain}. Het kan enige tijd " "duren voordat het effect heeft." -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "Intrekken certificaat voor domein {domain} mislukt: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "Certificaat voor domein {domain} met succes verkregen" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "Verkrijgen van certificaat voor domein {domain} is mislukt: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "Certificaat met succes verwijderd voor domein {domain}" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "Verwijderen certificaat voor domein {domain} mislukt: {error}" @@ -2762,13 +2756,13 @@ msgstr "Inschakelen Schade" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "Indien uitgeschakeld, kunnen spelers niet sterven of schade oplopen." -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Adres" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Poort" @@ -2886,7 +2880,7 @@ msgstr "Annuleer" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Dienst" @@ -2984,19 +2978,19 @@ msgstr "Sleutel Signeren" msgid "Send the key back to the keyservers" msgstr "Stuur de sleutel terug naar de keyservers" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "Geïmporteerde sleutel." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Sleutelpublicatie geannuleerd." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Sleutel gepubliceerd op keyserver." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "Er is een fout opgetreden tijdens het publiceren van de sleutel." @@ -3378,14 +3372,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "Kan verbinding niet uitschakelen: Verbinding niet gevonden." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "Wi-Fi Netwerken dichtbij" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Verbinding toevoegen" @@ -3462,6 +3456,7 @@ msgid "yes" msgstr "ja" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Apparaat" @@ -3646,7 +3641,7 @@ msgstr "Tonen verbinding %(name)s" msgid "Computer" msgstr "Computer" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "Verbindingen" @@ -3667,7 +3662,7 @@ msgstr "Inactief" msgid "Create..." msgstr "Maak..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "OpenVPN" @@ -3693,7 +3688,7 @@ msgstr "" "mogelijk om de rest van het internetgebruik via {box_name} te leiden, voor " "meer veiligheid en anonimiteit." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3704,36 +3699,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "OpenVPN server Inschakelen" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" -msgstr "Profiel" - -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -"Om te verbinden met de VPN van %(box_name)s moet een profiel worden " -"gedownload, en ingesteld worden in een OpenVPN cliënt op de mobiele of " -"desktop computer. Zie deze (Engelstalige) handleiding met " -"aanbevolen cliënts en gebruiksinstructies." -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" -"Profielen zijn voor iedere gebruiker van %(box_name)s anders. Houd ze geheim." - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "Download mijn profiel" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3744,15 +3714,15 @@ msgstr "" "Afhankelijk van de snelheid van %(box_name)s kan dit zelfs uren duren. Als " "de installatie wordt onderbroken, kan deze opnieuw gestart worden." -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "Setup starten" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "OpenVPN setup draait" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3763,19 +3733,45 @@ msgstr "" "%(box_name)s kan dit soms uren duren. Als de installatie wordt onderbroken, " "kan deze weer opnieuw gestart worden." -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "OpenVPN server draait" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" +msgstr "Profiel" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "OpenVPN server draait niet" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, fuzzy, python-format +#| msgid "" +#| "To connect to %(box_name)s's VPN, you need to download a profile and feed " +#| "it to an OpenVPN client on your mobile or desktop machine. OpenVPN " +#| "Clients are available for most platforms. See the manual page " +#| "on recommended clients and instructions on how to configure them." +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" +"Om te verbinden met de VPN van %(box_name)s moet een profiel worden " +"gedownload, en ingesteld worden in een OpenVPN cliënt op de mobiele of " +"desktop computer. Zie deze (Engelstalige) handleiding met " +"aanbevolen cliënts en gebruiksinstructies." -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" +"Profielen zijn voor iedere gebruiker van %(box_name)s anders. Houd ze geheim." + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "Download mijn profiel" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Instelling voltooid." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Instelling mislukt." @@ -3800,19 +3796,19 @@ msgstr "" "Dit is alleen vereist als de diensten op {box_name} niet te bereiken zijn " "vanaf de rest van internet. Dit is het geval in de volgende situaties:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} is verbonden achter een beperkende firewall." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" "{box_name} is verbonden met een (wireless) router die niet onder eigen " "controle staat." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3820,7 +3816,7 @@ msgstr "" "De internetprovider geeft geen extern IP adres maar maakt gebruik van een " "NAT verbinding." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." @@ -3828,17 +3824,23 @@ msgstr "" "De internetprovider geeft geen statisch IP adres, en het IP adres verandert " "telkens wanneer u verbinding maakt met internet." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "De internetprovider beperkt inkomende verbindingen." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite omzeilt NAT, firewalls en IP-adres beperkingen door een combinatie " "van tunnels en reverse proxies. Er kan gebruik gemaakt worden van iedere " @@ -3846,19 +3848,15 @@ msgstr "" "\">pagekite.net. In de toekomst is het misschien mogelijk om de " "{box_name} van een van je vrienden te gebruiken." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "PageKite domein" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "PageKite Inschakelen" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "Serverdomein" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3866,31 +3864,31 @@ msgstr "" "Selecteer een pagekite server. Gebruik \"pagekite.net\" om de standaard " "pagekite.net server te gebruiken." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "Serverpoort" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "Poort voor de pagekite server (default: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "Kitenaam" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "Voorbeeld: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "Foute kite-naam" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "Kite-geheim" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -3898,53 +3896,43 @@ msgstr "" "Het wachtwoord dat met deze kite is verbonden, en het standaard wachtwoord " "voor deze account als deze kite geen eigen wachtwoord heeft." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "Kite details ingesteld" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "PageKite server ingeschakeld" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite ingeschakeld" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite uitgeschakeld" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "Dienst ingeschakeld: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "Dienst uitgeschakeld: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "protocol" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "externe (frontend) poort" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "interne (freedombox) poort" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "Subdomeinen Inschakelen" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "Verwijderde aangepaste dienst" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -3952,23 +3940,45 @@ msgstr "" "Deze dienst is beschikbaar als een standaarddienst. Gebruik de \"Standaard " "Diensten\" pagina." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "Aangepaste dienst toevoegen" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "Deze dienst bestaat al" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Aangepaste Diensten" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Instellingen opslaan" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Aangepaste Diensten" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "Bestaande aangepaste diensten" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "verbonden met %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Verwijder deze dienst" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "Aangepaste dienst toevoegen" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -3979,31 +3989,6 @@ msgstr "" "bijvoorbeeld bekend dat HTTPS servers die niet op poort 443 worden ingesteld " "problemen opleveren." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "Maak een aangepaste dienst" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Dienst toevoegen" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "Bestaande aangepaste diensten" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "Er zijn geen aangepaste diensten ingeschakeld" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "verbonden met %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Verwijder deze dienst" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Stel een freedombox.me subdomein in met uw voucher" @@ -4082,16 +4067,8 @@ msgstr "" "Zie de SSH cliënt setup instructies (Engelstalig)" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Standaard Diensten" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Aangepaste Diensten" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Power" @@ -4522,6 +4499,103 @@ msgstr "" "(https://" "www.google.com/settings/security/lesssecureapps)." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +#, fuzzy +#| msgid "Select Disk or Partition" +msgid "Select disks for sharing" +msgstr "Schijf of partitie selecteren" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "Label" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Koppelpunt" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "Gebruikt" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Share added." +msgid "Share name" +msgstr "Gedeelde map toegevoegd." + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Acties" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "Share deleted." +msgid "Share enabled." +msgstr "Gedeelde map verwijderd." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "Fout bij het installeren van de toepassing: {error}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Share edited." +msgid "Share disabled." +msgstr "Gedeelde map bewerkt." + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "Fout bij het installeren van de toepassing: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "Searx" @@ -4582,7 +4656,7 @@ msgstr "" "heeft." #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "Configuratie bijgewerkt." @@ -5043,7 +5117,7 @@ msgstr "Gemaakte snapshot." msgid "Storage snapshots configuration updated" msgstr "Opslag van Snapshots configuratie is bijgewerkt" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "Actiefout: {0} [{1}] [{2}]" @@ -5234,18 +5308,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "De volgende opslagapparaten zijn in gebruik:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "Label" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Koppelpunt" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "Gebruikt" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "Partitie Vergroting" @@ -5350,23 +5412,7 @@ msgstr "" "{box_name} is alleen beschikbaar voor gebruikers die tot de \"admin\"-groep " "behoren." -#: plinth/modules/syncthing/__init__.py:57 -#, fuzzy -#| msgid "" -#| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" -"Indien ingeschakeld, zal de webinterface van Syncthing toegankelijk zijn " -"vanaf /syncthing. Toepassingen voor desktop " -"computers en mobiele apparaten zijn ook beschikbaar." - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "Beheer Syncthing toepassing" @@ -5616,33 +5662,25 @@ msgstr "Tor Browser" msgid "Orbot: Proxy with Tor" msgstr "Orbot: Proxy met Tor" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "Tor configuratie wordt bijgewerkt" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "Tor draait" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "Tor draait niet" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Hidden Service" msgid "Onion Service" msgstr "Hidden Service" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "Poorten" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "Relay" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5652,11 +5690,11 @@ msgstr "" "belangrijk te zorgen dat de volgende poorten open staan en indien nodig " "worden doorgeleid:" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "Een Tor SOCKS poort is beschikbaar op %(box_name)s, op TCP poort 9050." @@ -5675,16 +5713,6 @@ msgstr "" "daemon voorziet in Bittorrent bestandsdelingdiensten. Houd in gedachten dat " "BitTorrent gebruik niet anoniem is." -#: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." -msgid "" -"Access the web interface at /transmission." -msgstr "" -"Gebruik de web-interface van /transmission." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "Opslagmap" @@ -5724,15 +5752,14 @@ msgstr "" #| "tt-rss path on the web server. It can be accessed by any user with a {box_name} login." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Indien ingeschakeld, is Tiny Tiny RSS beschikbaar door het / tt-rss pad op de webserver. Het is beschikbaar voor elke gebruiker met een {box_name} login." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 #, fuzzy #| msgid "" #| "When using a mobile or desktop application for Tiny Tiny RSS, use the URL " @@ -5746,7 +5773,7 @@ msgstr "" "gebruikt, voer dan de URL /tt-rss-app in om te " "verbinden." -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "Lezen en abonneren op nieuwsfeeds" @@ -5949,8 +5976,8 @@ msgid "Save Password" msgstr "Wachtwoord Opslaan" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "Nieuwe gebruiker registreren" @@ -5988,7 +6015,7 @@ msgstr "" msgid "Create Account" msgstr "Account aanmaken" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "Gebruikers" @@ -6125,16 +6152,12 @@ msgstr "" "(Engelstalig) zodat we deze kunnen verhelpen. Voeg alstublieft het Status Log toe aan de bug-reportage." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Start web cliënt" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "Service %(service_name)s wordt uitgevoerd." -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "Service %(service_name)s is niet actief." @@ -6185,59 +6208,55 @@ msgstr "Selecteer taal" msgid "Log in" msgstr "Aanmelden" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "Cliënttoepassingen" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "Web" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "Desktop" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "GNU/Linux" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "Windows" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "macOS" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "Mobiel" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "Play Store" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "F-Droid" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "App Store" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "Pakket" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "Debian:" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "Homebrew:" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "RPM:" @@ -6387,6 +6406,14 @@ msgstr "Installeren van %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% voltooid" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Start web cliënt" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "Cliënttoepassingen" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Toepassing ingeschakeld" @@ -6399,6 +6426,69 @@ msgstr "Toepassing uitgeschakeld" msgid "Gujarati" msgstr "Gujarati" +#~ msgid "OpenVPN server is running" +#~ msgstr "OpenVPN server draait" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "OpenVPN server draait niet" + +#~ msgid "Enable PageKite" +#~ msgstr "PageKite Inschakelen" + +#~ msgid "Service enabled: {name}" +#~ msgstr "Dienst ingeschakeld: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "Dienst uitgeschakeld: {name}" + +#~ msgid "PageKite Account" +#~ msgstr "PageKite Account" + +#~ msgid "Save settings" +#~ msgstr "Instellingen opslaan" + +#~ msgid "Create a custom service" +#~ msgstr "Maak een aangepaste dienst" + +#~ msgid "Add Service" +#~ msgstr "Dienst toevoegen" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "Er zijn geen aangepaste diensten ingeschakeld" + +#~ msgid "Standard Services" +#~ msgstr "Standaard Diensten" + +#, fuzzy +#~| msgid "" +#~| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." +#~ msgid "" +#~ "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " +#~ "clients are also available." +#~ msgstr "" +#~ "Indien ingeschakeld, zal de webinterface van Syncthing toegankelijk zijn " +#~ "vanaf /syncthing. Toepassingen voor desktop " +#~ "computers en mobiele apparaten zijn ook beschikbaar." + +#~ msgid "Tor is running" +#~ msgstr "Tor draait" + +#~ msgid "Tor is not running" +#~ msgstr "Tor draait niet" + +#, fuzzy +#~| msgid "" +#~| "Access the web interface at /transmission." +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "Gebruik de web-interface van /transmission." + #~ msgid "Secret" #~ msgstr "Geheim" diff --git a/plinth/locale/pl/LC_MESSAGES/django.po b/plinth/locale/pl/LC_MESSAGES/django.po index 652410425..587bcf9eb 100644 --- a/plinth/locale/pl/LC_MESSAGES/django.po +++ b/plinth/locale/pl/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-11-18 18:04+0000\n" "Last-Translator: Radek Pasiok \n" "Language-Team: Polish path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "Jeśli Cockpit zostanie włączony, dostępny jest na serwerze pod adresem /_cockpit/. Dostęp do niego mają /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "Kiedy jest uruchomiony jest dostępny z adresu /deluge. Standardowe hasło to \"deluge\", powinno ono być zmienione zaraz po " "zalogowaniu." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "Ściągnij pliki korzystając z aplikacji BitTorrent" @@ -979,7 +976,7 @@ msgstr "" "Diagnostyka systemu testuje czy aplikacje i usługi na twiom systemie " "dzialają jak należy." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Test diagnostyczny" @@ -1078,18 +1075,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Aktualizuj ustawienia" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Ustawienie bez zmian" @@ -1343,9 +1339,10 @@ msgstr "Informacje" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Stan" @@ -1459,10 +1456,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Konfiguracja" @@ -1684,19 +1680,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create Repository" -msgid "Create repository" -msgstr "Utwórz repozytorium" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create Repository" msgid "Manage Repositories" msgstr "Utwórz repozytorium" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create Repository" +msgid "Create repository" +msgstr "Utwórz repozytorium" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 msgid "No repositories available." msgstr "" @@ -1757,7 +1753,7 @@ msgid "Edit repository" msgstr "Utwórz repozytorium" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1927,7 +1923,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 #, fuzzy #| msgid "Learn more »" msgid "Learn more..." @@ -2088,7 +2083,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -2140,12 +2135,10 @@ msgstr "Wiki i blog" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2154,7 +2147,7 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 #, fuzzy #| msgid "Services and Applications" msgid "View and edit wiki applications" @@ -2162,6 +2155,7 @@ msgstr "Aplikacje i usługi" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Typ" @@ -2174,14 +2168,14 @@ msgstr "Nazwa konta administratora" msgid "Admin Account Password" msgstr "Hasło konta administratora" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2389,43 +2383,43 @@ msgstr "Unieważnij" msgid "Obtain" msgstr "Uzyskaj" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2679,13 +2673,13 @@ msgstr "Włącz zniszczenia" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2785,7 +2779,7 @@ msgstr "Anuluj" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2880,19 +2874,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -3238,14 +3232,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3322,6 +3316,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Urządzenie" @@ -3495,7 +3490,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection refused" msgid "Connections" @@ -3518,7 +3513,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3537,7 +3532,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3547,30 +3542,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3578,15 +3554,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3594,19 +3570,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3627,189 +3617,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Ustaw subdomenę freedombox.me jeśli masz kupon" @@ -3882,16 +3851,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Zasilanie" @@ -4226,6 +4187,99 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +#, fuzzy +#| msgid "Select Disk or Partition" +msgid "Select disks for sharing" +msgstr "Zaznacz dysk lub partycję" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Punkt montowania" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "W użyciu" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Akcje" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "Błąd podczas instalowania aplikacji: {error}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Application disabled" +msgid "Share disabled." +msgstr "Aplikacja wyłączona" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "Błąd podczas instalowania aplikacji: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -4279,7 +4333,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4712,7 +4766,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "Zaktualizowano ustawienia praw dostępu" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4907,18 +4961,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "Używane są następujące dyski:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Punkt montowania" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "W użyciu" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -5009,14 +5051,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -5217,44 +5252,36 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Dynamic DNS Service" msgid "Onion Service" msgstr "Usługa dynamicznego DNS" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5270,12 +5297,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -5309,22 +5330,21 @@ msgstr "" #| "_cockpit/ path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Jeśli Cockpit zostanie włączony, dostępny jest na serwerze pod adresem /_cockpit/. Dostęp do niego mają użytkownicy {box_name} z do grupy administratorów." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5515,8 +5535,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5554,7 +5574,7 @@ msgstr "" msgid "Create Account" msgstr "Utwórz konto" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5695,16 +5715,12 @@ msgstr "" "issues\">Zgłoś błąd abyśmy mogli go naprawić. Dołącz również plik dziennika do raportu błędu." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Uruchom klienta przeglądarkowego" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "Usługa %(service_name)s jest uruchomiona." -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "Usługa %(service_name)s nie jest uruchomiona." @@ -5758,67 +5774,61 @@ msgstr "Język" msgid "Log in" msgstr "Zaloguj się" -#: plinth/templates/clients.html:29 -#, fuzzy -#| msgid "Chat Client" -msgid "Client Apps" -msgstr "Klient czatu" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 #, fuzzy #| msgid "Chat Client" msgid "Desktop" msgstr "Klient czatu" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 #, fuzzy #| msgid "Dynamic DNS Client" msgid "Mobile" msgstr "Klient Dynamic DNS" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 #, fuzzy #| msgid "Home" msgid "Homebrew:" msgstr "Dom" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5967,6 +5977,16 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Uruchom klienta przeglądarkowego" + +#: plinth/templates/toolbar.html:47 +#, fuzzy +#| msgid "Chat Client" +msgid "Client Apps" +msgstr "Klient czatu" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Aplikacja włączona" diff --git a/plinth/locale/pt/LC_MESSAGES/django.po b/plinth/locale/pt/LC_MESSAGES/django.po index 0503eed5a..793d39c9e 100644 --- a/plinth/locale/pt/LC_MESSAGES/django.po +++ b/plinth/locale/pt/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-06-22 06:01+0000\n" "Last-Translator: adaragao \n" "Language-Team: Portuguese /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -705,7 +704,7 @@ msgstr "Configuração Geral" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "Configurar" @@ -850,7 +849,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -961,14 +960,12 @@ msgstr "" #: plinth/modules/deluge/__init__.py:45 msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -986,7 +983,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -1075,18 +1072,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Definição inalterada" @@ -1306,9 +1302,10 @@ msgstr "" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Estado" @@ -1408,10 +1405,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Configuração" @@ -1613,19 +1609,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create new repository" -msgid "Create repository" -msgstr "Criar novo repositório" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create new repository" msgid "Manage Repositories" msgstr "Criar novo repositório" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create new repository" +msgid "Create repository" +msgstr "Criar novo repositório" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 msgid "No repositories available." msgstr "" @@ -1685,7 +1681,7 @@ msgid "Edit repository" msgstr "Criar novo repositório" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1844,7 +1840,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -1997,7 +1992,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -2051,12 +2046,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2065,7 +2058,7 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 #, fuzzy #| msgid "Services and Applications" msgid "View and edit wiki applications" @@ -2073,6 +2066,7 @@ msgstr "Serviços e Aplicações" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -2085,14 +2079,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2296,43 +2290,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2584,13 +2578,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2698,7 +2692,7 @@ msgstr "" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2799,19 +2793,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -3157,14 +3151,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3241,6 +3235,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3414,7 +3409,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection refused" msgid "Connections" @@ -3437,7 +3432,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3456,7 +3451,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3466,30 +3461,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3497,15 +3473,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3513,19 +3489,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3546,189 +3536,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3796,16 +3765,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -4133,6 +4094,99 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Archive name" +msgid "Share name" +msgstr "Nome do arquivo" + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Applications" +msgid "Action" +msgstr "Aplicações" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "Erro a instalar a aplicação: {error}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Applications" +msgid "Share disabled." +msgstr "Aplicações" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "Erro a instalar a aplicação: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -4186,7 +4240,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 #, fuzzy #| msgid "Configuration updated" msgid "Configuration updated." @@ -4610,7 +4664,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "Configuração atualizada" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4794,18 +4848,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4891,14 +4933,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -5101,44 +5136,36 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 #, fuzzy #| msgid "Configuration updated" msgid "Tor configuration is being updated" msgstr "Configuração atualizada" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5154,12 +5181,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -5189,19 +5210,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5392,8 +5412,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5428,7 +5448,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5556,17 +5576,13 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, fuzzy, python-format #| msgid "Service discovery server is running" msgid "Service %(service_name)s is running." msgstr "O Servidor da descoberta do serviço está a correr" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, fuzzy, python-format #| msgid "Service discovery server is not running" msgid "Service %(service_name)s is not running." @@ -5620,59 +5636,55 @@ msgstr "Língua" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5811,6 +5823,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 #, fuzzy #| msgid "Applications" @@ -5861,9 +5881,6 @@ msgstr "" #~ msgid "chrony client in contact with servers" #~ msgstr "Cliente NTP em contacto com servidores" -#~ msgid "Archive name" -#~ msgstr "Nome do arquivo" - #~ msgid "Name for new backup archive." #~ msgstr "Nome para o novo arquivo de backup." diff --git a/plinth/locale/ru/LC_MESSAGES/django.po b/plinth/locale/ru/LC_MESSAGES/django.po index 7b3ffbaab..0860f76d8 100644 --- a/plinth/locale/ru/LC_MESSAGES/django.po +++ b/plinth/locale/ru/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-07-22 17:06+0000\n" "Last-Translator: Igor \n" "Language-Team: Russian path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "Когда включен, Cockpit доступен на /_cockpit/ на " "веб-сервере. Он может быть доступен на любому " @@ -716,7 +715,7 @@ msgstr "Общие настройки" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "Настроить" @@ -849,7 +848,7 @@ msgstr "" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "Обмен Файлами" @@ -984,17 +983,15 @@ msgstr "Deluge это клиент BitTorrent, имеющий веб-интер #| "'deluge', but you should log in and change it immediately after enabling " #| "this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "Когда запущен, Deluge веб-клиент доступен по адресу: /" "deluge на веб-сервере. Пароль по умолчанию 'deluge', но вы должны " "войти и изменить его сразу же после включения этой службы." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "Загружать файлы используя приложения BitTorrent" @@ -1014,7 +1011,7 @@ msgstr "" "Диагностический тест системы проведёт ряд проверок, чтобы убедиться, что " "приложения и службы работают как положено." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Диагностический тест" @@ -1112,18 +1109,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Обновить настройки" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Настройки без изменений" @@ -1380,9 +1376,10 @@ msgstr "О службе" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Статус" @@ -1504,10 +1501,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Конфигурация" @@ -1743,19 +1739,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create Repository" -msgid "Create repository" -msgstr "Создать репозиторий" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create Repository" msgid "Manage Repositories" msgstr "Создать репозиторий" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create Repository" +msgid "Create repository" +msgstr "Создать репозиторий" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 #, fuzzy #| msgid "Tor relay port available" @@ -1821,7 +1817,7 @@ msgid "Edit repository" msgstr "Создать репозиторий" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "Произошла ошибка во время настройки." @@ -2000,7 +1996,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "Подробнее..." @@ -2177,7 +2172,7 @@ msgid "I2P Proxy" msgstr "Web-прокси" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "Запуск" @@ -2236,16 +2231,14 @@ msgstr "Вики и Блог" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwiki это простое приложение wiki и блога. Оно поддерживает легковесные " "языки разметки, включая Markdown, и основную функциональность блоков, как " "комментарии и RSS-каналы. Когда включен, блоги и вики доступны по адресу /ikiwiki (после создания)." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2259,12 +2252,13 @@ msgstr "" "href=\"{users_url}\">Конфигурация пользователей вы можете изменить " "разрешения или добавить новых пользователей." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "Просмотр и редактирование приложений Wiki" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Тип" @@ -2277,16 +2271,16 @@ msgstr "Имя учетной записи администратора" msgid "Admin Account Password" msgstr "Пароль учетной записи администратора" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Управление Блогами и Вики" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Создать Блог или Вики" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Управление Блогами и Вики" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "Нет доступных вики или блогов." @@ -2503,7 +2497,7 @@ msgstr "Отменить" msgid "Obtain" msgstr "Получить" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, fuzzy, python-format #| msgid "" #| "No domains have been configured. Configure domains to be able to obtain " @@ -2515,7 +2509,7 @@ msgstr "" "Не настроено ни одного домена. Настройте домены, чтобы иметь возможность " "получить сертификаты для них." -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " @@ -2524,29 +2518,29 @@ msgstr "" "Сертификат успешно отменен для домена {domain}. Для принятия изменений может " "потребоваться время." -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "Не удалось отозвать сертификат для домена {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "Сертификат успешно получен для домена {domain}" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "Не удалось получить сертификат для домена {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "Сертификат успешно удален для домена {domain}" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "Не удалось удалить сертификат для домена {domain}: {error}" @@ -2843,13 +2837,13 @@ msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" "Когда выключено, игроки не могут умереть или получить урон любого рода." -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Адрес" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Порт" @@ -2973,7 +2967,7 @@ msgstr "Отмена" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Служба" @@ -3070,19 +3064,19 @@ msgstr "Подписать ключ" msgid "Send the key back to the keyservers" msgstr "Отправить ключ на сервер ключей" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "Импортированный ключ." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Отменена публикация ключа." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Опубликованый ключ на сервере ключей." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "Произошла ошибка при публикации ключа." @@ -3469,14 +3463,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "Не удалось разорвать подключение: соединение не найдено." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "Соседние сети Wi-Fi" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Добавить подключение" @@ -3553,6 +3547,7 @@ msgid "yes" msgstr "Да" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Устройство" @@ -3735,7 +3730,7 @@ msgstr "Показать подключение %(name)s" msgid "Computer" msgstr "Компьютер" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection" msgid "Connections" @@ -3758,7 +3753,7 @@ msgstr "Неактивен" msgid "Create..." msgstr "Создать..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "OpenVPN" @@ -3784,7 +3779,7 @@ msgstr "" "также получить доступ к остальной части Интернет через {box_name} для " "дополнительной безопасности и анонимности." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3795,38 +3790,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "Включить сервер OpenVPN" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" -msgstr "Профиль" - -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -"Для подключения к VPN %(box_name)s, вам надо скачать профиль и добавить его " -"в клиент OpenVPN на вашем мобильном устройстве или настольном компьютере. " -"Клиенты OpenVPN доступны для большинства платформ. Смотри Документация с рекомендуемыми клиентами и инструкциями по их " -"настройке." -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" -"Профиль специфичен для каждого пользователя %(box_name)s. Держите профиль в " -"тайне." - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "Скачать мой профиль" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3838,15 +3806,15 @@ msgstr "" "занять продолжительное время. Если установка прерывается, вы можете начать " "её снова." -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "Запуск программы установки" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "Выполняется установка OpenVPN" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3857,19 +3825,47 @@ msgstr "" "от мощности вашего %(box_name)s, это может занять продолжительное время. " "Если установка прерывается, вы можете начать её снова." -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "Сервер OpenVPN выполняется" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" +msgstr "Профиль" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "OpenVPN сервер не выполняется" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, fuzzy, python-format +#| msgid "" +#| "To connect to %(box_name)s's VPN, you need to download a profile and feed " +#| "it to an OpenVPN client on your mobile or desktop machine. OpenVPN " +#| "Clients are available for most platforms. See the manual page " +#| "on recommended clients and instructions on how to configure them." +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" +"Для подключения к VPN %(box_name)s, вам надо скачать профиль и добавить его " +"в клиент OpenVPN на вашем мобильном устройстве или настольном компьютере. " +"Клиенты OpenVPN доступны для большинства платформ. Смотри Документация с рекомендуемыми клиентами и инструкциями по их " +"настройке." -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" +"Профиль специфичен для каждого пользователя %(box_name)s. Держите профиль в " +"тайне." + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "Скачать мой профиль" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Установка завершена." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Установка не удалась." @@ -3894,19 +3890,19 @@ msgstr "" "недоступны из остальной части интернета. Это включает в себя следующие " "ситуации:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} ограничен брандмауэром." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" "{box_name} подключен к маршрутизатору (беспроводному), который вы не " "контролируете." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3914,7 +3910,7 @@ msgstr "" "Ваш провайдер не предоставляет вам внешний IP-адрес и вместо этого " "обеспечивает подключение к Интернету через NAT." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." @@ -3922,38 +3918,40 @@ msgstr "" "Ваш провайдер не предоставляет вам статический IP-адрес, и ваш-IP адрес " "изменяется каждый раз при подключении к Интернету." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "Ваш провайдер ограничивает входящие соединения." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite обходит NAT, брандмауэр и ограничения IP-адреса, используя " "комбинацию туннелей и обратных прокси. Можно использовать любого поставщика " "услуг pagekite, например pagekite.net. " "В будущем, для этого возможно будет использовать {box_name} вашего приятеля." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 #, fuzzy #| msgid "PageKite Account" msgid "PageKite Domain" msgstr "Учетная запись PageKite" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "Включить PageKite" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "Домен сервера" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3961,31 +3959,31 @@ msgstr "" "Выберите свой сервер pagekite. Выберите \"pagekite.net\", чтобы использовать " "сервер по умолчанию - pagekite.net." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "Порт сервера" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "Порт сервера pagekite (по умолчанию: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "Имя Kite" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "Пример: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "Недопустимое имя kite" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "Kite secrеt" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -3993,53 +3991,43 @@ msgstr "" "Секрет, связанный с kite или секрет по умолчанию для вашей учетной записи, " "если не секрет устанавливается на kite." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "Изменить детали Kite" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "Смена сервера Pagekite" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite включен" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite выключен" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "Включена служба: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "Служба выключена: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "протокол" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "внешний (frontend) порт" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "Внутренний (freedombox) порт" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "Включить поддомены" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "Удалить пользовательские службы" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -4047,23 +4035,45 @@ msgstr "" "Этот сервис доступна как стандартная служба. Пожалуйста, используйте " "страницу \"Стандартные службы\" чтобы включить её." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "Добавить пользовательскую службу" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "Эта служба уже существует" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "Учетная запись PageKite" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Пользовательские службы" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Сохранить настройки" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Пользовательские службы" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "Существующие пользовательские службы" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "Подключен к %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Удалить эту службу" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "Добавить пользовательскую службу" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -4073,31 +4083,6 @@ msgstr "" "все комбинации протокол/порт, которые вы можете здесь задать. Например, " "HTTPS на портах, отличных от 443, может вызывать проблемы." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "Создание пользовательской службы" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Добавление службы" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "Существующие пользовательские службы" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "У вас нет включенных пользовательских служб" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "Подключен к %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Удалить эту службу" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Установка субдомена freedombox.me с вашим ваучером" @@ -4172,16 +4157,8 @@ msgstr "" "Инструкции " "по настройке клиента SSH" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Стандартные службы" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Пользовательские службы" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Pоwer" @@ -4617,6 +4594,101 @@ msgstr "" "security/lesssecureapps\" >https://www.google.com/settings/security/" "lesssecureapps)." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "Метка" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Точка монтирования" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "Используется" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Share added." +msgid "Share name" +msgstr "Общий ресурс добавлен." + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Действия" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "Share deleted." +msgid "Share enabled." +msgstr "Общий ресурс удалён." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error enabling share: {error_message}" +msgstr "Ошибка извлечения устройства: {error_message}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Share edited." +msgid "Share disabled." +msgstr "Общий ресурс изменён." + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error disabling share: {error_message}" +msgstr "Ошибка извлечения устройства: {error_message}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "Searx" @@ -4676,7 +4748,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "Конфигурация обновлена." @@ -5155,7 +5227,7 @@ msgstr "Создан снимок." msgid "Storage snapshots configuration updated" msgstr "Настройки хранения снапшотов обновлены" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "Ошибка действий: {0}[{1}][{2}]" @@ -5351,18 +5423,6 @@ msgstr "Устройство подключено другим пользова msgid "The following storage devices are in use:" msgstr "Используются следующие устройства хранения:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "Метка" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Точка монтирования" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "Используется" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "Расширение Раздела" @@ -5467,22 +5527,7 @@ msgstr "" "собственный набор папок. Веб-интерфейс доступен только для пользователей, " "принадлежащих к группе «admin»." -#: plinth/modules/syncthing/__init__.py:57 -#, fuzzy -#| msgid "" -#| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" -"Когда включен, Web-интерфейс Syncthing будет доступен через /syncthing. Настольные и мобильные клиенты также доступны." - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "Администрирование приложения Syncthing" @@ -5725,33 +5770,25 @@ msgstr "Tor Browser" msgid "Orbot: Proxy with Tor" msgstr "Orbot: Прокси с Tor" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "В настоящее время обновляется конфигурация Tor" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "Tor запущен" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "Tor не запущен" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Hidden Service" msgid "Onion Service" msgstr "Скрытая Служба" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "Порты" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "Ретранслятор" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5761,11 +5798,11 @@ msgstr "" "должны убедиться, что следующие порты являются открытыми и проброшены, если " "необходимо:" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SОCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "Порт Tor SOCKS вашего %(box_name)s доступен по порту TCP 9050." @@ -5784,16 +5821,6 @@ msgstr "" "обрабатывает обмен файлами Bitorrent. Обратите внимание, что BitTorrent не " "является анонимным." -#: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." -msgid "" -"Access the web interface at /transmission." -msgstr "" -"Доступ к веб-интерфейсу на /transmission." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "Папка для загрузок" @@ -5832,14 +5859,13 @@ msgstr "" #| "tt-rss path on the web server. It can be accessed by any user with a {box_name} login." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Когда включен, Tiny Tiny RSS доступен по адресу /tt-rss. Он доступен всем пользователям {box_name}." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 #, fuzzy #| msgid "" #| "When using a mobile or desktop application for Tiny Tiny RSS, use the URL " @@ -5853,7 +5879,7 @@ msgstr "" "Tiny RSS используйте URL / tt-rss-app для " "подключения." -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "Чтение и подписка на ленты новостей" @@ -6057,8 +6083,8 @@ msgid "Save Password" msgstr "Сохранить пароль" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "Создать пользователя" @@ -6096,7 +6122,7 @@ msgstr "" msgid "Create Account" msgstr "Создать учетную запись" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "Пользователи" @@ -6231,16 +6257,12 @@ msgstr "" "пожалуйста, прикрепите Лог состояния к " "отчету об ошибке." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Запустить веб-клиент" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "Выполняется служба %(service_name)s." -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "Служба %(service_name)s не запущена." @@ -6291,59 +6313,55 @@ msgstr "Выберите язык" msgid "Log in" msgstr "Войти" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "Клиентские Приложения" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "Веб" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "Десктоп" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "GNU/Linux" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "Windows" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "macOS" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "Mobile" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "Play Store" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "F-Droid" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "App Store" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "Пакет" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "Debian:" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "Homebrew:" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "RPM:" @@ -6495,6 +6513,14 @@ msgstr "Установка %(package_names)s: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% завершено" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Запустить веб-клиент" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "Клиентские Приложения" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Приложение включено" @@ -6507,6 +6533,68 @@ msgstr "Приложение отключено" msgid "Gujarati" msgstr "Гуджарати" +#~ msgid "OpenVPN server is running" +#~ msgstr "Сервер OpenVPN выполняется" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "OpenVPN сервер не выполняется" + +#~ msgid "Enable PageKite" +#~ msgstr "Включить PageKite" + +#~ msgid "Service enabled: {name}" +#~ msgstr "Включена служба: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "Служба выключена: {name}" + +#~ msgid "PageKite Account" +#~ msgstr "Учетная запись PageKite" + +#~ msgid "Save settings" +#~ msgstr "Сохранить настройки" + +#~ msgid "Create a custom service" +#~ msgstr "Создание пользовательской службы" + +#~ msgid "Add Service" +#~ msgstr "Добавление службы" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "У вас нет включенных пользовательских служб" + +#~ msgid "Standard Services" +#~ msgstr "Стандартные службы" + +#, fuzzy +#~| msgid "" +#~| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." +#~ msgid "" +#~ "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " +#~ "clients are also available." +#~ msgstr "" +#~ "Когда включен, Web-интерфейс Syncthing будет доступен через /syncthing. Настольные и мобильные клиенты также доступны." + +#~ msgid "Tor is running" +#~ msgstr "Tor запущен" + +#~ msgid "Tor is not running" +#~ msgstr "Tor не запущен" + +#, fuzzy +#~| msgid "" +#~| "Access the web interface at /transmission." +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "Доступ к веб-интерфейсу на /transmission." + #~ msgid "Secret" #~ msgstr "Секрет" diff --git a/plinth/locale/sl/LC_MESSAGES/django.po b/plinth/locale/sl/LC_MESSAGES/django.po index 91a41c676..40ea71eeb 100644 --- a/plinth/locale/sl/LC_MESSAGES/django.po +++ b/plinth/locale/sl/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-05-07 20:48+0000\n" "Last-Translator: Erik Ušaj \n" "Language-Team: Slovenian path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "Ko je omogočen, je Cockpit na voljo na naslovu /" "_cockpit/ spletnega strežnika. Do njega lahko dostopa /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -982,7 +979,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -1071,18 +1068,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1296,9 +1292,10 @@ msgstr "" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "" @@ -1396,10 +1393,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1603,19 +1599,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create new repository" -msgid "Create repository" -msgstr "Ustvari novo skladišče" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create new repository" msgid "Manage Repositories" msgstr "Ustvari novo skladišče" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create new repository" +msgid "Create repository" +msgstr "Ustvari novo skladišče" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 msgid "No repositories available." msgstr "" @@ -1675,7 +1671,7 @@ msgid "Edit repository" msgstr "Ustvari novo skladišče" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1834,7 +1830,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -1981,7 +1976,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -2033,12 +2028,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2047,12 +2040,13 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -2065,14 +2059,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2272,43 +2266,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2540,13 +2534,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2646,7 +2640,7 @@ msgstr "Prekliči" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2741,19 +2735,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -3099,14 +3093,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3183,6 +3177,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3356,7 +3351,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection refused" msgid "Connections" @@ -3379,7 +3374,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3398,7 +3393,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3408,30 +3403,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3439,15 +3415,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3455,19 +3431,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3488,189 +3478,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3738,16 +3707,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -4071,6 +4032,95 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Encryption" +msgid "Action" +msgstr "Šifriranje" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "Napaka ob nameščanju aplikacije: {error}" + +#: plinth/modules/samba/views.py:95 +msgid "Share disabled." +msgstr "" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "Napaka ob nameščanju aplikacije: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -4124,7 +4174,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4541,7 +4591,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4723,18 +4773,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4819,14 +4857,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -5025,42 +5056,34 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5076,12 +5099,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -5115,23 +5132,22 @@ msgstr "" #| "_cockpit/ path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Ko je omogočen, je Cockpit na voljo na naslovu /" "_cockpit/ spletnega strežnika. Do njega lahko dostopa katerikoli uporabnik na {box_name}, ki je član skupine " "skrbnikov." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5316,8 +5332,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5352,7 +5368,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5477,16 +5493,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5537,59 +5549,55 @@ msgstr "" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5723,6 +5731,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" diff --git a/plinth/locale/sv/LC_MESSAGES/django.po b/plinth/locale/sv/LC_MESSAGES/django.po index c222b1284..d14a4693a 100644 --- a/plinth/locale/sv/LC_MESSAGES/django.po +++ b/plinth/locale/sv/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-11-21 18:04+0000\n" "Last-Translator: Michael Breidenbach \n" "Language-Team: Swedish /_cockpit/ path on the web server. It can be " +#| "accessed by any user on {box_name} belonging " +#| "to the admin group." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "När det är aktiverat kommer cockpit att finnas tillgänglig från /_cockpit/ path på webbservern. " @@ -681,7 +685,7 @@ msgstr "Allmän Konfiguration" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "Konfigurera" @@ -813,7 +817,7 @@ msgstr "Dölja avancerade appar och funktioner" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "Fildelning" @@ -937,19 +941,23 @@ msgstr "" "användargränssnitt." #: plinth/modules/deluge/__init__.py:45 +#, fuzzy +#| msgid "" +#| "When enabled, the Deluge web client will be available from /deluge path on the web server. " +#| "The default password is 'deluge', but you should log in and change it " +#| "immediately after enabling this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "När aktiverad blir Deluges webbklient tillgänglig via / deluge address på webbservern. " "Standardlösenordet är \"deluge\", men du bör logga in och ändra det " "omedelbart efter att du aktiverat tjänsten." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "Ladda ner filer med BitTorrent-applikationer" @@ -969,7 +977,7 @@ msgstr "" "Systemets diagnostiktest utför ett antal kontroller av ditt system för att " "bekräfta att program och tjänster fungerar som de ska." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Diagnostiktest" @@ -1068,18 +1076,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Uppdatera inställningar" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Instänllningar oförändrade" @@ -1334,9 +1341,10 @@ msgstr "Om" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Status" @@ -1454,10 +1462,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Konfiguration" @@ -1635,7 +1642,8 @@ msgstr "Ogiltigt respository namn." #: plinth/modules/gitweb/forms.py:77 msgid "Name of a new repository or URL to import an existing repository." -msgstr "Namn på en ny databas eller URL för att importera en befintlig databas." +msgstr "" +"Namn på en ny databas eller URL för att importera en befintlig databas." #: plinth/modules/gitweb/forms.py:83 msgid "Description of the repository" @@ -1673,15 +1681,15 @@ msgstr "En alfanumerisk sträng som identifierar ett respository unikt." msgid "Git" msgstr "Git" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" -msgstr "Skapa respository" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 msgid "Manage Repositories" msgstr "Hantera respositories" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" +msgstr "Skapa respository" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 msgid "No repositories available." msgstr "Inga förvar finns tillgängliga." @@ -1732,7 +1740,7 @@ msgid "Edit repository" msgstr "Redigera respository" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "Ett fel inträffade under konfiguration." @@ -1926,7 +1934,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "Läs mer..." @@ -2115,7 +2122,7 @@ msgid "I2P Proxy" msgstr "I2P proxy" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "Lansera" @@ -2172,12 +2179,17 @@ msgid "Wiki and Blog" msgstr "Wiki och Blogg" #: plinth/modules/ikiwiki/__init__.py:46 +#, fuzzy +#| msgid "" +#| "ikiwiki is a simple wiki and blog application. It supports several " +#| "lightweight markup languages, including Markdown, and common blogging " +#| "functionality such as comments and RSS feeds. When enabled, the blogs and " +#| "wikis will be available at /ikiwiki (once created)." msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwiki är en enkel wiki och blogg ansökan. Den stöttar flera lightweight " "pålägg språken, inklusive markdown, och gemensam blogging funktionellitet " @@ -2185,7 +2197,7 @@ msgstr "" "bloggarna och wikis att finnas tillgängliga på /ikiwiki (en gång skapad)." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2198,12 +2210,13 @@ msgstr "" "redigera befindliga. I Användarkonfiguration kan du ändra dessa behörigheter eller lägga till nya användare." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "Visa och redigera wiki-applikationer" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Typ" @@ -2216,16 +2229,16 @@ msgstr "Namn på administratörskontot" msgid "Admin Account Password" msgstr "Lösenord för administratörskontot" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Hantera wikis och bloggar" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Skapa en Wiki eller Blogg" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Hantera wikis och bloggar" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "Ingen wiki eller blogg tillgänglig." @@ -2440,7 +2453,7 @@ msgstr "Återkalla" msgid "Obtain" msgstr "Skaffa" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " @@ -2449,7 +2462,7 @@ msgstr "" "Inga domäner har konfigurerats. Konfigurera " "domäner för att kunna få certifikat för dem." -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " @@ -2458,29 +2471,29 @@ msgstr "" "Certifikatet återkallat för domänen {domain}. Det kan ta några ögonblick att " "träda i kraft." -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "Det gick inte att återkalla certifikatet för domänen {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "Certifikat erhållet för domänen {domain}" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "Det gick inte att erhålla certifikat för domänen {domain}: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "Certifikatet framgångsrikt återkallat för domänen {domain}" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "Det gick inte att ta bort certifikatet för domänen {domain}: {error}" @@ -2773,13 +2786,13 @@ msgstr "Aktivera skador" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "Om inaktiverat kan spelare inte dö eller få skador av något slag." -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Adress" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Port" @@ -2902,7 +2915,7 @@ msgstr "Avbryt" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Tjänst" @@ -2999,19 +3012,19 @@ msgstr "Signera nyckeln" msgid "Send the key back to the keyservers" msgstr "Skicka nyckeln till nyckelservrar" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "Importerade nyckel." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Publicering av nyckel avbruten." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Publicerade nyckeln till nyckelserver." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "Fel uppstod när nyckeln publicerades." @@ -3399,14 +3412,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "Kunde inte de-aktivera anslutning: Anslutning hittades inte." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "Wi-Fi-nätverk i närheten" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Lägg till Anslutning" @@ -3483,6 +3496,7 @@ msgid "yes" msgstr "Ja" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Enhet" @@ -3667,7 +3681,7 @@ msgstr "Visa anslutning %(name)s" msgid "Computer" msgstr "Dator" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "Anslutningar" @@ -3688,7 +3702,7 @@ msgstr "Inaktiva" msgid "Create..." msgstr "Skaffa..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "OpenVPN" @@ -3713,7 +3727,7 @@ msgstr "" "tillhandahålls av {box_name}. Du kan också komma åt resten av Internet via " "{box_name} för ökad säkerhet och anonymitet." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3724,36 +3738,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "Aktivera OpenVPN server" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" -msgstr "Profil" - -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -"För att ansluta till %(box_name)s VPN måste du ladda ner en profil och mata " -"den till en OpenVPN-klient på din mobila eller stationära dator. OpenVPN-" -"klienter är tillgängliga för de flesta plattformar. Se manualsidan " -"på rekommenderade klienter och instruktioner om hur du konfigurerar dem." -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" -"Profilen är specifik för varje användare av %(box_name)s Håll det hemligt." - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "Ladda ner min profil" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3764,15 +3753,15 @@ msgstr "" "säker installation. Beroende på hur snabbt din %(box_name)s är, kan det " "även ta timmar. Om installationen avbryts kan du starta den igen." -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "Starta installation" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "OpenVPN-installationen körs" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3783,19 +3772,45 @@ msgstr "" "Beroende på hur snabbt din %(box_name)s är, kan det även ta timmar. Om " "installationen avbryts kan du starta den igen." -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "OpenVPN-servern körs" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" +msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "OpenVPN-servern körs inte" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, fuzzy, python-format +#| msgid "" +#| "To connect to %(box_name)s's VPN, you need to download a profile and feed " +#| "it to an OpenVPN client on your mobile or desktop machine. OpenVPN " +#| "Clients are available for most platforms. See the manual page " +#| "on recommended clients and instructions on how to configure them." +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" +"För att ansluta till %(box_name)s VPN måste du ladda ner en profil och mata " +"den till en OpenVPN-klient på din mobila eller stationära dator. OpenVPN-" +"klienter är tillgängliga för de flesta plattformar. Se manualsidan " +"på rekommenderade klienter och instruktioner om hur du konfigurerar dem." -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" +"Profilen är specifik för varje användare av %(box_name)s Håll det hemligt." + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "Ladda ner min profil" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Installationen har slutförts." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Installationen misslyckades." @@ -3820,18 +3835,18 @@ msgstr "" "tjänster inte kan nås från resten av Internet. Detta inkluderar följande " "situationer:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} är bakom en begränsad brandvägg." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" "{box_name} är anslutet till en (trådlös) router som du inte kontrollerar." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3839,7 +3854,7 @@ msgstr "" "Din ISP ger dig inte en extern IP-adress och ger istället Internet " "uppkoppling via NAT." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." @@ -3847,17 +3862,23 @@ msgstr "" "Din ISP ger dig inte en statisk IP-adress och din IP-adress ändras varje " "gång du ansluter till Internet." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "Din ISP begränsar inkommande anslutningar." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite arbetar runt NAT, brandväggar och IP-adress begränsningar med hjälp " "av en kombination av tunnlar och omvända proxyservrar. Du kan använda valfri " @@ -3865,19 +3886,15 @@ msgstr "" "pagekite. net . I framtiden kan det vara möjligt att använda din kompis " "{box_name} för detta." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "PageKite domän" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "Aktivera PageKite" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "Server-domän" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3885,31 +3902,31 @@ msgstr "" "Välj din pagekite-Server. Ange \"pagekite.net\" om du vill använda " "standardservern pagekite.net." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "Server Port" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "Port på din pagekite Server (standard: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "Kite namn" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "Exempel: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "Ogiltigt kite-namn" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "Kite hemlighet" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -3917,53 +3934,43 @@ msgstr "" "En hemlighet som är associerad med draken eller standard hemligheten för " "ditt konto om ingen hemlighet är inställd på draken." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "Kite Detaljer set" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "Pagekite Server uppsättning" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite aktiverat" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite inaktiverat" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "Tjänsten är aktiverad: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "Tjänsten är inaktiverad: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "Protokollet" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "extern port (frontend)" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "intern port (freedombox)" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "Aktivera underdomäner" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "Borttagen anpassad tjänst" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -3971,23 +3978,45 @@ msgstr "" "Denna tjänst är tillgänglig som standardtjänst. Använd sidan \"standard " "tjänster\" för att aktivera den." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "Lade till anpassad service" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "Den här tjänsten finns redan" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "PageKite-konto" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Anpassade tjänster" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Spara inställningar" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Anpassade tjänster" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "Befintliga anpassade tjänster" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "ansluten till %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Ta bort den här tjänsten" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "Lade till anpassad service" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -3997,31 +4026,6 @@ msgstr "" "de protokoll/port kombinationer som du kan definiera här. Till exempel, " "HTTPS på andra portar än 443 är kända för att orsaka problem." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "Skapa en anpassad tjänst" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Lägg till tjänst" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "Befintliga anpassade tjänster" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "Du har inga anpassade tjänster aktiverade" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "ansluten till %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Ta bort den här tjänsten" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Ställ in ett underdomän till frihetbox.me med din kupong" @@ -4101,16 +4105,8 @@ msgstr "" "Se SSH-klientinstallation instruktioner" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Standard tjänster" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Anpassade tjänster" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Ström" @@ -4505,12 +4501,12 @@ msgid "" "(recommended), fill the server field like imaps://imap.example.com." msgstr "" -"Du kan komma åt roundcube från /roundcube. Ange användarnamn och lösenord för det e-postkonto " -"du vill komma åt följt av domännamnet för IMAP-servern för din e-" +"Du kan komma åt roundcube från /roundcube. Ange användarnamn och lösenord för det e-postkonto du " +"vill komma åt följt av domännamnet för IMAP-servern för din e-" "postleverantör, som imap.example.com. För IMAP över SSL " -"(rekommenderas), Fyll i fältet Server som " -"imaps://imap.example.com." +"(rekommenderas), Fyll i fältet Server som imaps://imap.example.com." #: plinth/modules/roundcube/__init__.py:51 msgid "" @@ -4528,6 +4524,103 @@ msgstr "" "security/lesssecureapps\" >https://www.Google.com/settings/Security/" "lesssecureapps)." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +#, fuzzy +#| msgid "Select Disk or Partition" +msgid "Select disks for sharing" +msgstr "Välj Disk eller Partition" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "Etikett" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Monteringspunkt" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "Används" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Share added." +msgid "Share name" +msgstr "Share tillagd." + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Åtgärder" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "Share deleted." +msgid "Share enabled." +msgstr "Share borttagen." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error enabling share: {error_message}" +msgstr "Fel mata ut enhet: {error_message}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Share edited." +msgid "Share disabled." +msgstr "Share redigerad." + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error ejecting device: {error_message}" +msgid "Error disabling share: {error_message}" +msgstr "Fel mata ut enhet: {error_message}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "Searx" @@ -4585,7 +4678,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "Tillåt att det här programmet används av alla som kan nå det." #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "Konfiguration uppdaterad." @@ -5055,7 +5148,7 @@ msgstr "Skapade ögonblicksbild." msgid "Storage snapshots configuration updated" msgstr "Lagring ögonblicksbildkonfiguration uppdaterad" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "Åtgärdsfel: {0} [{1}] [{2}]" @@ -5247,18 +5340,6 @@ msgstr "Enheten monteras av en annan användare." msgid "The following storage devices are in use:" msgstr "Följande lagringsenheter används:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "Etikett" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Monteringspunkt" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "Används" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "Partition expansion" @@ -5362,17 +5443,7 @@ msgstr "" "{box_name} är endast tillgängligt för användare som tillhör gruppen \"admin" "\"." -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" -"När aktiverat är Syncthings webbgränssnitt tillgängligt från / syncthing. Desktop- och " -"mobilklienter är också tillgängliga." - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "Administrera Syncthing-program" @@ -5609,31 +5680,23 @@ msgstr "TOR Browser" msgid "Orbot: Proxy with Tor" msgstr "Orbot: proxy med Tor" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "Konfigurationen av Tor uppdateras" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "Tor körs" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "Tor kör inte" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "Onion tjänst" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "Portar" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "Relay" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5642,11 +5705,11 @@ msgstr "" "Om din %(box_name)s ligger bakom en router eller brandvägg bör du se till " "att följande portar är öppna och port vidarebefordrade om det behövs:" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "En Tor SOCKS-port finns på din %(box_name)s på TCP-port 9050." @@ -5664,14 +5727,6 @@ msgstr "" "BitTorrent är ett peer-to-peer-fildelningsprotokoll. Transmission daemon " "hanterar bitorrent fildelning. Observera att BitTorrent inte är anonym." -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" -"Komma åt webbgränssnittet på /transmission." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "Ladda ner katalog" @@ -5705,18 +5760,21 @@ msgstr "" "känner dig så nära en riktig stationär applikation som möjligt." #: plinth/modules/ttrss/__init__.py:52 -#, python-brace-format +#, fuzzy, python-brace-format +#| msgid "" +#| "When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be " +#| "accessed by any user with a {box_name} login." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -"När den är aktiverad kommer Tiny Tiny RSS att finnas tillgänglig från /tt-RSS Path på webbservern. Den " -"kan nås av alla användare med en {box_name} login " -"." +"När den är aktiverad kommer Tiny Tiny RSS att finnas tillgänglig från /tt-RSS Path på webbservern. " +"Den kan nås av alla användare med en {box_name} " +"login ." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " @@ -5726,7 +5784,7 @@ msgstr "" "Använd URL: en /tt-RSS-" "app för att ansluta." -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "Läsa och prenumerera på nyhetsflöden" @@ -5932,8 +5990,8 @@ msgid "Save Password" msgstr "Spara lösenord" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "Skapa användare" @@ -5971,7 +6029,7 @@ msgstr "" msgid "Create Account" msgstr "Skapa konto" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "Användare" @@ -6106,16 +6164,12 @@ msgstr "" "plinth/issues\">bug tracker så att vi kan fixa det. Bifoga också status logg till felrapporten." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Starta webbklient" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "Tjänsten %(service_name)s körs." -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "Tjänsten %(service_name)s körs inte." @@ -6166,59 +6220,55 @@ msgstr "Välj språk" msgid "Log in" msgstr "Logga in" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "Klientappar" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "Webb" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "Skrivbord" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "GNU/Linux" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "Windows" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "macOS" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "Mobil" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "Play Store" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "F-Droid" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "App Store" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "Paket" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "Debian:" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "Homebrew:" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "Rpm:" @@ -6371,6 +6421,14 @@ msgstr "Installerar %(package_names)s:%(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s %% färdigt" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Starta webbklient" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "Klientappar" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Program aktiverat" @@ -6383,6 +6441,62 @@ msgstr "Programmet är inaktiverat" msgid "Gujarati" msgstr "Gujarati" +#~ msgid "OpenVPN server is running" +#~ msgstr "OpenVPN-servern körs" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "OpenVPN-servern körs inte" + +#~ msgid "Enable PageKite" +#~ msgstr "Aktivera PageKite" + +#~ msgid "Service enabled: {name}" +#~ msgstr "Tjänsten är aktiverad: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "Tjänsten är inaktiverad: {name}" + +#~ msgid "PageKite Account" +#~ msgstr "PageKite-konto" + +#~ msgid "Save settings" +#~ msgstr "Spara inställningar" + +#~ msgid "Create a custom service" +#~ msgstr "Skapa en anpassad tjänst" + +#~ msgid "Add Service" +#~ msgstr "Lägg till tjänst" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "Du har inga anpassade tjänster aktiverade" + +#~ msgid "Standard Services" +#~ msgstr "Standard tjänster" + +#~ msgid "" +#~ "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " +#~ "clients are also available." +#~ msgstr "" +#~ "När aktiverat är Syncthings webbgränssnitt tillgängligt från / syncthing. Desktop- och " +#~ "mobilklienter är också tillgängliga." + +#~ msgid "Tor is running" +#~ msgstr "Tor körs" + +#~ msgid "Tor is not running" +#~ msgstr "Tor kör inte" + +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "Komma åt webbgränssnittet på /transmission." + #~ msgid "Secret" #~ msgstr "Hemlighet" diff --git a/plinth/locale/ta/LC_MESSAGES/django.po b/plinth/locale/ta/LC_MESSAGES/django.po index b7953c72c..bf09cdbb2 100644 --- a/plinth/locale/ta/LC_MESSAGES/django.po +++ b/plinth/locale/ta/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,32 +22,32 @@ msgstr "" msgid "Page source" msgstr "" -#: plinth/action_utils.py:298 +#: plinth/action_utils.py:299 #, python-brace-format msgid "Listening on {kind} port {listen_address}:{port}" msgstr "" -#: plinth/action_utils.py:301 +#: plinth/action_utils.py:302 #, python-brace-format msgid "Listening on {kind} port {port}" msgstr "" -#: plinth/action_utils.py:397 +#: plinth/action_utils.py:407 #, python-brace-format msgid "Access URL {url} on tcp{kind}" msgstr "" -#: plinth/action_utils.py:401 +#: plinth/action_utils.py:411 #, python-brace-format msgid "Access URL {url}" msgstr "" -#: plinth/action_utils.py:432 +#: plinth/action_utils.py:442 #, python-brace-format msgid "Connect to {host}:{port}" msgstr "" -#: plinth/action_utils.py:434 +#: plinth/action_utils.py:444 #, python-brace-format msgid "Cannot connect to {host}:{port}" msgstr "" @@ -363,6 +363,7 @@ msgstr "" #: plinth/modules/backups/templates/backups_form.html:35 #: plinth/modules/gitweb/templates/gitweb_create_edit.html:35 +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:47 #: plinth/modules/sharing/templates/sharing_add_edit.html:35 msgid "Submit" msgstr "" @@ -475,71 +476,71 @@ msgstr "" msgid "Restored files from backup." msgstr "" -#: plinth/modules/backups/views.py:187 +#: plinth/modules/backups/views.py:186 msgid "No backup file found." msgstr "" -#: plinth/modules/backups/views.py:195 +#: plinth/modules/backups/views.py:194 msgid "Restore from uploaded file" msgstr "" -#: plinth/modules/backups/views.py:255 +#: plinth/modules/backups/views.py:251 msgid "No additional disks available to add a repository." msgstr "" -#: plinth/modules/backups/views.py:263 +#: plinth/modules/backups/views.py:259 msgid "Create backup repository" msgstr "" -#: plinth/modules/backups/views.py:290 +#: plinth/modules/backups/views.py:286 msgid "Create remote backup repository" msgstr "" -#: plinth/modules/backups/views.py:309 +#: plinth/modules/backups/views.py:305 msgid "Added new remote SSH repository." msgstr "" -#: plinth/modules/backups/views.py:331 +#: plinth/modules/backups/views.py:327 msgid "Verify SSH hostkey" msgstr "" -#: plinth/modules/backups/views.py:357 +#: plinth/modules/backups/views.py:353 msgid "SSH host already verified." msgstr "" -#: plinth/modules/backups/views.py:367 +#: plinth/modules/backups/views.py:363 msgid "SSH host verified." msgstr "" -#: plinth/modules/backups/views.py:381 +#: plinth/modules/backups/views.py:377 msgid "SSH host public key could not be verified." msgstr "" -#: plinth/modules/backups/views.py:383 +#: plinth/modules/backups/views.py:379 msgid "Authentication to remote server failed." msgstr "" -#: plinth/modules/backups/views.py:385 +#: plinth/modules/backups/views.py:381 msgid "Error establishing connection to server: {}" msgstr "" -#: plinth/modules/backups/views.py:396 +#: plinth/modules/backups/views.py:392 msgid "Repository removed." msgstr "" -#: plinth/modules/backups/views.py:410 +#: plinth/modules/backups/views.py:406 msgid "Remove Repository" msgstr "" -#: plinth/modules/backups/views.py:419 +#: plinth/modules/backups/views.py:415 msgid "Repository removed. Backups were not deleted." msgstr "" -#: plinth/modules/backups/views.py:429 +#: plinth/modules/backups/views.py:425 msgid "Unmounting failed!" msgstr "" -#: plinth/modules/backups/views.py:444 plinth/modules/backups/views.py:448 +#: plinth/modules/backups/views.py:440 plinth/modules/backups/views.py:444 msgid "Mounting failed" msgstr "" @@ -583,7 +584,7 @@ msgid "Enable Domain Name System Security Extensions" msgstr "" #: plinth/modules/bind/views.py:59 plinth/modules/dynamicdns/views.py:172 -#: plinth/modules/openvpn/views.py:146 plinth/modules/shadowsocks/views.py:79 +#: plinth/modules/openvpn/views.py:152 plinth/modules/shadowsocks/views.py:79 #: plinth/modules/transmission/views.py:74 msgid "Configuration updated" msgstr "" @@ -608,10 +609,8 @@ msgstr "" #: plinth/modules/cockpit/__init__.py:57 #, python-brace-format msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -621,7 +620,7 @@ msgstr "" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "" @@ -738,7 +737,7 @@ msgstr "" msgid "Coquelicot" msgstr "" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -847,14 +846,12 @@ msgstr "" #: plinth/modules/deluge/__init__.py:45 msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -872,7 +869,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -961,18 +958,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1184,9 +1180,10 @@ msgstr "" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "" @@ -1284,10 +1281,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1479,13 +1475,13 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -msgid "Create repository" +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 +msgid "Manage Repositories" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 -msgid "Manage Repositories" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +msgid "Create repository" msgstr "" #: plinth/modules/gitweb/templates/gitweb_configure.html:59 @@ -1538,7 +1534,7 @@ msgid "Edit repository" msgstr "" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1697,7 +1693,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -1844,7 +1839,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -1896,12 +1891,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -1910,12 +1903,13 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -1928,14 +1922,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2134,43 +2128,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2402,13 +2396,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2508,7 +2502,7 @@ msgstr "" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2603,19 +2597,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -2961,14 +2955,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3045,6 +3039,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3218,7 +3213,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 msgid "Connections" msgstr "" @@ -3239,7 +3234,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3258,7 +3253,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3268,30 +3263,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3299,15 +3275,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3315,19 +3291,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3348,189 +3338,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3598,16 +3567,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -3931,6 +3892,91 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +msgid "Action" +msgstr "" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, python-brace-format +msgid "Error enabling share: {error_message}" +msgstr "" + +#: plinth/modules/samba/views.py:95 +msgid "Share disabled." +msgstr "" + +#: plinth/modules/samba/views.py:100 +#, python-brace-format +msgid "Error disabling share: {error_message}" +msgstr "" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -3984,7 +4030,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4399,7 +4445,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4579,18 +4625,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4675,14 +4709,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -4881,42 +4908,34 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -4932,12 +4951,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -4967,19 +4980,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5164,8 +5176,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5200,7 +5212,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5325,16 +5337,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5385,59 +5393,55 @@ msgstr "" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5571,6 +5575,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" diff --git a/plinth/locale/te/LC_MESSAGES/django.po b/plinth/locale/te/LC_MESSAGES/django.po index db65bbbdc..b83a33228 100644 --- a/plinth/locale/te/LC_MESSAGES/django.po +++ b/plinth/locale/te/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: FreedomBox UI\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-07-22 17:06+0000\n" "Last-Translator: Joseph Nuthalapati \n" "Language-Team: Telugu /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "ప్రారంభించినప్పుడు, వెబ్ సర్వర్లో / _cockpit / మార్గం నుండి " "కాక్పిట్ అందుబాటులో ఉంటుంది. దీన్ని మంది వినియోగదారులచే " @@ -706,7 +705,7 @@ msgstr "సాధారణ ఆకృతీకరణ" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "ఆకృతీకరణ" @@ -837,7 +836,7 @@ msgstr "" msgid "Coquelicot" msgstr "కోక్లికో" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "ఫైలు పంచుకొనుట" @@ -964,17 +963,15 @@ msgstr "డీలడ్జ్ అనేది జాల UI కలిగివు #| "'deluge', but you should log in and change it immediately after enabling " #| "this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "ఈ సేవని అనుమతించినప్పుడు మీ డెల్యూజ్ వెబ్ క్లైంట్ మీకు /డెల్యూజ్ అనే " "మార్గంలో అందుబాటులోనుంటుంది. ప్రధమ పాస్‌వర్డ్ గా 'డెల్యూజ్' ఉంటుంది, కానీ మీరు లాగ్ ఇన్ అయినవెంటనే మీ " "పాస్‌వర్డ్ ను మార్చుకోవాలి." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "బిట్ టోరెంట్ అనువర్తనాలను ఉపయోగించి ఫైళ్లను డౌన్లోడ్ చేయండి" @@ -994,7 +991,7 @@ msgstr "" "వ్యవస్థ నిర్ధారణ పరీక్ష అనేది మీ కంప్యూటర్లో అన్ని సేవలు మరియు అప్లికేషన్లు అనుకున్న విధంగా పని " "చేస్తున్నాయో లేదో ధృవీకరించడం కోసం అనేక తనిఖీలు చేస్తుంది." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "లక్షణాల పరీక్ష" @@ -1090,18 +1087,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "అమరికను నవీకరించు" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "మారకుండా అమర్చుతోంది" @@ -1351,9 +1347,10 @@ msgstr "గురించి" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "స్థితి" @@ -1471,10 +1468,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "ఆకృతీకరణ" @@ -1688,19 +1684,19 @@ msgstr "ప్రత్యేకంగా ఒక వాటాను గుర్ msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create User" -msgid "Create repository" -msgstr "వినియోగదారుని సృష్టించు" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create User" msgid "Manage Repositories" msgstr "వినియోగదారుని సృష్టించు" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create User" +msgid "Create repository" +msgstr "వినియోగదారుని సృష్టించు" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 #, fuzzy #| msgid "Tor relay port available" @@ -1762,7 +1758,7 @@ msgid "Edit repository" msgstr "వినియోగదారుని సృష్టించు" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "అక్రుతీకరణలో ఒక పొరపాటు జరిగింది." @@ -1936,7 +1932,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "మరింత తెలుసుకోండి.." @@ -2112,7 +2107,7 @@ msgid "I2P Proxy" msgstr "వెబ్ ప్రాక్సీ (Privoxy)" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "ప్రారంభించు" @@ -2171,15 +2166,13 @@ msgstr "వికీ మరియు బ్లాగ్" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ఇకివికీ ఒక సాధారణ వికీ మరియు బ్లాగ్ అప్లికేషన్. ఇది అనేక తేలికైన మార్కప్ బాషలకు మరియు వ్యాఖ్యానాలు, ఆర్.ఎస్." "ఎస్ ఫీడ్లు వంటి సాధారణ బ్లాగింగ్ కార్యాచరణకు సహకరిస్తుంది. దీన్ని ఆమోదించినప్పుడు మీ బ్లాగులు మరియు " "వికీలు /ikiwiki వద్ద అందుబాటులో ఉంటాయి(తయారుచేసిన తరువాత)." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, fuzzy, python-brace-format #| msgid "" #| "Only {box_name} users in the admin group can create and " @@ -2197,12 +2190,13 @@ msgstr "" "ఇప్పటికే ఉన్న వాటిని సవరించగలరు. వినియోగదారు " "ఆకృతీకరణ లో మీరు అనుమతులను మార్చవచ్చు లేదా క్రొత్త వినియోగదారులను చేర్చవచ్చు." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "వికీ అనువర్తనాలను చూడండి మరియు మార్చండి" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "రకం" @@ -2215,16 +2209,16 @@ msgstr "నిర్వాహకుని ఖాతా పేరు" msgid "Admin Account Password" msgstr "నిర్వాహకుని ఖాతా రహస్యపదం" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "వికీ మరియు బ్లాగులను నిర్వహించండి" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "వికీ లేదా బ్లాగును సృష్టించండి" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "వికీ మరియు బ్లాగులను నిర్వహించండి" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "ఏ వికీలు లేదా బ్లాగులు అందుబాటులో లేవు." @@ -2441,14 +2435,14 @@ msgstr "ఉపసంహరించుకొను" msgid "Obtain" msgstr "పొందు" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, fuzzy, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "తోబుట్టువుల డొమైన్లు కన్ఫిగర్ చేయబడ్డాయి. వారికి సర్టిఫికేట్లు పొందగలగటం డొమైన్ ఆకృతీకరించుము." -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, fuzzy, python-brace-format #| msgid "Certificate successfully revoked for domain {domain}" msgid "" @@ -2456,30 +2450,30 @@ msgid "" "moments to take effect." msgstr "{domain} డోమైన్ కొరకు సర్టిఫికేట్ ఉప్సంహరుంచుకొనబడింది" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "{domain} డోమైన్ కొరకు సర్టిఫికేట్ ఉప్సంహరుంచుకొనడంలో విఫలం: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "{domain} డోమైన్ కొరకు సర్టిఫికేట్ సంపాదింపబడింది" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "{domain} డోమైన్ కొరకు సర్టిఫికేట్ సంపాదించుటలో విఫలం: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, fuzzy, python-brace-format #| msgid "Certificate successfully revoked for domain {domain}" msgid "Certificate successfully deleted for domain {domain}" msgstr "{domain} డోమైన్ కొరకు సర్టిఫికేట్ ఉప్సంహరుంచుకొనబడింది" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "{domain} డోమైన్ కొరకు ధృవీకరణపత్రం నిర్మూలించడంలో విఫలం: {error}" @@ -2782,13 +2776,13 @@ msgstr "PageKite ప్రారంభించు" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "డిసేబుల్ లో ఉన్నప్పుడు, క్రీడాకారులు చనిపోయే లేదా ఏ రకమైన నష్టం అందుకోలేరు" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "చిరునామా" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "పోర్టు" @@ -2918,7 +2912,7 @@ msgstr "రద్దుచేయి" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "సేవ" @@ -3015,19 +3009,19 @@ msgstr "కీని సంతకం చేయండి" msgid "Send the key back to the keyservers" msgstr "కీని తిరిగి కీసేవకాలకు పంపు" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "కీ దిగుమతి చేయబడింది." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "కీ ప్రచురణ రద్దుచేయబడింది." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "కీ కీసేవకానికి ప్రచురించబడింది." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "కీని ప్రచురించేటప్పుడు దోషం సంభవించింది." @@ -3419,14 +3413,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "అనుసంధానం క్రియారహితం విఫలమైంది: అనుసంధానం దొరకలేదు." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "సమీప వై-ఫై నెట్వర్కులు" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "అనుసంధానాన్ని జతచేయండి" @@ -3505,6 +3499,7 @@ msgid "yes" msgstr "అవును" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "పరికరం" @@ -3687,7 +3682,7 @@ msgstr "అనుసంధానం చూపించు %(name)s" msgid "Computer" msgstr "కంప్యూటర్" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection" msgid "Connections" @@ -3710,7 +3705,7 @@ msgstr "క్రియారహిత" msgid "Create..." msgstr "సృష్టించు..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 #, fuzzy #| msgid "Open" msgid "OpenVPN" @@ -3738,7 +3733,7 @@ msgstr "" "మిగిలిన ఇంటర్నెట్ను యాక్సెస్ చేయవచ్చు మీ {box_name} 1 అనుసంధానించవచ్చు అదనపు భద్రత మరియు " "అనామకత్వం కోసం." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3749,35 +3744,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "సేవిక తెరవండిVPN అమలుచెయ్యి" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" -msgstr "స్థూల వివరం" - -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, fuzzy, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -"% (Box_name) లు 1 యొక్క VPN కనెక్ట్, మీరు ఒక ప్రొఫైల్ డౌన్లోడ్ మరియు మీ మొబైల్ లేదా డెస్క్టాప్ మిషన్పై " -"OpenVPN క్లయింట్ ఆహారం అవసరం. OpenVPN క్లయింట్లు అత్యంత వేదికలపై అందుబాటులో ఉన్నాయి. 2documentation 3 title=\"%(box_name)s ఆకృతీకరించుటకు ఎలా సిఫార్సు " -"ఖాతాదారులకు మరియు సూచనలతో వాటిని." -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "ప్రొఫైల్ ప్రతి %(box_name)s వాడుకరికి నిర్ధిష్టమైనది. దాన్ని రహస్యంగా ఉంచండి." - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "నా స్థూలవివరంల దిగుమతి" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, fuzzy, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3788,15 +3759,15 @@ msgstr "" "(box_name) లు 1 ఆధారపడి, అది కూడా గంటల సమయం పట్టవచ్చు. సెటప్ ఆటకం, మీరు మళ్ళీ దాన్ని మొదలు " "పెడతాయి." -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "అమర్చిపెట్టు ప్రారంభం" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "అమర్చిపెటినా తెరిచినVPNనడుస్తుంది" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, fuzzy, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3806,19 +3777,38 @@ msgstr "" "సురక్షిత సెటప్ చెయ్యడానికి, ఈ ప్రక్రియ చాలా కాలం పడుతుంది. మీ% ఎంత వేగంగా (box_name) లు 1 " "ఆధారపడి, అది కూడా గంటల సమయం పట్టవచ్చు. సెటప్ ఆటకం, మీరు మళ్ళీ దాన్ని మొదలు పెడతాయి." -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "అమర్చిపెటినా తెరిచినVPNనడుస్తుంది" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" +msgstr "స్థూల వివరం" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "అమర్చిపెటినా తెరిచినVPN నడంలేదు" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, fuzzy, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." +msgstr "" +"% (Box_name) లు 1 యొక్క VPN కనెక్ట్, మీరు ఒక ప్రొఫైల్ డౌన్లోడ్ మరియు మీ మొబైల్ లేదా డెస్క్టాప్ మిషన్పై " +"OpenVPN క్లయింట్ ఆహారం అవసరం. OpenVPN క్లయింట్లు అత్యంత వేదికలపై అందుబాటులో ఉన్నాయి. 2documentation 3 title=\"%(box_name)s ఆకృతీకరించుటకు ఎలా సిఫార్సు " +"ఖాతాదారులకు మరియు సూచనలతో వాటిని." -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "ప్రొఫైల్ ప్రతి %(box_name)s వాడుకరికి నిర్ధిష్టమైనది. దాన్ని రహస్యంగా ఉంచండి." + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "నా స్థూలవివరంల దిగుమతి" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "అమరక పూర్తయ్యింది." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "అమరక విఫలమైంది." @@ -3845,17 +3835,17 @@ msgstr "" "లేనప్పుడు కోసం ఒక వ్యవస్థ. మీ {box_name} 2 సేవలు ఇంటర్నెట్ మిగిలిన నుండి అందుబాటులో ఉంటే మీరు " "మాత్రమే ఈ అవసరం. ఈ క్రింది సందర్భాలలో కలిగి:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, fuzzy, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{Box_name} 1 నిరోధిత ఫైర్వాల్ వెనుక ఉంది." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, fuzzy, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "{Box_name} 1 మీరు నియంత్రించే లేని ఒక (వైర్లెస్) రౌటర్ అనుసంధానించబడిన." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 #, fuzzy msgid "" "Your ISP does not provide you an external IP address and instead provides " @@ -3864,7 +3854,7 @@ msgstr "" "మీ ISP మీరు ఒక బాహ్య IP చిరునామా అందించడం లేదు మరియు బదులుగా NAT ద్వారా ఇంటర్నెట్ కనెక్షన్ " "అందిస్తుంది." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 #, fuzzy msgid "" "Your ISP does not provide you a static IP address and your IP address " @@ -3873,40 +3863,41 @@ msgstr "" "మీ ISP మీరు స్టాటిక్ IP చిరునామా అందించడం లేదు మరియు మీ IP చిరునామా మీరు ఇంటర్నెట్ కు కనెక్ట్ ప్రతి " "సమయ మార్పులు." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 #, fuzzy msgid "Your ISP limits incoming connections." msgstr "మీ ISP ఇన్కమింగ్ కనెక్షన్లను పరిమితం చేస్తుంది." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite సొరంగాలు కలయిక ఉపయోగించి మరియు ప్రతినిధులను రివర్స్ ద్వారా NAT, ఫైర్వాల్లు మరియు IP- " "చిరునామా పరిమితులు చుట్టూ పనిచేస్తుంది. మీరు . భవిష్యత్లో ఇది ఈ కోసం మీ స్నేహితుని యొక్క {box_name} " "ఉపయోగించడానికి 3 సాధ్యం కావచ్చు ఉదాహరణకు pagekite." "net కోసం, ఏ pagekite సేవా ప్రదాత ఉపయోగించవచ్చు." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 #, fuzzy msgid "PageKite Domain" msgstr "PageKite ఖాతా" -#: plinth/modules/pagekite/forms.py:67 -#, fuzzy -msgid "Enable PageKite" -msgstr "PageKite ప్రారంభించు" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 #, fuzzy msgid "Server domain" msgstr "సర్వర్ డొమైన్" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 #, fuzzy msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " @@ -3915,96 +3906,86 @@ msgstr "" "మీ pagekite సర్వర్ ఎంచుకోండి. డిఫాల్ట్ pagekite.net సర్వర్ ఉపయోగించడానికి \"pagekite.net\" " "సెట్." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 #, fuzzy msgid "Server port" msgstr "సర్వర్ పోర్ట్" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 #, fuzzy msgid "Port of your pagekite server (default: 80)" msgstr "మీ pagekite సర్వర్ యొక్క పోర్ట్ (డిఫాల్ట్: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 #, fuzzy msgid "Kite name" msgstr "కైట్ పేరు" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 #, fuzzy msgid "Example: mybox.pagekite.me" msgstr "ఉదాహరణ: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "చెల్లని కైట్ పేరు" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "కైట్ రహస్యము" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 #, fuzzy msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "గాలిపటం లేదా రహస్యం గాలిపటం సెట్ అయితే మీ ఖాతా కోసం డిఫాల్ట్ రహస్య అనుబంధించబడిన ఒక రహస్య." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 #, fuzzy msgid "Kite details set" msgstr "కైట్ వివరాలు సెట్" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 #, fuzzy msgid "Pagekite server set" msgstr "Pagekite సర్వర్ సెట్" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 #, fuzzy msgid "PageKite enabled" msgstr "PageKite ఎనేబుల్" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 #, fuzzy msgid "PageKite disabled" msgstr "PageKite వికలాంగ" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "సేవ ప్రారంభించబడింది: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "సేవ నిలిపివేయబడింది: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 #, fuzzy msgid "protocol" msgstr "ప్రోటోకాల్" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 #, fuzzy msgid "external (frontend) port" msgstr "బాహ్య (ఫ్రంటెండ్) పోర్ట్" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 #, fuzzy msgid "internal (freedombox) port" msgstr "అంతర్గత (freedombox) పోర్ట్" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "సబ్డొమైన్లు క్రియాశీలీకరించు" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 #, fuzzy msgid "Deleted custom service" msgstr "తొలగించినవి కస్టమ్ సేవ" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 #, fuzzy msgid "" "This service is available as a standard service. Please use the \"Standard " @@ -4012,26 +3993,46 @@ msgid "" msgstr "" "ఈ సేవను ప్రమాణం సేవగా అందుబాటులో ఉంది. దయచేసి దాన్ని ఎనేబుల్ \"ప్రామాణిక సేవలు\" పేజీ ఉపయోగించడానికి." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 #, fuzzy msgid "Added custom service" msgstr "కస్టమ్ సేవ చేర్చబడింది" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 #, fuzzy msgid "This service already exists" msgstr "ఈ సేవ ఇప్పటికే ఉంది" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 #, fuzzy -msgid "PageKite Account" -msgstr "PageKite ఖాతా" +msgid "Custom Services" +msgstr "కస్టమ్ సేవలు" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "అమరికలు దాచు" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +msgid "Add Custom Service" +msgstr "కస్టమ్ సేవలు" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "ప్రస్థుత కస్టమ్ సేవలు" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "సంబంధం కలిగిఉన్నది %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "ఈ సేవను తొలగించు" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +msgid "Add custom PageKite service" +msgstr "కస్టమ్ సేవ చేర్చబడింది" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -4040,32 +4041,6 @@ msgstr "" "హెచ్చరిక:
మా PageKite ఫ్రంటెండ్ సర్వర్ మీరు ఇక్కడ నిర్వచించే చేయగల అన్ని ప్రోటోకాల్ / పోర్ట్ " "కాంబినేషన్ మద్దతు ఇవ్వకపోవచ్చు. ఉదాహరణకు, HTTPS 443 పోర్ట్లకు సమస్యలు కారణమవుతుంది." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -#, fuzzy -msgid "Create a custom service" -msgstr "వినియొగధారుది సేవ సృష్టించు" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "సేవ జోడించండి" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "ప్రస్థుత కస్టమ్ సేవలు" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "మీరు ఏ కస్టమ్ సేవలు ప్రారంభించలేదు" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "సంబంధం కలిగిఉన్నది %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "ఈ సేవను తొలగించు" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "ఫ్రీడమ్ బాక్స్.మీ ఉప డోమైన్ ను మీ రశీదుతో ఏర్పాటు చేస్కోండి" @@ -4138,17 +4113,8 @@ msgstr "" "SSH క్లైంట్ సెటప్ చూడండి సూచనలు " -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "ప్రామాణిక సేవలు" - -#: plinth/modules/pagekite/views.py:40 -#, fuzzy -msgid "Custom Services" -msgstr "కస్టమ్ సేవలు" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "శక్తి" @@ -4528,6 +4494,101 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "ఆరొహించు కోన" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "ఉపయోగించబడినది" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Shared" +msgid "Share name" +msgstr "పంచుకోబడ్డ" + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "చర్యలు" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "{name} deleted." +msgid "Share enabled." +msgstr "{name} తొలగించబడింది." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "అనువర్తనం స్థాపించుటలో దోషం: {error}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Shared" +msgid "Share disabled." +msgstr "పంచుకోబడ్డ" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "అనువర్తనం స్థాపించుటలో దోషం: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "సేర్క్స్" @@ -4587,7 +4648,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "ఆకృతీకరణ నవీకరించబడింది." @@ -5074,7 +5135,7 @@ msgstr "స్నాప్షాట్‌ సృష్టించబడిన msgid "Storage snapshots configuration updated" msgstr "ఆకృతీకరణ నవీకరించబడింది" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "చర్య లోపం:{0}{1}{2}" @@ -5272,18 +5333,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "క్రింది డిస్కులు ఉపయోగంలో ఉన్నాయి:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "ఆరొహించు కోన" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "ఉపయోగించబడినది" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -5378,18 +5427,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -#, fuzzy -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" -"ప్రారంభించినప్పుడు,సమకాలీకరించునకు అంతర్జాల ముఖ చిత్రం/" -"syncthingకంప్యూటరు మరియు పరికరాల మధ్య కూడా లభించును" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 #, fuzzy #| msgid "Install this application?" msgid "Administer Syncthing application" @@ -5623,33 +5661,25 @@ msgstr "టార్ బ్రౌజర్" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "టోర్ ఆకృతీకరణ నవీకరించబడుతుంది" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "టార్ నడుస్తున్నది" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "టార్ నడవడంలేదు" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Hidden Service" msgid "Onion Service" msgstr "దాగిన సేవ" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "పోర్ట్స్" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "రిలే" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5658,11 +5688,11 @@ msgstr "" "మీ %(box_name)s లు రౌటర్ లేదా ఫైర్వాల్ వెనుక ఉంటే, మీరు ఈ క్రింది పోర్టులు తెరిచి ఉన్నారని " "నిర్ధారించుకోండి మరియు అవసరమైతే పోర్ట్-ఫార్వార్డ్ చేయబడిందని నిర్ధారించుకోండి:" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "సాక్స్‌లు" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "టిసిపి పోర్ట్ 9050 పై ఒక టార్ సొక్స్ పోర్ట్ మీ %(box_name)sలో అందుబాటులో ఉంది." @@ -5680,15 +5710,6 @@ msgstr "" "బిట్ టోర్రెంట్ పీర్-టు-పీర్ ఫైల్ షేరింగ్ ప్రోటోకాల్. ట్రాన్స్మిషన్ డెమోన్ బిట్ టోర్రెంట్ ఫైల్ భాగస్వామ్యాన్ని నిర్వహిస్తుంది. " "బిట్ టోర్రెంట్ అజ్ఞాత కాదని గమనించండి." -#: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." -msgid "" -"Access the web interface at /transmission." -msgstr "ఇచ్చట వెబ్ ఇంటర్ఫేస్ యాక్సెస్ చేయవచ్చును ." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "డైరెక్టరీని దిగుమతి చేయు" @@ -5724,23 +5745,22 @@ msgstr "" #| "information and system altering abilities are limited to users belonging " #| "to admin group." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "ప్రారంభించినప్పుడు, వెబ్ సర్వర్లో / _cockpit / మార్గం నుండి " "కాక్పిట్ అందుబాటులో ఉంటుంది. దీన్ని మంది వినియోగదారులచే " "ద్వారా పొందవచ్చు {box_name}.\n" "అంగీకార సమాచారం మరియు సిస్టమ్ మార్చడం సామర్ధ్యాలు నిర్వాహక సమూహం చెందిన వినియోగదారులకు పరిమితం." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "న్యూస్ ఫీడ్‌లను చదవడం మరియు చందాదారునిగా చేరు" @@ -5933,8 +5953,8 @@ msgid "Save Password" msgstr "పాస్‌వర్డ్‌ను సేవ్ చేయి" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "వినియోగదారుని సృష్టించు" @@ -5971,7 +5991,7 @@ msgstr "" msgid "Create Account" msgstr "ఖాతా సృష్టించు" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "వినియోగదారులు" @@ -6098,17 +6118,13 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "వెబ్ క్లయింట్ ని ప్రారంభించండి" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, fuzzy, python-format #| msgid "Service discovery server is running" msgid "Service %(service_name)s is running." msgstr "సేవ ఆవిష్కరణ సేవికను నడుపుతోంది" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, fuzzy, python-format #| msgid "Service discovery server is not running" msgid "Service %(service_name)s is not running." @@ -6164,65 +6180,60 @@ msgstr "భాష" msgid "Log in" msgstr "లోనికి ప్రవేశించండి" -#: plinth/templates/clients.html:29 -#, fuzzy -msgid "Client Apps" -msgstr "ఐ ర్ సి క్లయింట్ (Quassel)" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "వెబ్" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 #, fuzzy msgid "Desktop" msgstr "" "చాట్ క్లయింట్\n" " (JSXC)" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "గ్నూ/లినక్స్" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "విండోస్" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "మ్యాక్ ఓయస్" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 #, fuzzy msgid "Mobile" msgstr "తపాల బంట్రౌతు(Roundcube)" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "ప్లే స్టోర్" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "ఎఫ్-డ్రాయిడ్" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 #, fuzzy msgid "App Store" msgstr "అన్హొస్టెడ్ స్టోరేజ్ ని (పునరుద్ధరించండి)" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "ప్యాకేజి" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "డెబియన్:" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "హోమ్ బ్రూ:" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "RPM:" @@ -6362,6 +6373,15 @@ msgstr "సంస్థాపన %(package_names)s%:(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s %% పూర్తి" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "వెబ్ క్లయింట్ ని ప్రారంభించండి" + +#: plinth/templates/toolbar.html:47 +#, fuzzy +msgid "Client Apps" +msgstr "ఐ ర్ సి క్లయింట్ (Quassel)" + #: plinth/views.py:180 msgid "Application enabled" msgstr "అనువర్తనం ఆమోదింపబడింది" @@ -6374,6 +6394,66 @@ msgstr "అనువర్తనం ఆమోదింపబడలేదు" msgid "Gujarati" msgstr "" +#~ msgid "OpenVPN server is running" +#~ msgstr "అమర్చిపెటినా తెరిచినVPNనడుస్తుంది" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "అమర్చిపెటినా తెరిచినVPN నడంలేదు" + +#, fuzzy +#~ msgid "Enable PageKite" +#~ msgstr "PageKite ప్రారంభించు" + +#~ msgid "Service enabled: {name}" +#~ msgstr "సేవ ప్రారంభించబడింది: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "సేవ నిలిపివేయబడింది: {name}" + +#, fuzzy +#~ msgid "PageKite Account" +#~ msgstr "PageKite ఖాతా" + +#~ msgid "Save settings" +#~ msgstr "అమరికలు దాచు" + +#, fuzzy +#~ msgid "Create a custom service" +#~ msgstr "వినియొగధారుది సేవ సృష్టించు" + +#~ msgid "Add Service" +#~ msgstr "సేవ జోడించండి" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "మీరు ఏ కస్టమ్ సేవలు ప్రారంభించలేదు" + +#~ msgid "Standard Services" +#~ msgstr "ప్రామాణిక సేవలు" + +#, fuzzy +#~ msgid "" +#~ "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " +#~ "clients are also available." +#~ msgstr "" +#~ "ప్రారంభించినప్పుడు,సమకాలీకరించునకు అంతర్జాల ముఖ చిత్రం/" +#~ "syncthingకంప్యూటరు మరియు పరికరాల మధ్య కూడా లభించును" + +#~ msgid "Tor is running" +#~ msgstr "టార్ నడుస్తున్నది" + +#~ msgid "Tor is not running" +#~ msgstr "టార్ నడవడంలేదు" + +#, fuzzy +#~| msgid "" +#~| "Access the web interface at /transmission." +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "ఇచ్చట వెబ్ ఇంటర్ఫేస్ యాక్సెస్ చేయవచ్చును ." + #~ msgid "Secret" #~ msgstr "రహస్యం" diff --git a/plinth/locale/tr/LC_MESSAGES/django.po b/plinth/locale/tr/LC_MESSAGES/django.po index 5b116bc12..cf11b2ea7 100644 --- a/plinth/locale/tr/LC_MESSAGES/django.po +++ b/plinth/locale/tr/LC_MESSAGES/django.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-08-08 00:22+0000\n" "Last-Translator: Mesut Akcan \n" "Language-Team: Turkish /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "Etkinleştirildiğinde, Cockpit'e erişim ağ sunucusunda /" "cockpit yolundan mümkün olacaktır. /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "Etkinleştirildiğinde, Deluge ağ istemcisine erişim ağ (web) sunucusunda /deluge yolundan mümkün olacaktır. Varsayılan parola " "şudur: 'deluge'. Ancak servisi etkinleştirdikten sonra giriş yapıp onu " "derhal değiştirmeniz gerekmektedir." -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "BitTorrent uygulamaları kullanarak dosya indir" @@ -972,7 +969,7 @@ msgstr "" "Sistem teşhis testi uygulamaların ve servislerin beklenildiği gibi " "çalıştıklarını teyit etmek için sisteminizde bir takım kontroller yapacaktır." -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "Teşhis Testi" @@ -1071,18 +1068,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Kurulumu güncelle" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "Ayar değiştirilmedi" @@ -1340,9 +1336,10 @@ msgstr "Hakkında" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Durum" @@ -1471,10 +1468,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "Yapılandırma" @@ -1694,19 +1690,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create Repository" -msgid "Create repository" -msgstr "Depo oluştur" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create Repository" msgid "Manage Repositories" msgstr "Depo oluştur" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create Repository" +msgid "Create repository" +msgstr "Depo oluştur" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 #, fuzzy #| msgid "Tor relay port available" @@ -1772,7 +1768,7 @@ msgid "Edit repository" msgstr "Depo oluştur" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "Yapılandırma sırasında bir hata meydana geldi." @@ -1955,7 +1951,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "Daha fazla bilgi edin..." @@ -2138,7 +2133,7 @@ msgid "I2P Proxy" msgstr "Ağ Vekil Sunucusu" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "Başlat" @@ -2197,9 +2192,7 @@ msgstr "Viki ve Blog" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwiki sade bir blog ve viki uygulamasıdır. Birçok hafif işaretleme " "dillerini destekler ki buna Markdown dahildir, ayrıca RSS beslemeleri ve " @@ -2207,7 +2200,7 @@ msgstr "" "bloglar ve vikiler (oluşturulduklarında) /ikiwiki " "adresinde erişilebilir olacaklardır." -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, fuzzy, python-brace-format #| msgid "" #| "Only {box_name} users in the admin group can create and " @@ -2226,12 +2219,13 @@ msgstr "" "href=\"/plinth/sys/users\">Kullanıcı Yapılandırması bölümünde bu " "izinleri değiştirebilir ya da yeni kullanıcı ekleyebilirsiniz." -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "Viki uygulamalarını görüntüle ve düzenle" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "Tür" @@ -2244,16 +2238,16 @@ msgstr "Yönetici Hesap İsmi" msgid "Admin Account Password" msgstr "Yönetici Hesap Parolası" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "Viki ve Blogları Yönet" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "Viki ya da Blog oluştur" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "Viki ve Blogları Yönet" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "Hiçbir viki ya da blog mevcut değil." @@ -2475,7 +2469,7 @@ msgstr "İptal et" msgid "Obtain" msgstr "Edin" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, fuzzy, python-format #| msgid "" #| "No domains have been configured. Configure domains to be able to obtain " @@ -2487,7 +2481,7 @@ msgstr "" "Hiçbir alan yapılandırılmamış. Onlardan sertifika edinmek için alan " "yapılandırın." -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " @@ -2496,30 +2490,30 @@ msgstr "" "{domain} alanı için sertifika başarılı bir şekilde iptal edildi. Bu işlemin " "başlaması biraz zaman alabilir." -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" "{domain} alanı için sertifikanın iptal edilmesi başarısız oldu: {error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "{domain} alanı için sertifika başarılı bir şekilde edinildi" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "{domain} alanı için sertifika edinilemedi: {error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "{domain} alanı için sertifika başarılı bir şekilde silindi" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "{domain} alanı için sertifikanın silinmesi başarısız oldu: {error}" @@ -2825,13 +2819,13 @@ msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" "Devre dışı bırakıldığında, oyuncular ölemez ve hiçbir zarar göremezler." -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "Adres" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "Port" @@ -2956,7 +2950,7 @@ msgstr "İptal" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "Servis" @@ -3054,19 +3048,19 @@ msgstr "Anahtarı imzala" msgid "Send the key back to the keyservers" msgstr "Anahtarı anahtar sunucularına geri gönder" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "Anahtar içe aktarıldı." -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "Anahtar yayını iptal edildi." -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "Anahtar, anahtar sunucusuna yayınlandı." -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "Anahtarın yayınlanmasında bir hata meydana geldi." @@ -3448,14 +3442,14 @@ msgstr "" "Bağlantının devre dışı bırakılması başarısız oldu: bağlantı bulunamadı." #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "Yakındaki Wi-Fi Ağları" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "Bağlantı Ekle" @@ -3532,6 +3526,7 @@ msgid "yes" msgstr "evet" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "Cihaz" @@ -3715,7 +3710,7 @@ msgstr "%(name)s isimli bağlantıyı göster" msgid "Computer" msgstr "Bilgisayar" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection" msgid "Connections" @@ -3738,7 +3733,7 @@ msgstr "Devre Dışı" msgid "Create..." msgstr "Oluştur..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "OpenVPN" @@ -3763,7 +3758,7 @@ msgstr "" "servisleri kullanabilirsiniz. Aynı zamanda ek güvenlik ve anonimlik için " "İnternet'in geri kalanına {box_name} vasıtasıyla erişebilirsiniz." -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3773,11 +3768,45 @@ msgstr "Profil İndir" msgid "Enable OpenVPN server" msgstr "OpenVPN sunucusunu etkinleştir" -#: plinth/modules/openvpn/templates/openvpn.html:40 +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:42 +#, python-format +msgid "" +"OpenVPN has not yet been setup. Performing a secure setup takes a very long " +"time. Depending on how fast your %(box_name)s is, it may even take hours. " +"If the setup is interrupted, you may start it again." +msgstr "" +"OpenVPN kurulumu henüz yapılmamıştır. Güvenli kurulum yapmak çok uzun bir " +"süre alır. %(box_name)s kutunuzun hızına bağlı olarak saatler sürmesi bile " +"mümkündür. Eğer kurulum kesilirse, tekrar başlatabilirsiniz." + +#: plinth/modules/openvpn/templates/openvpn.html:55 +msgid "Start setup" +msgstr "Kuruluma başla" + +#: plinth/modules/openvpn/templates/openvpn.html:64 +msgid "OpenVPN setup is running" +msgstr "OpenVPN kurulumu çalışmaktadır" + +#: plinth/modules/openvpn/templates/openvpn.html:68 +#, python-format +msgid "" +"To perform a secure setup, this process takes a very long time. Depending " +"on how fast your %(box_name)s is, it may even take hours. If the setup is " +"interrupted, you may start it again." +msgstr "" +"Güvenli kurulum yapmak çok uzun bir süre alır. %(box_name)s kutunuzun hızına " +"bağlı olarak saatler sürmesi bile mümkündür. Eğer kurulum kesilirse, tekrar " +"başlatabilirsiniz." + +#: plinth/modules/openvpn/templates/openvpn.html:87 msgid "Profile" msgstr "Profil" -#: plinth/modules/openvpn/templates/openvpn.html:43 +#: plinth/modules/openvpn/templates/openvpn.html:90 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -3789,8 +3818,7 @@ msgstr "Profil" msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " "to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " +"available for most platforms. Click \"Learn more...\" above for recommended " "clients and instructions on how to configure them." msgstr "" "%(box_name)s kutusunun VPN'ine erişmek için bir profil indirmeniz ve bunu " @@ -3800,60 +3828,22 @@ msgstr "" "Manual/OpenVPN\" title=\"%(box_name)s Manual - OpenVPN\">belgelendirmeyi " "okuyun." -#: plinth/modules/openvpn/templates/openvpn.html:55 +#: plinth/modules/openvpn/templates/openvpn.html:100 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "" "Profil, %(box_name)s kutusunun her kullanıcısı için özeldir. Onun " "gizliliğini koruyun." -#: plinth/modules/openvpn/templates/openvpn.html:66 +#: plinth/modules/openvpn/templates/openvpn.html:111 msgid "Download my profile" msgstr "Profilimi indir" -#: plinth/modules/openvpn/templates/openvpn.html:75 -#, python-format -msgid "" -"OpenVPN has not yet been setup. Performing a secure setup takes a very long " -"time. Depending on how fast your %(box_name)s is, it may even take hours. " -"If the setup is interrupted, you may start it again." -msgstr "" -"OpenVPN kurulumu henüz yapılmamıştır. Güvenli kurulum yapmak çok uzun bir " -"süre alır. %(box_name)s kutunuzun hızına bağlı olarak saatler sürmesi bile " -"mümkündür. Eğer kurulum kesilirse, tekrar başlatabilirsiniz." - -#: plinth/modules/openvpn/templates/openvpn.html:88 -msgid "Start setup" -msgstr "Kuruluma başla" - -#: plinth/modules/openvpn/templates/openvpn.html:95 -msgid "OpenVPN setup is running" -msgstr "OpenVPN kurulumu çalışmaktadır" - -#: plinth/modules/openvpn/templates/openvpn.html:99 -#, python-format -msgid "" -"To perform a secure setup, this process takes a very long time. Depending " -"on how fast your %(box_name)s is, it may even take hours. If the setup is " -"interrupted, you may start it again." -msgstr "" -"Güvenli kurulum yapmak çok uzun bir süre alır. %(box_name)s kutunuzun hızına " -"bağlı olarak saatler sürmesi bile mümkündür. Eğer kurulum kesilirse, tekrar " -"başlatabilirsiniz." - -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "OpenVPN sunucusu çalışmaktadır" - -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "OpenVPN sunucusu çalışmamaktadır" - -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "Kurulum tamamlandı." -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "Kurulum başarısız oldu." @@ -3877,19 +3867,19 @@ msgstr "" "erişmek için bir sistemdir. Buna sadece {box_name} servislerine İnternet'ten " "erişmek mümkün değilse ihtiyaç duyarsınız. Bu, şu durumları kapsar:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} kısıtlı bir güvenlik duvarının arkasında olduğunda." -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" "{box_name} kontrolünüzde olmayan bir (kablosuz) yönlendiriciye bağlı " "olduğunda." -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." @@ -3897,7 +3887,7 @@ msgstr "" "İnternet Erişim Sağlayıcınız size harici bir IP adresi sunmadığında ve bunun " "yerine İnternet bağlantısını NAT vasıtasıyla sağladığında." -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 #, fuzzy #| msgid "" #| "Your ISP does not provide you a static IP address and your IP address " @@ -3909,17 +3899,23 @@ msgstr "" "İnternet Erişim Sağlayıcınız size statik bir IP adresi sağlamadığında ve IP " "adresiniz İnternet'e her bağlandığınızda değiştiğinde." -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "İnternet Erişim Sağlayıcınız içeri gelen bağlantıları kısıtladığında." -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite NAT, güvenlik duvarları ve IP adresi sınırlamalarına rağmen tünel " "ve ters vekil sunucular birleşimini kullanarak işleyebilir. Herhangi bir " @@ -3927,21 +3923,17 @@ msgstr "" "pagekite.net\">pagekite.net. Gelecekte bunun için arkadaşlarınızın " "{box_name} kutusunu kullanmanız mümkün olacaktır." -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 #, fuzzy #| msgid "PageKite Account" msgid "PageKite Domain" msgstr "PageKite Hesabı" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "PageKite'ı Etkinleştir" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "Sunucu alanı" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3949,31 +3941,31 @@ msgstr "" "PageKite sunucunuzu seçin. Varsayılan pagekite.net sunucusunu kullanmak için " "\"pagekite.net\" değerini kullanın." -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "Sunucu portu" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "PageKite sunucunuzun portu (varsayılan: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "Kite ismi" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "Örnek: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "Geçersiz kite ismi" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "Kite sırrı" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." @@ -3981,53 +3973,43 @@ msgstr "" "Kite ile ilişkilendirilmiş bir sır ya da kite üzerinde hiçbir sır " "ayarlanmamışsa hesabınız için varsayılan sır." -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "Kite detayları ayarlandı" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "Pagekite sunucusu ayarlandı" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite etkinleştirildi" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite devre dışı" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "Servis etkinleştirildi: {name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "Servis devre dışı bırakıldı: {name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "protokol" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "harici (ön arayüz) port" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "dahili (freedombox) port" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "Alt Alanları Etkinleştir" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "Özel servis silindi" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." @@ -4035,23 +4017,45 @@ msgstr "" "Bu servis standart bir servis olarak mevcuttur. Etkinleştirmek için lütfen " "\"Standart Servisler\" sayfasını kullanın." -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "Özel servis eklendi" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "Bu servis zaten mevcuttur" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "PageKite Hesabı" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "Özel Servisler" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "Ayarları kaydet" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "Özel Servisler" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "Mevcut özel servisler" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "%(backend_host)s:%(backend_port)s unsuruna bağlandı" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "Bu servisi sil" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "Özel servis eklendi" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -4062,31 +4066,6 @@ msgstr "" "bağlantı noktasından değişik bağlantı noktalarında HTTPS protokolünün sorun " "çıkardığı bilinir." -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "Özel servis oluştur" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "Servis Ekle" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "Mevcut özel servisler" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "Hiçbir etkin Özel Servisiniz yok" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "%(backend_host)s:%(backend_port)s unsuruna bağlandı" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "Bu servisi sil" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "Fişinizle bir freedombox.me alt alanı kurun" @@ -4163,16 +4142,8 @@ msgstr "" "SSH istemci kurulum talimatlarını okuyun" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "Standart Servisler" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "Özel Servisler" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "Enerji" @@ -4621,6 +4592,101 @@ msgstr "" "lesssecureapps\">https://www.google.com/settings/security/lesssecureapps) \"daha az güvenli uygulamalara\" müsaade etmeniz gerekeceğini unutmayın." +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "Bağlama Noktası" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "Kullanılan" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Shared" +msgid "Share name" +msgstr "Paylaşılan" + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "Eylemler" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "{name} deleted." +msgid "Share enabled." +msgstr "{name} silindi." + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "Uygulamanın kurulmasında hata: {error}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Shared" +msgid "Share disabled." +msgstr "Paylaşılan" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "Uygulamanın kurulmasında hata: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -4680,7 +4746,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "Kurulum güncellendi." @@ -5182,7 +5248,7 @@ msgstr "Anlık oluşturuldu." msgid "Storage snapshots configuration updated" msgstr "Zaman Çizelgesi Anlıklarının yapılandırması güncellendi" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "Eylem hatası: {0} [{1}] [{2}]" @@ -5385,18 +5451,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "Aşağıdaki diskler kullanımdadır:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "Bağlama Noktası" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "Kullanılan" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "Bölüm Genişletme" @@ -5501,22 +5555,7 @@ msgstr "" "{box_name} üzerindeki ağ arayüzü sadece \"admin\" yani yönetici grubuna ait " "kullanıcılar tarafından kullanılabilir." -#: plinth/modules/syncthing/__init__.py:57 -#, fuzzy -#| msgid "" -#| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" -"Etkinleştirildiğinde, Syncthing ağ arayüzü syncthing konumundan kullanılabilir. Masaüstü ve mobil istemciler de " -"mevcuttur.." - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 #, fuzzy #| msgid "Install this application?" msgid "Administer Syncthing application" @@ -5764,33 +5803,25 @@ msgstr "Tor Tarayıcısı" msgid "Orbot: Proxy with Tor" msgstr "Orbot: Tor ile Vekil Sunucusu" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "Tor yapılandırması güncellenmektedir" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "Tor çalışmaktadır" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "Tor çalışmamaktadır" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Hidden Service" msgid "Onion Service" msgstr "Gizli Servis" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "Portlar" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "Aktarıcı" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5800,11 +5831,11 @@ msgstr "" "gerekiyorsa aşağıdaki bağlantı noktalarının (port) açık ve yönlendirilmiş " "olduğundan emin olun:" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5825,17 +5856,6 @@ msgstr "" "BitTorrent dosya paylaşımını idare eder. BitTorrent'ın anonim olmadığını " "unutmayın." -#: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." -msgid "" -"Access the web interface at /transmission." -msgstr "" -"Ağ arayüzüne /transmission konumunda " -"erişebilirsiniz." - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "İndirme klasörü" @@ -5875,16 +5895,15 @@ msgstr "" #| "tt-rss path on the web server. It can be accessed by any user with a {box_name} login." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "Etkinleştirildiğinde,Tiny Tiny RSS'e erişim ağ sunucusunda /tt-rss yolundan mümkün olacaktır. Herhangi bir {box_name} kullanıcısı, ki oturumu olmalıdır tarafından " "kullanılabilir." -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 #, fuzzy #| msgid "" #| "When using a mobile or desktop application for Tiny Tiny RSS, use the URL " @@ -5897,7 +5916,7 @@ msgstr "" "Tiny Tiny RSS ile mobil ya da masaüstü uygulama kullanırken bağlantı için /tt-rss-app URL'ini kullanın." -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "Haber beslemelerini oku ve onlara abone ol" @@ -6109,8 +6128,8 @@ msgid "Save Password" msgstr "Parolayı Kaydet" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "Kullanıcı Oluştur" @@ -6148,7 +6167,7 @@ msgstr "" msgid "Create Account" msgstr "Hesap Oluştur" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "Kullanıcılar" @@ -6292,16 +6311,12 @@ msgstr "" "\">hata izleyicisinde rapor edin ki sorunu giderebilelim. Hata raporuna " "durum kütüğünü eklemeyi unutmayınız." -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "Ağ istemcisini başlat" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "%(service_name)s servisi çalışmaktadır." -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "%(service_name)s servisi çalışmamaktadır." @@ -6355,59 +6370,55 @@ msgstr "Lisan" msgid "Log in" msgstr "Giriş yap" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "İstemci Uygulamalar" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "Web" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "Masaüstü" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "Windows" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "macOS" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "Mobil" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "Play Store" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "F-Droid" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "App Store" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "Paket" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "Debian:" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "Homebrew:" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "RPM:" @@ -6561,6 +6572,14 @@ msgstr "%(package_names)s kuruluyor: %(status)s" msgid "%(percentage)s%% complete" msgstr "%(percentage)s%% tamamlandı" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "Ağ istemcisini başlat" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "İstemci Uygulamalar" + #: plinth/views.py:180 msgid "Application enabled" msgstr "Uygulama etkinleştirildi" @@ -6573,6 +6592,69 @@ msgstr "Uygulama devre dışı bırakıldı" msgid "Gujarati" msgstr "" +#~ msgid "OpenVPN server is running" +#~ msgstr "OpenVPN sunucusu çalışmaktadır" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "OpenVPN sunucusu çalışmamaktadır" + +#~ msgid "Enable PageKite" +#~ msgstr "PageKite'ı Etkinleştir" + +#~ msgid "Service enabled: {name}" +#~ msgstr "Servis etkinleştirildi: {name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "Servis devre dışı bırakıldı: {name}" + +#~ msgid "PageKite Account" +#~ msgstr "PageKite Hesabı" + +#~ msgid "Save settings" +#~ msgstr "Ayarları kaydet" + +#~ msgid "Create a custom service" +#~ msgstr "Özel servis oluştur" + +#~ msgid "Add Service" +#~ msgstr "Servis Ekle" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "Hiçbir etkin Özel Servisiniz yok" + +#~ msgid "Standard Services" +#~ msgstr "Standart Servisler" + +#, fuzzy +#~| msgid "" +#~| "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile clients are also available." +#~ msgid "" +#~ "When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " +#~ "clients are also available." +#~ msgstr "" +#~ "Etkinleştirildiğinde, Syncthing ağ arayüzü syncthing konumundan kullanılabilir. Masaüstü ve mobil istemciler " +#~ "de mevcuttur.." + +#~ msgid "Tor is running" +#~ msgstr "Tor çalışmaktadır" + +#~ msgid "Tor is not running" +#~ msgstr "Tor çalışmamaktadır" + +#, fuzzy +#~| msgid "" +#~| "Access the web interface at /transmission." +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "" +#~ "Ağ arayüzüne /transmission konumunda " +#~ "erişebilirsiniz." + #~ msgid "Only alphanumeric characters are allowed." #~ msgstr "Sadece alfanümerik karakterlere izin verilir." diff --git a/plinth/locale/uk/LC_MESSAGES/django.po b/plinth/locale/uk/LC_MESSAGES/django.po index 3e70bdc7e..6d14cbfdb 100644 --- a/plinth/locale/uk/LC_MESSAGES/django.po +++ b/plinth/locale/uk/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-01-04 17:06+0000\n" "Last-Translator: prolinux ukraine \n" "Language-Team: Ukrainian /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" #: plinth/modules/config/__init__.py:37 @@ -669,7 +668,7 @@ msgstr "Загальні налаштування" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "Налаштувати" @@ -788,7 +787,7 @@ msgstr "" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "" @@ -899,14 +898,12 @@ msgstr "Deluge це BitTorrent клієнт з веб-інтерфейсом." #: plinth/modules/deluge/__init__.py:45 msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -924,7 +921,7 @@ msgid "" "confirm that applications and services are working as expected." msgstr "" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "" @@ -1013,18 +1010,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "Оновити налаштування" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "" @@ -1238,9 +1234,10 @@ msgstr "" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "Статус" @@ -1338,10 +1335,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "" @@ -1543,19 +1539,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Remove Repository" -msgid "Create repository" -msgstr "Видалити сховище" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Remove Repository" msgid "Manage Repositories" msgstr "Видалити сховище" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Remove Repository" +msgid "Create repository" +msgstr "Видалити сховище" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 msgid "No repositories available." msgstr "" @@ -1615,7 +1611,7 @@ msgid "Edit repository" msgstr "Видалити сховище" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "" @@ -1774,7 +1770,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "" @@ -1923,7 +1918,7 @@ msgid "I2P Proxy" msgstr "" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -1975,12 +1970,10 @@ msgstr "" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -1989,12 +1982,13 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 msgid "View and edit wiki applications" msgstr "" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "" @@ -2007,14 +2001,14 @@ msgstr "" msgid "Admin Account Password" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 -#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 -msgid "Create Wiki or Blog" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" msgstr "" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 +#: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 +msgid "Create Wiki or Blog" msgstr "" #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 @@ -2214,43 +2208,43 @@ msgstr "" msgid "Obtain" msgstr "" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, python-format msgid "" "No domains have been configured. Configure " "domains to be able to obtain certificates for them." msgstr "" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, python-brace-format msgid "" "Certificate successfully revoked for domain {domain}.This may take a few " "moments to take effect." msgstr "" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, python-brace-format msgid "Certificate successfully deleted for domain {domain}" msgstr "" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, python-brace-format msgid "Failed to delete certificate for domain {domain}: {error}" msgstr "" @@ -2482,13 +2476,13 @@ msgstr "" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "" @@ -2588,7 +2582,7 @@ msgstr "" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "" @@ -2683,19 +2677,19 @@ msgstr "" msgid "Send the key back to the keyservers" msgstr "" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "" @@ -3041,14 +3035,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "" @@ -3125,6 +3119,7 @@ msgid "yes" msgstr "" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "" @@ -3298,7 +3293,7 @@ msgstr "" msgid "Computer" msgstr "" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection refused" msgid "Connections" @@ -3321,7 +3316,7 @@ msgstr "" msgid "Create..." msgstr "" -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 msgid "OpenVPN" msgstr "" @@ -3340,7 +3335,7 @@ msgid "" "security and anonymity." msgstr "" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3350,30 +3345,11 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:40 -msgid "Profile" +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:43 -#, python-format -msgid "" -"To connect to %(box_name)s's VPN, you need to download a profile and feed it " -"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " -"clients and instructions on how to configure them." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:55 -#, python-format -msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:66 -msgid "Download my profile" -msgstr "" - -#: plinth/modules/openvpn/templates/openvpn.html:75 +#: plinth/modules/openvpn/templates/openvpn.html:42 #, python-format msgid "" "OpenVPN has not yet been setup. Performing a secure setup takes a very long " @@ -3381,15 +3357,15 @@ msgid "" "If the setup is interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:88 +#: plinth/modules/openvpn/templates/openvpn.html:55 msgid "Start setup" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:95 +#: plinth/modules/openvpn/templates/openvpn.html:64 msgid "OpenVPN setup is running" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:99 +#: plinth/modules/openvpn/templates/openvpn.html:68 #, python-format msgid "" "To perform a secure setup, this process takes a very long time. Depending " @@ -3397,19 +3373,33 @@ msgid "" "interrupted, you may start it again." msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" +#: plinth/modules/openvpn/templates/openvpn.html:87 +msgid "Profile" msgstr "" -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" +#: plinth/modules/openvpn/templates/openvpn.html:90 +#, python-format +msgid "" +"To connect to %(box_name)s's VPN, you need to download a profile and feed it " +"to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " +"available for most platforms. Click \"Learn more...\" above for recommended " +"clients and instructions on how to configure them." msgstr "" -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/templates/openvpn.html:100 +#, python-format +msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:111 +msgid "Download my profile" +msgstr "" + +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "" @@ -3430,189 +3420,168 @@ msgid "" "following situations:" msgstr "" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 msgid "" "Your ISP does not provide you a static IP address and your IP address " "changes every time you connect to Internet." msgstr "" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "" -#: plinth/modules/pagekite/__init__.py:62 +#: plinth/modules/pagekite/__init__.py:61 #, python-brace-format msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 msgid "PageKite Domain" msgstr "" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." msgstr "" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +msgid "Add Custom Service" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 -msgid "" -"Warning:
Your PageKite frontend server may not support all the " -"protocol/port combinations that you are able to define here. For example, " -"HTTPS on ports other than 443 is known to cause problems." -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 msgid "Existing custom services" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 #, python-format msgid "connected to %(backend_host)s:%(backend_port)s" msgstr "" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 msgid "Delete this service" msgstr "" +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +msgid "Add custom PageKite service" +msgstr "" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 +msgid "" +"Warning:
Your PageKite frontend server may not support all the " +"protocol/port combinations that you are able to define here. For example, " +"HTTPS on ports other than 443 is known to cause problems." +msgstr "" + #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "" @@ -3680,16 +3649,8 @@ msgid "" "SshOverPageKite/\">instructions" msgstr "" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "" @@ -4013,6 +3974,95 @@ msgid "" "a>)." msgstr "" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +msgid "Share name" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Encryption" +msgid "Action" +msgstr "Шифрування" + +#: plinth/modules/samba/views.py:74 +msgid "Share enabled." +msgstr "" + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "Помилка при встановлені застосунку: {error}" + +#: plinth/modules/samba/views.py:95 +msgid "Share disabled." +msgstr "" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "Помилка при встановлені застосунку: {error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -4066,7 +4116,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "" @@ -4483,7 +4533,7 @@ msgstr "" msgid "Storage snapshots configuration updated" msgstr "" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "" @@ -4663,18 +4713,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -4759,14 +4797,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 msgid "Administer Syncthing application" msgstr "" @@ -4965,42 +4996,34 @@ msgstr "" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 msgid "Onion Service" msgstr "" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " "the following ports are open, and port-forwarded, if necessary:" msgstr "" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "" @@ -5016,12 +5039,6 @@ msgid "" "handles Bitorrent file sharing. Note that BitTorrent is not anonymous." msgstr "" -#: plinth/modules/transmission/__init__.py:49 -msgid "" -"Access the web interface at /transmission." -msgstr "" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "" @@ -5051,19 +5068,18 @@ msgstr "" #: plinth/modules/ttrss/__init__.py:52 #, python-brace-format msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5248,8 +5264,8 @@ msgid "Save Password" msgstr "" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "" @@ -5284,7 +5300,7 @@ msgstr "" msgid "Create Account" msgstr "" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "" @@ -5409,16 +5425,12 @@ msgid "" "href=\"%(status_log_url)s\">status log to the bug report." msgstr "" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, python-format msgid "Service %(service_name)s is running." msgstr "" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, python-format msgid "Service %(service_name)s is not running." msgstr "" @@ -5469,59 +5481,55 @@ msgstr "" msgid "Log in" msgstr "" -#: plinth/templates/clients.html:29 -msgid "Client Apps" -msgstr "" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 msgid "Desktop" msgstr "" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 msgid "Mobile" msgstr "" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 msgid "App Store" msgstr "" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -5655,6 +5663,14 @@ msgstr "" msgid "%(percentage)s%% complete" msgstr "" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "" + +#: plinth/templates/toolbar.html:47 +msgid "Client Apps" +msgstr "" + #: plinth/views.py:180 msgid "Application enabled" msgstr "" diff --git a/plinth/locale/zh_Hans/LC_MESSAGES/django.po b/plinth/locale/zh_Hans/LC_MESSAGES/django.po index 251b0cca7..115c2d2f7 100644 --- a/plinth/locale/zh_Hans/LC_MESSAGES/django.po +++ b/plinth/locale/zh_Hans/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Plinth\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-11-18 18:45-0500\n" +"POT-Creation-Date: 2019-12-02 17:30-0500\n" "PO-Revision-Date: 2019-09-13 05:23+0000\n" "Last-Translator: Anxin YI <2732146152@qq.com>\n" "Language-Team: Chinese (Simplified) path on the web server. It can be accessed by any user on {box_name} belonging to the admin group." msgid "" -"When enabled, Cockpit will be available from /_cockpit/ path on the web server. It can be " -"accessed by any user on {box_name} belonging to " -"the admin group." +"It can be accessed by any user on {box_name} " +"belonging to the admin group." msgstr "" "启用以后,Cockpit 将可从网页服务器的 /_cockpit/ 路" "径访问。它将能被该 {box_name} 上任何属于 admin 组的用" @@ -674,7 +673,7 @@ msgstr "常规配置" #: plinth/modules/config/__init__.py:62 plinth/modules/dynamicdns/views.py:45 #: plinth/modules/i2p/views.py:31 plinth/modules/names/templates/names.html:44 #: plinth/modules/names/templates/names.html:58 -#: plinth/modules/pagekite/views.py:32 plinth/modules/snapshot/views.py:41 +#: plinth/modules/snapshot/views.py:41 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:39 msgid "Configure" msgstr "配置" @@ -802,7 +801,7 @@ msgstr "隐藏先进的应用和特征" msgid "Coquelicot" msgstr "Coquelicot" -#: plinth/modules/coquelicot/__init__.py:42 +#: plinth/modules/coquelicot/__init__.py:42 plinth/modules/samba/__init__.py:45 msgid "File Sharing" msgstr "文件分享" @@ -926,16 +925,14 @@ msgstr "Deluge 是一个有网页界面的 BitTorrent 客户端。" #| "'deluge', but you should log in and change it immediately after enabling " #| "this service." msgid "" -"When enabled, the Deluge web client will be available from /deluge path on the web server. The default " -"password is 'deluge', but you should log in and change it immediately after " -"enabling this service." +"The default password is 'deluge', but you should log in and change it " +"immediately after enabling this service." msgstr "" "启用后,Deluge 网页客户端可以从 /deluge 路径访问网页" "服务器。默认密码是“deluge”,但是你需要在启用此服务以后立刻登录并修改它。" -#: plinth/modules/deluge/__init__.py:51 -#: plinth/modules/transmission/__init__.py:57 +#: plinth/modules/deluge/__init__.py:49 +#: plinth/modules/transmission/__init__.py:55 msgid "Download files using BitTorrent applications" msgstr "" @@ -954,7 +951,7 @@ msgid "" msgstr "" "系统诊断将运行测试程序检查您的系统以确认应用程序和服务正在按预期方式运行。" -#: plinth/modules/diagnostics/diagnostics.py:69 +#: plinth/modules/diagnostics/diagnostics.py:70 msgid "Diagnostic Test" msgstr "诊断测试" @@ -1043,18 +1040,17 @@ msgstr "" #: plinth/modules/i2p/templates/i2p.html:34 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:33 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:63 -#: plinth/modules/openvpn/templates/openvpn.html:131 #: plinth/modules/snapshot/templates/snapshot.html:30 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:51 #: plinth/modules/tahoe/templates/tahoe-pre-setup.html:58 -#: plinth/modules/tor/templates/tor.html:94 plinth/templates/app.html:121 +#: plinth/templates/app.html:105 msgid "Update setup" msgstr "更新安装程序" #: plinth/modules/diaspora/views.py:94 plinth/modules/ejabberd/views.py:66 #: plinth/modules/matrixsynapse/views.py:105 -#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:148 -#: plinth/modules/tor/views.py:148 plinth/views.py:176 +#: plinth/modules/mediawiki/views.py:75 plinth/modules/openvpn/views.py:154 +#: plinth/modules/tor/views.py:155 plinth/views.py:176 msgid "Setting unchanged" msgstr "设置未改变" @@ -1299,9 +1295,10 @@ msgstr "关于" #: plinth/modules/firewall/templates/firewall.html:45 #: plinth/modules/letsencrypt/templates/letsencrypt.html:38 #: plinth/modules/networks/templates/connection_show.html:261 -#: plinth/modules/openvpn/templates/openvpn.html:71 -#: plinth/modules/tor/templates/tor.html:40 -#: plinth/modules/tor/templates/tor.html:68 plinth/templates/app.html:84 +#: plinth/modules/openvpn/templates/openvpn.html:39 +#: plinth/modules/openvpn/templates/openvpn.html:60 +#: plinth/modules/tor/templates/tor.html:37 +#: plinth/modules/tor/templates/tor.html:51 plinth/templates/app.html:70 msgid "Status" msgstr "状态" @@ -1416,10 +1413,9 @@ msgstr "" #: plinth/modules/ejabberd/templates/ejabberd.html:50 #: plinth/modules/i2p/templates/i2p.html:26 #: plinth/modules/matrixsynapse/templates/matrix-synapse-pre-setup.html:31 -#: plinth/modules/openvpn/templates/openvpn.html:123 #: plinth/modules/snapshot/templates/snapshot.html:27 #: plinth/modules/tahoe/templates/tahoe-post-setup.html:43 -#: plinth/modules/tor/templates/tor.html:86 plinth/templates/app.html:114 +#: plinth/templates/app.html:98 msgid "Configuration" msgstr "配置" @@ -1637,19 +1633,19 @@ msgstr "" msgid "Git" msgstr "" -#: plinth/modules/gitweb/templates/gitweb_configure.html:45 -#: plinth/modules/gitweb/templates/gitweb_configure.html:47 -#, fuzzy -#| msgid "Create User" -msgid "Create repository" -msgstr "创建用户" - -#: plinth/modules/gitweb/templates/gitweb_configure.html:54 +#: plinth/modules/gitweb/templates/gitweb_configure.html:46 #, fuzzy #| msgid "Create User" msgid "Manage Repositories" msgstr "创建用户" +#: plinth/modules/gitweb/templates/gitweb_configure.html:50 +#: plinth/modules/gitweb/templates/gitweb_configure.html:52 +#, fuzzy +#| msgid "Create User" +msgid "Create repository" +msgstr "创建用户" + #: plinth/modules/gitweb/templates/gitweb_configure.html:59 #, fuzzy #| msgid "Tor relay port available" @@ -1715,7 +1711,7 @@ msgid "Edit repository" msgstr "创建用户" #: plinth/modules/gitweb/views.py:132 plinth/modules/searx/views.py:62 -#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:170 +#: plinth/modules/searx/views.py:73 plinth/modules/tor/views.py:177 msgid "An error occurred during configuration." msgstr "在配置过程中出错。" @@ -1892,7 +1888,6 @@ msgstr "" #: plinth/modules/power/templates/power_restart.html:42 #: plinth/modules/power/templates/power_shutdown.html:41 #: plinth/templates/app.html:55 plinth/templates/setup.html:48 -#: plinth/templates/simple_app.html:38 msgid "Learn more..." msgstr "了解更多……" @@ -2072,7 +2067,7 @@ msgid "I2P Proxy" msgstr "Privoxy 网页代理" #: plinth/modules/i2p/templates/i2p_service.html:31 -#: plinth/templates/clients.html:51 +#: plinth/templates/clients.html:43 msgid "Launch" msgstr "" @@ -2132,15 +2127,13 @@ msgstr "Wiki 和博客" msgid "" "ikiwiki is a simple wiki and blog application. It supports several " "lightweight markup languages, including Markdown, and common blogging " -"functionality such as comments and RSS feeds. When enabled, the blogs and " -"wikis will be available at /" -"ikiwiki (once created)." +"functionality such as comments and RSS feeds." msgstr "" "ikiwiki是一个简单的 wiki 和博客应用程序。它支持几种轻量级标记语言,包括 " "Markdown 和常见的博客功能,如评论和 RSS 源。启用后,博客和 Wiki 将可从 /ikiwiki 访问。" -#: plinth/modules/ikiwiki/__init__.py:53 +#: plinth/modules/ikiwiki/__init__.py:50 #, python-brace-format msgid "" "Only {box_name} users in the admin group can create and " @@ -2149,7 +2142,7 @@ msgid "" "Configuration you can change these permissions or add new users." msgstr "" -#: plinth/modules/ikiwiki/__init__.py:63 +#: plinth/modules/ikiwiki/__init__.py:60 #, fuzzy #| msgid "Services and Applications" msgid "View and edit wiki applications" @@ -2157,6 +2150,7 @@ msgstr "服务和应用程序" #: plinth/modules/ikiwiki/forms.py:29 #: plinth/modules/networks/templates/connection_show.html:98 +#: plinth/modules/samba/templates/samba.html:52 #: plinth/modules/storage/templates/storage.html:43 msgid "Type" msgstr "类型" @@ -2169,16 +2163,16 @@ msgstr "管理员帐户名称" msgid "Admin Account Password" msgstr "管理员帐户密码" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:26 -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:28 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:27 +msgid "Manage Wikis and Blogs" +msgstr "管理 Wiki 和博客" + +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:31 +#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:33 #: plinth/modules/ikiwiki/templates/ikiwiki_create.html:25 msgid "Create Wiki or Blog" msgstr "创建 Wiki 或博客" -#: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:35 -msgid "Manage Wikis and Blogs" -msgstr "管理 Wiki 和博客" - #: plinth/modules/ikiwiki/templates/ikiwiki_configure.html:40 msgid "No wikis or blogs available." msgstr "没有 wiki 或博客可用。" @@ -2412,7 +2406,7 @@ msgstr "撤销" msgid "Obtain" msgstr "获取" -#: plinth/modules/letsencrypt/templates/letsencrypt.html:134 +#: plinth/modules/letsencrypt/templates/letsencrypt.html:132 #, fuzzy, python-format #| msgid "" #| "No domains have been configured. Configure domains to be able to obtain " @@ -2422,7 +2416,7 @@ msgid "" "domains to be able to obtain certificates for them." msgstr "没有配置域名。配置域名可以为它们获得相应的证书。" -#: plinth/modules/letsencrypt/views.py:55 +#: plinth/modules/letsencrypt/views.py:58 #, fuzzy, python-brace-format #| msgid "Certificate successfully revoked for domain {domain}" msgid "" @@ -2430,30 +2424,30 @@ msgid "" "moments to take effect." msgstr "成功为域名 {domain} 吊销证书" -#: plinth/modules/letsencrypt/views.py:61 +#: plinth/modules/letsencrypt/views.py:64 #, python-brace-format msgid "Failed to revoke certificate for domain {domain}: {error}" msgstr "无法为 {domain} 撤销证书:{error}" -#: plinth/modules/letsencrypt/views.py:74 -#: plinth/modules/letsencrypt/views.py:91 +#: plinth/modules/letsencrypt/views.py:77 +#: plinth/modules/letsencrypt/views.py:94 #, python-brace-format msgid "Certificate successfully obtained for domain {domain}" msgstr "为域名 {domain} 成功获得证书" -#: plinth/modules/letsencrypt/views.py:79 -#: plinth/modules/letsencrypt/views.py:96 +#: plinth/modules/letsencrypt/views.py:82 +#: plinth/modules/letsencrypt/views.py:99 #, python-brace-format msgid "Failed to obtain certificate for domain {domain}: {error}" msgstr "未能为域名 {domain} 获取证书:{error}" -#: plinth/modules/letsencrypt/views.py:108 +#: plinth/modules/letsencrypt/views.py:111 #, fuzzy, python-brace-format #| msgid "Certificate successfully revoked for domain {domain}" msgid "Certificate successfully deleted for domain {domain}" msgstr "成功为域名 {domain} 吊销证书" -#: plinth/modules/letsencrypt/views.py:113 +#: plinth/modules/letsencrypt/views.py:116 #, fuzzy, python-brace-format #| msgid "Failed to revoke certificate for domain {domain}: {error}" msgid "Failed to delete certificate for domain {domain}: {error}" @@ -2747,13 +2741,13 @@ msgstr "启用伤害" msgid "When disabled, players cannot die or receive damage of any kind." msgstr "禁用时,玩家间不能互相伤害也不能死" -#: plinth/modules/minetest/templates/minetest.html:32 +#: plinth/modules/minetest/templates/minetest.html:33 #: plinth/modules/networks/forms.py:71 plinth/modules/networks/forms.py:111 msgid "Address" msgstr "地址" -#: plinth/modules/minetest/templates/minetest.html:33 -#: plinth/modules/tor/templates/tor.html:112 +#: plinth/modules/minetest/templates/minetest.html:34 +#: plinth/modules/tor/templates/tor.html:96 msgid "Port" msgstr "端口" @@ -2872,7 +2866,7 @@ msgstr "取消" #: plinth/modules/monkeysphere/templates/monkeysphere.html:75 #: plinth/modules/monkeysphere/templates/monkeysphere_details.html:55 -#: plinth/modules/tor/templates/tor.html:111 +#: plinth/modules/tor/templates/tor.html:95 msgid "Service" msgstr "服务" @@ -2969,19 +2963,19 @@ msgstr "签名该密钥" msgid "Send the key back to the keyservers" msgstr "将密钥发回密钥服务器" -#: plinth/modules/monkeysphere/views.py:59 +#: plinth/modules/monkeysphere/views.py:60 msgid "Imported key." msgstr "已导入密钥。" -#: plinth/modules/monkeysphere/views.py:95 +#: plinth/modules/monkeysphere/views.py:96 msgid "Cancelled key publishing." msgstr "已取消的密钥发布。" -#: plinth/modules/monkeysphere/views.py:146 +#: plinth/modules/monkeysphere/views.py:147 msgid "Published key to keyserver." msgstr "已发布到密钥服务器的密钥。" -#: plinth/modules/monkeysphere/views.py:148 +#: plinth/modules/monkeysphere/views.py:149 msgid "Error occurred while publishing key." msgstr "发布密钥时出现错误。" @@ -3347,14 +3341,14 @@ msgid "Failed to de-activate connection: Connection not found." msgstr "无法取消激活连接: 找不到连接。" #: plinth/modules/networks/networks.py:268 -#: plinth/modules/networks/templates/connections_list.html:59 -#: plinth/modules/networks/templates/connections_list.html:61 +#: plinth/modules/networks/templates/connections_list.html:63 +#: plinth/modules/networks/templates/connections_list.html:65 msgid "Nearby Wi-Fi Networks" msgstr "附近的无线网络" #: plinth/modules/networks/networks.py:292 -#: plinth/modules/networks/templates/connections_list.html:64 -#: plinth/modules/networks/templates/connections_list.html:66 +#: plinth/modules/networks/templates/connections_list.html:68 +#: plinth/modules/networks/templates/connections_list.html:70 msgid "Add Connection" msgstr "添加连接" @@ -3431,6 +3425,7 @@ msgid "yes" msgstr "是的" #: plinth/modules/networks/templates/connection_show.html:84 +#: plinth/modules/samba/templates/samba.html:49 #: plinth/modules/storage/templates/storage.html:40 msgid "Device" msgstr "设备" @@ -3610,7 +3605,7 @@ msgstr "显示连接 %(name)s" msgid "Computer" msgstr "计算机" -#: plinth/modules/networks/templates/connections_list.html:72 +#: plinth/modules/networks/templates/connections_list.html:59 #, fuzzy #| msgid "Connection" msgid "Connections" @@ -3633,7 +3628,7 @@ msgstr "未激活" msgid "Create..." msgstr "创建..." -#: plinth/modules/openvpn/__init__.py:39 +#: plinth/modules/openvpn/__init__.py:39 plinth/modules/openvpn/manifest.py:33 #, fuzzy #| msgid "Open" msgid "OpenVPN" @@ -3660,7 +3655,7 @@ msgstr "" "供的私人/内部服务。您还可以通过 {box_name} 访问互联网的其他部分,以增加安全性" "和匿名性。" -#: plinth/modules/openvpn/__init__.py:75 +#: plinth/modules/openvpn/__init__.py:77 #, python-brace-format msgid "" "Download Profile" @@ -3670,11 +3665,43 @@ msgstr "" msgid "Enable OpenVPN server" msgstr "启用 OpenVPN 服务器" -#: plinth/modules/openvpn/templates/openvpn.html:40 +#: plinth/modules/openvpn/manifest.py:63 +msgid "TunnelBlick" +msgstr "" + +#: plinth/modules/openvpn/templates/openvpn.html:42 +#, python-format +msgid "" +"OpenVPN has not yet been setup. Performing a secure setup takes a very long " +"time. Depending on how fast your %(box_name)s is, it may even take hours. " +"If the setup is interrupted, you may start it again." +msgstr "" +"OpenVPN 尚未安装。 执行安全的安装需要很长的时间。 根据您的 %(box_name)s 运行" +"速度,它甚至可能需要小时。 如果安装程序中断,您可以重新启动。" + +#: plinth/modules/openvpn/templates/openvpn.html:55 +msgid "Start setup" +msgstr "启动安装程序" + +#: plinth/modules/openvpn/templates/openvpn.html:64 +msgid "OpenVPN setup is running" +msgstr "OpenVPN 安装程序正在运行" + +#: plinth/modules/openvpn/templates/openvpn.html:68 +#, python-format +msgid "" +"To perform a secure setup, this process takes a very long time. Depending " +"on how fast your %(box_name)s is, it may even take hours. If the setup is " +"interrupted, you may start it again." +msgstr "" +"若要执行更安全的安装,此过程需要很长的时间。根据您的 %(box_name)s 运行速度," +"它甚至可能需要数小时。如果安装程序中断,您可以重新启动。" + +#: plinth/modules/openvpn/templates/openvpn.html:87 msgid "Profile" msgstr "配置文件" -#: plinth/modules/openvpn/templates/openvpn.html:43 +#: plinth/modules/openvpn/templates/openvpn.html:90 #, fuzzy, python-format #| msgid "" #| "To connect to %(box_name)s's VPN, you need to download a profile and feed " @@ -3686,8 +3713,7 @@ msgstr "配置文件" msgid "" "To connect to %(box_name)s's VPN, you need to download a profile and feed it " "to an OpenVPN client on your mobile or desktop machine. OpenVPN Clients are " -"available for most platforms. See the manual page on recommended " +"available for most platforms. Click \"Learn more...\" above for recommended " "clients and instructions on how to configure them." msgstr "" "要连接到 %(box_name)s 的VPN,您需要下载配置文件并将其提供给您的移动或桌面计算" @@ -3695,56 +3721,20 @@ msgstr "" "文档 以及有关如何配置它们的说明。" -#: plinth/modules/openvpn/templates/openvpn.html:55 +#: plinth/modules/openvpn/templates/openvpn.html:100 #, python-format msgid "Profile is specific to each user of %(box_name)s. Keep it a secret." msgstr "配置文件是特定于每个 %(box_name)s 用户的。请保持其私密。" -#: plinth/modules/openvpn/templates/openvpn.html:66 +#: plinth/modules/openvpn/templates/openvpn.html:111 msgid "Download my profile" msgstr "下载我的配置文件" -#: plinth/modules/openvpn/templates/openvpn.html:75 -#, python-format -msgid "" -"OpenVPN has not yet been setup. Performing a secure setup takes a very long " -"time. Depending on how fast your %(box_name)s is, it may even take hours. " -"If the setup is interrupted, you may start it again." -msgstr "" -"OpenVPN 尚未安装。 执行安全的安装需要很长的时间。 根据您的 %(box_name)s 运行" -"速度,它甚至可能需要小时。 如果安装程序中断,您可以重新启动。" - -#: plinth/modules/openvpn/templates/openvpn.html:88 -msgid "Start setup" -msgstr "启动安装程序" - -#: plinth/modules/openvpn/templates/openvpn.html:95 -msgid "OpenVPN setup is running" -msgstr "OpenVPN 安装程序正在运行" - -#: plinth/modules/openvpn/templates/openvpn.html:99 -#, python-format -msgid "" -"To perform a secure setup, this process takes a very long time. Depending " -"on how fast your %(box_name)s is, it may even take hours. If the setup is " -"interrupted, you may start it again." -msgstr "" -"若要执行更安全的安装,此过程需要很长的时间。根据您的 %(box_name)s 运行速度," -"它甚至可能需要数小时。如果安装程序中断,您可以重新启动。" - -#: plinth/modules/openvpn/templates/openvpn.html:112 -msgid "OpenVPN server is running" -msgstr "OpenVPN 服务正在运行" - -#: plinth/modules/openvpn/templates/openvpn.html:115 -msgid "OpenVPN server is not running" -msgstr "OpenVPN 服务器未运行" - -#: plinth/modules/openvpn/views.py:126 +#: plinth/modules/openvpn/views.py:132 msgid "Setup completed." msgstr "安装已完成。" -#: plinth/modules/openvpn/views.py:128 +#: plinth/modules/openvpn/views.py:134 msgid "Setup failed." msgstr "安装失败。" @@ -3771,23 +3761,23 @@ msgstr "" "PageKite 是一种在您没有直接连接到互联网时暴露 {box_name} 服务的系统。 如果您" "的 {box_name} 服务无法从互联网访问,您只需要设置 PageKite。这包括以下情况:" -#: plinth/modules/pagekite/__init__.py:51 +#: plinth/modules/pagekite/__init__.py:50 #, python-brace-format msgid "{box_name} is behind a restricted firewall." msgstr "{box_name} 位于受限的防火墙的后面。" -#: plinth/modules/pagekite/__init__.py:54 +#: plinth/modules/pagekite/__init__.py:53 #, python-brace-format msgid "{box_name} is connected to a (wireless) router which you don't control." msgstr "{box_name} 已连接到非你控制的(无线)路由器。" -#: plinth/modules/pagekite/__init__.py:56 +#: plinth/modules/pagekite/__init__.py:55 msgid "" "Your ISP does not provide you an external IP address and instead provides " "Internet connection through NAT." msgstr "您的 ISP 没有提供外部的 IP 地址而是通过提供 NAT 连接互联网。" -#: plinth/modules/pagekite/__init__.py:58 +#: plinth/modules/pagekite/__init__.py:57 #, fuzzy #| msgid "" #| "Your ISP does not provide you a static IP address and your IP address " @@ -3798,37 +3788,39 @@ msgid "" msgstr "" "您的 ISP 不提供你一个静态的 IP 地址且你连接到互联网的 IP 地址每次会更改。" -#: plinth/modules/pagekite/__init__.py:60 +#: plinth/modules/pagekite/__init__.py:59 msgid "Your ISP limits incoming connections." msgstr "您的 ISP 限制传入的连接。" -#: plinth/modules/pagekite/__init__.py:62 -#, python-brace-format +#: plinth/modules/pagekite/__init__.py:61 +#, fuzzy, python-brace-format +#| msgid "" +#| "PageKite works around NAT, firewalls and IP-address limitations by using " +#| "a combination of tunnels and reverse proxies. You can use any pagekite " +#| "service provider, for example pagekite." +#| "net. In future it might be possible to use your buddy's {box_name} " +#| "for this." msgid "" -"PageKite works around NAT, firewalls and IP-address limitations by using a " +"PageKite works around NAT, firewalls and IP address limitations by using a " "combination of tunnels and reverse proxies. You can use any pagekite service " "provider, for example pagekite.net. In " -"future it might be possible to use your buddy's {box_name} for this." +"the future it might be possible to use your buddy's {box_name} for this." msgstr "" "PageKite 通过使用隧道和反向代理的组合来处理 NAT,防火墙和 IP 地址限制。您可以" "使用任何 pagekite 服务提供商,例如pagekite." "net。将来,您甚至可以使用好友的 {box_name}。" -#: plinth/modules/pagekite/__init__.py:88 +#: plinth/modules/pagekite/__init__.py:87 #, fuzzy #| msgid "PageKite Account" msgid "PageKite Domain" msgstr "PageKite 帐户" -#: plinth/modules/pagekite/forms.py:67 -msgid "Enable PageKite" -msgstr "启用 PageKite" - -#: plinth/modules/pagekite/forms.py:70 +#: plinth/modules/pagekite/forms.py:66 msgid "Server domain" msgstr "服务器域" -#: plinth/modules/pagekite/forms.py:72 +#: plinth/modules/pagekite/forms.py:68 msgid "" "Select your pagekite server. Set \"pagekite.net\" to use the default " "pagekite.net server." @@ -3836,105 +3828,117 @@ msgstr "" "选择您的 pagekite 服务器。设置\"pagekite.net\"以便使用默认的 pagekite.net 服" "务器。" -#: plinth/modules/pagekite/forms.py:75 plinth/modules/shadowsocks/forms.py:57 +#: plinth/modules/pagekite/forms.py:71 plinth/modules/shadowsocks/forms.py:57 msgid "Server port" msgstr "服务器端口" -#: plinth/modules/pagekite/forms.py:76 +#: plinth/modules/pagekite/forms.py:72 msgid "Port of your pagekite server (default: 80)" msgstr "你 pagekite 服务器的端口 (默认: 80)" -#: plinth/modules/pagekite/forms.py:78 +#: plinth/modules/pagekite/forms.py:74 msgid "Kite name" msgstr "Kite 名字" -#: plinth/modules/pagekite/forms.py:79 +#: plinth/modules/pagekite/forms.py:75 msgid "Example: mybox.pagekite.me" msgstr "示例: mybox.pagekite.me" -#: plinth/modules/pagekite/forms.py:81 +#: plinth/modules/pagekite/forms.py:77 msgid "Invalid kite name" msgstr "无效的 Kite 名称" -#: plinth/modules/pagekite/forms.py:85 +#: plinth/modules/pagekite/forms.py:81 msgid "Kite secret" msgstr "Kite 密码" -#: plinth/modules/pagekite/forms.py:86 +#: plinth/modules/pagekite/forms.py:82 msgid "" "A secret associated with the kite or the default secret for your account if " "no secret is set on the kite." msgstr "为 kite 设置的密码,如果没有为 kite 设置密码则会使用你账号的默认密码。" -#: plinth/modules/pagekite/forms.py:102 +#: plinth/modules/pagekite/forms.py:98 msgid "Kite details set" msgstr "Kite 详细信息设置" -#: plinth/modules/pagekite/forms.py:109 +#: plinth/modules/pagekite/forms.py:105 msgid "Pagekite server set" msgstr "Pagekite 服务器设置" -#: plinth/modules/pagekite/forms.py:115 +#: plinth/modules/pagekite/forms.py:129 msgid "PageKite enabled" msgstr "PageKite 已启用" -#: plinth/modules/pagekite/forms.py:118 +#: plinth/modules/pagekite/forms.py:132 msgid "PageKite disabled" msgstr "PageKite 已禁用" -#: plinth/modules/pagekite/forms.py:155 -#, python-brace-format -msgid "Service enabled: {name}" -msgstr "启用的服务:{name}" - -#: plinth/modules/pagekite/forms.py:160 -#, python-brace-format -msgid "Service disabled: {name}" -msgstr "已禁用的服务:{name}" - -#: plinth/modules/pagekite/forms.py:171 +#: plinth/modules/pagekite/forms.py:148 msgid "protocol" msgstr "协议" -#: plinth/modules/pagekite/forms.py:174 +#: plinth/modules/pagekite/forms.py:151 msgid "external (frontend) port" msgstr "外网(前端)端口" -#: plinth/modules/pagekite/forms.py:177 +#: plinth/modules/pagekite/forms.py:154 msgid "internal (freedombox) port" msgstr "内网(freedombox)端口" -#: plinth/modules/pagekite/forms.py:179 +#: plinth/modules/pagekite/forms.py:155 msgid "Enable Subdomains" msgstr "启用子域" -#: plinth/modules/pagekite/forms.py:213 +#: plinth/modules/pagekite/forms.py:189 msgid "Deleted custom service" msgstr "删除自定义服务" -#: plinth/modules/pagekite/forms.py:247 +#: plinth/modules/pagekite/forms.py:222 msgid "" "This service is available as a standard service. Please use the \"Standard " "Services\" page to enable it." msgstr "这项服务是可作为标准的服务。请使用\"标准服务\"页启用它。" -#: plinth/modules/pagekite/forms.py:256 +#: plinth/modules/pagekite/forms.py:231 msgid "Added custom service" msgstr "已添加的自定义服务" -#: plinth/modules/pagekite/forms.py:259 +#: plinth/modules/pagekite/forms.py:234 msgid "This service already exists" msgstr "此服务已存在" -#: plinth/modules/pagekite/templates/pagekite_configure.html:34 -msgid "PageKite Account" -msgstr "PageKite 帐户" +#: plinth/modules/pagekite/templates/pagekite_configure.html:47 +msgid "Custom Services" +msgstr "定制服务" -#: plinth/modules/pagekite/templates/pagekite_configure.html:42 -msgid "Save settings" -msgstr "保存设置" +#: plinth/modules/pagekite/templates/pagekite_configure.html:50 +#: plinth/modules/pagekite/templates/pagekite_configure.html:52 +#, fuzzy +#| msgid "Custom Services" +msgid "Add Custom Service" +msgstr "定制服务" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:44 +#: plinth/modules/pagekite/templates/pagekite_configure.html:57 +msgid "Existing custom services" +msgstr "现有的自定义服务" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:71 +#, python-format +msgid "connected to %(backend_host)s:%(backend_port)s" +msgstr "连接到 %(backend_host)s:%(backend_port)s" + +#: plinth/modules/pagekite/templates/pagekite_configure.html:83 +msgid "Delete this service" +msgstr "删除此服务" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:30 +#, fuzzy +#| msgid "Added custom service" +msgid "Add custom PageKite service" +msgstr "已添加的自定义服务" + +#: plinth/modules/pagekite/templates/pagekite_custom_services.html:32 msgid "" "Warning:
Your PageKite frontend server may not support all the " "protocol/port combinations that you are able to define here. For example, " @@ -3943,31 +3947,6 @@ msgstr "" "警告:
您的 PageKite 前端服务器可能不支持您在此处定义的所有协议/端" "口组合。例如,已知443以外的端口上的HTTPS会导致问题。" -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:56 -msgid "Create a custom service" -msgstr "创建一个自定义的服务" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:64 -msgid "Add Service" -msgstr "添加服务" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:71 -msgid "Existing custom services" -msgstr "现有的自定义服务" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:74 -msgid "You don't have any Custom Services enabled" -msgstr "你没有启用任何自定义服务" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:89 -#, python-format -msgid "connected to %(backend_host)s:%(backend_port)s" -msgstr "连接到 %(backend_host)s:%(backend_port)s" - -#: plinth/modules/pagekite/templates/pagekite_custom_services.html:101 -msgid "Delete this service" -msgstr "删除此服务" - #: plinth/modules/pagekite/templates/pagekite_firstboot.html:26 msgid "Setup a freedombox.me subdomain with your voucher" msgstr "使用你的凭证安装一个 freedombox.me 子域名" @@ -4039,16 +4018,8 @@ msgstr "" "请参见 SSH 客户端安装 说明" -#: plinth/modules/pagekite/views.py:36 -msgid "Standard Services" -msgstr "标准服务" - -#: plinth/modules/pagekite/views.py:40 -msgid "Custom Services" -msgstr "定制服务" - -#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:54 -#: plinth/modules/power/views.py:73 +#: plinth/modules/power/__init__.py:29 plinth/modules/power/views.py:55 +#: plinth/modules/power/views.py:74 msgid "Power" msgstr "电源" @@ -4471,6 +4442,101 @@ msgstr "" "href=\"https://www.google.com/settings/security/lesssecureapps\">https://www." "google.com/settings/security/lesssecureapps)中启用“安全性较低的应用”。" +#: plinth/modules/samba/__init__.py:43 +msgid "Samba" +msgstr "" + +#: plinth/modules/samba/__init__.py:48 +msgid "" +"Samba allows to share files and folders between FreedomBox and other " +"computers in your local network." +msgstr "" + +#: plinth/modules/samba/__init__.py:51 +#, python-brace-format +msgid "" +"After installation, you can choose which disks to use for sharing. Enabled " +"{hostname} shares are open to everyone in your local network and are " +"accessible under Network section in the file manager on your computer." +msgstr "" + +#: plinth/modules/samba/__init__.py:57 +msgid "Access shared folders from inside the server" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:38 +msgid "Select disks for sharing" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:40 +msgid "" +"Note: only specially created directory will be shared on selected disks, not " +"the whole disk." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:50 +#: plinth/modules/storage/templates/storage.html:41 +msgid "Label" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:51 +#: plinth/modules/storage/templates/storage.html:42 +msgid "Mount Point" +msgstr "挂载点" + +#: plinth/modules/samba/templates/samba.html:53 +#: plinth/modules/storage/templates/storage.html:44 +msgid "Used" +msgstr "已使用" + +#: plinth/modules/samba/templates/samba.html:76 +msgid "vfat partitions are not supported" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:108 +msgid "Shares configured but the disk is not available" +msgstr "" + +#: plinth/modules/samba/templates/samba.html:110 +msgid "If the disk is plugged back in, sharing will be automatically enabled." +msgstr "" + +#: plinth/modules/samba/templates/samba.html:115 +#, fuzzy +#| msgid "Shared" +msgid "Share name" +msgstr "共享" + +#: plinth/modules/samba/templates/samba.html:116 +#, fuzzy +#| msgid "Actions" +msgid "Action" +msgstr "行动" + +#: plinth/modules/samba/views.py:74 +#, fuzzy +#| msgid "{name} deleted." +msgid "Share enabled." +msgstr "{name} 已删除。" + +#: plinth/modules/samba/views.py:79 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error enabling share: {error_message}" +msgstr "安装应用程序出错:{error}" + +#: plinth/modules/samba/views.py:95 +#, fuzzy +#| msgid "Shared" +msgid "Share disabled." +msgstr "共享" + +#: plinth/modules/samba/views.py:100 +#, fuzzy, python-brace-format +#| msgid "Error installing application: {error}" +msgid "Error disabling share: {error_message}" +msgstr "安装应用程序出错:{error}" + #: plinth/modules/searx/__init__.py:40 plinth/modules/searx/manifest.py:24 msgid "Searx" msgstr "" @@ -4530,7 +4596,7 @@ msgid "Allow this application to be used by anyone who can reach it." msgstr "" #: plinth/modules/searx/views.py:59 plinth/modules/searx/views.py:70 -#: plinth/modules/tor/views.py:141 plinth/modules/tor/views.py:168 +#: plinth/modules/tor/views.py:148 plinth/modules/tor/views.py:175 msgid "Configuration updated." msgstr "配置已更新。" @@ -5021,7 +5087,7 @@ msgstr "创建快照。" msgid "Storage snapshots configuration updated" msgstr "访问权配置已更新" -#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:73 +#: plinth/modules/snapshot/views.py:161 plinth/modules/tor/views.py:78 #, python-brace-format msgid "Action error: {0} [{1}] [{2}]" msgstr "操作错误:{0} [{1}] [{2}]" @@ -5228,18 +5294,6 @@ msgstr "" msgid "The following storage devices are in use:" msgstr "正在使用以下磁盘:" -#: plinth/modules/storage/templates/storage.html:41 -msgid "Label" -msgstr "" - -#: plinth/modules/storage/templates/storage.html:42 -msgid "Mount Point" -msgstr "挂载点" - -#: plinth/modules/storage/templates/storage.html:44 -msgid "Used" -msgstr "已使用" - #: plinth/modules/storage/templates/storage.html:90 msgid "Partition Expansion" msgstr "" @@ -5328,14 +5382,7 @@ msgid "" "{box_name} is only available for users belonging to the \"admin\" group." msgstr "" -#: plinth/modules/syncthing/__init__.py:57 -msgid "" -"When enabled, Syncthing's web interface will be available from /syncthing. Desktop and mobile " -"clients are also available." -msgstr "" - -#: plinth/modules/syncthing/__init__.py:65 +#: plinth/modules/syncthing/__init__.py:61 #, fuzzy #| msgid "Install this application?" msgid "Administer Syncthing application" @@ -5560,33 +5607,25 @@ msgstr "洋葱浏览器" msgid "Orbot: Proxy with Tor" msgstr "" -#: plinth/modules/tor/templates/tor.html:46 +#: plinth/modules/tor/templates/tor.html:41 msgid "Tor configuration is being updated" msgstr "Tor 配置已更新" -#: plinth/modules/tor/templates/tor.html:54 -msgid "Tor is running" -msgstr "Tor 正在运行" - -#: plinth/modules/tor/templates/tor.html:57 -msgid "Tor is not running" -msgstr "Tor 未运行" - -#: plinth/modules/tor/templates/tor.html:67 +#: plinth/modules/tor/templates/tor.html:50 #, fuzzy #| msgid "Hidden Service" msgid "Onion Service" msgstr "隐藏的服务" -#: plinth/modules/tor/templates/tor.html:69 +#: plinth/modules/tor/templates/tor.html:52 msgid "Ports" msgstr "端口" -#: plinth/modules/tor/templates/tor.html:98 +#: plinth/modules/tor/templates/tor.html:82 msgid "Relay" msgstr "网桥" -#: plinth/modules/tor/templates/tor.html:100 +#: plinth/modules/tor/templates/tor.html:84 #, python-format msgid "" "If your %(box_name)s is behind a router or firewall, you should make sure " @@ -5595,11 +5634,11 @@ msgstr "" "如果你的 %(box_name)s 是在路由器或防火墙后面,你必须确保以下端口打开,必要时" "打开端口转发。" -#: plinth/modules/tor/templates/tor.html:128 +#: plinth/modules/tor/templates/tor.html:112 msgid "SOCKS" msgstr "SOCKS" -#: plinth/modules/tor/templates/tor.html:131 +#: plinth/modules/tor/templates/tor.html:115 #, python-format msgid "A Tor SOCKS port is available on your %(box_name)s on TCP port 9050." msgstr "Tor SOCKS 端口是你 %(box_name)s 上的 TCP 端口 9050 。" @@ -5619,15 +5658,6 @@ msgstr "" "BitTorrent 是对等文件共享协议。Transmission 守护进程处理 Bitorrent 文件共享。" "请注意,BitTorrent 不是匿名。" -#: plinth/modules/transmission/__init__.py:49 -#, fuzzy -#| msgid "" -#| "Access the web interface at /transmission." -msgid "" -"Access the web interface at /transmission." -msgstr "通过 /transmission 访问其 web 界面。" - #: plinth/modules/transmission/forms.py:30 msgid "Download directory" msgstr "下载目录" @@ -5670,21 +5700,20 @@ msgstr "" #| "When enabled, Tiny Tiny RSS will be available from /" #| "tt-rss path on the web server." msgid "" -"When enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. It can be accessed " -"by any user with a {box_name} login." +"When enabled, Tiny Tiny RSS can be accessed by any user with a {box_name} login." msgstr "" "启用以后,Tiny Tiny RSS 将可从网页服务器的 /tt-rss 路" "径访问。" -#: plinth/modules/ttrss/__init__.py:58 +#: plinth/modules/ttrss/__init__.py:56 msgid "" "When using a mobile or desktop application for Tiny Tiny RSS, use the URL /tt-rss-app for " "connecting." msgstr "" -#: plinth/modules/ttrss/__init__.py:65 +#: plinth/modules/ttrss/__init__.py:63 msgid "Read and subscribe to news feeds" msgstr "" @@ -5891,8 +5920,8 @@ msgid "Save Password" msgstr "保存密码" #: plinth/modules/users/templates/users_create.html:32 -#: plinth/modules/users/templates/users_list.html:38 -#: plinth/modules/users/templates/users_list.html:40 +#: plinth/modules/users/templates/users_list.html:42 +#: plinth/modules/users/templates/users_list.html:44 #: plinth/modules/users/views.py:58 msgid "Create User" msgstr "创建用户" @@ -5929,7 +5958,7 @@ msgstr "" msgid "Create Account" msgstr "创建帐户" -#: plinth/modules/users/templates/users_list.html:46 +#: plinth/modules/users/templates/users_list.html:38 #: plinth/modules/users/views.py:75 msgid "Users" msgstr "用户" @@ -6069,17 +6098,13 @@ msgstr "" "com/freedombox/Plinth/issues\"> bug 追踪器 上这样我们就可以修复该错误。同" "时请附加状态日志到 Bug 报告里。" -#: plinth/templates/app.html:67 -msgid "Launch web client" -msgstr "启动 web 客户端" - -#: plinth/templates/app.html:89 +#: plinth/templates/app.html:75 #, fuzzy, python-format #| msgid "Service discovery server is running" msgid "Service %(service_name)s is running." msgstr "服务发现服务正在运行" -#: plinth/templates/app.html:94 +#: plinth/templates/app.html:80 #, fuzzy, python-format #| msgid "Service discovery server is not running" msgid "Service %(service_name)s is not running." @@ -6138,17 +6163,11 @@ msgstr "语言" msgid "Log in" msgstr "登录" -#: plinth/templates/clients.html:29 -#, fuzzy -#| msgid "Quassel IRC Client" -msgid "Client Apps" -msgstr "Quassel IRC 客户端" - -#: plinth/templates/clients.html:40 +#: plinth/templates/clients.html:32 msgid "Web" msgstr "" -#: plinth/templates/clients.html:65 +#: plinth/templates/clients.html:57 #, fuzzy #| msgid "" #| "Chat Client \n" @@ -6158,19 +6177,19 @@ msgstr "" "聊天客户端\n" "(JSXC)" -#: plinth/templates/clients.html:76 +#: plinth/templates/clients.html:68 msgid "GNU/Linux" msgstr "" -#: plinth/templates/clients.html:78 +#: plinth/templates/clients.html:70 msgid "Windows" msgstr "" -#: plinth/templates/clients.html:80 +#: plinth/templates/clients.html:72 msgid "macOS" msgstr "" -#: plinth/templates/clients.html:96 +#: plinth/templates/clients.html:88 #, fuzzy #| msgid "" #| "Email Client \n" @@ -6180,33 +6199,33 @@ msgstr "" "邮件客户端\n" "(Roundcube)" -#: plinth/templates/clients.html:107 +#: plinth/templates/clients.html:99 msgid "Play Store" msgstr "" -#: plinth/templates/clients.html:109 +#: plinth/templates/clients.html:101 msgid "F-Droid" msgstr "" -#: plinth/templates/clients.html:111 +#: plinth/templates/clients.html:103 #, fuzzy #| msgid "reStore" msgid "App Store" msgstr "reStore" -#: plinth/templates/clients.html:127 +#: plinth/templates/clients.html:119 msgid "Package" msgstr "软件包" -#: plinth/templates/clients.html:134 +#: plinth/templates/clients.html:126 msgid "Debian:" msgstr "" -#: plinth/templates/clients.html:137 +#: plinth/templates/clients.html:129 msgid "Homebrew:" msgstr "" -#: plinth/templates/clients.html:140 +#: plinth/templates/clients.html:132 msgid "RPM:" msgstr "" @@ -6354,6 +6373,16 @@ msgstr "正在安装 %(package_names)s:%(status)s" msgid "%(percentage)s%% complete" msgstr "已完成 %(percentage)s%%" +#: plinth/templates/toolbar.html:38 +msgid "Launch web client" +msgstr "启动 web 客户端" + +#: plinth/templates/toolbar.html:47 +#, fuzzy +#| msgid "Quassel IRC Client" +msgid "Client Apps" +msgstr "Quassel IRC 客户端" + #: plinth/views.py:180 msgid "Application enabled" msgstr "应用程序已启用" @@ -6366,6 +6395,53 @@ msgstr "应用程序已禁用" msgid "Gujarati" msgstr "古吉拉特语" +#~ msgid "OpenVPN server is running" +#~ msgstr "OpenVPN 服务正在运行" + +#~ msgid "OpenVPN server is not running" +#~ msgstr "OpenVPN 服务器未运行" + +#~ msgid "Enable PageKite" +#~ msgstr "启用 PageKite" + +#~ msgid "Service enabled: {name}" +#~ msgstr "启用的服务:{name}" + +#~ msgid "Service disabled: {name}" +#~ msgstr "已禁用的服务:{name}" + +#~ msgid "PageKite Account" +#~ msgstr "PageKite 帐户" + +#~ msgid "Save settings" +#~ msgstr "保存设置" + +#~ msgid "Create a custom service" +#~ msgstr "创建一个自定义的服务" + +#~ msgid "Add Service" +#~ msgstr "添加服务" + +#~ msgid "You don't have any Custom Services enabled" +#~ msgstr "你没有启用任何自定义服务" + +#~ msgid "Standard Services" +#~ msgstr "标准服务" + +#~ msgid "Tor is running" +#~ msgstr "Tor 正在运行" + +#~ msgid "Tor is not running" +#~ msgstr "Tor 未运行" + +#, fuzzy +#~| msgid "" +#~| "Access the web interface at /transmission." +#~ msgid "" +#~ "Access the web interface at /transmission." +#~ msgstr "通过 /transmission 访问其 web 界面。" + #~ msgid "Only alphanumeric characters are allowed." #~ msgstr "只能使用字母和数字。" From 8bc86e67fc3bcbfc498e685745f40dada4176c55 Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Mon, 2 Dec 2019 18:00:16 -0500 Subject: [PATCH 57/58] doc: Fetch latest manual Signed-off-by: James Valleroy --- doc/manual/en/Apache_userdir.raw.xml | 2 +- doc/manual/en/Backups.raw.xml | 2 +- doc/manual/en/Cockpit.raw.xml | 6 +- doc/manual/en/Configure.raw.xml | 2 +- doc/manual/en/Coquelicot.raw.xml | 2 +- doc/manual/en/DateTime.raw.xml | 2 +- doc/manual/en/Deluge.raw.xml | 2 +- doc/manual/en/Diagnostics.raw.xml | 2 +- doc/manual/en/DynamicDNS.raw.xml | 2 +- doc/manual/en/Firewall.raw.xml | 2 +- doc/manual/en/I2P.raw.xml | 2 +- doc/manual/en/Ikiwiki.raw.xml | 2 +- doc/manual/en/Infinoted.raw.xml | 2 +- doc/manual/en/LetsEncrypt.raw.xml | 2 +- doc/manual/en/MLDonkey.raw.xml | 2 +- doc/manual/en/MatrixSynapse.raw.xml | 2 +- doc/manual/en/MediaWiki.raw.xml | 2 +- doc/manual/en/Minetest.raw.xml | 2 +- doc/manual/en/Monkeysphere.raw.xml | 2 +- doc/manual/en/Mumble.raw.xml | 3 +- doc/manual/en/NameServices.raw.xml | 2 +- doc/manual/en/Networks.raw.xml | 2 +- doc/manual/en/OpenVPN.raw.xml | 5 +- doc/manual/en/PageKite.raw.xml | 2 +- doc/manual/en/Power.raw.xml | 2 +- doc/manual/en/Privoxy.raw.xml | 2 +- doc/manual/en/Quassel.raw.xml | 2 +- doc/manual/en/Radicale.raw.xml | 2 +- doc/manual/en/Repro.raw.xml | 2 +- doc/manual/en/Roundcube.raw.xml | 2 +- doc/manual/en/Searx.raw.xml | 2 +- doc/manual/en/SecureShell.raw.xml | 4 +- doc/manual/en/Security.raw.xml | 2 +- doc/manual/en/ServiceDiscovery.raw.xml | 2 +- doc/manual/en/Shadowsocks.raw.xml | 2 +- doc/manual/en/Snapshots.raw.xml | 2 +- doc/manual/en/Storage.raw.xml | 2 +- doc/manual/en/Syncthing.raw.xml | 2 +- doc/manual/en/TinyTinyRSS.raw.xml | 2 +- doc/manual/en/Tor.raw.xml | 2 +- doc/manual/en/Transmission.raw.xml | 2 +- doc/manual/en/Upgrades.raw.xml | 2 +- doc/manual/en/Users.raw.xml | 2 +- doc/manual/en/ejabberd.raw.xml | 2 +- doc/manual/en/freedombox-manual.raw.xml | 687 ++++++----------------- doc/manual/es/Apache_userdir.raw.xml | 2 +- doc/manual/es/Backups.raw.xml | 2 +- doc/manual/es/Cockpit.raw.xml | 6 +- doc/manual/es/Configure.raw.xml | 2 +- doc/manual/es/Coquelicot.raw.xml | 2 +- doc/manual/es/DateTime.raw.xml | 2 +- doc/manual/es/Deluge.raw.xml | 2 +- doc/manual/es/Diagnostics.raw.xml | 2 +- doc/manual/es/DynamicDNS.raw.xml | 2 +- doc/manual/es/Firewall.raw.xml | 2 +- doc/manual/es/I2P.raw.xml | 2 +- doc/manual/es/Ikiwiki.raw.xml | 2 +- doc/manual/es/Infinoted.raw.xml | 2 +- doc/manual/es/LetsEncrypt.raw.xml | 2 +- doc/manual/es/MLDonkey.raw.xml | 2 +- doc/manual/es/MatrixSynapse.raw.xml | 2 +- doc/manual/es/MediaWiki.raw.xml | 2 +- doc/manual/es/Minetest.raw.xml | 2 +- doc/manual/es/Monkeysphere.raw.xml | 2 +- doc/manual/es/Mumble.raw.xml | 3 +- doc/manual/es/NameServices.raw.xml | 2 +- doc/manual/es/Networks.raw.xml | 2 +- doc/manual/es/OpenVPN.raw.xml | 5 +- doc/manual/es/PageKite.raw.xml | 2 +- doc/manual/es/Power.raw.xml | 2 +- doc/manual/es/Privoxy.raw.xml | 2 +- doc/manual/es/Quassel.raw.xml | 2 +- doc/manual/es/Radicale.raw.xml | 2 +- doc/manual/es/Repro.raw.xml | 2 +- doc/manual/es/Roundcube.raw.xml | 2 +- doc/manual/es/Searx.raw.xml | 2 +- doc/manual/es/SecureShell.raw.xml | 4 +- doc/manual/es/Security.raw.xml | 2 +- doc/manual/es/ServiceDiscovery.raw.xml | 2 +- doc/manual/es/Shadowsocks.raw.xml | 2 +- doc/manual/es/Snapshots.raw.xml | 2 +- doc/manual/es/Storage.raw.xml | 2 +- doc/manual/es/Syncthing.raw.xml | 2 +- doc/manual/es/TinyTinyRSS.raw.xml | 2 +- doc/manual/es/Tor.raw.xml | 2 +- doc/manual/es/Transmission.raw.xml | 2 +- doc/manual/es/Upgrades.raw.xml | 2 +- doc/manual/es/Users.raw.xml | 2 +- doc/manual/es/ejabberd.raw.xml | 2 +- doc/manual/es/freedombox-manual.raw.xml | 705 ++++++------------------ 90 files changed, 437 insertions(+), 1151 deletions(-) diff --git a/doc/manual/en/Apache_userdir.raw.xml b/doc/manual/en/Apache_userdir.raw.xml index 331f3b431..f0602f59c 100644 --- a/doc/manual/en/Apache_userdir.raw.xml +++ b/doc/manual/en/Apache_userdir.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Apache_userdir32019-02-27 00:08:57JamesValleroyremove wiki links22019-02-17 21:44:22MikkelKirkgaardNielsenrefer to ourselves as User websites, add basics table from new template12019-02-13 23:15:52MikkelKirkgaardNielsenadd draft page
User websites (userdir)
What is User websites?User websites is a module of the Apache webserver enabled to allow users defined in the FreedomBox system to expose a set of static files on the FreedomBox filesystem as a website to the local network and/or the internet according to the network and firewall setup. Application basicsCategory File sharing Available since version 0.9.4Upstream project website Upstream end user documentation
ScreenshotAdd when/if an interface is made for Plinth
Using User websitesThe module is always enabled and offers no configuration from the Plinth web interface. Currently its existence is not even visible in the Plinth web interface. Using the modules capability to serve documents requires just to place the documents in the designated directory in a Plinth user's home directory in the filesystem. This directory is: public_html Thus the absolute path for the directory of a user named fbx with home directory in /home/fbx will be /home/fbx/public_html. User websites will serve documents placed in this directory when requests for documents with the URI path "~fbx" are received. For the the example.org domain thus a request for the document example.org/~fbx/index.html will transfer the file in /home/fbx/public_html/index.html.
Using SFTP to create public_html and upload documentsTo be written Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Apache_userdir32019-02-27 00:08:57JamesValleroyremove wiki links22019-02-17 21:44:22MikkelKirkgaardNielsenrefer to ourselves as User websites, add basics table from new template12019-02-13 23:15:52MikkelKirkgaardNielsenadd draft page
User websites (userdir)
What is User websites?User websites is a module of the Apache webserver enabled to allow users defined in the FreedomBox system to expose a set of static files on the FreedomBox filesystem as a website to the local network and/or the internet according to the network and firewall setup. Application basicsCategory File sharing Available since version 0.9.4Upstream project website Upstream end user documentation
ScreenshotAdd when/if an interface is made for Plinth
Using User websitesThe module is always enabled and offers no configuration from the Plinth web interface. Currently its existence is not even visible in the Plinth web interface. Using the modules capability to serve documents requires just to place the documents in the designated directory in a Plinth user's home directory in the filesystem. This directory is: public_html Thus the absolute path for the directory of a user named fbx with home directory in /home/fbx will be /home/fbx/public_html. User websites will serve documents placed in this directory when requests for documents with the URI path "~fbx" are received. For the the example.org domain thus a request for the document example.org/~fbx/index.html will transfer the file in /home/fbx/public_html/index.html.
Using SFTP to create public_html and upload documentsTo be written Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Backups.raw.xml b/doc/manual/en/Backups.raw.xml index a87e291ba..b1663ff97 100644 --- a/doc/manual/en/Backups.raw.xml +++ b/doc/manual/en/Backups.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Backups302019-02-26 23:33:42SunilMohanAdapaUpdate information about tt-rss292019-02-23 00:11:05JamesValleroyadd mldonkey282019-02-04 01:16:41SunilMohanAdapaAdd FreedomBox footer272019-01-31 01:30:48SunilMohanAdapaMinor formatting262019-01-31 01:29:18SunilMohanAdapaMake manual friendly, consolidate feature data, update description252019-01-30 17:45:57SunilMohanAdapaMinor release update242019-01-23 00:43:21SunilMohanAdapaUpdate information about syncthing232019-01-18 22:26:06SunilMohanAdapaUpdate OpenVPN information222018-10-30 05:04:32SunilMohanAdapaUpdate information about Tahoe-LAFS212018-10-29 23:50:51SunilMohanAdapaUpdate information about users and letsencrypt202018-10-26 05:36:32SunilMohanAdapaUpdate information about Monkeysphere192018-10-23 23:30:58SunilMohanAdapaUpdate information about upgrades182018-10-23 22:21:23SunilMohanAdapaAdd information about Tor172018-10-22 17:17:31SunilMohanAdapaUpdate information about newly merged changes162018-10-19 17:12:53SunilMohanAdapaAdd information about SSH152018-10-19 15:38:54SunilMohanAdapaUpdate information on recent progress142018-10-15 23:09:09SunilMohanAdapaUpdate status of datetime and deluge132018-10-09 03:22:17SunilMohanAdapaUpdate information about release of version 0.40122018-10-04 11:34:24JamesValleroyremove links to "FreedomBox" page112018-10-04 04:47:13SunilMohanAdapaMinor formatting102018-10-04 04:46:50SunilMohanAdapaUpdate list of supported applications92018-10-02 15:43:29DannyHaidar82018-10-02 15:41:49DannyHaidar72018-10-02 15:38:00DannyHaidar62018-10-01 17:38:55DannyHaidar52018-10-01 16:50:33DannyHaidar42018-10-01 16:49:00DannyHaidar32018-10-01 16:39:47DannyHaidar22018-10-01 16:37:48DannyHaidar12018-10-01 16:36:42DannyHaidar
BackupsFreedomBox includes the ability to backup and restore data, preferences, configuration and secrets from most of the applications. The Backups feature is built using Borg backup software. Borg is a deduplicating and compressing backup program. It is designed for efficient and secure backups. This backups feature can be used to selectively backup and restore data on an app-by-app basis. Backed up data can be stored on the FreedomBox machine itself or on a remote server. Any remote server providing SSH access can be used as a backup storage repository for FreedomBox backups. Data stored remotely may be encrypted and in such cases remote server cannot access your decrypted data.
Status of Backups Feature App/Feature Support in Version Notes Avahi - no backup needed Backups - no backup needed Bind 0.41 Cockpit - no backup needed Coquelicot 0.40 includes uploaded files Datetime 0.41 Deluge 0.41 does not include downloaded/seeding files Diagnostics - no backup needed Dynamic DNS 0.39 ejabberd 0.39 includes all data and configuration Firewall - no backup needed ikiwiki 0.39 includes all wikis/blogs and their content infinoted 0.39 includes all data and keys JSXC - no backup needed Let's Encrypt 0.42 Matrix Synapse 0.39 includes media and uploads MediaWiki 0.39 includes wiki pages and uploaded files Minetest 0.39 MLDonkey 19.0 Monkeysphere 0.42 Mumble 0.40 Names - no backup needed Networks No No plans currently to implement backup OpenVPN 0.48 includes all user and server keys Pagekite 0.40 Power - no backup needed Privoxy - no backup needed Quassel 0.40 includes users and logs Radicale 0.39 includes calendar and cards data for all users repro 0.39 includes all users, data and keys Roundcube - no backup needed SearX - no backup needed Secure Shell (SSH) Server 0.41 includes host keys Security 0.41 Shadowsocks 0.40 only secrets Sharing 0.40 does not include the data in the shared folders Snapshot 0.41 only configuration, does not include snapshot data Storage - no backup needed Syncthing 0.48 does not include data in the shared folders Tahoe-LAFS 0.42 includes all data and configuration Tiny Tiny RSS 19.2 includes database containing feeds, stories, etc. Tor 0.42 includes configuration and secrets such as hidden service keys Transmission 0.40 does not include downloaded/seeding files Upgrades 0.42 Users No No plans currently to implement backup
How to install and use BackupsStep 1 Backups: Step 1 Step 2 Backups: Step 2 Step 3 Backups: Step 3 Step 4 Backups: Step 4 Step 5 Backups: Step 5 Step 6 Backups: Step 6 Step 7 Backups: Step 7 Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Backups312019-11-11 17:07:05JosephNuthalapatiRename Tor Hidden Service to Tor Onion Service302019-02-26 23:33:42SunilMohanAdapaUpdate information about tt-rss292019-02-23 00:11:05JamesValleroyadd mldonkey282019-02-04 01:16:41SunilMohanAdapaAdd FreedomBox footer272019-01-31 01:30:48SunilMohanAdapaMinor formatting262019-01-31 01:29:18SunilMohanAdapaMake manual friendly, consolidate feature data, update description252019-01-30 17:45:57SunilMohanAdapaMinor release update242019-01-23 00:43:21SunilMohanAdapaUpdate information about syncthing232019-01-18 22:26:06SunilMohanAdapaUpdate OpenVPN information222018-10-30 05:04:32SunilMohanAdapaUpdate information about Tahoe-LAFS212018-10-29 23:50:51SunilMohanAdapaUpdate information about users and letsencrypt202018-10-26 05:36:32SunilMohanAdapaUpdate information about Monkeysphere192018-10-23 23:30:58SunilMohanAdapaUpdate information about upgrades182018-10-23 22:21:23SunilMohanAdapaAdd information about Tor172018-10-22 17:17:31SunilMohanAdapaUpdate information about newly merged changes162018-10-19 17:12:53SunilMohanAdapaAdd information about SSH152018-10-19 15:38:54SunilMohanAdapaUpdate information on recent progress142018-10-15 23:09:09SunilMohanAdapaUpdate status of datetime and deluge132018-10-09 03:22:17SunilMohanAdapaUpdate information about release of version 0.40122018-10-04 11:34:24JamesValleroyremove links to "FreedomBox" page112018-10-04 04:47:13SunilMohanAdapaMinor formatting102018-10-04 04:46:50SunilMohanAdapaUpdate list of supported applications92018-10-02 15:43:29DannyHaidar82018-10-02 15:41:49DannyHaidar72018-10-02 15:38:00DannyHaidar62018-10-01 17:38:55DannyHaidar52018-10-01 16:50:33DannyHaidar42018-10-01 16:49:00DannyHaidar32018-10-01 16:39:47DannyHaidar22018-10-01 16:37:48DannyHaidar12018-10-01 16:36:42DannyHaidar
BackupsFreedomBox includes the ability to backup and restore data, preferences, configuration and secrets from most of the applications. The Backups feature is built using Borg backup software. Borg is a deduplicating and compressing backup program. It is designed for efficient and secure backups. This backups feature can be used to selectively backup and restore data on an app-by-app basis. Backed up data can be stored on the FreedomBox machine itself or on a remote server. Any remote server providing SSH access can be used as a backup storage repository for FreedomBox backups. Data stored remotely may be encrypted and in such cases remote server cannot access your decrypted data.
Status of Backups Feature App/Feature Support in Version Notes Avahi - no backup needed Backups - no backup needed Bind 0.41 Cockpit - no backup needed Coquelicot 0.40 includes uploaded files Datetime 0.41 Deluge 0.41 does not include downloaded/seeding files Diagnostics - no backup needed Dynamic DNS 0.39 ejabberd 0.39 includes all data and configuration Firewall - no backup needed ikiwiki 0.39 includes all wikis/blogs and their content infinoted 0.39 includes all data and keys JSXC - no backup needed Let's Encrypt 0.42 Matrix Synapse 0.39 includes media and uploads MediaWiki 0.39 includes wiki pages and uploaded files Minetest 0.39 MLDonkey 19.0 Monkeysphere 0.42 Mumble 0.40 Names - no backup needed Networks No No plans currently to implement backup OpenVPN 0.48 includes all user and server keys Pagekite 0.40 Power - no backup needed Privoxy - no backup needed Quassel 0.40 includes users and logs Radicale 0.39 includes calendar and cards data for all users repro 0.39 includes all users, data and keys Roundcube - no backup needed SearX - no backup needed Secure Shell (SSH) Server 0.41 includes host keys Security 0.41 Shadowsocks 0.40 only secrets Sharing 0.40 does not include the data in the shared folders Snapshot 0.41 only configuration, does not include snapshot data Storage - no backup needed Syncthing 0.48 does not include data in the shared folders Tahoe-LAFS 0.42 includes all data and configuration Tiny Tiny RSS 19.2 includes database containing feeds, stories, etc. Tor 0.42 includes configuration and secrets such as onion service keys Transmission 0.40 does not include downloaded/seeding files Upgrades 0.42 Users No No plans currently to implement backup
How to install and use BackupsStep 1 Backups: Step 1 Step 2 Backups: Step 2 Step 3 Backups: Step 3 Step 4 Backups: Step 4 Step 5 Backups: Step 5 Step 6 Backups: Step 6 Step 7 Backups: Step 7 Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Cockpit.raw.xml b/doc/manual/en/Cockpit.raw.xml index 385c5d5a2..940cbcc10 100644 --- a/doc/manual/en/Cockpit.raw.xml +++ b/doc/manual/en/Cockpit.raw.xml @@ -2,6 +2,6 @@ -
FreedomBox/Manual/Cockpit42019-08-20 18:22:51SunilMohanAdapaUpdate information about .local domain and fix URLs32019-07-19 00:08:47SunilMohanAdapaAdd informatio about Cockpit needing a proper domain name22019-01-10 21:41:56SunilMohanAdapaWrite manual page for Cockpit12018-03-02 12:57:48JosephNuthalapatiCreate stub for Cockpit
Cockpit (Server Administration)Cockpit is a server manager that makes it easy to administer GNU/Linux servers via a web browser. On a FreedomBox, controls are available for many advanced functions that are not usually required. A web based terminal for console operations is also available. It can be accessed by any user on your FreedomBox belonging to the admin group. Cockpit is only usable when you have proper domain name setup for your FreedomBox and you use that domain name to access Cockpit. See the Troubleshooting section for more information. Use cockpit only if you are an administrator of GNU/Linux systems with advanced skills. FreedomBox tries to coexist with changes to system by system administrators and system administration tools like Cockpit. However, improper changes to the system might causes failures in FreedomBox functions.
Using CockpitInstall Cockpit like any other application on FreedomBox. Make sure that Cockpit is enabled after that. cockpit-enable.png Ensure that the user account on FreedomBox that will used for Cockpit is part of the administrators group. cockpit-admin-user.png Launch the Cockpit web interface. Login using the configured user account. cockpit-login.png Start using cockpit. cockpit-system.png Cockpit is usable on mobile interfaces too. cockpit-mobile.png
FeaturesThe following features of Cockpit may be useful for advanced FreedomBox users.
System DashboardCockpit has a system dashboard that Shows detailed hardware information Shows basic performance metrics of a system Allows changing system time and timezone Allows changing hostname. Please use FreedomBox UI to do this Shows SSH server fingerprints cockpit-system.png
Viewing System LogsCockpit allows querying system logs and examining them in full detail. cockpit-logs.png
Managing StorageCockpit allows following advanced storage functions: View full disk information Editing disk partitions RAID management cockpit-storage1.png cockpit-storage2.png
NetworkingCockpit and FreedomBox both rely on NetworkManager to configure the network. However, Cockpit offers some advanced configuration not available on FreedomBox: Route configuration Configure Bonds, Bridges, VLANs cockpit-network1.png cockpit-network2.png cockpit-network3.png
ServicesCockpit allows management of services and periodic jobs (similar to cron). cockpit-services1.png cockpit-services2.png
Web TerminalCockpit offers a web based terminal that can be used perform manual system administration tasks. cockpit-terminal.png
TroubleshootingCockpit requires a domain name to be properly setup on your FreedomBox and will only work when you access it using a URL with that domain name. Cockpit will not work when using IP address in the URL. Using freedombox.local as the domain name also does not work. For example, the following URLs will not work: Starting with FreedomBox version 19.15, using .local domain works. You can access Cockpit using the URL . The .local domain is based on your hostname. If your hostname is mybox, your .local domain name will be mybox.local and the Cockpit URL will be . To properly access Cockpit, use the domain name configured for your FreedomBox.Cockpit will also work well when using a Tor Hidden Service. The following URLs will work: The reason for this behaviour is that Cockpit uses WebSockets to connect to the backend server. Cross site requests for WebSockets must be prevented for security reasons. To implement this, Cockpit maintains a list of all domains from which requests are allowed. FreedomBox automatically configures this list whenever you add or remove a domain. However, since we can't rely on IP addresses, they are not added by FreedomBox to this domain list. You can see the current list of allowed domains, as managed by FreedomBox, in /etc/cockpit/cockpit.conf. You may edit this, but do so only if you understand web security consequences of this. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Cockpit62019-11-14 18:04:05fioddorwiki link to wiki page52019-11-11 16:57:11JosephNuthalapatiRename Tor Hidden Service to Tor Onion Service42019-08-20 18:22:51SunilMohanAdapaUpdate information about .local domain and fix URLs32019-07-19 00:08:47SunilMohanAdapaAdd informatio about Cockpit needing a proper domain name22019-01-10 21:41:56SunilMohanAdapaWrite manual page for Cockpit12018-03-02 12:57:48JosephNuthalapatiCreate stub for Cockpit
Cockpit (Server Administration)Cockpit is a server manager that makes it easy to administer GNU/Linux servers via a web browser. On a FreedomBox, controls are available for many advanced functions that are not usually required. A web based terminal for console operations is also available. It can be accessed by any user on your FreedomBox belonging to the admin group. Cockpit is only usable when you have proper domain name setup for your FreedomBox and you use that domain name to access Cockpit. See the Troubleshooting section for more information. Use cockpit only if you are an administrator of GNU/Linux systems with advanced skills. FreedomBox tries to coexist with changes to system by system administrators and system administration tools like Cockpit. However, improper changes to the system might causes failures in FreedomBox functions.
Using CockpitInstall Cockpit like any other application on FreedomBox. Make sure that Cockpit is enabled after that. cockpit-enable.png Ensure that the user account on FreedomBox that will used for Cockpit is part of the administrators group. cockpit-admin-user.png Launch the Cockpit web interface. Login using the configured user account. cockpit-login.png Start using cockpit. cockpit-system.png Cockpit is usable on mobile interfaces too. cockpit-mobile.png
FeaturesThe following features of Cockpit may be useful for advanced FreedomBox users.
System DashboardCockpit has a system dashboard that Shows detailed hardware information Shows basic performance metrics of a system Allows changing system time and timezone Allows changing hostname. Please use FreedomBox UI to do this Shows SSH server fingerprints cockpit-system.png
Viewing System LogsCockpit allows querying system logs and examining them in full detail. cockpit-logs.png
Managing StorageCockpit allows following advanced storage functions: View full disk information Editing disk partitions RAID management cockpit-storage1.png cockpit-storage2.png
NetworkingCockpit and FreedomBox both rely on NetworkManager to configure the network. However, Cockpit offers some advanced configuration not available on FreedomBox: Route configuration Configure Bonds, Bridges, VLANs cockpit-network1.png cockpit-network2.png cockpit-network3.png
ServicesCockpit allows management of services and periodic jobs (similar to cron). cockpit-services1.png cockpit-services2.png
Web TerminalCockpit offers a web based terminal that can be used perform manual system administration tasks. cockpit-terminal.png
TroubleshootingCockpit requires a domain name to be properly setup on your FreedomBox and will only work when you access it using a URL with that domain name. Cockpit will not work when using IP address in the URL. Using freedombox.local as the domain name also does not work. For example, the following URLs will not work: Starting with FreedomBox version 19.15, using .local domain works. You can access Cockpit using the URL . The .local domain is based on your hostname. If your hostname is mybox, your .local domain name will be mybox.local and the Cockpit URL will be . To properly access Cockpit, use the domain name configured for your FreedomBox.Cockpit will also work well when using a Tor Onion Service. The following URLs will work: The reason for this behaviour is that Cockpit uses WebSockets to connect to the backend server. Cross site requests for WebSockets must be prevented for security reasons. To implement this, Cockpit maintains a list of all domains from which requests are allowed. FreedomBox automatically configures this list whenever you add or remove a domain. However, since we can't rely on IP addresses, they are not added by FreedomBox to this domain list. You can see the current list of allowed domains, as managed by FreedomBox, in /etc/cockpit/cockpit.conf. You may edit this, but do so only if you understand web security consequences of this. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Configure.raw.xml b/doc/manual/en/Configure.raw.xml index fd43f5baf..836388c54 100644 --- a/doc/manual/en/Configure.raw.xml +++ b/doc/manual/en/Configure.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Configure92019-02-28 10:25:01JosephNuthalapatiRename default app to webserver home page82018-10-09 09:54:01JosephNuthalapatiImprove formatting72018-07-25 08:38:53JosephNuthalapatiRemove /home as an alias to /freedombox62018-07-24 17:51:28SunilMohanAdapaRename FreedomBox Plinth to FreedomBox Service (Plinth)52018-07-24 16:12:49JosephNuthalapatiAdd tip about bookmarking FreedomBox Plinth42018-07-24 13:52:47JosephNuthalapatiAdd wiki entry about Default App32016-12-31 04:11:43JamesValleroymention how domain name is used22016-12-31 04:07:26JamesValleroyfix outline12016-08-21 16:35:55DrahtseilCreated Configure
ConfigureConfigure has some general configuration options:
HostnameHostname is the local name by which other devices on the local network can reach your FreedomBox. The default hostname is freedombox.
Domain NameDomain name is the global name by which other devices on the Internet can reach your FreedomBox. The value set here is used by the Chat Server (XMPP), Matrix Synapse, Certificates (Let's Encrypt), and Monkeysphere.
Webserver Home PageThis is an advanced option that allows you to set something other than FreedomBox Service (Plinth) as the home page to be served on the domain name of the FreedomBox. For example, if your FreedomBox's domain name is and you set MediaWiki as the home page, visiting will take you to instead of the usual . You can set any web application, Ikiwiki wikis and blogs or Apache's default index.html page as the web server home page. Once some other app is set as the home page, you can only navigate to the FreedomBox Service (Plinth) by typing into the browser. /freedombox can also be used as an alias to /plinth Tip: Bookmark the URL of FreedomBox Service (Plinth) before setting the home page to some other app. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Configure92019-02-28 10:25:01JosephNuthalapatiRename default app to webserver home page82018-10-09 09:54:01JosephNuthalapatiImprove formatting72018-07-25 08:38:53JosephNuthalapatiRemove /home as an alias to /freedombox62018-07-24 17:51:28SunilMohanAdapaRename FreedomBox Plinth to FreedomBox Service (Plinth)52018-07-24 16:12:49JosephNuthalapatiAdd tip about bookmarking FreedomBox Plinth42018-07-24 13:52:47JosephNuthalapatiAdd wiki entry about Default App32016-12-31 04:11:43JamesValleroymention how domain name is used22016-12-31 04:07:26JamesValleroyfix outline12016-08-21 16:35:55DrahtseilCreated Configure
ConfigureConfigure has some general configuration options:
HostnameHostname is the local name by which other devices on the local network can reach your FreedomBox. The default hostname is freedombox.
Domain NameDomain name is the global name by which other devices on the Internet can reach your FreedomBox. The value set here is used by the Chat Server (XMPP), Matrix Synapse, Certificates (Let's Encrypt), and Monkeysphere.
Webserver Home PageThis is an advanced option that allows you to set something other than FreedomBox Service (Plinth) as the home page to be served on the domain name of the FreedomBox. For example, if your FreedomBox's domain name is and you set MediaWiki as the home page, visiting will take you to instead of the usual . You can set any web application, Ikiwiki wikis and blogs or Apache's default index.html page as the web server home page. Once some other app is set as the home page, you can only navigate to the FreedomBox Service (Plinth) by typing into the browser. /freedombox can also be used as an alias to /plinth Tip: Bookmark the URL of FreedomBox Service (Plinth) before setting the home page to some other app. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Coquelicot.raw.xml b/doc/manual/en/Coquelicot.raw.xml index e4e2a6eec..29ca2d536 100644 --- a/doc/manual/en/Coquelicot.raw.xml +++ b/doc/manual/en/Coquelicot.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Coquelicot72019-09-11 09:45:09fioddorCategory Deduplicated62018-12-30 19:59:56DrahtseilBasic priniciple52018-03-05 09:15:01JosephNuthalapaticoquelicot: Fix broken links42018-02-26 17:14:51JamesValleroyincluded in 0.2432018-02-12 23:48:10JamesValleroybump version22018-02-12 23:47:14JamesValleroyreplace fancy quote characters with plain quote characters12018-02-10 03:14:55JosephNuthalapatiCreate new page for Coquelicot
File Sharing (Coquelicot)
About CoquelicotCoquelicot is a "one-click" file sharing web application with a focus on protecting users' privacy. The basic principle is simple: users can upload a file to the server, in return they get a unique URL which can be shared with others in order to download the file. A download password can be defined. After the upload you get a unique link that can be shared to your partners in order to Read more about Coquelicot at the Coquelicot README Available since: version 0.24.0
When to use CoquelicotCoquelicot is best used to quickly share a single file. If you want to share a folder, for a single use, compress the folder and share it over Coquelicot which must be kept synchronized between computers, use Syncthing instead Coquelicot can only provide a reasonable degree of privacy. If anonymity is required, you should consider using the desktop application Onionshare instead. Since Coquelicot fully uploads the file to the server, your FreedomBox will incur both upload and download bandwidth costs. For very large files, consider sharing them using BitTorrent by creating a private torrent file. If anonymity is required, use Onionshare. It is P2P and doesn't require a server.
Coquelicot on FreedomBoxWith Coquelicot installed, you can upload files to your FreedomBox server and privately share them. Post installation, the Coquelicot page offers two settings. Upload Password: Coquelicot on FreedomBox is currently configured to use simple password authentication for ease of use. Remember that it's one global password for this Coquelicot instance and not your user password for FreedomBox. You need not remember this password. You can set a new one from the Plinth interface anytime. Maximum File Size: You can alter the maximum size of the file that can be transferred through Coquelicot using this setting. The size is in Mebibytes. The maximum file size is only limited by the disk size of your FreedomBox.
PrivacySomeone monitoring your network traffic might find out that some file is being transferred through your FreedomBox and also possibly its size, but will not know the file name. Coquelicot encrypts files on the server and also fills the file contents with 0s when deleting them. This eliminates the risk of file contents being revealed in the event of your FreedomBox being confiscated or stolen. The real risk to mitigate here is a third-party also downloading your file along with the intended recipient.
Sharing over instant messengersSome instant messengers which have previews for websites might download your file in order to show a preview in the conversation. If you set the option of one-time download on a file, you might notice that the one download will be used up by the instant messenger. If sharing over such messengers, please use a download password in combination with a one-time download option.
Sharing download links privatelyIt is recommended to share your file download links and download passwords over encrypted channels. You can simply avoid all the above problems with instant messenger previews by using instant messengers that support encrypted conversations like Riot with Matrix Synapse or XMPP (ejabberd server on FreedomBox) with clients that support end-to-end encryption. Send the download link and the download password in two separate messages (helps if your messenger supports perfect forward secrecy like XMPP with OTR). You can also share your links over PGP-encrypted email using Thunderbird. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Coquelicot72019-09-11 09:45:09fioddorCategory Deduplicated62018-12-30 19:59:56DrahtseilBasic priniciple52018-03-05 09:15:01JosephNuthalapaticoquelicot: Fix broken links42018-02-26 17:14:51JamesValleroyincluded in 0.2432018-02-12 23:48:10JamesValleroybump version22018-02-12 23:47:14JamesValleroyreplace fancy quote characters with plain quote characters12018-02-10 03:14:55JosephNuthalapatiCreate new page for Coquelicot
File Sharing (Coquelicot)
About CoquelicotCoquelicot is a "one-click" file sharing web application with a focus on protecting users' privacy. The basic principle is simple: users can upload a file to the server, in return they get a unique URL which can be shared with others in order to download the file. A download password can be defined. After the upload you get a unique link that can be shared to your partners in order to Read more about Coquelicot at the Coquelicot README Available since: version 0.24.0
When to use CoquelicotCoquelicot is best used to quickly share a single file. If you want to share a folder, for a single use, compress the folder and share it over Coquelicot which must be kept synchronized between computers, use Syncthing instead Coquelicot can only provide a reasonable degree of privacy. If anonymity is required, you should consider using the desktop application Onionshare instead. Since Coquelicot fully uploads the file to the server, your FreedomBox will incur both upload and download bandwidth costs. For very large files, consider sharing them using BitTorrent by creating a private torrent file. If anonymity is required, use Onionshare. It is P2P and doesn't require a server.
Coquelicot on FreedomBoxWith Coquelicot installed, you can upload files to your FreedomBox server and privately share them. Post installation, the Coquelicot page offers two settings. Upload Password: Coquelicot on FreedomBox is currently configured to use simple password authentication for ease of use. Remember that it's one global password for this Coquelicot instance and not your user password for FreedomBox. You need not remember this password. You can set a new one from the Plinth interface anytime. Maximum File Size: You can alter the maximum size of the file that can be transferred through Coquelicot using this setting. The size is in Mebibytes. The maximum file size is only limited by the disk size of your FreedomBox.
PrivacySomeone monitoring your network traffic might find out that some file is being transferred through your FreedomBox and also possibly its size, but will not know the file name. Coquelicot encrypts files on the server and also fills the file contents with 0s when deleting them. This eliminates the risk of file contents being revealed in the event of your FreedomBox being confiscated or stolen. The real risk to mitigate here is a third-party also downloading your file along with the intended recipient.
Sharing over instant messengersSome instant messengers which have previews for websites might download your file in order to show a preview in the conversation. If you set the option of one-time download on a file, you might notice that the one download will be used up by the instant messenger. If sharing over such messengers, please use a download password in combination with a one-time download option.
Sharing download links privatelyIt is recommended to share your file download links and download passwords over encrypted channels. You can simply avoid all the above problems with instant messenger previews by using instant messengers that support encrypted conversations like Riot with Matrix Synapse or XMPP (ejabberd server on FreedomBox) with clients that support end-to-end encryption. Send the download link and the download password in two separate messages (helps if your messenger supports perfect forward secrecy like XMPP with OTR). You can also share your links over PGP-encrypted email using Thunderbird. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/DateTime.raw.xml b/doc/manual/en/DateTime.raw.xml index 4c7303517..bc9c1fa78 100644 --- a/doc/manual/en/DateTime.raw.xml +++ b/doc/manual/en/DateTime.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/DateTime22017-03-31 20:20:57DrahtseilScreenshot DateTime12016-08-21 09:26:45DrahtseilCreated Date & Time
Date & TimeThis network time server is a program that maintains the system time in synchronization with servers on the Internet. You can select your time zone by picking a big city nearby (they are sorted by Continent/City) or select directly the zone with respect to GMT (Greenwich Mean Time). DateTime.png Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/DateTime22017-03-31 20:20:57DrahtseilScreenshot DateTime12016-08-21 09:26:45DrahtseilCreated Date & Time
Date & TimeThis network time server is a program that maintains the system time in synchronization with servers on the Internet. You can select your time zone by picking a big city nearby (they are sorted by Continent/City) or select directly the zone with respect to GMT (Greenwich Mean Time). DateTime.png Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Deluge.raw.xml b/doc/manual/en/Deluge.raw.xml index 3973b8adb..7fecbc4d5 100644 --- a/doc/manual/en/Deluge.raw.xml +++ b/doc/manual/en/Deluge.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Deluge112016-12-31 01:32:15JamesValleroyadd initial setup directions102016-12-30 19:20:00JamesValleroyreword92016-12-30 19:14:16JamesValleroyadd intro paragraph82016-12-30 19:00:50JamesValleroyno space in "BitTorrent"72016-12-26 18:07:46JamesValleroyadd screenshot62016-09-01 19:05:24Drahtseiladapted title to Plinth wording52016-04-10 07:26:48PhilippeBaretAdded bottom navigation link42015-12-15 20:41:02PhilippeBaretCorrection32015-12-15 20:40:16PhilippeBaretCorrection22015-12-15 18:16:28PhilippeBaretAdded Deluge definition12015-12-15 16:59:01PhilippeBaretCreated new Deluge page for manual
BitTorrent (Deluge)
What is Deluge?BitTorrent is a communications protocol using peer-to-peer (P2P) file sharing. It is not anonymous; you should assume that others can see what files you are sharing. There are two BitTorrent web clients available in FreedomBox: Transmission and Deluge. They have similar features, but you may prefer one over the other. Deluge is a lightweight BitTorrent client that is highly configurable. Additional functionality can be added by installing plugins.
ScreenshotDeluge Web UI
Initial SetupAfter installing Deluge, it can be accessed by pointing your browser to https://<your freedombox>/deluge. You will need to enter a password to login: Deluge Login The initial password is "deluge". The first time that you login, Deluge will ask if you wish to change the password. You should change it to something that is harder to guess. Next you will be shown the connection manager. Click on the first entry (Offline - 127.0.0.1:58846). Then click "Start Daemon" to start the Deluge service that will run in the background. Deluge Connection Manager (Offline) Now it should say "Online". Click "Connect" to complete the setup. Deluge Connection Manager (Online) At this point, you are ready to begin using Deluge. You can make further changes in the Preferences, or add a torrent file or URL. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Deluge112016-12-31 01:32:15JamesValleroyadd initial setup directions102016-12-30 19:20:00JamesValleroyreword92016-12-30 19:14:16JamesValleroyadd intro paragraph82016-12-30 19:00:50JamesValleroyno space in "BitTorrent"72016-12-26 18:07:46JamesValleroyadd screenshot62016-09-01 19:05:24Drahtseiladapted title to Plinth wording52016-04-10 07:26:48PhilippeBaretAdded bottom navigation link42015-12-15 20:41:02PhilippeBaretCorrection32015-12-15 20:40:16PhilippeBaretCorrection22015-12-15 18:16:28PhilippeBaretAdded Deluge definition12015-12-15 16:59:01PhilippeBaretCreated new Deluge page for manual
BitTorrent (Deluge)
What is Deluge?BitTorrent is a communications protocol using peer-to-peer (P2P) file sharing. It is not anonymous; you should assume that others can see what files you are sharing. There are two BitTorrent web clients available in FreedomBox: Transmission and Deluge. They have similar features, but you may prefer one over the other. Deluge is a lightweight BitTorrent client that is highly configurable. Additional functionality can be added by installing plugins.
ScreenshotDeluge Web UI
Initial SetupAfter installing Deluge, it can be accessed by pointing your browser to https://<your freedombox>/deluge. You will need to enter a password to login: Deluge Login The initial password is "deluge". The first time that you login, Deluge will ask if you wish to change the password. You should change it to something that is harder to guess. Next you will be shown the connection manager. Click on the first entry (Offline - 127.0.0.1:58846). Then click "Start Daemon" to start the Deluge service that will run in the background. Deluge Connection Manager (Offline) Now it should say "Online". Click "Connect" to complete the setup. Deluge Connection Manager (Online) At this point, you are ready to begin using Deluge. You can make further changes in the Preferences, or add a torrent file or URL. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Diagnostics.raw.xml b/doc/manual/en/Diagnostics.raw.xml index 7f106abb5..91a91e6cf 100644 --- a/doc/manual/en/Diagnostics.raw.xml +++ b/doc/manual/en/Diagnostics.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Diagnostics12016-08-21 09:43:52DrahtseilCreated Diagnostics
DiagnosticsThe system diagnostic test will run a number of checks on your system to confirm that applications and services are working as expected. Just click Run Diagnostics. This may take some minutes. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Diagnostics12016-08-21 09:43:52DrahtseilCreated Diagnostics
DiagnosticsThe system diagnostic test will run a number of checks on your system to confirm that applications and services are working as expected. Just click Run Diagnostics. This may take some minutes. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/DynamicDNS.raw.xml b/doc/manual/en/DynamicDNS.raw.xml index 9247470ee..bf435339e 100644 --- a/doc/manual/en/DynamicDNS.raw.xml +++ b/doc/manual/en/DynamicDNS.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/DynamicDNS162019-07-31 13:18:03NikolasNybyfix typo152019-02-26 03:20:16JamesValleroyspelling142018-03-11 03:11:04JosephNuthalapatiFix oversized image132017-03-31 20:35:42Drahtseilupdated screenshot122016-09-09 15:40:08SunilMohanAdapaMinor indentation fix with screenshot112016-09-01 19:18:48Drahtseiladapted title to Plinth wording102016-08-15 18:46:51DrahtseilScreenshot GNU-DIP92016-04-14 14:22:41PhilippeBaretAdded accurate How to create a DNS name with GnuDIP82016-04-10 07:15:47PhilippeBaretAdded bottom navigation link72016-01-11 06:28:36PhilippeBaretCorrection62015-12-15 18:48:25PhilippeBaretAdded definition title to Dynamic DNS page52015-09-13 15:02:37SunilMohanAdapaDemote headings one level for inclusion into manual42015-09-13 13:14:41SunilMohanAdapaMove DynamicDNS page to manual32015-08-13 13:03:13SunilMohanAdapaAdd more introduction and re-organize.22015-08-09 21:38:52DanielSteglich12015-08-09 21:23:48DanielSteglich
Dynamic DNS Client
What is Dynamic DNS?In order to reach a server on the Internet, the server needs to have permanent address also known as the static IP address. Many Internet service providers don't provide home users with a static IP address or they charge more providing a static IP address. Instead they provide the home user with an IP address that changes every time the user connects to the Internet. Clients wishing to contact the server will have difficulty reaching the server. Dynamic DNS service providers assist in working around a problem. First they provide you with a domain name, such as 'myhost.example.org'. Then they associate your IP address, whenever it changes, with this domain name. Then anyone intending to reach the server will be to contact the server using the domain name 'myhost.example.org' which always points to the latest IP address of the server. For this to work, every time you connect to the Internet, you will have to tell your Dynamic DNS provider what your current IP address is. Hence you need special software on your server to perform this operation. The Dynamic DNS function in FreedomBox will allow users without a static public IP address to push the current public IP address to a Dynamic DNS Server. This allows you to expose services on FreedomBox, such as ownCloud, to the Internet.
GnuDIP vs. Update URLThere are two main mechanism to notify the Dynamic DNS server of your new IP address; using the GnuDIP protocol and using the Update URL mechanism. If a service provided using update URL is not properly secured using HTTPS, your credentials may be visible to an adversary. Once an adversary gains your credentials, they will be able to replay your request your server and hijack your domain. On the other hand, the GnuDIP protocol will only transport a salted MD5 value of your password, in a way that is secure against replay attacks.
Using the GnuDIP protocolRegister an account with any Dynamic DNS service provider. A free service provided by the FreedomBox community is available at . In FreedomBox UI, enable the Dynamic DNS Service. Select GnuDIP as Service type, enter your Dynamic DNS service provider address (for example, gnudip.datasystems24.net) into GnuDIP Server Address field. Dynamic DNS Settings Fill Domain Name, Username, Password information given by your provider into the corresponding fields.
Using an Update URLThis feature is implemented because the most popular Dynamic DNS providers are using Update URLs mechanism. Register an account with a Dynamic DNS service provider providing their service using Update URL mechanism. Some example providers are listed in the configuration page itself. In FreedomBox UI, enable the Dynamic DNS service. Select other Update URL as Service type, enter the update URL given by your provider into Update URL field. If you browse the update URL with your Internet browser and a warning message about untrusted certificate appears, then enable accept all SSL certificates. WARNING: your credentials may be readable here because man-in-the-middle attacks are possible! Consider choosing a better service provider instead. If you browse the update URL with your Internet browser and the username/password box appears, enable use HTTP basic authentication checkbox and provide the Username and Password. If the update URL contains your current IP address, replace the IP address with the string <Ip>.
Checking If It WorksMake sure that external services you have enabled such as /jwchat, /roundcube and /ikiwiki are available on your domain address. Go to the Status page, make sure that the NAT type is detected correctly. If your FreedomBox is behind a NAT device, this should be detected over there (Text: Behind NAT). If your FreedomBox has a public IP address assigned, the text should be "Direct connection to the Internet". Check that the last update status is not failed.
Recap: How to create a DNS name with GnuDIPto delete or to replace the old text Access to GnuIP login page (answer Yes to all pop ups) Click on "Self Register" Fill the registration form (Username and domain will form the public IP address [username.domain]) Take note of the username/hostname and password that will be used on the FreedomBox app. Save and return to the GnuDIP login page to verify your username, domain and password (enter the datas, click login). Login output should display your new domain name along with your current public IP address (this is a unique address provided by your router for all your local devices). Leave the GnuDIP interface and open the Dynamic DNS Client app page in your FreedomBox. Click on "Set Up" in the top menu. Activate Dynamic DNS Choose GnuDIP service. Add server address (gnudip.datasystems24.net) Add your fresh domain name (username.domain, ie [username].freedombox.rocks) Add your fresh username (the one used in your new IP address) and password Add your GnuDIP password Fill the option with (try this url in your browser, you will figure out immediately) Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/DynamicDNS162019-07-31 13:18:03NikolasNybyfix typo152019-02-26 03:20:16JamesValleroyspelling142018-03-11 03:11:04JosephNuthalapatiFix oversized image132017-03-31 20:35:42Drahtseilupdated screenshot122016-09-09 15:40:08SunilMohanAdapaMinor indentation fix with screenshot112016-09-01 19:18:48Drahtseiladapted title to Plinth wording102016-08-15 18:46:51DrahtseilScreenshot GNU-DIP92016-04-14 14:22:41PhilippeBaretAdded accurate How to create a DNS name with GnuDIP82016-04-10 07:15:47PhilippeBaretAdded bottom navigation link72016-01-11 06:28:36PhilippeBaretCorrection62015-12-15 18:48:25PhilippeBaretAdded definition title to Dynamic DNS page52015-09-13 15:02:37SunilMohanAdapaDemote headings one level for inclusion into manual42015-09-13 13:14:41SunilMohanAdapaMove DynamicDNS page to manual32015-08-13 13:03:13SunilMohanAdapaAdd more introduction and re-organize.22015-08-09 21:38:52DanielSteglich12015-08-09 21:23:48DanielSteglich
Dynamic DNS Client
What is Dynamic DNS?In order to reach a server on the Internet, the server needs to have permanent address also known as the static IP address. Many Internet service providers don't provide home users with a static IP address or they charge more providing a static IP address. Instead they provide the home user with an IP address that changes every time the user connects to the Internet. Clients wishing to contact the server will have difficulty reaching the server. Dynamic DNS service providers assist in working around a problem. First they provide you with a domain name, such as 'myhost.example.org'. Then they associate your IP address, whenever it changes, with this domain name. Then anyone intending to reach the server will be to contact the server using the domain name 'myhost.example.org' which always points to the latest IP address of the server. For this to work, every time you connect to the Internet, you will have to tell your Dynamic DNS provider what your current IP address is. Hence you need special software on your server to perform this operation. The Dynamic DNS function in FreedomBox will allow users without a static public IP address to push the current public IP address to a Dynamic DNS Server. This allows you to expose services on FreedomBox, such as ownCloud, to the Internet.
GnuDIP vs. Update URLThere are two main mechanism to notify the Dynamic DNS server of your new IP address; using the GnuDIP protocol and using the Update URL mechanism. If a service provided using update URL is not properly secured using HTTPS, your credentials may be visible to an adversary. Once an adversary gains your credentials, they will be able to replay your request your server and hijack your domain. On the other hand, the GnuDIP protocol will only transport a salted MD5 value of your password, in a way that is secure against replay attacks.
Using the GnuDIP protocolRegister an account with any Dynamic DNS service provider. A free service provided by the FreedomBox community is available at . In FreedomBox UI, enable the Dynamic DNS Service. Select GnuDIP as Service type, enter your Dynamic DNS service provider address (for example, gnudip.datasystems24.net) into GnuDIP Server Address field. Dynamic DNS Settings Fill Domain Name, Username, Password information given by your provider into the corresponding fields.
Using an Update URLThis feature is implemented because the most popular Dynamic DNS providers are using Update URLs mechanism. Register an account with a Dynamic DNS service provider providing their service using Update URL mechanism. Some example providers are listed in the configuration page itself. In FreedomBox UI, enable the Dynamic DNS service. Select other Update URL as Service type, enter the update URL given by your provider into Update URL field. If you browse the update URL with your Internet browser and a warning message about untrusted certificate appears, then enable accept all SSL certificates. WARNING: your credentials may be readable here because man-in-the-middle attacks are possible! Consider choosing a better service provider instead. If you browse the update URL with your Internet browser and the username/password box appears, enable use HTTP basic authentication checkbox and provide the Username and Password. If the update URL contains your current IP address, replace the IP address with the string <Ip>.
Checking If It WorksMake sure that external services you have enabled such as /jwchat, /roundcube and /ikiwiki are available on your domain address. Go to the Status page, make sure that the NAT type is detected correctly. If your FreedomBox is behind a NAT device, this should be detected over there (Text: Behind NAT). If your FreedomBox has a public IP address assigned, the text should be "Direct connection to the Internet". Check that the last update status is not failed.
Recap: How to create a DNS name with GnuDIPto delete or to replace the old text Access to GnuIP login page (answer Yes to all pop ups) Click on "Self Register" Fill the registration form (Username and domain will form the public IP address [username.domain]) Take note of the username/hostname and password that will be used on the FreedomBox app. Save and return to the GnuDIP login page to verify your username, domain and password (enter the datas, click login). Login output should display your new domain name along with your current public IP address (this is a unique address provided by your router for all your local devices). Leave the GnuDIP interface and open the Dynamic DNS Client app page in your FreedomBox. Click on "Set Up" in the top menu. Activate Dynamic DNS Choose GnuDIP service. Add server address (gnudip.datasystems24.net) Add your fresh domain name (username.domain, ie [username].freedombox.rocks) Add your fresh username (the one used in your new IP address) and password Add your GnuDIP password Fill the option with (try this url in your browser, you will figure out immediately) Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Firewall.raw.xml b/doc/manual/en/Firewall.raw.xml index de00e5dfa..570b4756d 100644 --- a/doc/manual/en/Firewall.raw.xml +++ b/doc/manual/en/Firewall.raw.xml @@ -14,4 +14,4 @@ firewall-cmd --permanent --zone=internal --add-port=5353/udp]]> --remove-interface=]]>Example: To add an interface to a zone: --add-interface= firewall-cmd --permanent --zone= --add-interface=]]>Example: InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox \ No newline at end of file +firewall-cmd --permanent --zone=internal --add-interface=eth0]]>InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox \ No newline at end of file diff --git a/doc/manual/en/I2P.raw.xml b/doc/manual/en/I2P.raw.xml index 0a9153d79..56952afa1 100644 --- a/doc/manual/en/I2P.raw.xml +++ b/doc/manual/en/I2P.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/I2P12019-04-30 00:40:36SunilMohanAdapaInitial page for I2P application in FreedomBox
Anonymity Network (I2P)
About I2PThe Invisible Internet Project is an anonymous network layer intended to protect communication from censorship and surveillance. I2P provides anonymity by sending encrypted traffic through a volunteer-run network distributed around the world. Find more information about I2P on their project homepage.
Services OfferedThe following services are offered via I2P in FreedomBox by default. Additional services may be available when enabled from I2P router console that can be launched from FreedomBox web interface. Anonymous Internet browsing: I2P can be used to browse Internet anonymously. For this, configure your browser (preferable a Tor Browser) to connect to I2P proxy. This can be done by setting HTTP proxy and HTTPS proxy to freedombox.local (or your FreedomBox's local IP address) and ports to 4444 and 4445 respectively. This service is available only when you are reaching FreedomBox using local network (networks in internal zone) and not available when connecting to FreedomBox from the Internet. One exception to this is when you connect to FreedomBox's VPN service from Internet you can still use this service. Reaching eepsites: I2P network can host websites that can remain anonymous. These are called eepsites and end with .i2p in their domain name. For example, is the website for I2P project in the I2P network. eepsites are not reachable using a regular browser via regular Internet connection. To browse eepsites, your browser needs to be configured to use HTTP, HTTPS proxies as described above. This service is available only when you are reaching FreedomBox using local network (networks in internal zone) and not available when connecting to FreedomBox from the Internet. One exception to this is when you connect to FreedomBox's VPN service from Internet you can still use this service. Anonymous torrent downloads: I2PSnark, an application for anonymously downloading and sharing files over the BitTorrent network is available in I2P and enabled by default in FreedomBox. This application is controlled via a web interface that can be launched from 'Anonymous torrents' section of I2P app in FreedomBox web interface or from the I2P router console interface. Only logged-in users belonging to 'Manage I2P application' group can use this service. IRC network: I2P network contains an IRC network called Irc2P. This network hosts the I2P project's official IRC channel among other channels. This service is enabled by default in FreedomBox. To use it, open your favourite IRC client. Then configure it to connect to host freedombox.local (or your FreedomBox's local IP address) with port number 6668. This service is available only when you are reaching FreedomBox using local network (networks in internal zone) and not available when connecting to FreedomBox from the Internet. One exception to this is when you connect to FreedomBox's VPN service from Internet you can still use this service. I2P router console: This is the central management interface for I2P. It shows the current status of I2P, bandwidth statistics and allows modifying various configuration settings. You can tune your participation in the I2P network and use/edit a list of your favourite I2P sites (eepsites). Only logged-in users belonging to 'Manage I2P application' group can use this service. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.
\ No newline at end of file +
FreedomBox/Manual/I2P12019-04-30 00:40:36SunilMohanAdapaInitial page for I2P application in FreedomBox
Anonymity Network (I2P)
About I2PThe Invisible Internet Project is an anonymous network layer intended to protect communication from censorship and surveillance. I2P provides anonymity by sending encrypted traffic through a volunteer-run network distributed around the world. Find more information about I2P on their project homepage.
Services OfferedThe following services are offered via I2P in FreedomBox by default. Additional services may be available when enabled from I2P router console that can be launched from FreedomBox web interface. Anonymous Internet browsing: I2P can be used to browse Internet anonymously. For this, configure your browser (preferable a Tor Browser) to connect to I2P proxy. This can be done by setting HTTP proxy and HTTPS proxy to freedombox.local (or your FreedomBox's local IP address) and ports to 4444 and 4445 respectively. This service is available only when you are reaching FreedomBox using local network (networks in internal zone) and not available when connecting to FreedomBox from the Internet. One exception to this is when you connect to FreedomBox's VPN service from Internet you can still use this service. Reaching eepsites: I2P network can host websites that can remain anonymous. These are called eepsites and end with .i2p in their domain name. For example, is the website for I2P project in the I2P network. eepsites are not reachable using a regular browser via regular Internet connection. To browse eepsites, your browser needs to be configured to use HTTP, HTTPS proxies as described above. This service is available only when you are reaching FreedomBox using local network (networks in internal zone) and not available when connecting to FreedomBox from the Internet. One exception to this is when you connect to FreedomBox's VPN service from Internet you can still use this service. Anonymous torrent downloads: I2PSnark, an application for anonymously downloading and sharing files over the BitTorrent network is available in I2P and enabled by default in FreedomBox. This application is controlled via a web interface that can be launched from 'Anonymous torrents' section of I2P app in FreedomBox web interface or from the I2P router console interface. Only logged-in users belonging to 'Manage I2P application' group can use this service. IRC network: I2P network contains an IRC network called Irc2P. This network hosts the I2P project's official IRC channel among other channels. This service is enabled by default in FreedomBox. To use it, open your favourite IRC client. Then configure it to connect to host freedombox.local (or your FreedomBox's local IP address) with port number 6668. This service is available only when you are reaching FreedomBox using local network (networks in internal zone) and not available when connecting to FreedomBox from the Internet. One exception to this is when you connect to FreedomBox's VPN service from Internet you can still use this service. I2P router console: This is the central management interface for I2P. It shows the current status of I2P, bandwidth statistics and allows modifying various configuration settings. You can tune your participation in the I2P network and use/edit a list of your favourite I2P sites (eepsites). Only logged-in users belonging to 'Manage I2P application' group can use this service. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.
\ No newline at end of file diff --git a/doc/manual/en/Ikiwiki.raw.xml b/doc/manual/en/Ikiwiki.raw.xml index c732b8666..52a0fb80f 100644 --- a/doc/manual/en/Ikiwiki.raw.xml +++ b/doc/manual/en/Ikiwiki.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Ikiwiki92016-12-26 19:18:01JamesValleroyadd screenshots82016-09-01 19:15:54Drahtseiladapted title to Plinth wording72016-05-26 17:19:45JamesValleroynew section on adding users as wiki admins62016-04-13 01:10:28PhilippeBaretAdded blog to quick start entry in Ikiwiki Manual52016-04-13 01:00:22PhilippeBaretAdded a "Quick Start" entry in Ikiwiki manual42016-04-10 07:21:53PhilippeBaretAdded bottom navigation link32015-12-15 19:54:35PhilippeBaretAdded Ikiwiki definition22015-11-29 19:13:55PhilippeBaretadded ## BEGIN_INCLUDE12015-09-13 17:06:14JamesValleroyadd ikiwiki page for manual
Wiki and Blog (Ikiwiki)
What is Ikiwiki?Ikiwiki converts wiki pages into HTML pages suitable for publishing on a website. It provides particularly blogging, podcasting, calendars and a large selection of plugins.
Quick StartAfter the app installation on your box administration interface: Go to "Create" section and create a wiki or a blog Go back to "Configure" section and click on /ikiwiki link Click on your new wiki or blog name under "Parent directory" Enjoy your new publication page.
Creating a wiki or blogYou can create a wiki or blog to be hosted on your FreedomBox through the Wiki & Blog (Ikiwiki) page in Plinth. The first time you visit this page, it will ask to install packages required by Ikiwiki. After the package install has completed, select the Create tab. You can select the type to be Wiki or Blog. Also type in a name for the wiki or blog, and the username and password for the wiki's/blog's admin account. Then click Update setup and you will see the wiki/blog added to your list. Note that each wiki/blog has its own admin account. ikiwiki: Create
Accessing your wiki or blogFrom the Wiki & Blog (Ikiwiki) page, select the Manage tab and you will see a list of your wikis and blogs. Click a name to navigate to that wiki or blog. ikiwiki: Manage From here, if you click Edit or Preferences, you will be taken to a login page. To log in with the admin account that you created before, select the Other tab, enter the username and password, and click Login.
User login through SSOBesides the wiki/blog admin, other FreedomBox users can be given access to login and edit wikis and blogs. However, they will not have all the same permissions as the wiki admin. They can add or edit pages, but cannot change the wiki's configuration. To add a wiki user, go to the Users and Groups page in Plinth (under System configuration, the gear icon at the top right corner of the page). Create or modify a user, and add them to the wiki group. (Users in the admin group will also have wiki access.) To login as a FreedomBox user, go to the wiki/blog's login page and select the Other tab. Then click the "Login with HTTP auth" button. The browser will show a popup dialog where you can enter the username and password of the FreedomBox user.
Adding FreedomBox users as wiki adminsLogin to the wiki, using the admin account that was specified when the wiki was created. Click "Preferences", then "Setup". Under "main", in the "users who are wiki admins", add the name of a user on the FreedomBox. (Optional) Under "auth plugin: passwordauth", uncheck the "enable passwordauth?" option. (Note: This will disable the old admin account login. Only SSO login using HTTP auth will be possible.) Click "Save Setup". Click "Preferences", then "Logout". Login as the new admin user using "Login with HTTP auth". Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Ikiwiki92016-12-26 19:18:01JamesValleroyadd screenshots82016-09-01 19:15:54Drahtseiladapted title to Plinth wording72016-05-26 17:19:45JamesValleroynew section on adding users as wiki admins62016-04-13 01:10:28PhilippeBaretAdded blog to quick start entry in Ikiwiki Manual52016-04-13 01:00:22PhilippeBaretAdded a "Quick Start" entry in Ikiwiki manual42016-04-10 07:21:53PhilippeBaretAdded bottom navigation link32015-12-15 19:54:35PhilippeBaretAdded Ikiwiki definition22015-11-29 19:13:55PhilippeBaretadded ## BEGIN_INCLUDE12015-09-13 17:06:14JamesValleroyadd ikiwiki page for manual
Wiki and Blog (Ikiwiki)
What is Ikiwiki?Ikiwiki converts wiki pages into HTML pages suitable for publishing on a website. It provides particularly blogging, podcasting, calendars and a large selection of plugins.
Quick StartAfter the app installation on your box administration interface: Go to "Create" section and create a wiki or a blog Go back to "Configure" section and click on /ikiwiki link Click on your new wiki or blog name under "Parent directory" Enjoy your new publication page.
Creating a wiki or blogYou can create a wiki or blog to be hosted on your FreedomBox through the Wiki & Blog (Ikiwiki) page in Plinth. The first time you visit this page, it will ask to install packages required by Ikiwiki. After the package install has completed, select the Create tab. You can select the type to be Wiki or Blog. Also type in a name for the wiki or blog, and the username and password for the wiki's/blog's admin account. Then click Update setup and you will see the wiki/blog added to your list. Note that each wiki/blog has its own admin account. ikiwiki: Create
Accessing your wiki or blogFrom the Wiki & Blog (Ikiwiki) page, select the Manage tab and you will see a list of your wikis and blogs. Click a name to navigate to that wiki or blog. ikiwiki: Manage From here, if you click Edit or Preferences, you will be taken to a login page. To log in with the admin account that you created before, select the Other tab, enter the username and password, and click Login.
User login through SSOBesides the wiki/blog admin, other FreedomBox users can be given access to login and edit wikis and blogs. However, they will not have all the same permissions as the wiki admin. They can add or edit pages, but cannot change the wiki's configuration. To add a wiki user, go to the Users and Groups page in Plinth (under System configuration, the gear icon at the top right corner of the page). Create or modify a user, and add them to the wiki group. (Users in the admin group will also have wiki access.) To login as a FreedomBox user, go to the wiki/blog's login page and select the Other tab. Then click the "Login with HTTP auth" button. The browser will show a popup dialog where you can enter the username and password of the FreedomBox user.
Adding FreedomBox users as wiki adminsLogin to the wiki, using the admin account that was specified when the wiki was created. Click "Preferences", then "Setup". Under "main", in the "users who are wiki admins", add the name of a user on the FreedomBox. (Optional) Under "auth plugin: passwordauth", uncheck the "enable passwordauth?" option. (Note: This will disable the old admin account login. Only SSO login using HTTP auth will be possible.) Click "Save Setup". Click "Preferences", then "Logout". Login as the new admin user using "Login with HTTP auth". Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Infinoted.raw.xml b/doc/manual/en/Infinoted.raw.xml index 0d1ef2376..5c96efb47 100644 --- a/doc/manual/en/Infinoted.raw.xml +++ b/doc/manual/en/Infinoted.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Infinoted12017-01-21 17:23:17JamesValleroycreate page for infinoted
Gobby Server (infinoted)infinoted is a server for Gobby, a collaborative text editor. To use it, download Gobby, desktop client and install it. Then start Gobby and select "Connect to Server" and enter your FreedomBox's domain name.
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for infinoted: TCP 6523 Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Infinoted12017-01-21 17:23:17JamesValleroycreate page for infinoted
Gobby Server (infinoted)infinoted is a server for Gobby, a collaborative text editor. To use it, download Gobby, desktop client and install it. Then start Gobby and select "Connect to Server" and enter your FreedomBox's domain name.
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for infinoted: TCP 6523 Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/LetsEncrypt.raw.xml b/doc/manual/en/LetsEncrypt.raw.xml index c97b0d840..7233bb2d0 100644 --- a/doc/manual/en/LetsEncrypt.raw.xml +++ b/doc/manual/en/LetsEncrypt.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/LetsEncrypt102019-11-01 00:51:44JosephNuthalapatiFix attachment inlining92019-02-26 03:21:08JamesValleroyspelling82018-03-11 03:16:47JosephNuthalapati72017-01-19 00:18:41JamesValleroyreplace quote character62017-01-07 19:48:45JamesValleroyadd port forwarding info52017-01-07 18:21:14JamesValleroyclarify step42016-08-21 19:00:07Drahtseil32016-08-21 18:59:20DrahtseilScreencast of the setting up22016-08-21 17:57:07Drahtseilscreenshots12016-08-21 17:43:20DrahtseilCreated Let's Encypt
Certificates (Let's Encrypt)A digital certificate allows users of a web service to verify the identity of the service and to securely communicate with it. FreedomBox can automatically obtain and setup digital certificates for each available domain. It does so by proving itself to be the owner of a domain to Let's Encrypt, a certificate authority (CA). Let's Encrypt is a free, automated, and open certificate authority, run for the public's benefit by the Internet Security Research Group (ISRG). Please read and agree with the Let's Encrypt Subscriber Agreement before using this service.
Why using CertificatesThe communication with your FreedomBox can be secured so that it is not possible to intercept the content of the web pages viewed and about the content exchanged.
How to setupIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports: TCP 80 (http) TCP 443 (https) Make the domain name known: In Configure insert your domain name, e.g. MyWebName.com Let's Encrypt Verify the domain name was accepted Check that it is enabled in Name Services Let's Encrypt Name Services Go to the Certificates (Let's Encrypt) page, and complete the module install if needed. Then click the "Obtain" button for your domain name. After some minutes a valid certificate is available Let's Encrypt Verify in your browser by checking https://MyWebName.com Let's Encrypt Certificate Screencast: Let's Encrypt
UsingThe certificate is valid for 3 months. It is renewed automatically and can also be re-obtained or revoked manually. With running diagnostics the certificate can also be verified. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/LetsEncrypt102019-11-01 00:51:44JosephNuthalapatiFix attachment inlining92019-02-26 03:21:08JamesValleroyspelling82018-03-11 03:16:47JosephNuthalapati72017-01-19 00:18:41JamesValleroyreplace quote character62017-01-07 19:48:45JamesValleroyadd port forwarding info52017-01-07 18:21:14JamesValleroyclarify step42016-08-21 19:00:07Drahtseil32016-08-21 18:59:20DrahtseilScreencast of the setting up22016-08-21 17:57:07Drahtseilscreenshots12016-08-21 17:43:20DrahtseilCreated Let's Encypt
Certificates (Let's Encrypt)A digital certificate allows users of a web service to verify the identity of the service and to securely communicate with it. FreedomBox can automatically obtain and setup digital certificates for each available domain. It does so by proving itself to be the owner of a domain to Let's Encrypt, a certificate authority (CA). Let's Encrypt is a free, automated, and open certificate authority, run for the public's benefit by the Internet Security Research Group (ISRG). Please read and agree with the Let's Encrypt Subscriber Agreement before using this service.
Why using CertificatesThe communication with your FreedomBox can be secured so that it is not possible to intercept the content of the web pages viewed and about the content exchanged.
How to setupIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports: TCP 80 (http) TCP 443 (https) Make the domain name known: In Configure insert your domain name, e.g. MyWebName.com Let's Encrypt Verify the domain name was accepted Check that it is enabled in Name Services Let's Encrypt Name Services Go to the Certificates (Let's Encrypt) page, and complete the module install if needed. Then click the "Obtain" button for your domain name. After some minutes a valid certificate is available Let's Encrypt Verify in your browser by checking https://MyWebName.com Let's Encrypt Certificate Screencast: Let's Encrypt
UsingThe certificate is valid for 3 months. It is renewed automatically and can also be re-obtained or revoked manually. With running diagnostics the certificate can also be verified. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/MLDonkey.raw.xml b/doc/manual/en/MLDonkey.raw.xml index 81389deee..417ddf437 100644 --- a/doc/manual/en/MLDonkey.raw.xml +++ b/doc/manual/en/MLDonkey.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/MLDonkey122019-02-08 06:29:35SunilMohanAdapaUpdate more information about clients112019-02-06 13:52:06jcromero102019-02-02 21:16:52jcromero92019-01-23 21:18:05jcromero82019-01-23 18:34:25jcromero72019-01-23 18:30:54jcromero62019-01-23 18:19:19SunilMohanAdapaEscape from linking52019-01-23 18:18:47SunilMohanAdapaWrite MLdonkey as MLDonkey42019-01-23 18:17:54SunilMohanAdapaWrite MLdonkey as MLDonkey and other minor fixes32019-01-23 17:37:32jcromero22019-01-23 13:37:48jcromero12019-01-23 13:31:23jcromero
File Sharing (MLDonkey)
What is MLDonkey?MLDonkey is an open-source, multi-protocol, peer-to-peer file sharing application that runs as a back-end server application on many platforms. It can be controlled through a user interface provided by one of many separate front-ends, including a Web interface, telnet interface and over a dozen native client programs. Originally a Linux client for the eDonkey protocol, it now runs on many flavors of Unix-like, OS X, Microsoft Windows and MorphOS and supports numerous peer-to-peer protocols including ED2K (and Kademlia and Overnet), BitTorrent, DC++ and more. Read more about MLDonkey at the MLDonkey Project Wiki Available since: version 0.48.0
ScreenshotMLDonkey Web Interface
Using MLDonkey Web InterfaceAfter installing MLDonkey, its web interface can be accessed from FreedomBox at https://<your freedombox>/mldonkey. Users belonging to the ed2k and admin groups can access this web interface.
Using Desktop/Mobile InterfaceMany desktop and mobile applications can be used to control MLDonkey. MLDonkey server will always be running on FreedomBox. It will download files (or upload them) and store them on FreedomBox even when your local machine is not running or connected to MLDonkey on FreedomBox. Only users of admin group can access MLDonkey on FreedomBox using desktop or mobile clients. This is due to restrictions on which group of users have SSH access into FreedomBox. Create an admin user or use an existing admin user. On your desktop machine, open a terminal and run the following command. It is recommended that you configure and use SSH keys instead of passwords for the this step. Start the GUI application and then connect it to MLDonkey as if MLDonkey is running on the local desktop machine. After you are done, terminate the SSH command by pressing Control-C. See MLDonkey documentation for SSH Tunnel for more information. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/MLDonkey122019-02-08 06:29:35SunilMohanAdapaUpdate more information about clients112019-02-06 13:52:06jcromero102019-02-02 21:16:52jcromero92019-01-23 21:18:05jcromero82019-01-23 18:34:25jcromero72019-01-23 18:30:54jcromero62019-01-23 18:19:19SunilMohanAdapaEscape from linking52019-01-23 18:18:47SunilMohanAdapaWrite MLdonkey as MLDonkey42019-01-23 18:17:54SunilMohanAdapaWrite MLdonkey as MLDonkey and other minor fixes32019-01-23 17:37:32jcromero22019-01-23 13:37:48jcromero12019-01-23 13:31:23jcromero
File Sharing (MLDonkey)
What is MLDonkey?MLDonkey is an open-source, multi-protocol, peer-to-peer file sharing application that runs as a back-end server application on many platforms. It can be controlled through a user interface provided by one of many separate front-ends, including a Web interface, telnet interface and over a dozen native client programs. Originally a Linux client for the eDonkey protocol, it now runs on many flavors of Unix-like, OS X, Microsoft Windows and MorphOS and supports numerous peer-to-peer protocols including ED2K (and Kademlia and Overnet), BitTorrent, DC++ and more. Read more about MLDonkey at the MLDonkey Project Wiki Available since: version 0.48.0
ScreenshotMLDonkey Web Interface
Using MLDonkey Web InterfaceAfter installing MLDonkey, its web interface can be accessed from FreedomBox at https://<your freedombox>/mldonkey. Users belonging to the ed2k and admin groups can access this web interface.
Using Desktop/Mobile InterfaceMany desktop and mobile applications can be used to control MLDonkey. MLDonkey server will always be running on FreedomBox. It will download files (or upload them) and store them on FreedomBox even when your local machine is not running or connected to MLDonkey on FreedomBox. Only users of admin group can access MLDonkey on FreedomBox using desktop or mobile clients. This is due to restrictions on which group of users have SSH access into FreedomBox. Create an admin user or use an existing admin user. On your desktop machine, open a terminal and run the following command. It is recommended that you configure and use SSH keys instead of passwords for the this step. Start the GUI application and then connect it to MLDonkey as if MLDonkey is running on the local desktop machine. After you are done, terminate the SSH command by pressing Control-C. See MLDonkey documentation for SSH Tunnel for more information. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/MatrixSynapse.raw.xml b/doc/manual/en/MatrixSynapse.raw.xml index b4551891b..ad9ead4f8 100644 --- a/doc/manual/en/MatrixSynapse.raw.xml +++ b/doc/manual/en/MatrixSynapse.raw.xml @@ -7,4 +7,4 @@ chmod 600 /etc/matrix-synapse/conf.d/registration_shared_secret.yaml chown matrix-synapse:nogroup /etc/matrix-synapse/conf.d/registration_shared_secret.yaml systemctl restart matrix-synapse register_new_matrix_user -c /etc/matrix-synapse/conf.d/registration_shared_secret.yaml]]>If you wish to see the list of users registered in Matrix Synapse, the following as root user: Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox \ No newline at end of file +echo 'select name from users' | sqlite3 /var/lib/matrix-synapse/homeserver.db ]]>Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox \ No newline at end of file diff --git a/doc/manual/en/MediaWiki.raw.xml b/doc/manual/en/MediaWiki.raw.xml index 756a86d56..9a84ffe7c 100644 --- a/doc/manual/en/MediaWiki.raw.xml +++ b/doc/manual/en/MediaWiki.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/MediaWiki92018-08-28 09:42:01JosephNuthalapatiRemove internal links to MediaWiki82018-08-27 23:58:16JamesValleroytry to close last section72018-08-27 23:43:48JamesValleroyadd consistent newlines after headings62018-08-27 23:41:37JamesValleroyspelling52018-08-21 07:33:32JosephNuthalapati42018-08-21 07:32:43JosephNuthalapatiUpdate wiki to include new features32018-01-31 06:02:30SunilMohanAdapaAdd footer and category22018-01-17 10:26:45JosephNuthalapatiFix headings12018-01-13 04:01:22JosephNuthalapatiNew wiki entry for MediaWiki on FreedomBox
Wiki (MediaWiki)
About MediaWikiMediaWiki is the software that powers the Wikimedia suite of wikis. Read more about MediaWiki on Wikipedia Available since: version 0.20.0
MediaWiki on FreedomBoxMediaWiki on FreedomBox is configured to be publicly readable and privately editable. Only logged in users can make edits to the wiki. This configuration prevents spam and vandalism on the wiki.
User managementUsers can be created by the MediaWiki administrator (user "admin") only. The "admin" user can also be used to reset passwords of MediaWiki users. The administrator password, if forgotten can be reset anytime from the MediaWiki page in the Plinth UI.
Use casesMediaWiki is quite versatile and can be put to many creative uses. It also comes with a lot of plugins and themes and is highly customizable.
Personal Knowledge RepositoryMediaWiki on FreedomBox can be your own personal knowledge repository. Since MediaWiki has good multimedia support, you can write notes, store images, create checklists, store references and bookmarks etc. in an organized manner. You can store the knowledge of a lifetime in your MediaWiki instance.
Community WikiA community of users can use MediaWiki as their common repository of knowledge and reference material. It can used as a college notice board, documentation server for a small company, common notebook for study groups or as a fan wiki like wikia.
Personal Wiki-based WebsiteSeveral websites on the internet are simply MediaWiki instances. MediaWiki on FreedomBox is read-only to visitors. Hence, it can be adapted to serve as your personal website and/or blog. MediaWiki content is easy to export and can be later moved to use another blog engine.
Editing Wiki Content
Visual EditorMediaWiki's new Visual Editor gives a WYSIWYG user interface to creating wiki pages. Unfortunately, it is not yet available in the current version of MediaWiki on Debian. A workaround is to use write your content using the Visual Editor in Wikipedia's Sandbox, switching to source editing mode and copying the content into your wiki.
Other FormatsYou don't have to necessarily learn the MediaWiki formatting language. You can write in your favorite format (Markdown, Org-mode, LaTeX etc.) and convert it to the MediaWiki format using Pandoc.
Image UploadsImage uploads have been enabled since FreedomBox version 0.36.0. You can also directly use images from Wikimedia Commons using a feature called Instant Commons. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/MediaWiki92018-08-28 09:42:01JosephNuthalapatiRemove internal links to MediaWiki82018-08-27 23:58:16JamesValleroytry to close last section72018-08-27 23:43:48JamesValleroyadd consistent newlines after headings62018-08-27 23:41:37JamesValleroyspelling52018-08-21 07:33:32JosephNuthalapati42018-08-21 07:32:43JosephNuthalapatiUpdate wiki to include new features32018-01-31 06:02:30SunilMohanAdapaAdd footer and category22018-01-17 10:26:45JosephNuthalapatiFix headings12018-01-13 04:01:22JosephNuthalapatiNew wiki entry for MediaWiki on FreedomBox
Wiki (MediaWiki)
About MediaWikiMediaWiki is the software that powers the Wikimedia suite of wikis. Read more about MediaWiki on Wikipedia Available since: version 0.20.0
MediaWiki on FreedomBoxMediaWiki on FreedomBox is configured to be publicly readable and privately editable. Only logged in users can make edits to the wiki. This configuration prevents spam and vandalism on the wiki.
User managementUsers can be created by the MediaWiki administrator (user "admin") only. The "admin" user can also be used to reset passwords of MediaWiki users. The administrator password, if forgotten can be reset anytime from the MediaWiki page in the Plinth UI.
Use casesMediaWiki is quite versatile and can be put to many creative uses. It also comes with a lot of plugins and themes and is highly customizable.
Personal Knowledge RepositoryMediaWiki on FreedomBox can be your own personal knowledge repository. Since MediaWiki has good multimedia support, you can write notes, store images, create checklists, store references and bookmarks etc. in an organized manner. You can store the knowledge of a lifetime in your MediaWiki instance.
Community WikiA community of users can use MediaWiki as their common repository of knowledge and reference material. It can used as a college notice board, documentation server for a small company, common notebook for study groups or as a fan wiki like wikia.
Personal Wiki-based WebsiteSeveral websites on the internet are simply MediaWiki instances. MediaWiki on FreedomBox is read-only to visitors. Hence, it can be adapted to serve as your personal website and/or blog. MediaWiki content is easy to export and can be later moved to use another blog engine.
Editing Wiki Content
Visual EditorMediaWiki's new Visual Editor gives a WYSIWYG user interface to creating wiki pages. Unfortunately, it is not yet available in the current version of MediaWiki on Debian. A workaround is to use write your content using the Visual Editor in Wikipedia's Sandbox, switching to source editing mode and copying the content into your wiki.
Other FormatsYou don't have to necessarily learn the MediaWiki formatting language. You can write in your favorite format (Markdown, Org-mode, LaTeX etc.) and convert it to the MediaWiki format using Pandoc.
Image UploadsImage uploads have been enabled since FreedomBox version 0.36.0. You can also directly use images from Wikimedia Commons using a feature called Instant Commons. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Minetest.raw.xml b/doc/manual/en/Minetest.raw.xml index 3d0d6c8ad..53aa27264 100644 --- a/doc/manual/en/Minetest.raw.xml +++ b/doc/manual/en/Minetest.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Minetest32017-01-02 13:29:19JamesValleroyfix list22017-01-02 13:26:03JamesValleroyadd port forwarding info12016-09-04 10:20:44Drahtseilstub created
Block Sandbox (Minetest)Minetest is a multiplayer infinite-world block sandbox. This module enables the Minetest server to be run on this FreedomBox, on the default port (30000). To connect to the server, a Minetest client is needed.
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for Minetest: UDP 30000 Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Minetest32017-01-02 13:29:19JamesValleroyfix list22017-01-02 13:26:03JamesValleroyadd port forwarding info12016-09-04 10:20:44Drahtseilstub created
Block Sandbox (Minetest)Minetest is a multiplayer infinite-world block sandbox. This module enables the Minetest server to be run on this FreedomBox, on the default port (30000). To connect to the server, a Minetest client is needed.
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for Minetest: UDP 30000 Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Monkeysphere.raw.xml b/doc/manual/en/Monkeysphere.raw.xml index cb11fe4f4..3604621b6 100644 --- a/doc/manual/en/Monkeysphere.raw.xml +++ b/doc/manual/en/Monkeysphere.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Monkeysphere12016-09-04 10:12:10Drahtseilstub created
MonkeysphereWith Monkeysphere, an OpenPGP key can be generated for each configured domain serving SSH. The OpenPGP public key can then be uploaded to the OpenPGP keyservers. Users connecting to this machine through SSH can verify that they are connecting to the correct host. For users to trust the key, at least one person (usually the machine owner) must sign the key using the regular OpenPGP key signing process. See the Monkeysphere SSH documentation for more details. Monkeysphere can also generate an OpenPGP key for each Secure Web Server (HTTPS) certificate installed on this machine. The OpenPGP public key can then be uploaded to the OpenPGP keyservers. Users accessing the web server through HTTPS can verify that they are connecting to the correct host. To validate the certificate, the user will need to install some software that is available on the Monkeysphere website. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Monkeysphere12016-09-04 10:12:10Drahtseilstub created
MonkeysphereWith Monkeysphere, an OpenPGP key can be generated for each configured domain serving SSH. The OpenPGP public key can then be uploaded to the OpenPGP keyservers. Users connecting to this machine through SSH can verify that they are connecting to the correct host. For users to trust the key, at least one person (usually the machine owner) must sign the key using the regular OpenPGP key signing process. See the Monkeysphere SSH documentation for more details. Monkeysphere can also generate an OpenPGP key for each Secure Web Server (HTTPS) certificate installed on this machine. The OpenPGP public key can then be uploaded to the OpenPGP keyservers. Users accessing the web server through HTTPS can verify that they are connecting to the correct host. To validate the certificate, the user will need to install some software that is available on the Monkeysphere website. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Mumble.raw.xml b/doc/manual/en/Mumble.raw.xml index 19735637a..a124fdb57 100644 --- a/doc/manual/en/Mumble.raw.xml +++ b/doc/manual/en/Mumble.raw.xml @@ -2,4 +2,5 @@ -
FreedomBox/Manual/Mumble62017-01-02 13:28:53JamesValleroyadd port forwarding info52016-12-31 04:04:56JamesValleroyadd basic usage info42016-09-01 19:14:55Drahtseiladapted title to Plinth wording32016-04-10 07:20:42PhilippeBaretAdded bottom navigation link22015-12-15 20:51:58PhilippeBaret12015-12-15 20:06:18PhilippeBaretAdded Mumble page and definition.
Voice Chat (Mumble)
What is Mumble?Mumble is a voice chat software. Primarily intended for use while gaming, it is suitable for simple talking with high audio quality, noise suppression, encrypted communication, public/private-key authentication by default, and "wizards" to configure your microphone for instance. A user can be marked as a "priority speaker" within a channel.
Using MumbleFreedomBox includes the Mumble server. Clients are available for desktop and mobile platforms. Users can download one of these clients and connect to the server.
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for Mumble: TCP 64738 UDP 64738 Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Mumble92019-11-07 03:25:36SunilMohanAdapaUpdate super user section82019-11-07 02:51:23SunilMohanAdapaMinor formatting72019-11-07 02:50:58SunilMohanAdapaAdded section about SuperUser account62017-01-02 13:28:53JamesValleroyadd port forwarding info52016-12-31 04:04:56JamesValleroyadd basic usage info42016-09-01 19:14:55Drahtseiladapted title to Plinth wording32016-04-10 07:20:42PhilippeBaretAdded bottom navigation link22015-12-15 20:51:58PhilippeBaret12015-12-15 20:06:18PhilippeBaretAdded Mumble page and definition.
Voice Chat (Mumble)
What is Mumble?Mumble is a voice chat software. Primarily intended for use while gaming, it is suitable for simple talking with high audio quality, noise suppression, encrypted communication, public/private-key authentication by default, and "wizards" to configure your microphone for instance. A user can be marked as a "priority speaker" within a channel.
Using MumbleFreedomBox includes the Mumble server. Clients are available for desktop and mobile platforms. Users can download one of these clients and connect to the server.
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for Mumble: TCP 64738 UDP 64738
Managing PermissionsA super user in Mumble has the ability to create administrator accounts who can in turn manage groups and channel permissions. This can be done after logging in with the username "SuperUser" using the super user password. See Mumble Guide for information on how to do this.. FreedomBox currently does not offer a UI to get or set the super user password for Mumble. A super user password is automatically generated during Mumble setup. To get the password, login to the terminal as admin user using Cockpit , Secure Shell or the console. Then, to read the super user password that was automatically generated during Mumble installation run the following command: You should see output such as: 2019-11-06 02:47:41.313 1 => Password for 'SuperUser' set to 'noo8Dahwiesh']]>Alternatively, you can set a new password as follows: Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/NameServices.raw.xml b/doc/manual/en/NameServices.raw.xml index 2a01af8f9..d6d7636b8 100644 --- a/doc/manual/en/NameServices.raw.xml +++ b/doc/manual/en/NameServices.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/NameServices32016-12-31 04:18:51JamesValleroyreword22016-08-21 17:16:56Drahtseil12016-08-21 17:16:41DrahtseilCreated NameServices
Name ServicesName Services provides an overview of ways the box can be reached from the public Internet: domain name, Tor hidden service, and Pagekite. For each type of name, it is shown whether the HTTP, HTTPS, and SSH services are enabled or disabled for incoming connections through the given name. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/NameServices42019-11-11 16:58:04JosephNuthalapatiRename Tor Hidden Service to Tor Onion Service32016-12-31 04:18:51JamesValleroyreword22016-08-21 17:16:56Drahtseil12016-08-21 17:16:41DrahtseilCreated NameServices
Name ServicesName Services provides an overview of ways the box can be reached from the public Internet: domain name, Tor Onion Service, and Pagekite. For each type of name, it is shown whether the HTTP, HTTPS, and SSH services are enabled or disabled for incoming connections through the given name. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Networks.raw.xml b/doc/manual/en/Networks.raw.xml index 6d74496b5..5b4232968 100644 --- a/doc/manual/en/Networks.raw.xml +++ b/doc/manual/en/Networks.raw.xml @@ -6,4 +6,4 @@ wifi.scan-rand-mac-address=no]]>Then reboot the machine.
Adding a new network deviceWhen a new network device is added, network manager will automatically configure it. In most cases this will not work to your liking. Delete the automatic configuration created on the interface and create a new network connection. Select your newly added network interface in the add connection page. Then set firewall zone to internal and external appropriately. You can configure the interface to connect to a network or provide network configuration to whatever machine connects to it. Similarly, if it is a Wi-Fi interface, you can configure it to become a Wi-FI access point or to connect to an existing access points in the network.
Configuring a mesh networkFreedomBox has rudimentary support for participating in BATMAN-Adv based mesh networks. It is possible to either join an existing network in your area or create a new mesh network and share your Internet connection with the rest of the nodes that join the network. Currently, two connections have to be created and activated manually to join or create a mesh network.
Joining a mesh networkTo join an existing mesh network in your area, first consult the organizers and get information about the mesh network. Create a new connection, then select the connection type as Wi-Fi. In the following dialog, provide the following values: Field NameExample ValueExplanation Connection Name Mesh Join - BATMAN The name must end with 'BATMAN' (uppercase) Physical Interface wlan0 The Wi-Fi device you wish to use for joining the mesh network Firewall Zone External Since you don't wish that participants in mesh network to use internal services of FreedomBox SSID ch1.freifunk.net As provided to you by the operators of the mesh network. You should see this as a network in Nearby Wi-Fi Networks Mode Ad-hoc Because this is a peer-to-peer network Frequency Band 2.4Ghz As provided to you by the operators of the mesh network Channel 1 As provided to you by the operators of the mesh network BSSID 12:CA:FF:EE:BA:BE As provided to you by the operators of the mesh network Authentication Open Leave this as open, unless you know your mesh network needs it be otherwise Passphrase Leave empty unless you know your mesh network requires one IPv4 Addressing Method Disabled We don't want to request IP configuration information yet Save the connection. Join the mesh network by activating this newly created connection. Create a second new connection, then select the connection type as Generic. In the following dialog, provide this following values: Field NameExample ValueExplanation Connection Name Mesh Connect Any name to identify this connection Physical Interface bat0 This interface will only show up after you successfully activate the connection in first step Firewall Zone External Since you don't wish that participants in mesh network to use internal services of FreedomBox IPv4 Addressing Method Auto Mesh networks usually have a DHCP server somewhere that provide your machine with IP configuration. If not, consult the operator and configure IP address setting accordingly with Manual method Save the connection. Configure your machine for participation in the network by activating this connection. Currently, this connection has to be manually activated every time you need to join the network. In future, FreedomBox will do this automatically. You will now be able reach other nodes in the network. You will also be able to connect to the Internet via the mesh network if there is an Internet connection point somewhere in mesh as setup by the operators.
Creating a mesh networkTo create your own mesh network and share your Internet connection with the rest of the nodes in the network: Follow the instructions as provided above in step 1 of Joining a mesh network but choose and fix upon your own valid values for SSID (a name for you mesh network), Frequency Band (usually 2.4Ghz), Channel (1 to 11 in 2.4Ghz band) and BSSID (a hex value like 12:CA:DE:AD:BE:EF). Create this connection and activate it. Follow the instructions as provided above in step 2 of Joining a mesh network but select IPv4 Addressing Method as Shared. This will provide automatic IP configuration to other nodes in the network as well as share the Internet connection on your machine (achieved using a second Wi-Fi interface, using Ethernet, etc.) with other nodes in the mesh network. Spread the word about your mesh network to your neighbors and let them know the parameters you have provided when creating the network. When other nodes connect to this mesh network, they have to follow steps in Joining a mesh network but use the values for SSID, Frequency Band and Channel that you have chosen when you created the mesh network.
Manual Network OperationFreedomBox automatically configures networks by default and provides a simplified interface to customize the configuration to specific needs. In most cases, manual operation is not necessary. The following steps describe how to manually operate network configuration in the event that a user finds FreedomBox interface to insufficient for task at hand or to diagnose a problem that FreedomBox does not identify. On the command line interface: For text based user interface for configuring network connections: To see the list of available network devices: To see the list of configured connections: To see the current status of a connection: ']]>To see the current firewall zone assigned to a network interface: ' | grep zone]]>or To create a new network connection: " ifname "" type ethernet nmcli con modify "" connection.autoconnect TRUE -nmcli con modify "" connection.zone internal]]>To change the firewall zone for a connection: " connection.zone ""]]>For more information on how to use nmcli command, see its man page. Also for a full list of configuration settings and type of connections accepted by Network Manager see: To see the current status of the firewall and manually operate it, see the Firewall section. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +nmcli con modify "" connection.zone internal]]>To change the firewall zone for a connection: " connection.zone ""]]>For more information on how to use nmcli command, see its man page. Also for a full list of configuration settings and type of connections accepted by Network Manager see: To see the current status of the firewall and manually operate it, see the Firewall section. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox \ No newline at end of file diff --git a/doc/manual/en/OpenVPN.raw.xml b/doc/manual/en/OpenVPN.raw.xml index 42341730f..f6c78d2a2 100644 --- a/doc/manual/en/OpenVPN.raw.xml +++ b/doc/manual/en/OpenVPN.raw.xml @@ -2,6 +2,7 @@ -
FreedomBox/Manual/OpenVPN152019-09-16 09:38:50fioddorMinor layout correction142019-05-10 23:08:07JamesValleroyuse standard text for port forwarding132019-03-01 01:28:15SunilMohanAdapaAdd instructions for connecting using mobile client122019-03-01 00:48:12SunilMohanAdapaAdd information about browsing Internet112019-03-01 00:37:30SunilMohanAdapaUpdate information about dealing with profile files102019-02-28 09:38:45JosephNuthalapatiUpdate image and set width92018-11-15 11:47:34JosephNuthalapatiAdd documentation on how to connect to VPN from Debian and check the connection. Update external link82016-12-31 04:01:13JamesValleroyclarify install vs setup72016-09-09 15:37:55SunilMohanAdapaMinor indentation fix with screenshot62016-09-01 19:14:03Drahtseiladapted title to Plinth wording52016-08-14 19:39:09JanCostermansadded screenshot and setting up sections42016-04-10 07:16:50PhilippeBaretAdded bottom navigation link32015-12-16 00:32:58PhilippeBaretText finishing22015-12-16 00:28:34PhilippeBaretAdded definition for OpenVPN12015-12-15 23:58:42PhilippeBaretAdded first content [OpenVPN page to Apps manual]
Virtual Private Network (OpenVPN)
What is OpenVPN?OpenVPN provides to your FreedomBox a virtual private network service. You can use this software for remote access, site-to-site VPNs and Wi-Fi security. OpenVPN includes support for dynamic IP addresses and NAT.
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for OpenVPN: UDP 1194
Setting upIn Plinth apps menu, select Virtual Private Network (OpenVPN) and click Install. After the module is installed, there is an additional setup step that may take a long time to complete. Click "Start setup" to begin. OpenVPN service page Wait for the setup to finish. This could take a while. Once the setup of the OpenVPN server is complete, you can download your profile. This will download a file called <USER>.ovpn, where <USER> is the name of a FreedomBox user. Each FreedomBox user will be able to download a different profile. Users who are not administrators can download the profile from home page after login. The ovpn file contains all the information a vpn client needs to connect to the server. The downloaded profile contains the domain name of the FreedomBox that the client should connect to. This is picked up from the domain configured in 'Config' section of 'System' page. In case your domain is not configured properly, you may need to change this value after downloading the profile. If your OpenVPN client allows it, you can do this after importing the OpenVPN profile. Otherwise, you can edit the .ovpn profile file in a text editor and change the 'remote' line to contain the WAN IP address or hostname of your FreedomBox as follows. FreedomBox/Manual/OpenVPN162019-11-18 22:55:39JamesValleroyadd instructions for Network Manager152019-09-16 09:38:50fioddorMinor layout correction142019-05-10 23:08:07JamesValleroyuse standard text for port forwarding132019-03-01 01:28:15SunilMohanAdapaAdd instructions for connecting using mobile client122019-03-01 00:48:12SunilMohanAdapaAdd information about browsing Internet112019-03-01 00:37:30SunilMohanAdapaUpdate information about dealing with profile files102019-02-28 09:38:45JosephNuthalapatiUpdate image and set width92018-11-15 11:47:34JosephNuthalapatiAdd documentation on how to connect to VPN from Debian and check the connection. Update external link82016-12-31 04:01:13JamesValleroyclarify install vs setup72016-09-09 15:37:55SunilMohanAdapaMinor indentation fix with screenshot62016-09-01 19:14:03Drahtseiladapted title to Plinth wording52016-08-14 19:39:09JanCostermansadded screenshot and setting up sections42016-04-10 07:16:50PhilippeBaretAdded bottom navigation link32015-12-16 00:32:58PhilippeBaretText finishing22015-12-16 00:28:34PhilippeBaretAdded definition for OpenVPN12015-12-15 23:58:42PhilippeBaretAdded first content [OpenVPN page to Apps manual]
Virtual Private Network (OpenVPN)
What is OpenVPN?OpenVPN provides to your FreedomBox a virtual private network service. You can use this software for remote access, site-to-site VPNs and Wi-Fi security. OpenVPN includes support for dynamic IP addresses and NAT.
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for OpenVPN: UDP 1194
Setting upIn Plinth apps menu, select Virtual Private Network (OpenVPN) and click Install. After the module is installed, there is an additional setup step that may take a long time to complete. Click "Start setup" to begin. OpenVPN service page Wait for the setup to finish. This could take a while. Once the setup of the OpenVPN server is complete, you can download your profile. This will download a file called <USER>.ovpn, where <USER> is the name of a FreedomBox user. Each FreedomBox user will be able to download a different profile. Users who are not administrators can download the profile from home page after login. The ovpn file contains all the information a vpn client needs to connect to the server. The downloaded profile contains the domain name of the FreedomBox that the client should connect to. This is picked up from the domain configured in 'Config' section of 'System' page. In case your domain is not configured properly, you may need to change this value after downloading the profile. If your OpenVPN client allows it, you can do this after importing the OpenVPN profile. Otherwise, you can edit the .ovpn profile file in a text editor and change the 'remote' line to contain the WAN IP address or hostname of your FreedomBox as follows.
Browsing Internet after connecting to VPNAfter connecting to the VPN, the client device will be able to browse the Internet without any further configuration. However, a pre-condition for this to work is that you need to have at least one Internet connected network interface which is part of the 'External' firewall zone. Use the networks configuration page to edit the firewall zone for the device's network interfaces.
Usage
On Android/LineageOSVisit FreedomBox home page. Login with your user account. From home page, download the OpenVPN profile. The file will be named username.ovpn. OpenVPN Download Profile Download an OpenVPN client such as OpenVPN for Android. F-Droid repository is recommended. In the app, select import profile. OpenVPN App In the select profile dialog, choose the username.opvn file you have just downloaded. Provide a name for the connection and save the profile. OpenVPN import profile Newly created profile will show up. If necessary, edit the profile and set the domain name of your FreedomBox as the server address. OpenVPN profile created OpenVPN edit domain name Connect by tapping on the profile. OpenVPN connect OpenVPN connected When done, disconnect by tapping on the profile. OpenVPN disconnect
On DebianInstall an OpenVPN client for your system Open the ovpn file with the OpenVPN client. .ovpn]]>
Checking if you are connected
On DebianTry to ping the FreedomBox or other devices on the local network. Running the command ip addr should show a tun0 connection. The command traceroute freedombox.org should show you the ip address of the VPN server as the first hop.
External Links Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +proto udp]]>
Browsing Internet after connecting to VPNAfter connecting to the VPN, the client device will be able to browse the Internet without any further configuration. However, a pre-condition for this to work is that you need to have at least one Internet connected network interface which is part of the 'External' firewall zone. Use the networks configuration page to edit the firewall zone for the device's network interfaces.
Usage
On Android/LineageOSVisit FreedomBox home page. Login with your user account. From home page, download the OpenVPN profile. The file will be named username.ovpn. OpenVPN Download Profile Download an OpenVPN client such as OpenVPN for Android. F-Droid repository is recommended. In the app, select import profile. OpenVPN App In the select profile dialog, choose the username.opvn file you have just downloaded. Provide a name for the connection and save the profile. OpenVPN import profile Newly created profile will show up. If necessary, edit the profile and set the domain name of your FreedomBox as the server address. OpenVPN profile created OpenVPN edit domain name Connect by tapping on the profile. OpenVPN connect OpenVPN connected When done, disconnect by tapping on the profile. OpenVPN disconnect
On DebianInstall an OpenVPN client for your system Open the ovpn file with the OpenVPN client. .ovpn]]>If you use Network Manager, you can create a new connection by importing the file: .ovpn]]>
Checking if you are connected
On DebianTry to ping the FreedomBox or other devices on the local network. Running the command ip addr should show a tun0 connection. The command traceroute freedombox.org should show you the ip address of the VPN server as the first hop.
External Links Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/PageKite.raw.xml b/doc/manual/en/PageKite.raw.xml index 326c73220..e8ce14239 100644 --- a/doc/manual/en/PageKite.raw.xml +++ b/doc/manual/en/PageKite.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/PageKite122017-01-07 20:37:22JamesValleroyadd info on getting certificate112017-01-07 20:21:47JamesValleroyadd instructions102017-01-07 20:14:44JamesValleroyclarify how pagekite works92016-09-01 19:19:45Drahtseiladapted title to Plinth wording82016-04-10 07:13:20PhilippeBaretAdded navigation link72015-12-15 20:50:09PhilippeBaretCorrection62015-12-15 19:28:57PhilippeBaretAdded more definition52015-12-15 19:19:27PhilippeBaretAdded pagekite extended definition42015-09-13 14:58:24SunilMohanAdapaAdd headings for inclusion into manual32015-09-13 13:18:15SunilMohanAdapaMove PageKite page to manual22015-02-13 05:01:10SunilMohanAdapaInclude FreedomBox portal in footer12012-09-14 07:37:02planetlarg
Public Visibility (PageKite)
What is PageKite?PageKite makes local websites and services publicly accessible immediately without creating yourself a public IP address. It does this by tunneling protocols such as HTTPS or SSH through firewalls and NAT. Using PageKite requires an account on a PageKite relay service. One such service is . A PageKite relay service will allow you to create kites. Kites are similar to domain names, but with different advantages and drawbacks. A kite can have a number of configured services. PageKite is known to work with HTTP, HTTPS, and SSH, and may work with some other services, but not all.
Using PageKiteCreate an account on a PageKite relay service. Add a kite to your account. Note your kite name and kite secret. In Plinth, go to the "Configure PageKite" tab on the Public Visibility (PageKite) page. Check the "Enable PageKite" box, then enter your kite name and kite secret. Click "Save settings". On the "Standard Services" tab, you can enable HTTP and HTTPS (recommended) and SSH (optional). HTTP is needed to obtain the Let's Encrypt certificate. You can disable it later. On the Certificates (Let's Encrypt) page, you can obtain a Let's Encrypt certificate for your kite name. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/PageKite122017-01-07 20:37:22JamesValleroyadd info on getting certificate112017-01-07 20:21:47JamesValleroyadd instructions102017-01-07 20:14:44JamesValleroyclarify how pagekite works92016-09-01 19:19:45Drahtseiladapted title to Plinth wording82016-04-10 07:13:20PhilippeBaretAdded navigation link72015-12-15 20:50:09PhilippeBaretCorrection62015-12-15 19:28:57PhilippeBaretAdded more definition52015-12-15 19:19:27PhilippeBaretAdded pagekite extended definition42015-09-13 14:58:24SunilMohanAdapaAdd headings for inclusion into manual32015-09-13 13:18:15SunilMohanAdapaMove PageKite page to manual22015-02-13 05:01:10SunilMohanAdapaInclude FreedomBox portal in footer12012-09-14 07:37:02planetlarg
Public Visibility (PageKite)
What is PageKite?PageKite makes local websites and services publicly accessible immediately without creating yourself a public IP address. It does this by tunneling protocols such as HTTPS or SSH through firewalls and NAT. Using PageKite requires an account on a PageKite relay service. One such service is . A PageKite relay service will allow you to create kites. Kites are similar to domain names, but with different advantages and drawbacks. A kite can have a number of configured services. PageKite is known to work with HTTP, HTTPS, and SSH, and may work with some other services, but not all.
Using PageKiteCreate an account on a PageKite relay service. Add a kite to your account. Note your kite name and kite secret. In Plinth, go to the "Configure PageKite" tab on the Public Visibility (PageKite) page. Check the "Enable PageKite" box, then enter your kite name and kite secret. Click "Save settings". On the "Standard Services" tab, you can enable HTTP and HTTPS (recommended) and SSH (optional). HTTP is needed to obtain the Let's Encrypt certificate. You can disable it later. On the Certificates (Let's Encrypt) page, you can obtain a Let's Encrypt certificate for your kite name. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Power.raw.xml b/doc/manual/en/Power.raw.xml index c65e1fbaa..183de6ebf 100644 --- a/doc/manual/en/Power.raw.xml +++ b/doc/manual/en/Power.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Power32019-02-28 16:33:32JosephNuthalapatiRestart and shut down options in user menu22017-01-07 20:38:36JamesValleroynote confirmation12016-08-21 09:29:59DrahtseilCreated Power
PowerPower provides an easy way to restart or shut down FreedomBox. After you select "Restart" or "Shut Down", you will be asked to confirm. "Restart" and "Shut Down" options can also be reached from the user dropdown menu on the top right. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Power32019-02-28 16:33:32JosephNuthalapatiRestart and shut down options in user menu22017-01-07 20:38:36JamesValleroynote confirmation12016-08-21 09:29:59DrahtseilCreated Power
PowerPower provides an easy way to restart or shut down FreedomBox. After you select "Restart" or "Shut Down", you will be asked to confirm. "Restart" and "Shut Down" options can also be reached from the user dropdown menu on the top right. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Privoxy.raw.xml b/doc/manual/en/Privoxy.raw.xml index 082a8d90a..591b1685d 100644 --- a/doc/manual/en/Privoxy.raw.xml +++ b/doc/manual/en/Privoxy.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Privoxy112019-09-16 12:07:52fioddorMinor correction102018-03-11 03:09:16JosephNuthalapatiFix oversized images92016-09-09 15:39:20SunilMohanAdapaMinor indentation fix with screenshots82016-09-09 15:31:16SunilMohanAdapaPromote the visibility of the screencast72016-08-09 19:09:55Drahtseilconfiguration for advanced users62016-08-06 20:02:42DrahtseilScreencast of the setting up52016-08-06 17:57:33Drahtseilscreenshots42016-08-01 19:38:35DrahtseilVery basic restructuring as preparation for more work to be done.32016-04-10 07:24:20PhilippeBaretAdded bottom navigation link22015-12-15 20:54:14PhilippeBaretAdded link to Privoxy FAQ12015-12-15 20:22:00PhilippeBaretAdded Privoxy page and definition
Web Proxy (Privoxy)A web proxy acts as a filter for incoming and outgoing web traffic. Thus, you can instruct any computer in your network to pass internet traffic through the proxy to remove unwanted ads and tracking mechanisms. Privoxy is a software for security, privacy, and accurate control over the web. It provides a much more powerful web proxy (and anonymity on the web) than what your browser can offer. Privoxy "is a proxy that is primarily focused on privacy enhancement, ad and junk elimination and freeing the user from restrictions placed on his activities" (source: Privoxy FAQ).
ScreencastWatch the screencast on how to setup and use Privoxy in FreedomBox.
Setting upIn Plinth install Web Proxy (Privoxy) Privoxy Installation Adapt your browser proxy settings to your FreedomBox hostname (or IP address) with port 8118. Please note that Privoxy can only proxy HTTP and HTTPS traffic. It will not work with FTP or other protocols. Privoxy Browser Settings Go to page or . If Privoxy is installed properly, you will be able to configure it in detail; if not you will see an error message. If you are using a laptop that occasionally has to connect through other routers than yours with the FreedomBox and Privoxy, you may want to install a proxy switch add-on that allows you to easily turn the proxy on or off.
Advanced UsersThe default installation should provide a reasonable starting point for most. There will undoubtedly be occasions where you will want to adjust the configuration, that can be dealt with as the need arises. While using Privoxy, you can see its configuration details and documentation at or . To enable changing these configurations, you first have to change the value of enable-edit-actions in /etc/privoxy/config to 1. Before doing so, read carefully the manual, especially: Access to the editor can not be controlled separately by "ACLs" or HTTP authentication, so that everybody who can access Privoxy can modify its configuration for all users. This option is not recommended for environments with untrusted users. Note that malicious client side code (e.g Java) is also capable of using the actions editor and you shouldn't enable this options unless you understand the consequences and are sure your browser is configured correctly. Now you find an EDIT button on the configuration screen in http://config.privoxy.org/. The Quickstart is a good starting point to read on how to define own blocking and filtering rules. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Privoxy112019-09-16 12:07:52fioddorMinor correction102018-03-11 03:09:16JosephNuthalapatiFix oversized images92016-09-09 15:39:20SunilMohanAdapaMinor indentation fix with screenshots82016-09-09 15:31:16SunilMohanAdapaPromote the visibility of the screencast72016-08-09 19:09:55Drahtseilconfiguration for advanced users62016-08-06 20:02:42DrahtseilScreencast of the setting up52016-08-06 17:57:33Drahtseilscreenshots42016-08-01 19:38:35DrahtseilVery basic restructuring as preparation for more work to be done.32016-04-10 07:24:20PhilippeBaretAdded bottom navigation link22015-12-15 20:54:14PhilippeBaretAdded link to Privoxy FAQ12015-12-15 20:22:00PhilippeBaretAdded Privoxy page and definition
Web Proxy (Privoxy)A web proxy acts as a filter for incoming and outgoing web traffic. Thus, you can instruct any computer in your network to pass internet traffic through the proxy to remove unwanted ads and tracking mechanisms. Privoxy is a software for security, privacy, and accurate control over the web. It provides a much more powerful web proxy (and anonymity on the web) than what your browser can offer. Privoxy "is a proxy that is primarily focused on privacy enhancement, ad and junk elimination and freeing the user from restrictions placed on his activities" (source: Privoxy FAQ).
ScreencastWatch the screencast on how to setup and use Privoxy in FreedomBox.
Setting upIn Plinth install Web Proxy (Privoxy) Privoxy Installation Adapt your browser proxy settings to your FreedomBox hostname (or IP address) with port 8118. Please note that Privoxy can only proxy HTTP and HTTPS traffic. It will not work with FTP or other protocols. Privoxy Browser Settings Go to page or . If Privoxy is installed properly, you will be able to configure it in detail; if not you will see an error message. If you are using a laptop that occasionally has to connect through other routers than yours with the FreedomBox and Privoxy, you may want to install a proxy switch add-on that allows you to easily turn the proxy on or off.
Advanced UsersThe default installation should provide a reasonable starting point for most. There will undoubtedly be occasions where you will want to adjust the configuration, that can be dealt with as the need arises. While using Privoxy, you can see its configuration details and documentation at or . To enable changing these configurations, you first have to change the value of enable-edit-actions in /etc/privoxy/config to 1. Before doing so, read carefully the manual, especially: Access to the editor can not be controlled separately by "ACLs" or HTTP authentication, so that everybody who can access Privoxy can modify its configuration for all users. This option is not recommended for environments with untrusted users. Note that malicious client side code (e.g Java) is also capable of using the actions editor and you shouldn't enable this options unless you understand the consequences and are sure your browser is configured correctly. Now you find an EDIT button on the configuration screen in http://config.privoxy.org/. The Quickstart is a good starting point to read on how to define own blocking and filtering rules. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Quassel.raw.xml b/doc/manual/en/Quassel.raw.xml index d267d9a39..bee811e4d 100644 --- a/doc/manual/en/Quassel.raw.xml +++ b/doc/manual/en/Quassel.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Quassel72019-05-10 23:05:32JamesValleroyuse standard text for port forwarding62019-02-27 21:34:38JosephNuthalapatiGrammar corrections and clarification about port forwarding52018-10-04 02:01:15SunilMohanAdapaAdd screenshots to the Quassel Client section42018-10-04 01:26:35SunilMohanAdapaRefactor information on how to connect to core using desktop client32018-03-11 03:00:04JosephNuthalapatiFix oversized image22016-08-18 17:30:28Drahtseilwording, screen-shots12016-08-17 20:09:38Drahtseilpage creation; not sure about the configuration of quassel-client (too long ago); screenshots to follow
IRC Client (Quassel)Quassel is an IRC application that is split into two parts, a "core" and a "client". This allows the core to remain connected to IRC servers, and to continue receiving messages, even when the client is disconnected. FreedomBox can run the Quassel core service keeping you always online and one or more Quassel clients from a desktop or a mobile device can be used to connect and disconnect from it.
Why run Quassel?Many discussions about FreedomBox are being done on the IRC-Channel irc://irc.debian.org/freedombox. If your FreedomBox is running Quassel, it will collect all discussions while you are away, such as responses to your questions. Remember, the FreedomBox project is a worldwide project with people from nearly every time zone. You use your client to connect to the Quassel core to read and respond whenever you have time and are available.
How to setup Quassel?Within Plinth select Applications go to IRC Client (Quassel) and install the application and make sure it is enabled Quassel Installation now your Quassel core is running
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for Quassel: TCP 4242 Example configuration in router: Quassel_PortForwarding.png
ClientsClients to connect to Quassel from your desktop and mobile devices are available.
DesktopIn a Debian system, you can e.g. use quassel-client. The following steps describe how to connect Quassel Client with Quassel Core running on a FreedomBox. The first time you do this connection, Quassel Core will be initialized too. Launch Quassel Client. You will be greeted with a wizard to Connect to Core. Connect to Core Click the Add button to launch Add Core Account dialog. Add Core Account Fill any value in the Account Name field. Fill proper DNS hostname of your FreedomBox in Hostname filed. Port field must have the value 4242. Provide the username and password of the account you wish to create to connect to the Quassel Core in the User and Password fields. Choose Remember if don't wish to be prompted for a password every time you launch Quassel client. After pressing OK in the Add Core Account dialog, you should see the core account in the Connect to Core dialog. Connect to Core Select the newly created core account and select OK to connect to it. If this is the first time you are connecting to this core. You will see an Untrusted Security Certificate warning and need to accept the server certificate. Untrusted Security Certificate Select Continue. Then you will be asked if you wish to accept the certificate permanently. Select Forever. Untrusted Security Certificate If this Quassel Core has not been connected to before, you will then see a Core Configuration Wizard. Select Next. Core Configuration Wizard In the Create Admin User page, enter the username and password you have used earlier to create the core connection. Select Remember password to remember this password for future sessions. Click Next. Create Admin User Page In the Select Storage Backend page, select SQLite and click Commit. Select Storage Backend The core configuration is then complete and you will see a Quassel IRC wizard to configure your IRC connections. Click Next. Welcome Wizard In Setup Identity page next, provide a name and multiple nicknames. This is how you present yourself to other users on IRC. It is not necessary to give your real world name. Multiple nicknames are useful as fallback nicknames when the first nickname can't be used for some reason. After providing the information click Next. Setup Identity In Setup Network Connection page next, provide a network name of your choice. Next provide a list of servers to which Quassel Core should connect to in order to join this IRC network (such as irc.debian.org:6667). Setup Network Connection Select the server in the servers list and click Edit. In the Server Info dialog, set the port 6697 (consult your network's documentation for actual list of servers and their secure ports) and click Use SSL. Click OK. This is to ensure that communication between your FreedomBox and the IRC network server is encrypted. Server Info Server Info SSL Back in the Setup Network Connection dialog, provide a list of IRC channels (such as #freedombox) to join upon connecting to the network. Click Save & Connect. Setup Network Connection You should connect to the network and see the list of channels you have joined on the All Chats pane on the left of the Quassel Client main window. Quassel Main Window Select a channel and start seeing messages from others in the channel and send your own messages.
AndroidFor Android devices you may use e.g. Quasseldroid from F-Droid enter core, username etc. as above Quasseldroid.png By the way, the German verb quasseln means talking a lot, to jabber. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Quassel72019-05-10 23:05:32JamesValleroyuse standard text for port forwarding62019-02-27 21:34:38JosephNuthalapatiGrammar corrections and clarification about port forwarding52018-10-04 02:01:15SunilMohanAdapaAdd screenshots to the Quassel Client section42018-10-04 01:26:35SunilMohanAdapaRefactor information on how to connect to core using desktop client32018-03-11 03:00:04JosephNuthalapatiFix oversized image22016-08-18 17:30:28Drahtseilwording, screen-shots12016-08-17 20:09:38Drahtseilpage creation; not sure about the configuration of quassel-client (too long ago); screenshots to follow
IRC Client (Quassel)Quassel is an IRC application that is split into two parts, a "core" and a "client". This allows the core to remain connected to IRC servers, and to continue receiving messages, even when the client is disconnected. FreedomBox can run the Quassel core service keeping you always online and one or more Quassel clients from a desktop or a mobile device can be used to connect and disconnect from it.
Why run Quassel?Many discussions about FreedomBox are being done on the IRC-Channel irc://irc.debian.org/freedombox. If your FreedomBox is running Quassel, it will collect all discussions while you are away, such as responses to your questions. Remember, the FreedomBox project is a worldwide project with people from nearly every time zone. You use your client to connect to the Quassel core to read and respond whenever you have time and are available.
How to setup Quassel?Within Plinth select Applications go to IRC Client (Quassel) and install the application and make sure it is enabled Quassel Installation now your Quassel core is running
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for Quassel: TCP 4242 Example configuration in router: Quassel_PortForwarding.png
ClientsClients to connect to Quassel from your desktop and mobile devices are available.
DesktopIn a Debian system, you can e.g. use quassel-client. The following steps describe how to connect Quassel Client with Quassel Core running on a FreedomBox. The first time you do this connection, Quassel Core will be initialized too. Launch Quassel Client. You will be greeted with a wizard to Connect to Core. Connect to Core Click the Add button to launch Add Core Account dialog. Add Core Account Fill any value in the Account Name field. Fill proper DNS hostname of your FreedomBox in Hostname filed. Port field must have the value 4242. Provide the username and password of the account you wish to create to connect to the Quassel Core in the User and Password fields. Choose Remember if don't wish to be prompted for a password every time you launch Quassel client. After pressing OK in the Add Core Account dialog, you should see the core account in the Connect to Core dialog. Connect to Core Select the newly created core account and select OK to connect to it. If this is the first time you are connecting to this core. You will see an Untrusted Security Certificate warning and need to accept the server certificate. Untrusted Security Certificate Select Continue. Then you will be asked if you wish to accept the certificate permanently. Select Forever. Untrusted Security Certificate If this Quassel Core has not been connected to before, you will then see a Core Configuration Wizard. Select Next. Core Configuration Wizard In the Create Admin User page, enter the username and password you have used earlier to create the core connection. Select Remember password to remember this password for future sessions. Click Next. Create Admin User Page In the Select Storage Backend page, select SQLite and click Commit. Select Storage Backend The core configuration is then complete and you will see a Quassel IRC wizard to configure your IRC connections. Click Next. Welcome Wizard In Setup Identity page next, provide a name and multiple nicknames. This is how you present yourself to other users on IRC. It is not necessary to give your real world name. Multiple nicknames are useful as fallback nicknames when the first nickname can't be used for some reason. After providing the information click Next. Setup Identity In Setup Network Connection page next, provide a network name of your choice. Next provide a list of servers to which Quassel Core should connect to in order to join this IRC network (such as irc.debian.org:6667). Setup Network Connection Select the server in the servers list and click Edit. In the Server Info dialog, set the port 6697 (consult your network's documentation for actual list of servers and their secure ports) and click Use SSL. Click OK. This is to ensure that communication between your FreedomBox and the IRC network server is encrypted. Server Info Server Info SSL Back in the Setup Network Connection dialog, provide a list of IRC channels (such as #freedombox) to join upon connecting to the network. Click Save & Connect. Setup Network Connection You should connect to the network and see the list of channels you have joined on the All Chats pane on the left of the Quassel Client main window. Quassel Main Window Select a channel and start seeing messages from others in the channel and send your own messages.
AndroidFor Android devices you may use e.g. Quasseldroid from F-Droid enter core, username etc. as above Quasseldroid.png By the way, the German verb quasseln means talking a lot, to jabber. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Radicale.raw.xml b/doc/manual/en/Radicale.raw.xml index bdc0d629b..3298f64a9 100644 --- a/doc/manual/en/Radicale.raw.xml +++ b/doc/manual/en/Radicale.raw.xml @@ -26,4 +26,4 @@ chown -R radicale:radicale /var/lib/radicale/collections/collection-root/ apt remove -y python-radicale if [ -f /etc/radicale/config.dpkg-dist ] ; then cp /etc/radicale/config.dpkg-dist /etc/radicale/config ; fi if [ -f /etc/default/radicale.dpkg-dist ] ; then cp /etc/default/radicale.dpkg-dist /etc/default/radicale ; fi -(After FreedomBox 19.1 is available, goto FreedomBox web interface and set your preference for calendar sharing again, if it is not the default option, as it will have been lost.)]]>Notes: python-radicale is an old package from radicale 1.x version that is still available in testing. This is a hack to use the --export-storage feature that is responsible for data migration. This feature is not available in radicale 2.x unfortunately. Files ending with .dpkg-dist will exist only if you have chosen 'Keep your currently-installed version' when prompted for configuration file override during radicale 2.x upgrade. The above process will overwrite the old configuration with new fresh configuration. No changes are necessary to the two configuration files unless you have changed the setting for sharing calendars. Note that during the migration, your data is safe in /var/lib/radicale/collections directory. New data will be created and used in /var/lib/radicale/collections/collections-root/ directory. The tar command takes a backup your configuration and data in /root/radicale_backup.tgz in case you do something goes wrong and you want to undo the changes.
Troubleshooting1. If you are using FreedomBox Pioneer Edition or installing FreedomBox on Debian Buster, then radicale may not be usable immediately after installation. This is due to a bug which has been fixed later. To overcome the problem, upgrade FreedomBox by clicking on 'Manual Update' from 'Updates' app. Otherwise, simply wait a day or two and let FreedomBox upgrade itself. After that install radicale. If radicale is already installed, disable and re-enable it after the update is completed. This will fix the problem and get radicale working properly. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +(After FreedomBox 19.1 is available, goto FreedomBox web interface and set your preference for calendar sharing again, if it is not the default option, as it will have been lost.)]]>Notes: python-radicale is an old package from radicale 1.x version that is still available in testing. This is a hack to use the --export-storage feature that is responsible for data migration. This feature is not available in radicale 2.x unfortunately. Files ending with .dpkg-dist will exist only if you have chosen 'Keep your currently-installed version' when prompted for configuration file override during radicale 2.x upgrade. The above process will overwrite the old configuration with new fresh configuration. No changes are necessary to the two configuration files unless you have changed the setting for sharing calendars. Note that during the migration, your data is safe in /var/lib/radicale/collections directory. New data will be created and used in /var/lib/radicale/collections/collections-root/ directory. The tar command takes a backup your configuration and data in /root/radicale_backup.tgz in case you do something goes wrong and you want to undo the changes.
Troubleshooting1. If you are using FreedomBox Pioneer Edition or installing FreedomBox on Debian Buster, then radicale may not be usable immediately after installation. This is due to a bug which has been fixed later. To overcome the problem, upgrade FreedomBox by clicking on 'Manual Update' from 'Updates' app. Otherwise, simply wait a day or two and let FreedomBox upgrade itself. After that install radicale. If radicale is already installed, disable and re-enable it after the update is completed. This will fix the problem and get radicale working properly. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Repro.raw.xml b/doc/manual/en/Repro.raw.xml index c0cb4e7be..bded40176 100644 --- a/doc/manual/en/Repro.raw.xml +++ b/doc/manual/en/Repro.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Repro82019-02-26 23:26:49JamesValleroyremove content from manual72019-02-26 23:25:03JamesValleroyadd note about removal62017-01-02 13:43:51JamesValleroyadd port forwarding info52016-12-31 03:57:09JamesValleroyadd basic info42016-12-26 18:56:31JamesValleroyadd screenshots32016-05-27 17:24:23JamesValleroyadd footer22016-05-27 17:21:48JamesValleroyRenamed from 'FreedomBox/Manual/repro'.12016-05-15 19:03:02JamesValleroystart page
SIP Server (repro)App removed repro has been removed from Debian 10 (Buster), and therefore is no longer available in FreedomBox. repro is a server for SIP, a standard that enables Voice-over-IP calls. A desktop or mobile SIP client is required to use repro.
How to set up the SIP serverConfigure the domain at /repro/domains.html on the FreedomBox. Repro Domains Add users at /repro/addUser.html. Repro Users Disable and re-enable the repro application in Plinth.
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for repro: TCP 5060 TCP 5061 UDP 5060 UDP 5061 Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Repro82019-02-26 23:26:49JamesValleroyremove content from manual72019-02-26 23:25:03JamesValleroyadd note about removal62017-01-02 13:43:51JamesValleroyadd port forwarding info52016-12-31 03:57:09JamesValleroyadd basic info42016-12-26 18:56:31JamesValleroyadd screenshots32016-05-27 17:24:23JamesValleroyadd footer22016-05-27 17:21:48JamesValleroyRenamed from 'FreedomBox/Manual/repro'.12016-05-15 19:03:02JamesValleroystart page
SIP Server (repro)App removed repro has been removed from Debian 10 (Buster), and therefore is no longer available in FreedomBox. repro is a server for SIP, a standard that enables Voice-over-IP calls. A desktop or mobile SIP client is required to use repro.
How to set up the SIP serverConfigure the domain at /repro/domains.html on the FreedomBox. Repro Domains Add users at /repro/addUser.html. Repro Users Disable and re-enable the repro application in Plinth.
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for repro: TCP 5060 TCP 5061 UDP 5060 UDP 5061 Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Roundcube.raw.xml b/doc/manual/en/Roundcube.raw.xml index 6469c454e..d12263225 100644 --- a/doc/manual/en/Roundcube.raw.xml +++ b/doc/manual/en/Roundcube.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Roundcube82019-03-13 21:13:00SunilMohanAdapaMinor formatting.72019-03-13 21:11:10SunilMohanAdapaAdd information about how to login to Roundcube62016-12-31 03:41:20JamesValleroyadd link52016-09-01 19:12:35Drahtseiladapted title to Plinth wording42016-04-10 07:25:23PhilippeBaretAdded bottom navigation link32015-12-15 19:04:22PhilippeBaretText finishing22015-12-15 19:03:29PhilippeBaretAdded ## END_INCLUDE12015-12-15 19:02:17PhilippeBaretAdded Rouncube page with definition
Email Client (Roundcube)
What is Roundcube?Roundcube is a browser-based multilingual email client with an application-like user interface. Roundcube is using the Internet Message Access Protocol (IMAP) to access e-mail on a remote mail server. It supports MIME to send files, and provides particularly address book, folder management, message searching and spell checking.
Using RoundcubeAfter Roundcube is installed, it can be accessed at https://<your freedombox>/roundcube. Enter your username and password. The username for many mail services will be the full email address such as exampleuser@example.org and not just the username like exampleuser. Enter the address of your email service's IMAP server address in the Server field. You can try providing your domain name here such as example.org for email address exampleuser@example.org and if this does not work, consult your email provider's documentation for the address of the IMAP server. Using encrypted connection to your IMAP server is strongly recommended. To do this, prepend 'imaps://' at the beginning of your IMAP server address. For example, imaps://imap.example.org. Logging into your IMAP server
Using Gmail with RoundcubeIf you wish to use Roundcube with your Gmail account, you need to first enable support for password based login in your Google account preferences. This is because Gmail won't allow applications to login with a password by default. To do this, visit Google Account preferences and enable Less Secure Apps. After this, login to Roundcube by providing your Gmail address as Username, your password and in the server field use imaps://imap.gmail.com. Logging into Gmail Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Roundcube82019-03-13 21:13:00SunilMohanAdapaMinor formatting.72019-03-13 21:11:10SunilMohanAdapaAdd information about how to login to Roundcube62016-12-31 03:41:20JamesValleroyadd link52016-09-01 19:12:35Drahtseiladapted title to Plinth wording42016-04-10 07:25:23PhilippeBaretAdded bottom navigation link32015-12-15 19:04:22PhilippeBaretText finishing22015-12-15 19:03:29PhilippeBaretAdded ## END_INCLUDE12015-12-15 19:02:17PhilippeBaretAdded Rouncube page with definition
Email Client (Roundcube)
What is Roundcube?Roundcube is a browser-based multilingual email client with an application-like user interface. Roundcube is using the Internet Message Access Protocol (IMAP) to access e-mail on a remote mail server. It supports MIME to send files, and provides particularly address book, folder management, message searching and spell checking.
Using RoundcubeAfter Roundcube is installed, it can be accessed at https://<your freedombox>/roundcube. Enter your username and password. The username for many mail services will be the full email address such as exampleuser@example.org and not just the username like exampleuser. Enter the address of your email service's IMAP server address in the Server field. You can try providing your domain name here such as example.org for email address exampleuser@example.org and if this does not work, consult your email provider's documentation for the address of the IMAP server. Using encrypted connection to your IMAP server is strongly recommended. To do this, prepend 'imaps://' at the beginning of your IMAP server address. For example, imaps://imap.example.org. Logging into your IMAP server
Using Gmail with RoundcubeIf you wish to use Roundcube with your Gmail account, you need to first enable support for password based login in your Google account preferences. This is because Gmail won't allow applications to login with a password by default. To do this, visit Google Account preferences and enable Less Secure Apps. After this, login to Roundcube by providing your Gmail address as Username, your password and in the server field use imaps://imap.gmail.com. Logging into Gmail Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Searx.raw.xml b/doc/manual/en/Searx.raw.xml index 3c11f5896..407714715 100644 --- a/doc/manual/en/Searx.raw.xml +++ b/doc/manual/en/Searx.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Searx82019-05-22 17:08:56David JonesAdded information that SearX is accessible via Tor.72018-11-01 09:17:25JosephNuthalapatiAdd ToC62018-03-08 15:08:44JosephNuthalapatiAdd screenshot. Remove last 20 seconds from screencast to reduce size.52018-03-08 14:23:24JosephNuthalapatiAdd query param to make the video play within the browser42018-03-07 20:43:27Drahtseil32018-03-07 20:37:05DrahtseilScreencast of the installation and first steps22018-02-26 17:15:26JamesValleroyincluded in 0.2412018-02-22 12:12:50JosephNuthalapatisearx: Initial draft
Web Search (Searx)
About SearxSearx is a metasearch engine. A metasearch engine aggregates the results from various search engines and presents them in a unified interface. Read more about Searx on their official website. Available since: version 0.24.0
ScreenshotSearx Screenshot
ScreencastSearx installation and first steps (14 MB)
Why use Searx?
Personalization and Filter BubblesSearch engines have the ability to profile users and serve results most relevant to them, putting people into filter bubbles, thus distorting people's view of the world. Search engines have a financial incentive to serve interesting advertisements to their users, increasing their chances of clicking on the advertisements. A metasearch engine is a possible solution to this problem, as it aggregates results from multiple search engines thus bypassing personalization attempts by search engines. Searx avoids storing cookies from search engines as a means of preventing tracking and profiling by search engines.
Advertisement filteringSearx filters out advertisements from the search results before serving the results, thus increasing relevance the of your search results and saving you from distractions.
PrivacySearx uses HTTP POST instead of GET by default to send your search queries to the search engines, so that anyone snooping your traffic wouldn't be able to read your queries. The search queries wouldn't stored in browser history either. Note: Searx used from Chrome browser's omnibar would make GET requests instead of POST.
Searx on FreedomBoxSearx on FreedomBox uses Single Sign On. This means that you should be logged in into your FreedomBox in the browser that you're using Searx. SearX is easily accessible via Tor. Searx can be added as a search engine to the Firefox browser's search bar. See Firefox Help on this topic. Once Searx is added, you can also set it as your default search engine. Searx also offers search results in csv, json and rss formats, which can be used with scripts to automate some tasks. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Searx82019-05-22 17:08:56David JonesAdded information that SearX is accessible via Tor.72018-11-01 09:17:25JosephNuthalapatiAdd ToC62018-03-08 15:08:44JosephNuthalapatiAdd screenshot. Remove last 20 seconds from screencast to reduce size.52018-03-08 14:23:24JosephNuthalapatiAdd query param to make the video play within the browser42018-03-07 20:43:27Drahtseil32018-03-07 20:37:05DrahtseilScreencast of the installation and first steps22018-02-26 17:15:26JamesValleroyincluded in 0.2412018-02-22 12:12:50JosephNuthalapatisearx: Initial draft
Web Search (Searx)
About SearxSearx is a metasearch engine. A metasearch engine aggregates the results from various search engines and presents them in a unified interface. Read more about Searx on their official website. Available since: version 0.24.0
ScreenshotSearx Screenshot
ScreencastSearx installation and first steps (14 MB)
Why use Searx?
Personalization and Filter BubblesSearch engines have the ability to profile users and serve results most relevant to them, putting people into filter bubbles, thus distorting people's view of the world. Search engines have a financial incentive to serve interesting advertisements to their users, increasing their chances of clicking on the advertisements. A metasearch engine is a possible solution to this problem, as it aggregates results from multiple search engines thus bypassing personalization attempts by search engines. Searx avoids storing cookies from search engines as a means of preventing tracking and profiling by search engines.
Advertisement filteringSearx filters out advertisements from the search results before serving the results, thus increasing relevance the of your search results and saving you from distractions.
PrivacySearx uses HTTP POST instead of GET by default to send your search queries to the search engines, so that anyone snooping your traffic wouldn't be able to read your queries. The search queries wouldn't stored in browser history either. Note: Searx used from Chrome browser's omnibar would make GET requests instead of POST.
Searx on FreedomBoxSearx on FreedomBox uses Single Sign On. This means that you should be logged in into your FreedomBox in the browser that you're using Searx. SearX is easily accessible via Tor. Searx can be added as a search engine to the Firefox browser's search bar. See Firefox Help on this topic. Once Searx is added, you can also set it as your default search engine. Searx also offers search results in csv, json and rss formats, which can be used with scripts to automate some tasks. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/SecureShell.raw.xml b/doc/manual/en/SecureShell.raw.xml index 940d0ae4b..7b6d48075 100644 --- a/doc/manual/en/SecureShell.raw.xml +++ b/doc/manual/en/SecureShell.raw.xml @@ -2,7 +2,7 @@ -
FreedomBox/Manual/SecureShell122019-02-26 03:46:55JamesValleroyremove wiki links112018-01-30 07:55:33SunilMohanAdapaUpdate GitHub links with Salsa102017-03-06 23:17:08JamesValleroyadd note92016-10-13 21:49:06David JonesAdded infromation about connecting to the FBX using ssh over Tor82016-10-13 21:09:31David JonesAdded information about admin account for first log in to Plinth72016-09-05 09:42:36ElViroloRemoving my previous contribution, as info already present in original version.62016-09-05 09:39:05ElVirolo52016-09-05 09:26:15ElViroloAdded "Users created via Plinth" paragraph42015-12-21 19:42:10JamesValleroyupdate default account32015-12-21 19:33:56JamesValleroyfix outline level22015-12-15 19:31:18PhilippeBaretAdded definition title12015-09-16 16:22:37SunilMohanAdapaNew manual page for secure shell access
Secure Shell
What is Secure Shell?FreedomBox runs openssh-server server by default allowing remote logins from all interfaces. If your hardware device is connected to a monitor and a keyboard, you may login directly as well. Regular operation of FreedomBox does not require you to use the shell. However, some tasks or identifying a problem may require you to login to a shell.
Setting Up A User Account
Plinth First Log In: Admin AccountWhen creating an account in Plinth for the first time, this user will automatically have administrator capabilities. Admin users are able to log in using ssh (see Logging In below) and have superuser privileges via sudo.
Default User AccountNote: If you can access Plinth, then you don't need to do this. You can use the user account created in Plinth to connect to SSH. The pre-built FreedomBox images have a default user account called "fbx". However the password is not set for this account, so it will not be possible to log in with this account by default. There is a script included in the freedom-maker program, that will allow you to set the password for this account, if it is needed. To set a password for the "fbx" user: 1. Decompress the image file. 2. Get a copy of freedom-maker from . 3. Run sudo ./bin/passwd-in-image <image-file> fbx. 4. Copy the image file to SD card and boot device as normal. The "fbx" user also has superuser privileges via sudo.
Logging In
LocalTo login via SSH, to your FreedomBox: Replace fbx with the name of the user you wish to login as. freedombox should be replaced with the hostname or IP address of you FreedomBox device as found in the Quick Start process. fbx is the default user present on FreedomBox with superuser privileges. Any other user created using Plinth and belonging to the group admin will be able to login. The root account has no password set and will not be able to login. Access will be denied to all other users. fbx and users in admin group will also be able to login on the terminal directly. Other users will be denied access. If you repeatedly try to login as a user and fail, you will be blocked from logging in for some time. This is due to libpam-abl package that FreedomBox installs by default. To control this behavior consult libpam-abl documentation.
SSH over TorIf in Plinth you have enabled hidden services via Tor, you can access your FreedomBox using ssh over Tor. On a GNU/Linux computer, install netcat-openbsd. Edit ~/.ssh/config to enable connections over Tor. Add the following: FreedomBox/Manual/SecureShell132019-11-11 17:01:45JosephNuthalapatiRename Tor Hidden Service to Tor Onion Service122019-02-26 03:46:55JamesValleroyremove wiki links112018-01-30 07:55:33SunilMohanAdapaUpdate GitHub links with Salsa102017-03-06 23:17:08JamesValleroyadd note92016-10-13 21:49:06David JonesAdded infromation about connecting to the FBX using ssh over Tor82016-10-13 21:09:31David JonesAdded information about admin account for first log in to Plinth72016-09-05 09:42:36ElViroloRemoving my previous contribution, as info already present in original version.62016-09-05 09:39:05ElVirolo52016-09-05 09:26:15ElViroloAdded "Users created via Plinth" paragraph42015-12-21 19:42:10JamesValleroyupdate default account32015-12-21 19:33:56JamesValleroyfix outline level22015-12-15 19:31:18PhilippeBaretAdded definition title12015-09-16 16:22:37SunilMohanAdapaNew manual page for secure shell access
Secure Shell
What is Secure Shell?FreedomBox runs openssh-server server by default allowing remote logins from all interfaces. If your hardware device is connected to a monitor and a keyboard, you may login directly as well. Regular operation of FreedomBox does not require you to use the shell. However, some tasks or identifying a problem may require you to login to a shell.
Setting Up A User Account
Plinth First Log In: Admin AccountWhen creating an account in Plinth for the first time, this user will automatically have administrator capabilities. Admin users are able to log in using ssh (see Logging In below) and have superuser privileges via sudo.
Default User AccountNote: If you can access Plinth, then you don't need to do this. You can use the user account created in Plinth to connect to SSH. The pre-built FreedomBox images have a default user account called "fbx". However the password is not set for this account, so it will not be possible to log in with this account by default. There is a script included in the freedom-maker program, that will allow you to set the password for this account, if it is needed. To set a password for the "fbx" user: 1. Decompress the image file. 2. Get a copy of freedom-maker from . 3. Run sudo ./bin/passwd-in-image <image-file> fbx. 4. Copy the image file to SD card and boot device as normal. The "fbx" user also has superuser privileges via sudo.
Logging In
LocalTo login via SSH, to your FreedomBox: Replace fbx with the name of the user you wish to login as. freedombox should be replaced with the hostname or IP address of you FreedomBox device as found in the Quick Start process. fbx is the default user present on FreedomBox with superuser privileges. Any other user created using Plinth and belonging to the group admin will be able to login. The root account has no password set and will not be able to login. Access will be denied to all other users. fbx and users in admin group will also be able to login on the terminal directly. Other users will be denied access. If you repeatedly try to login as a user and fail, you will be blocked from logging in for some time. This is due to libpam-abl package that FreedomBox installs by default. To control this behavior consult libpam-abl documentation.
SSH over TorIf in Plinth you have enabled onion services via Tor, you can access your FreedomBox using ssh over Tor. On a GNU/Linux computer, install netcat-openbsd. Edit ~/.ssh/config to enable connections over Tor. Add the following: Replace USERNAME with, e.g., an admin username (see above). Note that in some cases you may need to replace 9050 with 9150. Now to connect to the FreedomBox, open a terminal and type: Replace USERNAME with, e.g., an admin username, and ADDRESS with the hidden service address for your FreedomBox.
Becoming SuperuserAfter logging in, if you want to become the superuser for performing administrative activities: Make a habit of logging in as root only when you need to. If you aren't logged in as root, you can't accidentally break everything.
Changing PasswordTo change the password of a user managed by Plinth, use the change password page. However, the fbx default user is not managed by Plinth and its password cannot be changed in the web interface. To change password on the terminal, log in to your FreedomBox as the user whose password you want to change. Then, run the following command: This will ask you for your current password before giving you the opportunity to set a new one. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file + ProxyCommand nc -X 5 -x 127.0.0.1:9050 %h %p]]>Replace USERNAME with, e.g., an admin username (see above). Note that in some cases you may need to replace 9050 with 9150. Now to connect to the FreedomBox, open a terminal and type: Replace USERNAME with, e.g., an admin username, and ADDRESS with the onion service address for your FreedomBox.
Becoming SuperuserAfter logging in, if you want to become the superuser for performing administrative activities: Make a habit of logging in as root only when you need to. If you aren't logged in as root, you can't accidentally break everything.
Changing PasswordTo change the password of a user managed by Plinth, use the change password page. However, the fbx default user is not managed by Plinth and its password cannot be changed in the web interface. To change password on the terminal, log in to your FreedomBox as the user whose password you want to change. Then, run the following command: This will ask you for your current password before giving you the opportunity to set a new one. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Security.raw.xml b/doc/manual/en/Security.raw.xml index 2e1381ce1..eb0d7475b 100644 --- a/doc/manual/en/Security.raw.xml +++ b/doc/manual/en/Security.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Security32019-10-11 23:17:39SunilMohanAdapaClarify information regarding restricting console logins22016-08-31 17:40:56DrahtseilScreenshot12016-08-31 17:37:33Drahtseilcreation
SecurityWhen the Restrict console logins option is enabled, only users in the admin group will be able to log in via console, secure shell (SSH) or graphical login. When this option is disabled, any user with an account on FreedomBox will be able to log in. They may be able to access some services without further authorization. This option should only be disabled if all the users of the system are well trusted. If you wish to use your FreedomBox machine also as a desktop and allow non-admin users to login via GUI, this option must be disabled. You can define the list of users belonging to admin group in the Users section. Security.png Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Security32019-10-11 23:17:39SunilMohanAdapaClarify information regarding restricting console logins22016-08-31 17:40:56DrahtseilScreenshot12016-08-31 17:37:33Drahtseilcreation
SecurityWhen the Restrict console logins option is enabled, only users in the admin group will be able to log in via console, secure shell (SSH) or graphical login. When this option is disabled, any user with an account on FreedomBox will be able to log in. They may be able to access some services without further authorization. This option should only be disabled if all the users of the system are well trusted. If you wish to use your FreedomBox machine also as a desktop and allow non-admin users to login via GUI, this option must be disabled. You can define the list of users belonging to admin group in the Users section. Security.png Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/ServiceDiscovery.raw.xml b/doc/manual/en/ServiceDiscovery.raw.xml index f5ed33943..06495614f 100644 --- a/doc/manual/en/ServiceDiscovery.raw.xml +++ b/doc/manual/en/ServiceDiscovery.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/ServiceDiscovery22017-01-02 13:17:40JamesValleroymention .local address12016-08-21 09:48:13DrahtseilCreated Service Discovery
Service DiscoveryService discovery allows other devices on the network to discover your FreedomBox and services running on it. If a client on the local network supports mDNS, it can find your FreedomBox at <hostname>.local (for example: freedombox.local). It also allows FreedomBox 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. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/ServiceDiscovery22017-01-02 13:17:40JamesValleroymention .local address12016-08-21 09:48:13DrahtseilCreated Service Discovery
Service DiscoveryService discovery allows other devices on the network to discover your FreedomBox and services running on it. If a client on the local network supports mDNS, it can find your FreedomBox at <hostname>.local (for example: freedombox.local). It also allows FreedomBox 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. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Shadowsocks.raw.xml b/doc/manual/en/Shadowsocks.raw.xml index 68ae26f54..4a72be8ff 100644 --- a/doc/manual/en/Shadowsocks.raw.xml +++ b/doc/manual/en/Shadowsocks.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Shadowsocks22019-05-10 22:54:33JamesValleroyremove wiki links12018-01-04 19:59:57David Jones
SOCKS5 proxy (Shadowsocks)
What is Shadowsocks?Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect your Internet traffic. It can be used to bypass Internet filtering and censorship. Your FreedomBox can run a Shadowsocks client which can connect to a Shadowsocks server. It will also run a SOCKS5 proxy. Local devices can connect to this proxy, and their data will be encrypted and proxied through the Shadowsocks server. Note: Shadowsocks is available in FreedomBox starting with Plinth version 0.18.
Using the Shadowsocks client?The current implementation of Shadowsocks in FreedomBox only supports configuring FreedomBox as a Shadowsocks client. The current use case for Shadowsocks is as follows: Shadowsocks client (FreedomBox) is in a region where some parts of the Internet are blocked or censored. Shadowsocks server is in a different region, which doesn't have these blocks. The FreedomBox provides SOCKS proxy service on the local network for other devices to make use of its Shadowsocks connection. At a future date it will be possible to configure FreedomBox as Shadowsocks server.
Configuring your FreedomBox for the Shadowsocks clientTo enable Shadowsocks, first navigate to the Socks5 Proxy (Shadowsocks) page and install it. Server: the Shadowsocks server is not the FreedomBox IP or URL; rather, it will be another server or VPS that has been configured as a Shadowsocks server. There are also some public Shadowsocks servers listed on the web, but be aware that whoever operates the server can see where requests are going, and any non-encrypted data will be visible to them. To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, browser or application to Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Shadowsocks22019-05-10 22:54:33JamesValleroyremove wiki links12018-01-04 19:59:57David Jones
SOCKS5 proxy (Shadowsocks)
What is Shadowsocks?Shadowsocks is a lightweight and secure SOCKS5 proxy, designed to protect your Internet traffic. It can be used to bypass Internet filtering and censorship. Your FreedomBox can run a Shadowsocks client which can connect to a Shadowsocks server. It will also run a SOCKS5 proxy. Local devices can connect to this proxy, and their data will be encrypted and proxied through the Shadowsocks server. Note: Shadowsocks is available in FreedomBox starting with Plinth version 0.18.
Using the Shadowsocks client?The current implementation of Shadowsocks in FreedomBox only supports configuring FreedomBox as a Shadowsocks client. The current use case for Shadowsocks is as follows: Shadowsocks client (FreedomBox) is in a region where some parts of the Internet are blocked or censored. Shadowsocks server is in a different region, which doesn't have these blocks. The FreedomBox provides SOCKS proxy service on the local network for other devices to make use of its Shadowsocks connection. At a future date it will be possible to configure FreedomBox as Shadowsocks server.
Configuring your FreedomBox for the Shadowsocks clientTo enable Shadowsocks, first navigate to the Socks5 Proxy (Shadowsocks) page and install it. Server: the Shadowsocks server is not the FreedomBox IP or URL; rather, it will be another server or VPS that has been configured as a Shadowsocks server. There are also some public Shadowsocks servers listed on the web, but be aware that whoever operates the server can see where requests are going, and any non-encrypted data will be visible to them. To use Shadowsocks after setup, set the SOCKS5 proxy URL in your device, browser or application to Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Snapshots.raw.xml b/doc/manual/en/Snapshots.raw.xml index 35d8ae849..4e558f2a2 100644 --- a/doc/manual/en/Snapshots.raw.xml +++ b/doc/manual/en/Snapshots.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Snapshots22018-03-10 15:11:41JosephNuthalapatiFix oversized image12017-11-14 02:24:01JamesValleroynew page for snapshots module
SnapshotsSnapshots allows you to create filesystem snapshots, and rollback the system to a previous snapshot. Note: This feature requires a Btrfs filesystem. All of the FreedomBox stable disk images use Btrfs. Snapshots Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Snapshots22018-03-10 15:11:41JosephNuthalapatiFix oversized image12017-11-14 02:24:01JamesValleroynew page for snapshots module
SnapshotsSnapshots allows you to create filesystem snapshots, and rollback the system to a previous snapshot. Note: This feature requires a Btrfs filesystem. All of the FreedomBox stable disk images use Btrfs. Snapshots Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Storage.raw.xml b/doc/manual/en/Storage.raw.xml index 2a884109a..0f2a8e740 100644 --- a/doc/manual/en/Storage.raw.xml +++ b/doc/manual/en/Storage.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Storage112018-12-18 00:01:12JamesValleroyfix screenshot parameter102018-12-04 06:20:20JosephNuthalapatiRestrict screenshot width to 800px92018-09-25 06:01:56JosephNuthalapatiUpdate description to match current functionality82018-09-25 05:51:15JosephNuthalapatiReplace screenshot with the latest version72018-03-05 12:17:19JosephNuthalapatiRenamed from 'FreedomBox/Manual/Disks'.62018-03-05 12:16:41JosephNuthalapatiRenaming Disks to Storage52017-04-09 13:45:57JamesValleroyupdate note about issue42017-03-31 20:16:25Drahtseilupdate screenshot with "expand partition"32017-02-10 22:33:01JamesValleroyadd warning about non-functional feature22016-08-31 17:10:11Drahtseilscreenshot12016-08-31 17:09:10DrahtseilDisks creation
StorageStorage allows you to see the storage devices attached to your FreedomBox and their disk space usage. FreedomBox can automatically detect and mount removable media like USB flash drives. They are listed under the Removable Devices section along with an option to eject them. If there is some free space left after the root partition, the option to expand the root partition is also available. This is typically not shown, since expanding the root partition happens automatically when the FreedomBox starts up for the first time. Storage.png Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Storage112018-12-18 00:01:12JamesValleroyfix screenshot parameter102018-12-04 06:20:20JosephNuthalapatiRestrict screenshot width to 800px92018-09-25 06:01:56JosephNuthalapatiUpdate description to match current functionality82018-09-25 05:51:15JosephNuthalapatiReplace screenshot with the latest version72018-03-05 12:17:19JosephNuthalapatiRenamed from 'FreedomBox/Manual/Disks'.62018-03-05 12:16:41JosephNuthalapatiRenaming Disks to Storage52017-04-09 13:45:57JamesValleroyupdate note about issue42017-03-31 20:16:25Drahtseilupdate screenshot with "expand partition"32017-02-10 22:33:01JamesValleroyadd warning about non-functional feature22016-08-31 17:10:11Drahtseilscreenshot12016-08-31 17:09:10DrahtseilDisks creation
StorageStorage allows you to see the storage devices attached to your FreedomBox and their disk space usage. FreedomBox can automatically detect and mount removable media like USB flash drives. They are listed under the Removable Devices section along with an option to eject them. If there is some free space left after the root partition, the option to expand the root partition is also available. This is typically not shown, since expanding the root partition happens automatically when the FreedomBox starts up for the first time. Storage.png Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Syncthing.raw.xml b/doc/manual/en/Syncthing.raw.xml index dbbc55f46..565e5cd2e 100644 --- a/doc/manual/en/Syncthing.raw.xml +++ b/doc/manual/en/Syncthing.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Syncthing172019-11-01 01:09:33JosephNuthalapatiMinor formatting changes162019-10-31 15:01:33JosephNuthalapatiMinor change to headings152019-10-31 14:42:33JosephNuthalapatiAdd synchronized password manager142019-10-27 05:53:05JosephNuthalapatiAdd tip to avoid using Syncthing relays132019-09-11 15:33:32fioddorCode decoration122019-06-09 11:07:46David Jones112019-06-09 11:00:48David Jonesadded information about syncthing and tor hidden service102018-03-10 04:32:57JosephNuthalapatiFix oversized image92017-10-22 14:57:58Drahtseil82017-10-22 14:57:09DrahtseilSyncthing GUI image72017-10-22 14:54:54DrahtseilSome rewording etc.62017-10-21 14:59:53DrahtseilTitel same as in Plinth GUI; standard footer; some basic restructuring before I will update the docu more in detail52017-04-04 10:39:36JosephNuthalapati42017-03-23 10:54:49JosephNuthalapatiRewrote the section on Syncthing's role in FreedomBox32017-03-23 05:12:13SunilMohanAdapaMinor formatting22017-03-23 05:11:43SunilMohanAdapaAdd note about availability of Syncthing12017-03-23 02:11:00JosephNuthalapatiCreated wiki page for Syncthing
File Synchronization (Syncthing)With Syncthing installed on your FreedomBox, you can synchronize content from other devices to your FreedomBox and vice-versa. For example, you can keep the photos taken on your mobile phone synchronized to your FreedomBox. Available since version: 0.14 Users should keep in mind that Syncthing is a peer-to-peer synchronization solution, not a client-server one. This means that the FreedomBox isn't really the server and your other devices clients. They're all devices from Syncthing's perspective. You can use Syncthing to synchronize your files between any of your devices. The advantage that FreedomBox provides is that it is a server that's always running. Suppose you want your photos on your phone to be synchronized to your laptop, if you simply sync the photos to the FreedomBox, the laptop can get them from the FreedomBox whenever it comes online the next time. You don't have to be worried about your other devices being online for synchronization. If your FreedomBox is one of the devices set up with your Syncthing shared folder, you can rest assured that your other devices will eventually get the latest files once they come online. After installation follow the instructions in the getting started of the Syncthing project. Syncthing allows individual folders to be selectively shared with other devices. Devices must be paired up before sharing by scanning QR codes or entering the device ids manually. Syncthing has a discovery service for easily identifying the other devices on the same network having Syncthing installed. In order to access to the web client of the Syncthing instance running on your FreedomBox, use the path /syncthing. This web client is currently only accessible to the users of the FreedomBox that have administrator privileges, though it might be accessible to all FreedomBox users in a future release. Syncthing web interface Syncthing has android apps available on the F-Droid and Google Play app stores. Cross-platform desktop apps are also available. To learn more about Syncthing, please visit their official website and documentation.
Synchronizing over TorSyncthing should automatically sync with your FreedomBox even if it is only accessible as a Tor hidden service. If you would like to proxy your Syncthing client over Tor, set the all_proxy environment variable: For more information, see the Syncthing documentation on using proxies.
Avoiding Syncthing RelaysSyncthing uses dynamic connections by default to connect with other peers. This means that if you are synchronizing over the Internet, the data might have to go through public Syncthing relays to reach your devices. This doesn't take advantage of the fact that your FreedomBox has a public IP address. When adding your FreedomBox as a device in other Syncthing clients, set the address like "tcp://<my.freedombox.domain>" instead of "dynamic". This allows your Syncthing peers to directly connect to your FreedomBox avoiding the need for relays. It also allows for fast on-demand syncing if you don't want to keep Syncthing running all the time on your mobile devices.
Using Syncthing with other applications
Password ManagerPassword managers that store their databases in files are suitable for synchronization using Syncthing. The following example describes using a free password manager called KeePassXC in combination with Syncthing to serve as a replacement for proprietary password managers that store your passwords in the cloud. KeePassXC stores usernames, passwords etc. in files have the .kdbx extension. These kdbx files can be stored in a Syncthing shared folder to keep them synchronized on multiple machines. Free software applications which can read this file format are available for both desktop and mobile. You typically have to just point the application at the .kdbx file and enter the master password to access your stored credentials. For example, the same kdbx file can be accessed by using KeePassXC on desktop and KeePassDX on Android. KeePassXC can also be used to fill credentials into login fields in the browser by installing a browser extension. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Syncthing182019-11-11 17:00:38JosephNuthalapatiRename Tor Hidden Service to Tor Onion Service172019-11-01 01:09:33JosephNuthalapatiMinor formatting changes162019-10-31 15:01:33JosephNuthalapatiMinor change to headings152019-10-31 14:42:33JosephNuthalapatiAdd synchronized password manager142019-10-27 05:53:05JosephNuthalapatiAdd tip to avoid using Syncthing relays132019-09-11 15:33:32fioddorCode decoration122019-06-09 11:07:46David Jones112019-06-09 11:00:48David Jonesadded information about syncthing and tor hidden service102018-03-10 04:32:57JosephNuthalapatiFix oversized image92017-10-22 14:57:58Drahtseil82017-10-22 14:57:09DrahtseilSyncthing GUI image72017-10-22 14:54:54DrahtseilSome rewording etc.62017-10-21 14:59:53DrahtseilTitel same as in Plinth GUI; standard footer; some basic restructuring before I will update the docu more in detail52017-04-04 10:39:36JosephNuthalapati42017-03-23 10:54:49JosephNuthalapatiRewrote the section on Syncthing's role in FreedomBox32017-03-23 05:12:13SunilMohanAdapaMinor formatting22017-03-23 05:11:43SunilMohanAdapaAdd note about availability of Syncthing12017-03-23 02:11:00JosephNuthalapatiCreated wiki page for Syncthing
File Synchronization (Syncthing)With Syncthing installed on your FreedomBox, you can synchronize content from other devices to your FreedomBox and vice-versa. For example, you can keep the photos taken on your mobile phone synchronized to your FreedomBox. Available since version: 0.14 Users should keep in mind that Syncthing is a peer-to-peer synchronization solution, not a client-server one. This means that the FreedomBox isn't really the server and your other devices clients. They're all devices from Syncthing's perspective. You can use Syncthing to synchronize your files between any of your devices. The advantage that FreedomBox provides is that it is a server that's always running. Suppose you want your photos on your phone to be synchronized to your laptop, if you simply sync the photos to the FreedomBox, the laptop can get them from the FreedomBox whenever it comes online the next time. You don't have to be worried about your other devices being online for synchronization. If your FreedomBox is one of the devices set up with your Syncthing shared folder, you can rest assured that your other devices will eventually get the latest files once they come online. After installation follow the instructions in the getting started of the Syncthing project. Syncthing allows individual folders to be selectively shared with other devices. Devices must be paired up before sharing by scanning QR codes or entering the device ids manually. Syncthing has a discovery service for easily identifying the other devices on the same network having Syncthing installed. In order to access to the web client of the Syncthing instance running on your FreedomBox, use the path /syncthing. This web client is currently only accessible to the users of the FreedomBox that have administrator privileges, though it might be accessible to all FreedomBox users in a future release. Syncthing web interface Syncthing has android apps available on the F-Droid and Google Play app stores. Cross-platform desktop apps are also available. To learn more about Syncthing, please visit their official website and documentation.
Synchronizing over TorSyncthing should automatically sync with your FreedomBox even if it is only accessible as a Tor Onion Service. If you would like to proxy your Syncthing client over Tor, set the all_proxy environment variable: For more information, see the Syncthing documentation on using proxies.
Avoiding Syncthing RelaysSyncthing uses dynamic connections by default to connect with other peers. This means that if you are synchronizing over the Internet, the data might have to go through public Syncthing relays to reach your devices. This doesn't take advantage of the fact that your FreedomBox has a public IP address. When adding your FreedomBox as a device in other Syncthing clients, set the address like "tcp://<my.freedombox.domain>" instead of "dynamic". This allows your Syncthing peers to directly connect to your FreedomBox avoiding the need for relays. It also allows for fast on-demand syncing if you don't want to keep Syncthing running all the time on your mobile devices.
Using Syncthing with other applications
Password ManagerPassword managers that store their databases in files are suitable for synchronization using Syncthing. The following example describes using a free password manager called KeePassXC in combination with Syncthing to serve as a replacement for proprietary password managers that store your passwords in the cloud. KeePassXC stores usernames, passwords etc. in files have the .kdbx extension. These kdbx files can be stored in a Syncthing shared folder to keep them synchronized on multiple machines. Free software applications which can read this file format are available for both desktop and mobile. You typically have to just point the application at the .kdbx file and enter the master password to access your stored credentials. For example, the same kdbx file can be accessed by using KeePassXC on desktop and KeePassDX on Android. KeePassXC can also be used to fill credentials into login fields in the browser by installing a browser extension. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/TinyTinyRSS.raw.xml b/doc/manual/en/TinyTinyRSS.raw.xml index d9c69d177..cbe2180da 100644 --- a/doc/manual/en/TinyTinyRSS.raw.xml +++ b/doc/manual/en/TinyTinyRSS.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/TinyTinyRSS102018-03-11 03:05:29JosephNuthalapatiFix oversized images92017-10-18 13:51:27JosephNuthalapatiRemove link to source code as this wiki seems to have banned anything that starts with git.tt82017-10-18 13:47:46JosephNuthalapatiAdd importing OPML feeds and link to source code of TT-RSS Android App72017-10-18 12:58:46JosephNuthalapatiAdd documentation for automatic detection of RSS feeds and the Unsubscribe option62017-10-18 12:37:03JosephNuthalapatiAdd screenshots for subscribing to a new RSS feed52017-10-16 12:11:52SunilMohanAdapaMinor styling42017-10-16 12:08:36SunilMohanAdapaAdd information about mobile application32016-12-31 03:49:54JamesValleroyadd screenshot22016-12-31 03:44:56JamesValleroyadd user info12016-09-04 10:18:59Drahtseilstub created
News Feed Reader (Tiny Tiny RSS)Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to allow reading news from any location, while feeling as close to a real desktop application as possible. Any user created through FreedomBox web interface will be able to login and use this app. Each user has their own feeds, state and preferences.
Using the Web InterfaceWhen enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. Any user created through Plinth will be able to login and use this app. Tiny Tiny RSS
Adding a new feed1. Go to the website you want the RSS feed for and copy the RSS/Atom feed link from it. Selecting feeds 2. Select "Subscribe to feed.." from the Actions dropdown. Subscribe to feed 3. In the dialog box that appears, paste the URL for copied in step 1 and click the Subscribe button. Subscription dialog box Give the application a minute to fetch the feeds after clicking Subscribe. In some websites, the RSS feeds button isn't clearly visible. In that case, you can simply paste the website URL into the Subscribe dialog (step 3) and let TT-RSS automatically detect the RSS feeds on the page. You can try this now with the homepage of WikiNews As you can see in the image below, TT-RSS detected and added the Atom feed of WikiNews to our list of feeds. WikiNews feed added If you don't want to keep this feed, right click on the feed shown in the above image, select Edit feed and click Unsubscribe in the dialog box that appears. Unsubscribe from a feed
Importing your feeds from another feed readerIn your existing feed reader, find an option to Export your feeds to a file. Prefer the OPML file format if you have to choose between multiple formats. Let's say your exported feeds file is called Subscriptions.opml Click on the Actions menu at the top left corner and select Preferences. You will be taken to another page. Select the second tab called Feeds in the top header. Feeds has several sections. The second one is called OPML. Select it. OPML feeds page To import your Subscriptions.opml file into TT-RSS, Click Browse and select the file from your file system Click Import my OPML After importing, you'll be taken to the Feeds section that's above the OPML section in the page. You can see that the feeds from your earlier feed reader are now imported into Tiny Tiny RSS. You can now start using Tiny Tiny RSS as your primary feed reader. In the next section, we will discuss setting up the mobile app, which can let you read your feeds on the go.
Using the Mobile AppThe official Android app from the Tiny Tiny RSS project works with FreedomBox's Tiny Tiny RSS Server. The older TTRSS-Reader application is known not to work. The official Android app is unfortunately only available on the Google Play Store and not on F-Droid. You can still obtain the source code and build the apk file yourself. To configure, first install the application, then in the setting page, set URL as . Set your user name and password in the Login details as well as HTTP Authentication details. If your FreedomBox does not have a valid HTTPS certificate, then in settings request allowing any SSL certificate and any host. Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/TinyTinyRSS102018-03-11 03:05:29JosephNuthalapatiFix oversized images92017-10-18 13:51:27JosephNuthalapatiRemove link to source code as this wiki seems to have banned anything that starts with git.tt82017-10-18 13:47:46JosephNuthalapatiAdd importing OPML feeds and link to source code of TT-RSS Android App72017-10-18 12:58:46JosephNuthalapatiAdd documentation for automatic detection of RSS feeds and the Unsubscribe option62017-10-18 12:37:03JosephNuthalapatiAdd screenshots for subscribing to a new RSS feed52017-10-16 12:11:52SunilMohanAdapaMinor styling42017-10-16 12:08:36SunilMohanAdapaAdd information about mobile application32016-12-31 03:49:54JamesValleroyadd screenshot22016-12-31 03:44:56JamesValleroyadd user info12016-09-04 10:18:59Drahtseilstub created
News Feed Reader (Tiny Tiny RSS)Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, designed to allow reading news from any location, while feeling as close to a real desktop application as possible. Any user created through FreedomBox web interface will be able to login and use this app. Each user has their own feeds, state and preferences.
Using the Web InterfaceWhen enabled, Tiny Tiny RSS will be available from /tt-rss path on the web server. Any user created through Plinth will be able to login and use this app. Tiny Tiny RSS
Adding a new feed1. Go to the website you want the RSS feed for and copy the RSS/Atom feed link from it. Selecting feeds 2. Select "Subscribe to feed.." from the Actions dropdown. Subscribe to feed 3. In the dialog box that appears, paste the URL for copied in step 1 and click the Subscribe button. Subscription dialog box Give the application a minute to fetch the feeds after clicking Subscribe. In some websites, the RSS feeds button isn't clearly visible. In that case, you can simply paste the website URL into the Subscribe dialog (step 3) and let TT-RSS automatically detect the RSS feeds on the page. You can try this now with the homepage of WikiNews As you can see in the image below, TT-RSS detected and added the Atom feed of WikiNews to our list of feeds. WikiNews feed added If you don't want to keep this feed, right click on the feed shown in the above image, select Edit feed and click Unsubscribe in the dialog box that appears. Unsubscribe from a feed
Importing your feeds from another feed readerIn your existing feed reader, find an option to Export your feeds to a file. Prefer the OPML file format if you have to choose between multiple formats. Let's say your exported feeds file is called Subscriptions.opml Click on the Actions menu at the top left corner and select Preferences. You will be taken to another page. Select the second tab called Feeds in the top header. Feeds has several sections. The second one is called OPML. Select it. OPML feeds page To import your Subscriptions.opml file into TT-RSS, Click Browse and select the file from your file system Click Import my OPML After importing, you'll be taken to the Feeds section that's above the OPML section in the page. You can see that the feeds from your earlier feed reader are now imported into Tiny Tiny RSS. You can now start using Tiny Tiny RSS as your primary feed reader. In the next section, we will discuss setting up the mobile app, which can let you read your feeds on the go.
Using the Mobile AppThe official Android app from the Tiny Tiny RSS project works with FreedomBox's Tiny Tiny RSS Server. The older TTRSS-Reader application is known not to work. The official Android app is unfortunately only available on the Google Play Store and not on F-Droid. You can still obtain the source code and build the apk file yourself. To configure, first install the application, then in the setting page, set URL as . Set your user name and password in the Login details as well as HTTP Authentication details. If your FreedomBox does not have a valid HTTPS certificate, then in settings request allowing any SSL certificate and any host. Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Tor.raw.xml b/doc/manual/en/Tor.raw.xml index ef94de5eb..65336c5fb 100644 --- a/doc/manual/en/Tor.raw.xml +++ b/doc/manual/en/Tor.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Tor212019-10-27 06:23:30JosephNuthalapatiAdd screenshot for using Tor SOCKS proxy with Firefox202019-10-27 06:18:47JosephNuthalapatiAdd example for using Tor SOCKS proxy with Firefox192019-06-09 10:47:56David Jonesadded two more apps to list182019-05-22 17:10:34David JonesCorrected formatting; added transition sentence.172019-05-22 17:05:45David JonesStarted a list of apps accessible via Tor162018-12-30 19:13:56Drahtseilrelay requirements152018-03-19 06:27:56JosephNuthalapatiAdd section on circumventing tor censorship142018-03-19 06:25:43JosephNuthalapatiAdd section on circumventing tor censorship132017-01-07 16:00:24JamesValleroyadd image122017-01-07 15:21:27JamesValleroyplural112016-12-31 02:19:46JamesValleroymention ssh102016-12-31 02:19:03JamesValleroyadd relay info92016-12-23 18:31:29JamesValleroyundo outline level change82016-12-23 18:30:06JamesValleroymove down outline level72016-04-10 07:14:17PhilippeBaretAdded bottom navigation link62015-12-15 16:54:58PhilippeBaretText finishing52015-12-15 16:40:11PhilippeBaret42015-12-15 16:34:38PhilippeBaretAdded Tor definition32015-09-13 14:54:59SunilMohanAdapaDemote headings one level for inclusion into manual22015-09-13 14:53:54SunilMohanAdapaAdd FreedomBox category and portal12015-09-12 15:55:05JamesValleroycreate tor page
Anonymity Network (Tor)
What is Tor?Tor is a network of servers operated by volunteers. It allows users of these servers to improve their privacy and security while surfing on the Internet. You and your friends are able to access to your FreedomBox via Tor network without revealing its IP address. Activating Tor application on your FreedomBox, you will be able to offer remote services (chat, wiki, file sharing, etc...) without showing your location. This application will give you a better protection than a public web server because you will be less exposed to intrusive people on the web.
Using Tor to browse anonymouslyTor Browser is the recommended way to browse the web using Tor. You can download the Tor Browser from and follow the instructions on that site to install and run it.
Using Tor Hidden Service to access your FreedomBoxTor Hidden Service provides a way to access your FreedomBox, even if it's behind a router, firewall, or carrier-grade NAT (i.e., your Internet Service Provider does not provide a public IPv4 address for your router). To enable Tor Hidden Service, first navigate to the Anonymity Network (Tor) page. (If you don't see it, click on the FreedomBox logo at the top-left of the page, to go to the main Apps page.) On the Anonymity Network (Tor) page, under Configuration, check "Enable Tor Hidden Service", then press the Update setup button. Tor will be reconfigured and restarted. After a while, the page will refresh and under Status, you will see a table listing the Hidden Service .onion address. Copy the entire address (ending in .onion) and paste it into the Tor Browser's address field, and you should be able to access your FreedomBox. (You may see a certificate warning because FreedomBox has a self-signed certificate.) Tor Browser - Plinth Currently only HTTP (port 80), HTTPS (port 443), and SSH (port 22) are accessible through the Tor Hidden Service configured on the FreedomBox.
Apps accessible via TorThe following apps can be accessed over Tor. Note that this list is not exhaustive. Calendar and Addressbook (Radicale) File Synchronization (Syncthing) Feed reader (TinyTinyRSS) Web Search (Searx) Wiki (MediaWiki) Wiki and Blog (Ikiwiki)
Running a Tor relayWhen Tor is installed, it is configured by default to run as a bridge relay. The relay or bridge option can be disabled through the Tor configuration page in Plinth. At the bottom of the Tor page in Plinth, there is a list of ports used by the Tor relay. If your FreedomBox is behind a router, you will need to configure port forwarding on your router so that these ports can be reached from the public Internet. The requirements to run a relay are listed in the Tor Relay Guide. In short, it is recommended that a relay has at least 16 Mbit/s (Mbps) upload and download bandwidth available for Tor. More is better. required that a Tor relay be allowed to use a minimum of 100 GByte of outbound and of incoming traffic per month. recommended that a <40 Mbit/s non-exit relay should have at least 512 MB of RAM available; A relay faster than 40 Mbit/s should have at least 1 GB of RAM.
(Advanced) Usage as a SOCKS proxyFreedomBox provides a Tor SOCKS port that other applications can connect to, in order to route their traffic over the Tor network. This port is accessible on any interfaces configured in the internal firewall zone. To configure the application, set SOCKS Host to the internal network connection's IP address, and set the SOCKS Port to 9050.
Example with FirefoxYour web browser can be configured to use the Tor network for all of your browsing activity. This allows for censorship circumvention and also hides your IP address from websites during regular browsing. For anonymity, using tor browser is recommended. Configure your local FreedomBox IP address and port 9050 as a SOCKS v5 proxy in Firefox. There are extensions to allow for easily turning the proxy on and off. Configuring Firefox with Tor SOCKS proxy With the SOCKS proxy configured, you can now access any onion URL directly from Firefox. FreedomBox itself has an onion v3 address that you can connect to over the Tor network (bookmark this for use in emergency situations).
Circumventing Tor censorshipIf your ISP is trying to block Tor traffic, you can use tor bridge relays to connect to the tor network. 1. Get the bridge configuration from the Tor BridgeDB Tor BridgeDB 2. Add the lines to your FreedomBox Tor configuration as show below. Tor Configuration Page Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Tor232019-11-28 22:24:36SunilMohanAdapaUpdate link to Tor Relay Guide Closes freedom-maker#169, thanks to Jamie Campbell222019-11-11 16:55:49JosephNuthalapatiRename Hidden Service to Onion Service212019-10-27 06:23:30JosephNuthalapatiAdd screenshot for using Tor SOCKS proxy with Firefox202019-10-27 06:18:47JosephNuthalapatiAdd example for using Tor SOCKS proxy with Firefox192019-06-09 10:47:56David Jonesadded two more apps to list182019-05-22 17:10:34David JonesCorrected formatting; added transition sentence.172019-05-22 17:05:45David JonesStarted a list of apps accessible via Tor162018-12-30 19:13:56Drahtseilrelay requirements152018-03-19 06:27:56JosephNuthalapatiAdd section on circumventing tor censorship142018-03-19 06:25:43JosephNuthalapatiAdd section on circumventing tor censorship132017-01-07 16:00:24JamesValleroyadd image122017-01-07 15:21:27JamesValleroyplural112016-12-31 02:19:46JamesValleroymention ssh102016-12-31 02:19:03JamesValleroyadd relay info92016-12-23 18:31:29JamesValleroyundo outline level change82016-12-23 18:30:06JamesValleroymove down outline level72016-04-10 07:14:17PhilippeBaretAdded bottom navigation link62015-12-15 16:54:58PhilippeBaretText finishing52015-12-15 16:40:11PhilippeBaret42015-12-15 16:34:38PhilippeBaretAdded Tor definition32015-09-13 14:54:59SunilMohanAdapaDemote headings one level for inclusion into manual22015-09-13 14:53:54SunilMohanAdapaAdd FreedomBox category and portal12015-09-12 15:55:05JamesValleroycreate tor page
Anonymity Network (Tor)
What is Tor?Tor is a network of servers operated by volunteers. It allows users of these servers to improve their privacy and security while surfing on the Internet. You and your friends are able to access to your FreedomBox via Tor network without revealing its IP address. Activating Tor application on your FreedomBox, you will be able to offer remote services (chat, wiki, file sharing, etc...) without showing your location. This application will give you a better protection than a public web server because you will be less exposed to intrusive people on the web.
Using Tor to browse anonymouslyTor Browser is the recommended way to browse the web using Tor. You can download the Tor Browser from and follow the instructions on that site to install and run it.
Using Tor Onion Service to access your FreedomBoxTor Onion Service provides a way to access your FreedomBox, even if it's behind a router, firewall, or carrier-grade NAT (i.e., your Internet Service Provider does not provide a public IPv4 address for your router). To enable Tor Onion Service, first navigate to the Anonymity Network (Tor) page. (If you don't see it, click on the FreedomBox logo at the top-left of the page, to go to the main Apps page.) On the Anonymity Network (Tor) page, under Configuration, check "Enable Tor Onion Service", then press the Update setup button. Tor will be reconfigured and restarted. After a while, the page will refresh and under Status, you will see a table listing the Onion Service .onion address. Copy the entire address (ending in .onion) and paste it into the Tor Browser's address field, and you should be able to access your FreedomBox. (You may see a certificate warning because FreedomBox has a self-signed certificate.) Tor Browser - Plinth Currently only HTTP (port 80), HTTPS (port 443), and SSH (port 22) are accessible through the Tor Onion Service configured on the FreedomBox.
Apps accessible via TorThe following apps can be accessed over Tor. Note that this list is not exhaustive. Calendar and Addressbook (Radicale) File Synchronization (Syncthing) Feed reader (TinyTinyRSS) Web Search (Searx) Wiki (MediaWiki) Wiki and Blog (Ikiwiki)
Running a Tor relayWhen Tor is installed, it is configured by default to run as a bridge relay. The relay or bridge option can be disabled through the Tor configuration page in Plinth. At the bottom of the Tor page in Plinth, there is a list of ports used by the Tor relay. If your FreedomBox is behind a router, you will need to configure port forwarding on your router so that these ports can be reached from the public Internet. The requirements to run a relay are listed in the Tor Relay Guide. In short, it is recommended that a relay has at least 16 Mbit/s (Mbps) upload and download bandwidth available for Tor. More is better. required that a Tor relay be allowed to use a minimum of 100 GByte of outbound and of incoming traffic per month. recommended that a <40 Mbit/s non-exit relay should have at least 512 MB of RAM available; A relay faster than 40 Mbit/s should have at least 1 GB of RAM.
(Advanced) Usage as a SOCKS proxyFreedomBox provides a Tor SOCKS port that other applications can connect to, in order to route their traffic over the Tor network. This port is accessible on any interfaces configured in the internal firewall zone. To configure the application, set SOCKS Host to the internal network connection's IP address, and set the SOCKS Port to 9050.
Example with FirefoxYour web browser can be configured to use the Tor network for all of your browsing activity. This allows for censorship circumvention and also hides your IP address from websites during regular browsing. For anonymity, using tor browser is recommended. Configure your local FreedomBox IP address and port 9050 as a SOCKS v5 proxy in Firefox. There are extensions to allow for easily turning the proxy on and off. Configuring Firefox with Tor SOCKS proxy With the SOCKS proxy configured, you can now access any onion URL directly from Firefox. FreedomBox itself has an onion v3 address that you can connect to over the Tor network (bookmark this for use in emergency situations).
Circumventing Tor censorshipIf your ISP is trying to block Tor traffic, you can use tor bridge relays to connect to the tor network. 1. Get the bridge configuration from the Tor BridgeDB Tor BridgeDB 2. Add the lines to your FreedomBox Tor configuration as show below. Tor Configuration Page Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Transmission.raw.xml b/doc/manual/en/Transmission.raw.xml index 319af2beb..2bc08f05e 100644 --- a/doc/manual/en/Transmission.raw.xml +++ b/doc/manual/en/Transmission.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Transmission142019-10-27 04:42:42JosephNuthalapatiRemove irrelevant known issue132019-10-27 04:41:18JosephNuthalapatiMinor fixes122019-10-27 04:40:38JosephNuthalapati112019-09-04 09:19:59fioddorSecurity recommendation102019-03-22 07:08:45JosephNuthalapatiAdd tips on how to transfer downloads from FreedomBox to local PC92016-12-31 02:07:57JamesValleroyadd login info82016-12-30 19:20:51JamesValleroyreword72016-12-30 19:13:09JamesValleroyadd intro paragraph62016-12-30 18:59:46JamesValleroyno space in "BitTorrent"52016-12-26 18:00:44JamesValleroyadd screenshot42016-09-01 19:04:35Drahtseiladapted title to Plinth wording32016-04-10 07:27:22PhilippeBaretAdded bottom navigation link22015-12-15 20:42:02PhilippeBaret12015-12-15 18:23:33PhilippeBaretAdded Transmission page and definition
BitTorrent (Transmission)
What is Transmission ?BitTorrent is a communications protocol using peer-to-peer (P2P) file sharing. It is not anonymous; you should assume that others can see what files you are sharing. There are two BitTorrent web clients available in FreedomBox: Transmission and Deluge. They have similar features, but you may prefer one over the other. Transmission is a lightweight BitTorrent client that is well known for its simplicity and a default configuration that "Just Works".
ScreenshotTransmission Web Interface
Using TransmissionAfter installing Transmission, it can be accessed at https://<your freedombox>/transmission. Transmission uses single sign-on from FreedomBox, which means that if you are logged in on your FreedomBox, you can directly access Transmission without having to enter the credentials again. Otherwise, you will be prompted to login first and then redirected to the Transmission app.
Tips
Transferring Downloads from the FreedomBoxTransmission's downloads directory can be added as a shared folder in the "Sharing" app. You can then access your downloads from this shared folder using a web browser. (Advanced) If you have the ssh access to your FreedomBox, you can use sftp to browse the downloads directory using a suitable file manager or web browser (e.g. dolphin or Konqueror). Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Transmission142019-10-27 04:42:42JosephNuthalapatiRemove irrelevant known issue132019-10-27 04:41:18JosephNuthalapatiMinor fixes122019-10-27 04:40:38JosephNuthalapati112019-09-04 09:19:59fioddorSecurity recommendation102019-03-22 07:08:45JosephNuthalapatiAdd tips on how to transfer downloads from FreedomBox to local PC92016-12-31 02:07:57JamesValleroyadd login info82016-12-30 19:20:51JamesValleroyreword72016-12-30 19:13:09JamesValleroyadd intro paragraph62016-12-30 18:59:46JamesValleroyno space in "BitTorrent"52016-12-26 18:00:44JamesValleroyadd screenshot42016-09-01 19:04:35Drahtseiladapted title to Plinth wording32016-04-10 07:27:22PhilippeBaretAdded bottom navigation link22015-12-15 20:42:02PhilippeBaret12015-12-15 18:23:33PhilippeBaretAdded Transmission page and definition
BitTorrent (Transmission)
What is Transmission ?BitTorrent is a communications protocol using peer-to-peer (P2P) file sharing. It is not anonymous; you should assume that others can see what files you are sharing. There are two BitTorrent web clients available in FreedomBox: Transmission and Deluge. They have similar features, but you may prefer one over the other. Transmission is a lightweight BitTorrent client that is well known for its simplicity and a default configuration that "Just Works".
ScreenshotTransmission Web Interface
Using TransmissionAfter installing Transmission, it can be accessed at https://<your freedombox>/transmission. Transmission uses single sign-on from FreedomBox, which means that if you are logged in on your FreedomBox, you can directly access Transmission without having to enter the credentials again. Otherwise, you will be prompted to login first and then redirected to the Transmission app.
Tips
Transferring Downloads from the FreedomBoxTransmission's downloads directory can be added as a shared folder in the "Sharing" app. You can then access your downloads from this shared folder using a web browser. (Advanced) If you have the ssh access to your FreedomBox, you can use sftp to browse the downloads directory using a suitable file manager or web browser (e.g. dolphin or Konqueror). Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/Upgrades.raw.xml b/doc/manual/en/Upgrades.raw.xml index ca9914fb4..fe46dfcf8 100644 --- a/doc/manual/en/Upgrades.raw.xml +++ b/doc/manual/en/Upgrades.raw.xml @@ -9,4 +9,4 @@ Password: # apt -f install # unattended-upgrade --debug # apt install freedombox -# apt update]]>If apt-get update asks for a confirmation to change Codename or other release information, confirm yes. If during update of freedombox package, if a question about overwriting configuration files is asked, answer to install new configuration files from the latest version of the package. This process will upgrade only packages that don't require configuration file questions (except for freedombox package). After this, let FreedomBox handle the upgrade of remaining packages. Be patient while new releases of FreedomBox are made to handle packages that require manual intervention. If you want to go beyond the recommendation to upgrade all the packages on your FreedomBox and if you are really sure about handling the configuration changes for packages yourself, run the following command: InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox \ No newline at end of file +# apt update]]>If apt-get update asks for a confirmation to change Codename or other release information, confirm yes. If during update of freedombox package, if a question about overwriting configuration files is asked, answer to install new configuration files from the latest version of the package. This process will upgrade only packages that don't require configuration file questions (except for freedombox package). After this, let FreedomBox handle the upgrade of remaining packages. Be patient while new releases of FreedomBox are made to handle packages that require manual intervention. If you want to go beyond the recommendation to upgrade all the packages on your FreedomBox and if you are really sure about handling the configuration changes for packages yourself, run the following command: InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox \ No newline at end of file diff --git a/doc/manual/en/Users.raw.xml b/doc/manual/en/Users.raw.xml index ca28b1fe9..56109f2b9 100644 --- a/doc/manual/en/Users.raw.xml +++ b/doc/manual/en/Users.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/Users82019-07-29 22:34:11JamesValleroybetter wording72019-07-29 22:22:17JamesValleroyremove "Plinth"62019-07-29 22:10:39JamesValleroymention which releases known issue applies to52019-07-29 22:08:21JamesValleroyadd more supported groups42017-01-14 20:13:01JamesValleroyadd known issue32016-12-31 04:15:09JamesValleroyreword22016-09-01 19:21:25Drahtseiladapted title to Plinth wording12016-08-21 16:48:45DrahtseilCreated Users
Users and GroupsYou can grant access to your FreedomBox for other users. Provide the Username with a password and assign a group to it. Currently the groups admin bit-torrent ed2k feed-reader syncthing web-search wiki are supported. The user will be able to log in to services that support single sign-on through LDAP, if they are in the appropriate group. Users in the admin group will be able to log in to all services. They can also log in to the system through SSH and have administrative privileges (sudo). A user's groups can also be changed later-on. It is also possible to set an SSH public key which will allow this user to securely log in to the system without using a password. You may enter multiple keys, one on each line. Blank lines and lines starting with # will be ignored. A user's account can be deactivated, which will temporarily disable the account.
Known IssuesIn Debian Stretch, the FreedomBox web interface does not distinguish between users and administrators. Every user added will have full access to the web interface. This issue is fixed in Debian Buster and later. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/Users82019-07-29 22:34:11JamesValleroybetter wording72019-07-29 22:22:17JamesValleroyremove "Plinth"62019-07-29 22:10:39JamesValleroymention which releases known issue applies to52019-07-29 22:08:21JamesValleroyadd more supported groups42017-01-14 20:13:01JamesValleroyadd known issue32016-12-31 04:15:09JamesValleroyreword22016-09-01 19:21:25Drahtseiladapted title to Plinth wording12016-08-21 16:48:45DrahtseilCreated Users
Users and GroupsYou can grant access to your FreedomBox for other users. Provide the Username with a password and assign a group to it. Currently the groups admin bit-torrent ed2k feed-reader syncthing web-search wiki are supported. The user will be able to log in to services that support single sign-on through LDAP, if they are in the appropriate group. Users in the admin group will be able to log in to all services. They can also log in to the system through SSH and have administrative privileges (sudo). A user's groups can also be changed later-on. It is also possible to set an SSH public key which will allow this user to securely log in to the system without using a password. You may enter multiple keys, one on each line. Blank lines and lines starting with # will be ignored. A user's account can be deactivated, which will temporarily disable the account.
Known IssuesIn Debian Stretch, the FreedomBox web interface does not distinguish between users and administrators. Every user added will have full access to the web interface. This issue is fixed in Debian Buster and later. Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/ejabberd.raw.xml b/doc/manual/en/ejabberd.raw.xml index 61e155013..e9761b0c0 100644 --- a/doc/manual/en/ejabberd.raw.xml +++ b/doc/manual/en/ejabberd.raw.xml @@ -2,4 +2,4 @@ -
FreedomBox/Manual/ejabberd122019-03-01 17:43:12JosephNuthalapatiFix PageKite url112019-02-27 00:06:38JamesValleroymake title consistent with FreedomBox interface102018-03-02 13:01:38JosephNuthalapatiConsistent naming conventions92017-01-07 17:42:27JamesValleroyadd note about service restart82017-01-02 13:48:30JamesValleroyadd port forwarding info72016-12-31 03:11:19JamesValleroyclarify62016-12-31 03:10:19JamesValleroymention web client52016-12-31 02:35:52JamesValleroyadd security info42016-09-04 10:31:37Drahtseiladded links32016-04-10 07:18:35PhilippeBaretAdded bottom navigation link22015-12-15 18:37:29PhilippeBaretAdded definition to Chat server page12015-09-20 23:52:11JamesValleroyadd xmpp page
Chat Server (ejabberd)
What is XMPP?XMPP is a federated protocol for Instant Messaging. This means that users who have accounts on one server, can talk to users that are on another server. XMPP can also be used for voice and video calls, if supported by the clients. With XMPP, there are two ways that conversations can be secured: TLS: This secures the connection between the client and server, or between two servers. This should be supported by all clients and is highly recommended. End-to-end: This secures the messages sent from one client to another, so that even the server cannot see the contents. The latest and most convenient protocol is called OMEMO, but it is only supported by a few clients. There is another protocol called OTR that may be supported by some clients that lack OMEMO support. Both clients must support the same protocol for it to work.
Setting the Domain NameFor XMPP to work, your FreedomBox needs to have a Domain Name that can be accessed over the public Internet. You can read more about obtaining a Domain Name in the Dynamic DNS section of this manual. Once you have a Domain Name, you can tell your FreedomBox to use it by setting the Domain Name in the System Configuration. Note: After changing your Domain Name, the Chat Server (XMPP) page may show that the service is not running. After a minute or so, it should be up and running again. Please note that PageKite does not support the XMPP protocol at this time.
Registering XMPP users through SSOCurrently, all users created through Plinth will be able to login to the XMPP server. You can add new users through the System Users and Groups module. It does not matter which Groups are selected for the new user.
Using the web clientAfter the XMPP module install completes, the JSXC web client for XMPP can be accessed at https://<your freedombox>/plinth/apps/xmpp/jsxc/. It will automatically check the BOSH server connection to the configured domain name.
Using a desktop or mobile clientXMPP clients are available for various desktop and mobile platforms.
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for XMPP: TCP 5222 (client-to-server) TCP 5269 (server-to-server) Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
FreedomBox/Manual/ejabberd122019-03-01 17:43:12JosephNuthalapatiFix PageKite url112019-02-27 00:06:38JamesValleroymake title consistent with FreedomBox interface102018-03-02 13:01:38JosephNuthalapatiConsistent naming conventions92017-01-07 17:42:27JamesValleroyadd note about service restart82017-01-02 13:48:30JamesValleroyadd port forwarding info72016-12-31 03:11:19JamesValleroyclarify62016-12-31 03:10:19JamesValleroymention web client52016-12-31 02:35:52JamesValleroyadd security info42016-09-04 10:31:37Drahtseiladded links32016-04-10 07:18:35PhilippeBaretAdded bottom navigation link22015-12-15 18:37:29PhilippeBaretAdded definition to Chat server page12015-09-20 23:52:11JamesValleroyadd xmpp page
Chat Server (ejabberd)
What is XMPP?XMPP is a federated protocol for Instant Messaging. This means that users who have accounts on one server, can talk to users that are on another server. XMPP can also be used for voice and video calls, if supported by the clients. With XMPP, there are two ways that conversations can be secured: TLS: This secures the connection between the client and server, or between two servers. This should be supported by all clients and is highly recommended. End-to-end: This secures the messages sent from one client to another, so that even the server cannot see the contents. The latest and most convenient protocol is called OMEMO, but it is only supported by a few clients. There is another protocol called OTR that may be supported by some clients that lack OMEMO support. Both clients must support the same protocol for it to work.
Setting the Domain NameFor XMPP to work, your FreedomBox needs to have a Domain Name that can be accessed over the public Internet. You can read more about obtaining a Domain Name in the Dynamic DNS section of this manual. Once you have a Domain Name, you can tell your FreedomBox to use it by setting the Domain Name in the System Configuration. Note: After changing your Domain Name, the Chat Server (XMPP) page may show that the service is not running. After a minute or so, it should be up and running again. Please note that PageKite does not support the XMPP protocol at this time.
Registering XMPP users through SSOCurrently, all users created through Plinth will be able to login to the XMPP server. You can add new users through the System Users and Groups module. It does not matter which Groups are selected for the new user.
Using the web clientAfter the XMPP module install completes, the JSXC web client for XMPP can be accessed at https://<your freedombox>/plinth/apps/xmpp/jsxc/. It will automatically check the BOSH server connection to the configured domain name.
Using a desktop or mobile clientXMPP clients are available for various desktop and mobile platforms.
Port ForwardingIf your FreedomBox is behind a router, you will need to set up port forwarding on your router. You should forward the following ports for XMPP: TCP 5222 (client-to-server) TCP 5269 (server-to-server) Back to Features introduction or manual pages. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/en/freedombox-manual.raw.xml b/doc/manual/en/freedombox-manual.raw.xml index eebafda93..f6f010955 100644 --- a/doc/manual/en/freedombox-manual.raw.xml +++ b/doc/manual/en/freedombox-manual.raw.xml @@ -498,6 +498,11 @@ Live Help from the community + + + FreedomBox Developer Manual + +
Typical usage: Private Cloud @@ -750,7 +755,7 @@
System menu - The System menu can be accessed by clicking the gear icon in the top-right corner. It includes a number of pages related to system configuration. + The System menu can be accessed by clicking the gear icon in the top-left corner. It includes a number of pages related to system configuration. @@ -999,7 +1004,7 @@ Primary key fingerprint: BCBE BD57 A11F 70B2 3782 BC57 36C3 6144 0C9B C971]]> To obtain the source code for any of those programs, then run: ]]> - This requires that the file /etc/apt/sources.list file contains the information about the source code repositories. These are present by default on all FreedomBox images. If you have installed FreedomBox using a package from Debian, you need to ensure that source repositories are added in the file. + This requires that the apt sources list contains information about the source code repositories. These are present by default on all FreedomBox images. If you have installed FreedomBox using a package from Debian, you need to ensure that source repositories are added in the file. To build the package from source code, first install its dependencies @@ -1152,10 +1157,10 @@ dd if=temp/usr/lib/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin of=Tor Browser is the recommended way to browse the web using Tor. You can download the Tor Browser from and follow the instructions on that site to install and run it.
- Using Tor Hidden Service to access your FreedomBox - Tor Hidden Service provides a way to access your FreedomBox, even if it's behind a router, firewall, or carrier-grade NAT (i.e., your Internet Service Provider does not provide a public IPv4 address for your router). - To enable Tor Hidden Service, first navigate to the Anonymity Network (Tor) page. (If you don't see it, click on the FreedomBox logo at the top-left of the page, to go to the main Apps page.) On the Anonymity Network (Tor) page, under Configuration, check "Enable Tor Hidden Service", then press the Update setup button. Tor will be reconfigured and restarted. - After a while, the page will refresh and under Status, you will see a table listing the Hidden Service .onion address. Copy the entire address (ending in .onion) and paste it into the Tor Browser's address field, and you should be able to access your FreedomBox. (You may see a certificate warning because FreedomBox has a self-signed certificate.) + Using Tor Onion Service to access your FreedomBox + Tor Onion Service provides a way to access your FreedomBox, even if it's behind a router, firewall, or carrier-grade NAT (i.e., your Internet Service Provider does not provide a public IPv4 address for your router). + To enable Tor Onion Service, first navigate to the Anonymity Network (Tor) page. (If you don't see it, click on the FreedomBox logo at the top-left of the page, to go to the main Apps page.) On the Anonymity Network (Tor) page, under Configuration, check "Enable Tor Onion Service", then press the Update setup button. Tor will be reconfigured and restarted. + After a while, the page will refresh and under Status, you will see a table listing the Onion Service .onion address. Copy the entire address (ending in .onion) and paste it into the Tor Browser's address field, and you should be able to access your FreedomBox. (You may see a certificate warning because FreedomBox has a self-signed certificate.) @@ -1166,7 +1171,7 @@ dd if=temp/usr/lib/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin of= - Currently only HTTP (port 80), HTTPS (port 443), and SSH (port 22) are accessible through the Tor Hidden Service configured on the FreedomBox. + Currently only HTTP (port 80), HTTPS (port 443), and SSH (port 22) are accessible through the Tor Onion Service configured on the FreedomBox.
Apps accessible via Tor @@ -1196,7 +1201,7 @@ dd if=temp/usr/lib/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin of=Running a Tor relay When Tor is installed, it is configured by default to run as a bridge relay. The relay or bridge option can be disabled through the Tor configuration page in Plinth. At the bottom of the Tor page in Plinth, there is a list of ports used by the Tor relay. If your FreedomBox is behind a router, you will need to configure port forwarding on your router so that these ports can be reached from the public Internet. - The requirements to run a relay are listed in the Tor Relay Guide. In short, it is + The requirements to run a relay are listed in the Tor Relay Guide. In short, it is recommended that a relay has at least 16 Mbit/s (Mbps) upload and download bandwidth available for Tor. More is better. @@ -1952,7 +1957,7 @@ echo 'select name from users' | sqlite3 /var/lib/matrix-synapse/homeserver.db ] To learn more about Syncthing, please visit their official website and documentation.
Synchronizing over Tor - Syncthing should automatically sync with your FreedomBox even if it is only accessible as a Tor hidden service. + Syncthing should automatically sync with your FreedomBox even if it is only accessible as a Tor Onion Service. If you would like to proxy your Syncthing client over Tor, set the all_proxy environment variable: For more information, see the Syncthing documentation on using proxies. @@ -2724,6 +2729,9 @@ proto udp]]> Open the ovpn file with the OpenVPN client. .ovpn]]> + If you use Network Manager, you can create a new connection by importing the file: + .ovpn]]>
@@ -2772,6 +2780,16 @@ proto udp]]>
+
+ Managing Permissions + A super user in Mumble has the ability to create administrator accounts who can in turn manage groups and channel permissions. This can be done after logging in with the username "SuperUser" using the super user password. See Mumble Guide for information on how to do this.. FreedomBox currently does not offer a UI to get or set the super user password for Mumble. A super user password is automatically generated during Mumble setup. To get the password, login to the terminal as admin user using Cockpit , Secure Shell or the console. Then, to read the super user password that was automatically generated during Mumble installation run the following command: + + You should see output such as: + 2019-11-06 02:47:41.313 1 => Password for 'SuperUser' set to 'noo8Dahwiesh']]> + Alternatively, you can set a new password as follows: + +
Web Proxy (Privoxy) @@ -3565,7 +3583,7 @@ proto udp]]> 0.42 - includes configuration and secrets such as hidden service keys + includes configuration and secrets such as onion service keys @@ -3970,7 +3988,7 @@ proto udp]]> Starting with FreedomBox version 19.15, using .local domain works. You can access Cockpit using the URL . The .local domain is based on your hostname. If your hostname is mybox, your .local domain name will be mybox.local and the Cockpit URL will be . - To properly access Cockpit, use the domain name configured for your FreedomBox.Cockpit will also work well when using a Tor Hidden Service. The following URLs will work: + To properly access Cockpit, use the domain name configured for your FreedomBox.Cockpit will also work well when using a Tor Onion Service. The following URLs will work: The reason for this behaviour is that Cockpit uses WebSockets to connect to the backend server. Cross site requests for WebSockets must be prevented for security reasons. To implement this, Cockpit maintains a list of all domains from which requests are allowed. FreedomBox automatically configures this list whenever you add or remove a domain. However, since we can't rely on IP addresses, they are not added by FreedomBox to this domain list. You can see the current list of allowed domains, as managed by FreedomBox, in /etc/cockpit/cockpit.conf. You may edit this, but do so only if you understand web security consequences of this. @@ -6113,7 +6131,7 @@ firewall-cmd --permanent --zone=internal --add-interface=eth0]]>
Name Services - Name Services provides an overview of ways the box can be reached from the public Internet: domain name, Tor hidden service, and Pagekite. For each type of name, it is shown whether the HTTP, HTTPS, and SSH services are enabled or disabled for incoming connections through the given name. + Name Services provides an overview of ways the box can be reached from the public Internet: domain name, Tor Onion Service, and Pagekite. For each type of name, it is shown whether the HTTP, HTTPS, and SSH services are enabled or disabled for incoming connections through the given name.
Networks @@ -6587,7 +6605,7 @@ nmcli con modify "" connection.zone internal]]>
SSH over Tor - If in Plinth you have enabled hidden services via Tor, you can access your FreedomBox using ssh over Tor. On a GNU/Linux computer, install netcat-openbsd. + If in Plinth you have enabled onion services via Tor, you can access your FreedomBox using ssh over Tor. On a GNU/Linux computer, install netcat-openbsd. Edit ~/.ssh/config to enable connections over Tor. @@ -6600,7 +6618,7 @@ nmcli con modify "" connection.zone internal]]> Note that in some cases you may need to replace 9050 with 9150. Now to connect to the FreedomBox, open a terminal and type: - Replace USERNAME with, e.g., an admin username, and ADDRESS with the hidden service address for your FreedomBox. + Replace USERNAME with, e.g., an admin username, and ADDRESS with the onion service address for your FreedomBox.
@@ -9939,7 +9957,131 @@ wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw] Release Notes The following are the release notes for each FreedomBox version.
- Freedombox 19.20 (2019-11-04) + FreedomBox 19.22 (2019-12-02) + + + samba: Add new app for Samba file sharing + + + pagekite: Remove tabs in the configuration page + + + openvpn: Fix text with manual link + + + pagekite: Show existing services only if there are any + + + pagekite: Move Custom Services under Configuration + + + pagekite: Use the new app toggle button + + + openvpn: Add client apps + + + backups: Fix title not appearing + + + diagnostics: Don't run on disabled modules + + + apps: Remove link to webapps in app descriptions + + + interface: Fix error with app toggle input + + + templates: Add toolbar for apps + + + toolbar: Move diagnostics button into dropdown menu + + + ssh: Fix Avahi SFTP service file + + + diagnostics: Fix IPv6 failures + + + matrix-synapse: Fix installation of 1.5 from buster-backports + + + app: Fix javascript constant redeclaration error + + + ikiwiki: Move the create button to manage section + + + gitweb: Move create button into manage section + + + networks: Move actions button into connection section + + + users: Move create button into users section + + + locale: Update translations for French, German, and Swedish + + +
+
+ FreedomBox 19.21 (2019-11-18) + + + gitweb: Allow to import from a remote repository + + + interface: Disable turbolinks on links that don't point to /plinth/... + + + backups: Show proper error when SSH server is not reachable + + + tor: Rename "Hidden Service" to "Onion Service" + + + ejabberd: Handle case where domain name is not set + + + tahoe: Mark Tahoe-LAFS as an advanced app + + + searx: Set safe_search to Moderate by default + + + backups: Make verify ssh host page string translatable + + + backups: Simplify SSH fingerprint verification command + + + doc: Fix unavailability of manual images + + + tor: Fix port diagnostics by correcting port data type + + + tor: Expect obfs service to be also available on IPv6 + + + tor: Listen on IPv6 for OrPort + + + clients: implement launch button feature + + + apps: Implement toggle button in apps pages + + + Update translations for German, Hungarian, Swedish, Norwegian Bokmål, French, Polish + + +
+
+ FreedomBox 19.20 (2019-11-04) doc: Add Spanish manual @@ -12331,6 +12473,9 @@ wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw] From code, design and translation to spreading the word and donation, here are a number of ways to contribute to FreedomBox.
Quick Links + + FreedomBox Developer Manual + Progress calls @@ -12354,7 +12499,7 @@ wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw] Contributions needed
Add an Application - If you are a developer and wish to see an application available in FreedomBox, you can contribute by adding the application to FreedomBox. See the FreedomBox Developer Manual. + If you are a developer and wish to see an application available in FreedomBox, you can contribute by adding the application to FreedomBox. See the FreedomBox Developer Manual.
Bugs @@ -12457,513 +12602,7 @@ wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw]
Developer Guide - This manual is meant for developers intending to develop applications for FreedomBox. It provides a step by step tutorial and an API reference. -
- Writing Applications - Tutorial - This tutorial covers writing an application for FreedomBox. FreedomBox is a pure blend of Debian with a web interface, known as Plinth, that configures its applications. We shall discuss various aspects of building an application for FreedomBox, by creating an example application. - There are two parts to writing a FreedomBox application. First is to make sure that the application is available as a Debian package uploaded to the repositories. This is the majority of the work involved. However, if an application is already available in Debian repositories, it is trivial to build a FreedomBox UI for it. The second part of writing an application for FreedomBox is to provide a thin web interface layer for configuring the application. This is done by extending Plinth's user interface to provide visibility to the application and to let the user control its operations in a highly simplified way. This layer is referred to as 'Plinth application'. - Plinth applications can either be distributed as part of Plinth source code by submitting the applications to the Plinth project or they can distributed independently. This tutorial covers writing an application that is meant to be distributed as part of Plinth. However, writing independent Plinth applications is also very similar and most of this tutorial is applicable. - - - Note - - The term application, in this tutorial, is used to mean multiple concepts. FreedomBox application is a combination of Debian package and a web interface layer. The web interface layer is also called a Plinth application which is very similar to and built upon a Django application. - -
- Before we begin - Plinth is a web interface built using Python3 and Django. FreedomBox applications are simply Django applications within the Plinth project. Hence, for the most part, writing a FreedomBox application is all about writing a Django application. - You should start by reading the Django tutorial. All the concepts described there are applicable for how plinth and its applications are be built. -
-
- Picking an application - We must first, of course, pick an application to add to FreedomBox. For the purpose of this tutorial, let us pick Tiny Tiny RSS. The project description reads as, Tiny Tiny RSS is an open source web-based news feed (RSS/Atom) reader and aggregator, designed to allow you to read news from any location, while feeling as close to a real desktop application as possible. - - - Choosing an application - - When choosing an application we must make sure that the application respects users' freedom and privacy. By choosing to use FreedomBox, users have explicitly made a choice to keep the data with themselves, to not provide privacy compromising data to centralized entities and to use Free Software that respects their Software Freedom. These are not properties of some of the applications in FreedomBox but all applications must adhere to these principles. Applications should not even ask the users questions to this effect, because users have already made a choice. - -
-
- Packaging the application - Majority of the effort in creating an application for FreedomBox is to package it for Debian and get it uploaded to Debian repositories. Going through the process of packaging itself is outside the scope of this tutorial. It is, however, well documented elsewhere. You should start here. - Debian packaging might seem like an unnecessary process that takes time with its adherence to standards, review process, legal checks, etc. However, upon close examination, one will find that without these steps the goals of the FreedomBox project cannot be met. Some of the advantages of Debian packaging are listed below: - - - Legal check ensures that proprietary licensed code or code with bad licenses does not inadvertently creep in. - - - Libraries have to be packaged separately easing security handling. When a security vulnerability is identified in a library, just the library will have to be updated and not all the applications that depend on it. - - - Upgrades become smoother. The dependency handling of the packaging system, configuration handling tools, tools to deal with various types of well known files help with ensuring a proper upgrade. - - - Collaborative maintenance teams ensure that the package is well cared for even if you get busy with other work and can't spend time on your package. Following standards and using common infrastructure is critical to enable this development methodology. - - -
-
- Creating the project structure - Create a directory structure as follows with empty files. We will fill them up in a step-by-step manner. - / - | - +- plinth/ - | | - | +- modules/ - | | - | +- ttrss/ - | | - | +- __init__.py - | | - | +- forms.py - | | - | +- urls.py - | | - | +- views.py - | | - | +- templates/ - | | | - | | +- ttrss.html - | | - | +- tests - | | - | +- __init__.py - | - +- actions/ - | | - | +- ttrss - | - +- data/ - | - +- etc/ - | - +- plinth/ - | - +- modules-enabled/ - | - +- ttrss]]> - The __init__.py indicates that the directory in which it is present is a Python module. For now, it is an empty file. - Plinth's setup script setup.py will automatically install the plinth/modules/ttrss directory (along with other files described later) to an appropriate location. If you are creating an application that stays independent and outside of Plinth source tree, then your setup.py script will need to install it a proper location on the system. The plinth/modules/ directory is a Python3 namespace package. So, you can install it with the plinth/modules/ directory structure into any Python path and still be discovered as plinth.modules.*. -
-
- Tell Plinth that we exist - The first thing to do is tell Plinth that our application exists. This is done by writing a small file with the Python import path to our application and placing it in data/etc/plinth/modules-enabled/. Let us create this file ttrss: - - This file is automatically installed to /etc/plinth/modules-enabled/ by Plinth's installation script setup.py. If we are writing a module that resides independently outside the Plinth's source code, the setup script will need to copy it to the target location. Further, it is not necessary for the application to be part of the plinth.modules namespace. It can, for example, be plinth_ttrss. -
-
- Writing the URLs - For a user to visit our application in Plinth, we need to provide a URL. When the user visits this URL, a view is executed and a page is displayed. In urls.py write the following: - - This routes the /apps/ttrss/ URL to a view called index defined in plinth/modules/ttrss/views.py. This is no different than how routing URLs are written in Django. See Django URL dispatcher for more information. -
-
- Adding a menu item - We have added a URL to be handled by our application but this does not yet show up to be a link in Plinth web interface. Let us add a link in the applications list. In __init__.py add the following: - - As soon as Plinth starts, it will load all the enabled modules into memory. After this, it gives a chance to each of the modules to initialize itself by calling the init() method if there is such a method available as <app>.init(). Here we have implemented this method and added our menu item to the applications menu as part of the initialization process. - We wish to add our menu item to the list of applications which is why we have retrieved the applications menu which is available under the main menu. After this we add our own menu item to this menu. There are several parameters during this process that are important: - - - In the first parameter we are providing the display name to use for our application when showing the menu item. - - - In the second parameter we are providing the icon to show for this menu item. This is an icon from the Twitter Bootstrap library. See - the Twitter Bootstrap library documentation for a list of available icons. We can pick an icon from the available list of icons and just mention its glyphicon class as name here. - - - The third parameter is the name of the URL we have created for our application. Note that when including this application's URLs, Plinth will automatically set the name of the module as the Django - URL namespace. Hence it is ttrss:index and not just index. - - - The final parameter is a short description of the application. - - - We have used the application menu item to insert our own menu item as a child. To be able to use the application menu item, we need to make sure that the module providing the application menu is loaded before our application is loaded. We will do that in the next step. -
-
- Specifying module dependencies - Specifying a simple list of applications to be loaded before our application provided to Plinth is sufficient. Add this in __init__.py. - - Plinth will now make sure that the apps module is loaded before our module is loaded. Application initialization is also ensured to happen in this order. We can safely use any features of this module knowing that they have been initialized. - - - Circular dependencies - - Circular dependencies are not possible among Plinth applications. Attempting to add them will result in error during startup. - -
-
- Writing the enable/disable form - We wish to provide a user interface to the user to enable and disable the application. Complex modules may require more options but this is sufficient for our application. Add the following forms.py. - - This creates a Django form that shows a single option to enable/disable the application. It also shows its current state. This is how a regular Django form is built. See Django Forms documentation for more information. - - - Too many options - - Resist the temptation to create a lot of configuration options. Although this will put more control in the hands of the users, it will make FreedomBox less usable. FreedomBox is a consumer product. Our target users are not technically savvy and we have make most of the decisions on behalf of the user to make the interface as simple and easy to use as possible. - -
-
- Writing a view - In views.py, let us add a view that can handle the URL we have provided above. - - This view works with the form we created in the previous step. It shows the current status of the service in form. This status is retrieved with the help of get_status() helper method. When the form is posted, again this view is called and it verifies whether the form's input values are correct. If so, it will apply the actions necessary for changed form values using the _apply_changes() method. -
-
- Getting the current status of the application - The view in the previous setup requires the status of the application to be retrieved using the get_status() method. Let us implement that method in views.py. - - This method retrieves the various statuses of the application for display in the view. Currently, we only need to show whether the application is enabled or disabled. So, we retrieve that using a helper method defined in __init__.py. - - This method uses one of the several action utilities provided by Plinth. This method checks whether a webserver configuration named 50-tt-rss is enabled. -
-
- Displaying the application page - The view that we have written above requires a template file known as ttrss.html to work. This template file controls how the web page for our application is displayed. Let us create this template file in templates/ttrss.html. - News Feed Reader (Tiny Tiny RSS) - -

Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, - designed to allow you to read news from any location, while feeling - as close to a real desktop application as possible.

- -

Configuration

- - - {% csrf_token %} - - {{ form|bootstrap }} - - - - -{% endblock %}]]>
- This template extends an existing template known as base.html. This template is available in Plinth core to provide all the basic layout, styling, menus, JavaScript and CSS libraries. We will override the content area of the base template and keep the rest. - Yet again, there is nothing special about the way this template is written. This is a regular Django template. See Django Template documentation. - For styling and UI components, Plinth uses the Twitter Bootstrap project. See Bootstrap documentation for reference. -
-
- Applying the changes from the form - The view we have created displays the form and processes the form after the user submits it. It used a helper method called _apply_changes() to actually get the work done. Let us implement that method in views.py. - - We check to make sure that we don't try to disable the application when it is already disabled or try to enable the application when it is already enabled. Although Plinth's operations are idempotent, meaning that running them twice will not be problematic, we still wish avoid unnecessary operations for the sake of speed. - We are actually perform the operation using Plinth actions. We will implement the action to be performed a bit later. - After we perform the operation, we will show a message on the response page showing that the action was successful or that nothing happened. We use the Django messaging framework to accomplish this. See Django messaging framework for more information. -
-
- Installing packages required for the application - Plinth takes care of installing all the Debian packages required for our application to work. All we need to do is specify the list of the Debian packages required using a decorator on our view as follows: - - The first time this application's view is accessed, Plinth shows a package installation page and allows the user to install the required packages. After the package installation is completed, the user is shown the application's configuration page. - If there are configuration tasks to be performed immediately before or after the package installation, Plinth provides hooks for it. The before_install= and on_install= parameters to the @package.required decorator take a callback methods that are called before installation of packages and after installation of packages respectively. See the reference section of this manual or the plinth.package module for details. Other modules in Plinth that use this feature provided example usage. -
-
- Writing actions - The actual work of performing the configuration change is carried out by a Plinth action. Actions are independent scripts that run with higher privileges required to perform a task. They are placed in a separate directory and invoked as scripts via sudo. For our application we need to write an action that can enable and disable the web configuration. We will do this by creating a file actions/ttrss. - - This is a simple Python3 program that parses command line arguments. While Python3 is preferred, it can be written in other languages also. It uses a helper utility provided by Plinth to actually enable and disable Apache2 web server configuration. - This script is automatically installed to /usr/share/plinth/actions by Plinth's installation script setup.py. Only from here will there is a possibility of running the script under sudo. If you are writing an application that resides indenpendently of Plinth's source code, your setup.py script will need to take care of copying the file to the target location. -
-
- Creating diagnostics - Plinth provides a simple API for showing diagnostics results. The application has to implement a method for actually running the diagnostics and return the results as a list. Plinth then takes care of calling the diagnostics method and displaying the list in a formatted manner. - To implement the diagnostics method, method called diagnose() has to be available as <app>.diagnose(). It must return a list in which each item is the result of a test performed. The item itself is a two-tuple containing the display name of the test followed by the result as passed, failed or error. - - There are several helpers available to implement some of the common diagnostic tests. For our application we wish to implement a test to check whether the /ttrss URL is accessible. Since this is a commonly performed test, there is a helper method available and we have used it in the above code. The {host} tag replaced with various IP addresses, hostnames and domain names by the helper to produce different kinds of URLs and they are all tested. Results for all tests are returned which we then pass on to Plinth. - The user can trigger the diagnostics test by going to System -> Diagnostics page. This runs diagnostics for all the applications. If we want users to be able to run diagnostics specifically for this application, we can include a button for it in our template immediately after the application description. - -
-
- Logging - Sometimes we may feel the need to write some debug messages to the console and Plinth log file. Doing this in Plinth is just like doing this any other Python application. - - For more information see Python logging framework documentation. -
-
- Adding a License - Plinth is licensed under the GNU Affero General Public License Version 3 or later. FreedomBox UI applications, which run as modules under Plinth, also need to be under the same license or under a compatible license. The license of our application needs to clear for our application to be accepted by users and other developers. Let us add license headers to our application. - . -#]]> - The above header needs to be present in every file of the application. It is suitable for Python files. However, in template files, we need to modify it slightly. - . -# -{% endcomment %} - -...]]> -
-
- Internationalization - Every string message that is visible to the user must be localized to user's native language. For this to happen, our application needs to be internationalized. This requires marking the user visible messages for translation. Plinth applications use the Django's localization methods to make that happen. - - Notice that the page's title is wrapped in the _() method call. Let us do that for the menu item of the application too. - - Notice that in this case, we have used the ugettext_lazy and in the first case we have used the regular ugettext. This is because in the second case the gettext lookup is made once and reused for every user looking at the interface. These users may each have a different language set for their interface. Lookup made for one language should not be used for other users. The _lazy method provided by Django makes sure that the return value is an object that will actually be converted to string at the final moment when the string is being displayed. In the first case, the looked is made and string is returned immediately. - All of this is the usual way internationalization is done in Django. See Django internationalization and localization documentation for more information. -
-
- Coding standards - For readability and easy collaboration it is important to follow common coding standards. Plinth uses the Python coding standards and uses the pylint and flake8 tools to check if the there are any violations. Run these tools on our application and fix any errors and warnings. Better yet, integrate these tools into your favorite IDE for on-the-fly checking. - For the most part, the code we have written so far, is already compliant with the coding standards. This includes variable/method naming, indentation, document strings, comments, etc. One thing we have to add are the module documentation strings. Let us add those. In __init__.py add the top: - -
-
-
- Reference Guide - This section describes Plinth API that is most frequently used by application. Note that since Plinth is under development and has not yet declared a stable API, this API is subject to change. This is not usually a problem because all the Plinth applications currently reside in Plinth source repository itself and are updated when the API is updated. -
- Applications - These methods are optionally provided by the application and Plinth calls/uses them if they are present. -
- <application>.init() - Optional. This method is called by Plinth soon after all the applications are loaded. The init() call order guarantees that other applications that this application depends on will be initialized before this application is initialized. -
-
- <application>.diagnose() - Optional. Called when the user invokes system-wide diagnostics by visiting System -> Diagnositcs. This method must return an array of diagnostic results. Each diagnostic result must be a two-tuple with first element as a string that is shown to the user as name of the test and second element is the result of the test. It must be one of passed, failed, error. Example return value: - -
-
- <appliation>.depends - Optional. This module property must contain a list of all applications that this application depends on. The application is specified as string containing the full module load path. For example, plinth.modules.apps. -
-
- plinth.package.required(package_list, before_install=None, on_install=on_install) - Make sure that a set of Debian packages are installed before a view can be accessed. If the packages are not currently installed on the system, a special installation view is displayed showing the list of packages to be installed. If the user chooses to proceed, package installation will start and an installation progress screen will be shown. After completion of the installation process, the original view is shown. - The package_list must be an iterable containing the Debian package names as strings. If provided, the before_install callable is called just before the installation process starts. Similarly, on_install callable is called just after the package installation completes. -
-
-
- Actions - Plinth's web front does not directly change any aspect of the underlying operating system. Instead, it calls upon Actions, as shell commands. Actions live in /usr/share/plinth/actions directory. They require no interaction beyond passing command line arguments or taking sensitive arguments via stdin. They change the operation of the services and applications of the FreedomBox and nothing else. These actions are also directly usable by a skilled administrator. - The following methods are provided by Plinth to run actions and to implement them easily by reusing code for common tasks. -
- plinth.actions.run(action, options=None, input=None, async=False) - Run an action command present under the actions/ directory. This runs subprocess.Popen() after some checks. The action must be present in the actions/ directory. - options are a list of additional arguments to pass to the command. If input is given it must be bytearray containing the input to pass on to the executed action. If async is set to True, the method will return without waiting for the command to finish. -
-
- plinth.actions.superuser_run(action, options=None, input=None, async=False) - This is same as plinth.actions.run() except the command is run with superuser privelages. -
-
- plinth.action_utils - Several utilities to help with the implementation of actions and diagnostic tests are implemented in this module. Refer to the module source code for a list of these methods and their documentation. -
-
-
- Menus -
- plinth.cfg.main_menu - This is a reference to the global main menu. All menu entries in Plinth are descendents of this menu item. See Menu.add_item() and Menu.add_urlname() for adding items to this menu or its children. -
-
- plinth.menu.Menu.get(self, urlname, url_args=None, url_kwargs=None) - Return a child of this menu item. urlname must be the name of a URL as configured in Django. django.core.urlresolvers.reverse() is called before the lookup for child menu item is performed. url_args and url_kwargs are passed on to reverse(). -
-
- plinth.menu.Menu.add_item(self, label, icon, url, order=50) - Add a menu item as a child to the current menu item. label is the user visible string shown for the menu item. icon must be a glyphicon class from the Twitter Bootstrap library. url is the relative URL to which this menu item will take the user to. -
-
- plinth.menu.Menu.add_urlname(self, label, icon, urlname, order=50, url_args=None, url_kwargs=None) - Same as plinth.menu.Menu.add_item() but instead of URL as input it is the name of a URL as configured in Django. django.core.urlresolvers.reverse() is called before it is added to the parent menu item. url_args and url_kwargs are passed on to reverse(). -
-
-
- Services -
- plinth.service.Service.__init__(self, service_id, name, ports=None, is_external=False, enabled=True) - Create a new Service object to notify all applications about the existence and status of a given application. service_id is a unique identifier for this application. name is a display name of this application that is shown by other applications such as on the firewall status page. ports is a list of names recognized by firewalld when enabling or disabling firewalld services. If is_external is true, the ports for this service are accessible from external interfaces, that is, from the Internet. Otherwise, the service is only available for client connected via LAN. enabled is the current state of the application. -
-
- plinth.service.Service.is_enabled(self) - Return whether the service is currently enabled. -
-
- plinth.service.Service.notify_enabled(self, sender, enabled) - Notify other applications about the change of status of this application. sender object should identify which application made the change. enabled is a boolean that signifies whether the application is enabled (= True) or disabled (= False). - This is typically caught by the firewall application to enable or disable the ports corresponding to an application. -
-
-
+ The FreedomBox Developer Manual provides a step by step tutorial for writing apps for FreedomBox and an API reference. It is available from docs.freedombox.org.
Hacking @@ -13038,7 +12677,7 @@ FreedomBox app to configure Tiny Tiny RSS. - Enabling Tor Hidden Services + Enabling Tor Onion Services diff --git a/doc/manual/es/Apache_userdir.raw.xml b/doc/manual/es/Apache_userdir.raw.xml index d79152c5f..1a417cf00 100644 --- a/doc/manual/es/Apache_userdir.raw.xml +++ b/doc/manual/es/Apache_userdir.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Apache_userdir42019-10-21 14:19:20fioddorCorrección menor32019-10-21 14:17:11fioddorCorrección menor22019-08-29 12:55:24fioddorCorrección menor12019-08-29 12:50:13fioddorSe crea la versión española.
Sitios Web de Usuario (User websites) (userdir)
¿Qué es User websites?User websites es un módulo del servidor web Apache habilitado para permitir a los usuarios definidos en el sistema FreedomBox exponer un conjunto de archivos del sistema de ficheros de FreedomBox como sitio web a la red local y/o a internet de acuerdo a la configuración de la red y el cortafuegos. Datos básicos de la aplicaciónCategoría Compartición de archivos Disponible desde la versión 0.9.4Sitio web del proyecto original Documentación original de usuario
Captura de pantallaAñadir cuando/si se crea un interfaz para Plinth
Usar User websitesEl módulo está siempre activado y no ofrece configuración desde el interfaz web de Plinth. Actualmente ni siquiera muestra que exista. Para servir documentos con el módulo solo se necesita poner los documentos en un subdirectorio designado /home/<un_usuario_de_plinth>/public_html. User websites servirá los documentos que haya en este directorio cuando se reciban peticiones con la URI ~<un_usuario_de_plinth>. Por tanto para un dominio ejemplo.org con un usuario pepe una petición ejemplo.org/~pepe/index.html transferirá el fichero /home/pepe/public_html/index.html.
Usar SFTP para crear public_html y subir archivosPendiente de redactar Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Apache_userdir42019-10-21 14:19:20fioddorCorrección menor32019-10-21 14:17:11fioddorCorrección menor22019-08-29 12:55:24fioddorCorrección menor12019-08-29 12:50:13fioddorSe crea la versión española.
Sitios Web de Usuario (User websites) (userdir)
¿Qué es User websites?User websites es un módulo del servidor web Apache habilitado para permitir a los usuarios definidos en el sistema FreedomBox exponer un conjunto de archivos del sistema de ficheros de FreedomBox como sitio web a la red local y/o a internet de acuerdo a la configuración de la red y el cortafuegos. Datos básicos de la aplicaciónCategoría Compartición de archivos Disponible desde la versión 0.9.4Sitio web del proyecto original Documentación original de usuario
Captura de pantallaAñadir cuando/si se crea un interfaz para Plinth
Usar User websitesEl módulo está siempre activado y no ofrece configuración desde el interfaz web de Plinth. Actualmente ni siquiera muestra que exista. Para servir documentos con el módulo solo se necesita poner los documentos en un subdirectorio designado /home/<un_usuario_de_plinth>/public_html. User websites servirá los documentos que haya en este directorio cuando se reciban peticiones con la URI ~<un_usuario_de_plinth>. Por tanto para un dominio ejemplo.org con un usuario pepe una petición ejemplo.org/~pepe/index.html transferirá el fichero /home/pepe/public_html/index.html.
Usar SFTP para crear public_html y subir archivosPendiente de redactar Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Backups.raw.xml b/doc/manual/es/Backups.raw.xml index da4ad8d64..f98953bb5 100644 --- a/doc/manual/es/Backups.raw.xml +++ b/doc/manual/es/Backups.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Backups12019-06-18 15:14:43fioddorSe crea la versión española.
Copias de respaldo (backups)FreedomBox incluye la posibilidad de copiar y restaurar datos, preferencias, configuración y secretos de la mayoría de las aplicaciones. La funcionalidad de Backups se resuelve con el software de backup Borg. Borg es un programa de backup con deduplicación y compresión. Está diseñado para hacer backups eficientes y seguros. Esta funcionalidad de backups se puede emplear para respaldar y recuperar datos aplicación por aplicación. Las copias de respaldado se pueden almacenar en la propia máquina FreedomBox o en un servidor remoto. Cualquier servidor remoto con acceso por SSH se puede emplear como almacenamiento para los backups de la FreedomBox. Las copias remotas se pueden cifrar para que el servidor remoto no pueda leer los datos que alberga.
Funcionalidad de Estatdos de los Backups App/Funcionalidad Soporte en Versión Notas Avahi - no precisa backup Backups - no precisa backup Bind 0.41 Cockpit - no precisa backup Coquelicot 0.40 incluye ficheros subidos Datetime 0.41 Deluge 0.41 no incluye archivos descargados ni semillas Diagnostics - no precisa backup Dynamic DNS 0.39 ejabberd 0.39 incluye todos los datos y configuración Firewall - no precisa backup ikiwiki 0.39 incluye todos los wikis/blogs y sus contenidos infinoted 0.39 incluye todos los datos y claves JSXC - no precisa backup Let's Encrypt 0.42 Matrix Synapse 0.39 incluye media y cargas MediaWiki 0.39 incluye páginas de wiki y archivos adjuntos Minetest 0.39 MLDonkey 19.0 Monkeysphere 0.42 Mumble 0.40 Names - no precisa backup Networks No sin planes para implementar backup, de momento OpenVPN 0.48 incluye a todos los usuarios y claves de servidor Pagekite 0.40 Power - no precisa backup Privoxy - no precisa backup Quassel 0.40 incluye usuarios y registros de ejeución (logs) Radicale 0.39 incluye calendario y datos de tarjetas de todos los usuarios repro 0.39 incluye a todos los usuarios, datos y claves Roundcube - no precisa backup SearX - no precisa backup Secure Shell (SSH) Server 0.41 incluye las claves del servidor Security 0.41 Shadowsocks 0.40 solo secretos Sharing 0.40 no incluye datos de las carpetas compartidas Snapshot 0.41 solo configuración, no incluye datos de capturas (snapshots) Storage - no precisa backup Syncthing 0.48 no incluye datos de las carpetas compartidas Tahoe-LAFS 0.42 incluye todos los datos y configuración Tiny Tiny RSS 19.2 incluye base de datos con feeds, historias, etc. Tor 0.42 includes configuración y secretos como las claves de servicios ocultos Transmission 0.40 no incluye archivos descargados ni semillas Upgrades 0.42 Users No sin planes para implementar backup, de momento
Cómo instalar y usar BackupsPaso 1 Backups: Paso 1 Paso 2 Backups: Paso 2 Paso 3 Backups: Paso 3 Paso 4 Backups: Paso 4 Paso 5 Backups: Paso 5 Paso 6 Backups: Paso 6 Paso 7 Backups: Paso 7 Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Backups22019-11-14 18:14:48fioddorSe alinea con la versión 31 en inglés del 11 de noviembre de 201912019-06-18 15:14:43fioddorSe crea la versión española.
Copias de respaldo (backups)FreedomBox incluye la posibilidad de copiar y restaurar datos, preferencias, configuración y secretos de la mayoría de las aplicaciones. La funcionalidad de Backups se resuelve con el software de backup Borg. Borg es un programa de backup con deduplicación y compresión. Está diseñado para hacer backups eficientes y seguros. Esta funcionalidad de backups se puede emplear para respaldar y recuperar datos aplicación por aplicación. Las copias de respaldado se pueden almacenar en la propia máquina FreedomBox o en un servidor remoto. Cualquier servidor remoto con acceso por SSH se puede emplear como almacenamiento para los backups de la FreedomBox. Las copias remotas se pueden cifrar para que el servidor remoto no pueda leer los datos que alberga.
Funcionalidad de Estatdos de los Backups App/Funcionalidad Soporte en Versión Notas Avahi - no precisa backup Backups - no precisa backup Bind 0.41 Cockpit - no precisa backup Coquelicot 0.40 incluye ficheros subidos Datetime 0.41 Deluge 0.41 no incluye archivos descargados ni semillas Diagnostics - no precisa backup Dynamic DNS 0.39 ejabberd 0.39 incluye todos los datos y configuración Firewall - no precisa backup ikiwiki 0.39 incluye todos los wikis/blogs y sus contenidos infinoted 0.39 incluye todos los datos y claves JSXC - no precisa backup Let's Encrypt 0.42 Matrix Synapse 0.39 incluye media y cargas MediaWiki 0.39 incluye páginas de wiki y archivos adjuntos Minetest 0.39 MLDonkey 19.0 Monkeysphere 0.42 Mumble 0.40 Names - no precisa backup Networks No sin planes para implementar backup, de momento OpenVPN 0.48 incluye a todos los usuarios y claves de servidor Pagekite 0.40 Power - no precisa backup Privoxy - no precisa backup Quassel 0.40 incluye usuarios y registros de ejeución (logs) Radicale 0.39 incluye calendario y datos de tarjetas de todos los usuarios repro 0.39 incluye a todos los usuarios, datos y claves Roundcube - no precisa backup SearX - no precisa backup Secure Shell (SSH) Server 0.41 incluye las claves del servidor Security 0.41 Shadowsocks 0.40 solo secretos Sharing 0.40 no incluye datos de las carpetas compartidas Snapshot 0.41 solo configuración, no incluye datos de capturas (snapshots) Storage - no precisa backup Syncthing 0.48 no incluye datos de las carpetas compartidas Tahoe-LAFS 0.42 incluye todos los datos y configuración Tiny Tiny RSS 19.2 incluye base de datos con feeds, historias, etc. Tor 0.42 includes configuración y secretos como las claves de servicios Tor Onion Transmission 0.40 no incluye archivos descargados ni semillas Upgrades 0.42 Users No sin planes para implementar backup, de momento
Cómo instalar y usar BackupsPaso 1 Backups: Paso 1 Paso 2 Backups: Paso 2 Paso 3 Backups: Paso 3 Paso 4 Backups: Paso 4 Paso 5 Backups: Paso 5 Paso 6 Backups: Paso 6 Paso 7 Backups: Paso 7 Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Cockpit.raw.xml b/doc/manual/es/Cockpit.raw.xml index c89efd5d1..3d539424a 100644 --- a/doc/manual/es/Cockpit.raw.xml +++ b/doc/manual/es/Cockpit.raw.xml @@ -2,6 +2,6 @@ -
es/FreedomBox/Manual/Cockpit52019-08-28 07:46:04fioddorTítulo explicativo y el nombre de la app entre paréntesis como aclaración adicional42019-08-22 11:10:28fioddorSe actualiza a la versión inglesa 4 del 20 de agosto de 2019.32019-07-22 17:57:58fioddorSe incorpora la traducción de una sección nueva.22019-07-01 12:32:35fioddorClaridad.12019-07-01 09:47:44fioddorSe crea la versión española.
Administración de Servidor (Cockpit)Cockpit es una aplicación que facilita administrar servidores GNU/Linux desde el navegador web. En una FreedomBox, hay disponibles controles para muchas funciones avanzadas que normalmente no se necesitan. También hay disponible un terminal web para operaciones de consola. Cualquier usuario del grupo de administradores de to FreedomBox puede acceder a Cockpit. Cockpit solo se puede usar si tienes una configuración de nombre de dominio apropiada para tu FreedomBox y usas ese nombre de dominio para acceder a Cockpit. Para más información mira la sección de Resolución de Problemas. Usa cockpit sólo si eres un administrador de sistemas GNU/Linux con habilidades avanzadas. FreedomBox intenta coexistir con los cambios al sistema que efectúan los administradores y sus herramientas, como Cockpit. Sin embargo, los cambios al sistema inadecuados pueden causar fallos en las funciones de FreedomBox.
Usar CockpitInstala Cockpit como cualquier otra aplicación de FreedomBox. Y a continuación asegúrate de que Cockpit está habilitado. cockpit-enable.png Asegúrate de que la cuenta de usuario de FreedomBox que se empleará con Cockpit es parte del grupo de administradores. cockpit-admin-user.png Arranca el interfaz web de Cockpit. Ingresa con la cuenta de usuario configurada. cockpit-login.png Empieza a usar cockpit. cockpit-system.png Cockpit también funciona con interfaces mobiles. cockpit-mobile.png
FuncionalidadesLas siguientes funcionalidades de Cockpit pueden ser útiles para usuarios avanzados de FreedomBox.
Cuadro de Mando del SistemaCockpit tiene un cuadro de mando del sistema que Muestra información detallada del hardware. Muestra métricas básicas de rendimiento del sistema. Permite cambiar la hora y el huso del sistema. Permite cambiar el hostname. Por favor usa el interfaz de usuario de FreedomBox UI para hacer esto. Muestra las huellas del servidor SSH. cockpit-system.png
Visualización de los Registros de Ejecución (logs) del SistemaCockpit permite consultar los registros de ejecución (logs) del sistema y examinarlos a todo detalle. cockpit-logs.png
Administración de AlmacenamientoCockpit permite las siguientes funciones avanzadas de almacenamiento: Visualización de llenado de discos. Edición de particiones de disco. Administración de RAID. cockpit-storage1.png cockpit-storage2.png
RedesTanto Cockpit como FreedomBox se apoyan en NetworkManager para configurar la red. No obstante, Cockpit ofrece alguna configuración avanzada no disponible en FreedomBox: Configuración de rutas. Configuración de enlaces, puentes y VLANs. cockpit-network1.png cockpit-network2.png cockpit-network3.png
ServiciosCockpit permite agendar servicios y tareas periódicas (como cron). cockpit-services1.png cockpit-services2.png
Terminal WebCockpit ofrece un terminal web que se puede usar para ejecutar tareas manuales de administración del sistema. cockpit-terminal.png
Resolución de ProblemasCockpit require un nombre de dominio adecuadamente configurado en tu FreedomBox y solo funcionará cuando accedas a él mediante una URL con ese nombre de dominio. Cockpit no funcionará con una dirección IP en la URL. Tampoco con freedombox.local como nombre de dominio. Por ejemplo, las URLs siguientes no funcionarán: A partir de la versión 19.15 funciona el dominio .local. Puedes acceder a Cockpit mediante la URL . El dominio .local se basa en tu hostname. Si tu hostname es mifb tu nombre de dominio .local será mifb.local y la URL de Cockpit será . Para acceder apropiadamente a Cockpit, usa el nombre de dominio configurado en tu FreedomBox. Cockpit también funcionará cuando se use un Servicio Oculto Tor. Las siguientes URLs funcionarán: La razón para este comportamiento es que Cockpit emplea WebSockets para conectar con el servidor de backend. Por seguridad se deben evitar las peticiones a WebSockets con servidores cruzados. Para implementar esto Cockpit maintiene una lista de todos los dominios desde los que se admiten peticiones. FreedomBox configura automaticamente esta lista cuando añades o borras un dominio. Sin embargo, como no podemos fiarnos de las direcciones IP, FreedomBox no las añade a esta lista. Puedes mirar la lista actual de dominios aceptados administrada por FreedomBox en /etc/cockpit/cockpit.conf. Puedes editarla pero hazlo solo si comprendes sus consecuencias para la seguridad web. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Cockpit72019-11-14 18:06:47fioddorSe alinea con la versión 06 en inglés del 14 de noviembre de 201962019-11-14 18:01:18fioddorSe alinea con la versión 05 en inglés del 11 de noviembre de 201952019-08-28 07:46:04fioddorTítulo explicativo y el nombre de la app entre paréntesis como aclaración adicional42019-08-22 11:10:28fioddorSe actualiza a la versión inglesa 4 del 20 de agosto de 2019.32019-07-22 17:57:58fioddorSe incorpora la traducción de una sección nueva.22019-07-01 12:32:35fioddorClaridad.12019-07-01 09:47:44fioddorSe crea la versión española.
Administración de Servidor (Cockpit)Cockpit es una aplicación que facilita administrar servidores GNU/Linux desde el navegador web. En una FreedomBox, hay disponibles controles para muchas funciones avanzadas que normalmente no se necesitan. También hay disponible un terminal web para operaciones de consola. Cualquier usuario del grupo de administradores de to FreedomBox puede acceder a Cockpit. Cockpit solo se puede usar si tienes una configuración de nombre de dominio apropiada para tu FreedomBox y usas ese nombre de dominio para acceder a Cockpit. Para más información mira la sección de Resolución de Problemas. Usa cockpit sólo si eres un administrador de sistemas GNU/Linux con habilidades avanzadas. FreedomBox intenta coexistir con los cambios al sistema que efectúan los administradores y sus herramientas, como Cockpit. Sin embargo, los cambios al sistema inadecuados pueden causar fallos en las funciones de FreedomBox.
Usar CockpitInstala Cockpit como cualquier otra aplicación de FreedomBox. Y a continuación asegúrate de que Cockpit está habilitado. cockpit-enable.png Asegúrate de que la cuenta de usuario de FreedomBox que se empleará con Cockpit es parte del grupo de administradores. cockpit-admin-user.png Arranca el interfaz web de Cockpit. Ingresa con la cuenta de usuario configurada. cockpit-login.png Empieza a usar cockpit. cockpit-system.png Cockpit también funciona con interfaces mobiles. cockpit-mobile.png
FuncionalidadesLas siguientes funcionalidades de Cockpit pueden ser útiles para usuarios avanzados de FreedomBox.
Cuadro de Mando del SistemaCockpit tiene un cuadro de mando del sistema que Muestra información detallada del hardware. Muestra métricas básicas de rendimiento del sistema. Permite cambiar la hora y el huso del sistema. Permite cambiar el hostname. Por favor usa el interfaz de usuario de FreedomBox UI para hacer esto. Muestra las huellas del servidor SSH. cockpit-system.png
Visualización de los Registros de Ejecución (logs) del SistemaCockpit permite consultar los registros de ejecución (logs) del sistema y examinarlos a todo detalle. cockpit-logs.png
Administración de AlmacenamientoCockpit permite las siguientes funciones avanzadas de almacenamiento: Visualización de llenado de discos. Edición de particiones de disco. Administración de RAID. cockpit-storage1.png cockpit-storage2.png
RedesTanto Cockpit como FreedomBox se apoyan en NetworkManager para configurar la red. No obstante, Cockpit ofrece alguna configuración avanzada no disponible en FreedomBox: Configuración de rutas. Configuración de enlaces, puentes y VLANs. cockpit-network1.png cockpit-network2.png cockpit-network3.png
ServiciosCockpit permite agendar servicios y tareas periódicas (como cron). cockpit-services1.png cockpit-services2.png
Terminal WebCockpit ofrece un terminal web que se puede usar para ejecutar tareas manuales de administración del sistema. cockpit-terminal.png
Resolución de ProblemasCockpit require un nombre de dominio adecuadamente configurado en tu FreedomBox y solo funcionará cuando accedas a él mediante una URL con ese nombre de dominio. Cockpit no funcionará con una dirección IP en la URL. Tampoco con freedombox.local como nombre de dominio. Por ejemplo, las URLs siguientes no funcionarán: A partir de la versión 19.15 funciona el dominio .local. Puedes acceder a Cockpit mediante la URL . El dominio .local se basa en tu hostname. Si tu hostname es mifb tu nombre de dominio .local será mifb.local y la URL de Cockpit será . Para acceder apropiadamente a Cockpit, usa el nombre de dominio configurado en tu FreedomBox. Cockpit también funcionará cuando se use un Servicio Tor Onion. Las siguientes URLs funcionarán: La razón para este comportamiento es que Cockpit emplea WebSockets para conectar con el servidor de backend. Por seguridad se deben evitar las peticiones a WebSockets con servidores cruzados. Para implementar esto Cockpit maintiene una lista de todos los dominios desde los que se admiten peticiones. FreedomBox configura automaticamente esta lista cuando añades o borras un dominio. Sin embargo, como no podemos fiarnos de las direcciones IP, FreedomBox no las añade a esta lista. Puedes mirar la lista actual de dominios aceptados administrada por FreedomBox en /etc/cockpit/cockpit.conf. Puedes editarla pero hazlo solo si comprendes sus consecuencias para la seguridad web. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Configure.raw.xml b/doc/manual/es/Configure.raw.xml index 24b2104f5..29eae4655 100644 --- a/doc/manual/es/Configure.raw.xml +++ b/doc/manual/es/Configure.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Configure22019-06-18 15:50:11fioddorCorrección menor12019-06-18 15:46:38fioddorSe crea la versión española.
ConfigurarConfigurar tiene algunas opciones generales de configuración:
HostnameHostname es el nombre local por el que otros dispositivos pueden alcanzar tu FreedomBox desde la red local. El hostname por defecto es freedombox.
Nombre de DominioEl Nombre de Dominio es el nombre global por el que otros dispositivos pueden alcanzar tu FreedomBox desde la Internet. El valor que se asigne aquí es el que usarán Chat Server (XMPP), Matrix Synapse, Certificates (Let's Encrypt), y Monkeysphere.
Página Principal (home) del Servidor WebEsta es una opción avanzada que te permite establecer como home algo diferente al servicio FreedomBox (Plinth) para que se sirva a quien acceda con el navegador al nombre de dominio de FreedomBox. Por ejemplo, si el nombre de dominio de tu FreedomBox es y estableces a MediaWiki como home, al visitar te llevará a en vez de a . Puedes asignar la home a cualquier aplicación web, los wikis y blogs de Ikiwiki o la página index.html por defecto de Apache. Una vez asignada como home otra aplicación, ya solo puedes navegar al servicio FreedomBox (Plinth) tecleando en el navegador . /freedombox también se puede usar como alias para /plinth Consejo: Guarda la URL del servicio FreedomBox (Plinth) antes de asignar la home a otra app. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Configure22019-06-18 15:50:11fioddorCorrección menor12019-06-18 15:46:38fioddorSe crea la versión española.
ConfigurarConfigurar tiene algunas opciones generales de configuración:
HostnameHostname es el nombre local por el que otros dispositivos pueden alcanzar tu FreedomBox desde la red local. El hostname por defecto es freedombox.
Nombre de DominioEl Nombre de Dominio es el nombre global por el que otros dispositivos pueden alcanzar tu FreedomBox desde la Internet. El valor que se asigne aquí es el que usarán Chat Server (XMPP), Matrix Synapse, Certificates (Let's Encrypt), y Monkeysphere.
Página Principal (home) del Servidor WebEsta es una opción avanzada que te permite establecer como home algo diferente al servicio FreedomBox (Plinth) para que se sirva a quien acceda con el navegador al nombre de dominio de FreedomBox. Por ejemplo, si el nombre de dominio de tu FreedomBox es y estableces a MediaWiki como home, al visitar te llevará a en vez de a . Puedes asignar la home a cualquier aplicación web, los wikis y blogs de Ikiwiki o la página index.html por defecto de Apache. Una vez asignada como home otra aplicación, ya solo puedes navegar al servicio FreedomBox (Plinth) tecleando en el navegador . /freedombox también se puede usar como alias para /plinth Consejo: Guarda la URL del servicio FreedomBox (Plinth) antes de asignar la home a otra app. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Coquelicot.raw.xml b/doc/manual/es/Coquelicot.raw.xml index 80c23e729..bb8bc662c 100644 --- a/doc/manual/es/Coquelicot.raw.xml +++ b/doc/manual/es/Coquelicot.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Coquelicot22019-09-11 10:34:42fioddorCorrecciones menores.12019-09-11 10:27:55fioddorSe crea la versión española.
Compartición de Archivos (Coquelicot)
Acerca de CoquelicotCoquelicot es aplicación web para compartir archivos enfocada a proteger la privacidad de sus usuarios. El principio básico es simple: los usuarios pueden subir un archivo al servidor y a cambio reciben una URL única para descargarlo que se puede compartir con terceros. Además se puede establecer una contraseña para reforzar el acceso. Más información acerca de Coquelicot en su LEEME Disponible desde: versión 0.24.0
Cuando usar CoquelicotEl mejor uso de Coquelicot es para compartir rápidamente un archivo suelto. Si quieres compartir una carpeta... ...para usar y tirar, comprime la carpeta y compartela como archivo con Coquelicot ...que deba mantenerse sincronizada entre ordenadores usa mejor Syncthing Coquelicot también puede proporcionar un grado de privacidad razonable. Si se necesita anonimato mejor sopesas emplear la aplicación de escritorio Onionshare. Como Coquelicot carga todo el archivo al servidor tu FreedomBox consumirá ancho de banda tanto para la subida como para la descarga. Para archivos muy grandes sopesa compartirlos creando un fichero BitTorrent privado. Si se necesita anonimato usa Onionshare. Es P2P y no necesita servidor.
Coquelicot en FreedomBoxCon Coquelicot instalado puedes subir archivos a tu servidor FreedomBox y compartirlos en privado. Tras la instalación la página de Coquelicot ofrece 2 preferencias. Contraseña de Subida: Actualmente y por facilidad de uso Coquelicot está configurado en FreedomBox para usar autenticación simple por contraseña. Recuerda que se trata de una contraseña global para esta instancia de Coquelicot y no tu contraseña de usuario para FreedomBox. Tienes que acordarte de esta contraseña. Puedes establecer otra en cualquier momento desde el interfaz Plinth. Tamaño Máximo de Archivo: Puedes alterar el tamaño máximo de los archivos a transferir mediante Coquelicot usando esta preferencia. El tamaño se expresa en Mebibytes y el máximo solo está limitado por el espacio en disco de tu FreedomBox.
PrivacidadAlguien que monitorice tu tráfico de red podría averiguar que se está transfiriendo un archivo en tu FreedomBox y posiblemente también su tamaño pero no sabrá su nombre. Coquelicot cifra los archivos en el servidor y sobrescribe los contenidos con 0s al borrarlos, eliminando el riesgo de que se desvelen los contenidos del fichero si tu FreedomBox resultara confiscada o robada. El riesgo real que hay que mitigar es que además del destinatario legítimo un tercero también descargue tu fichero.
Compartir mediante mensajería instantáneaAlgunas aplicaciones de mensajería instantánea con vista previa de sitios web podrían descargar tu fichero para mostrarla (su vista previa) en la conversación. Si configuras la opción de descarga única para un archivo podrías notar que la aplicación de mensajería consume la única descarga. Si compartes mediante estas aplicaciones usa una contraseña de descarga en combinación con la opción de descarga única.
Compartir en privado enlaces de descargaSe recomienda compartir las contraseñas y los enlaces de descarga de tus archivos por canales cifrados. Puedes evitar todos los problemas anteriores con las vistas previas de la mensajería instantánea símplemente empleando aplicaciones de mensajería que soporten conversaciones cifradas como Riot con Matrix Synapse o XMPP (servidor ejabberd en FreedomBox) con clientes que soporten cifrado punto a punto. Envía la contraseña y el enlace de descarga separados en 2 mensajes distintos (ayuda que tu aplicación de mensajería soporte perfect forward secrecy como XMPP con OTR). También puedes compartir tus enlaces por correo electrónico cifrado con PGP usando Thunderbird. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Coquelicot22019-09-11 10:34:42fioddorCorrecciones menores.12019-09-11 10:27:55fioddorSe crea la versión española.
Compartición de Archivos (Coquelicot)
Acerca de CoquelicotCoquelicot es aplicación web para compartir archivos enfocada a proteger la privacidad de sus usuarios. El principio básico es simple: los usuarios pueden subir un archivo al servidor y a cambio reciben una URL única para descargarlo que se puede compartir con terceros. Además se puede establecer una contraseña para reforzar el acceso. Más información acerca de Coquelicot en su LEEME Disponible desde: versión 0.24.0
Cuando usar CoquelicotEl mejor uso de Coquelicot es para compartir rápidamente un archivo suelto. Si quieres compartir una carpeta... ...para usar y tirar, comprime la carpeta y compartela como archivo con Coquelicot ...que deba mantenerse sincronizada entre ordenadores usa mejor Syncthing Coquelicot también puede proporcionar un grado de privacidad razonable. Si se necesita anonimato mejor sopesas emplear la aplicación de escritorio Onionshare. Como Coquelicot carga todo el archivo al servidor tu FreedomBox consumirá ancho de banda tanto para la subida como para la descarga. Para archivos muy grandes sopesa compartirlos creando un fichero BitTorrent privado. Si se necesita anonimato usa Onionshare. Es P2P y no necesita servidor.
Coquelicot en FreedomBoxCon Coquelicot instalado puedes subir archivos a tu servidor FreedomBox y compartirlos en privado. Tras la instalación la página de Coquelicot ofrece 2 preferencias. Contraseña de Subida: Actualmente y por facilidad de uso Coquelicot está configurado en FreedomBox para usar autenticación simple por contraseña. Recuerda que se trata de una contraseña global para esta instancia de Coquelicot y no tu contraseña de usuario para FreedomBox. Tienes que acordarte de esta contraseña. Puedes establecer otra en cualquier momento desde el interfaz Plinth. Tamaño Máximo de Archivo: Puedes alterar el tamaño máximo de los archivos a transferir mediante Coquelicot usando esta preferencia. El tamaño se expresa en Mebibytes y el máximo solo está limitado por el espacio en disco de tu FreedomBox.
PrivacidadAlguien que monitorice tu tráfico de red podría averiguar que se está transfiriendo un archivo en tu FreedomBox y posiblemente también su tamaño pero no sabrá su nombre. Coquelicot cifra los archivos en el servidor y sobrescribe los contenidos con 0s al borrarlos, eliminando el riesgo de que se desvelen los contenidos del fichero si tu FreedomBox resultara confiscada o robada. El riesgo real que hay que mitigar es que además del destinatario legítimo un tercero también descargue tu fichero.
Compartir mediante mensajería instantáneaAlgunas aplicaciones de mensajería instantánea con vista previa de sitios web podrían descargar tu fichero para mostrarla (su vista previa) en la conversación. Si configuras la opción de descarga única para un archivo podrías notar que la aplicación de mensajería consume la única descarga. Si compartes mediante estas aplicaciones usa una contraseña de descarga en combinación con la opción de descarga única.
Compartir en privado enlaces de descargaSe recomienda compartir las contraseñas y los enlaces de descarga de tus archivos por canales cifrados. Puedes evitar todos los problemas anteriores con las vistas previas de la mensajería instantánea símplemente empleando aplicaciones de mensajería que soporten conversaciones cifradas como Riot con Matrix Synapse o XMPP (servidor ejabberd en FreedomBox) con clientes que soporten cifrado punto a punto. Envía la contraseña y el enlace de descarga separados en 2 mensajes distintos (ayuda que tu aplicación de mensajería soporte perfect forward secrecy como XMPP con OTR). También puedes compartir tus enlaces por correo electrónico cifrado con PGP usando Thunderbird. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/DateTime.raw.xml b/doc/manual/es/DateTime.raw.xml index 7d02aa739..c5f313077 100644 --- a/doc/manual/es/DateTime.raw.xml +++ b/doc/manual/es/DateTime.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/DateTime12019-06-19 10:26:32fioddorSe crea la versión española.
Fecha y horaEste servidor de hora de red es un programa que mantiene el tiempo del sistema sincronizado con servidores de Internet. Puedes seleccionar el huso horario escogiendo una capital cercana (están ordenadas por Continente/Ciudad) o seleccionando directamente el huso en relación a GMT (Greenwich Mean Time). DateTime.png Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/DateTime12019-06-19 10:26:32fioddorSe crea la versión española.
Fecha y horaEste servidor de hora de red es un programa que mantiene el tiempo del sistema sincronizado con servidores de Internet. Puedes seleccionar el huso horario escogiendo una capital cercana (están ordenadas por Continente/Ciudad) o seleccionando directamente el huso en relación a GMT (Greenwich Mean Time). DateTime.png Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Deluge.raw.xml b/doc/manual/es/Deluge.raw.xml index 1ce4e00af..8b94c27e5 100644 --- a/doc/manual/es/Deluge.raw.xml +++ b/doc/manual/es/Deluge.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Deluge22019-09-04 09:35:32fioddorCorrección menor12019-09-04 09:33:21fioddorSe crea la versión española.
BitTorrent (Deluge)
¿Qué es Deluge?BitTorrent es un protocolo de comunicaciones para compartir ficheros entre pares (P2P = peer-to-peer). No es anónimo; debes asumir que otros puedan ver qué ficheros estás comprtiendo. Hay 2 clientes web para BitTorrent disponibles en FreedomBox: Transmission y Deluge. Tienen funcionalidades similares pero quizá prefieras uno sobre otro. Deluge es un cliente BitTorrent altamente configurable. Se puede añadir funcionalidad adicional instalando extensiones (plugins).
Captura de pantallaDeluge Web UI
Configuración InicialTras instalar Deluge se puede acceder apuntando tu navegador a https://<tu freedombox>/deluge. Necesitarás introducir una contraseña para ingresar: Deluge Login La contraseña inicial es deluge. La primera vez que ingreses Deluge te preguntará si quieres cambiarla. Debes cambiarla por algo más dificil de adivinar. A continuación se te mostrará el administrador de conexiones. Haz clic sobre la primera entrada (Offline - 127.0.0.1:58846). Luego pulsa "Arrancar el Demonio" para que arranque el servicio Deluge service que se ejecutará en segundo plano. Deluge Connection Manager (Offline) Ahora debería poner "Online". Haz clic en "Conectar" para completar la configuración. Deluge Connection Manager (Online) En este punto ya estás usando Deluge. Puedes hacer más cambios en las Preferencias o añadir un fichero o una URL de torrent. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Deluge22019-09-04 09:35:32fioddorCorrección menor12019-09-04 09:33:21fioddorSe crea la versión española.
BitTorrent (Deluge)
¿Qué es Deluge?BitTorrent es un protocolo de comunicaciones para compartir ficheros entre pares (P2P = peer-to-peer). No es anónimo; debes asumir que otros puedan ver qué ficheros estás comprtiendo. Hay 2 clientes web para BitTorrent disponibles en FreedomBox: Transmission y Deluge. Tienen funcionalidades similares pero quizá prefieras uno sobre otro. Deluge es un cliente BitTorrent altamente configurable. Se puede añadir funcionalidad adicional instalando extensiones (plugins).
Captura de pantallaDeluge Web UI
Configuración InicialTras instalar Deluge se puede acceder apuntando tu navegador a https://<tu freedombox>/deluge. Necesitarás introducir una contraseña para ingresar: Deluge Login La contraseña inicial es deluge. La primera vez que ingreses Deluge te preguntará si quieres cambiarla. Debes cambiarla por algo más dificil de adivinar. A continuación se te mostrará el administrador de conexiones. Haz clic sobre la primera entrada (Offline - 127.0.0.1:58846). Luego pulsa "Arrancar el Demonio" para que arranque el servicio Deluge service que se ejecutará en segundo plano. Deluge Connection Manager (Offline) Ahora debería poner "Online". Haz clic en "Conectar" para completar la configuración. Deluge Connection Manager (Online) En este punto ya estás usando Deluge. Puedes hacer más cambios en las Preferencias o añadir un fichero o una URL de torrent. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Diagnostics.raw.xml b/doc/manual/es/Diagnostics.raw.xml index 40c5c2813..faf4c622e 100644 --- a/doc/manual/es/Diagnostics.raw.xml +++ b/doc/manual/es/Diagnostics.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Diagnostics12019-06-19 10:39:40fioddorSe crea la versión española.
DiagnósticosLa prueba de diagnóstico del sistema ejecutará varias verificaciones sobre tu sistema para confirmar que las aplicaciones y servicios están funcionando como se espera. Sólo haz clic Ejecutar Diagnósticos. Esto puede llevar varios minutos. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Diagnostics12019-06-19 10:39:40fioddorSe crea la versión española.
DiagnósticosLa prueba de diagnóstico del sistema ejecutará varias verificaciones sobre tu sistema para confirmar que las aplicaciones y servicios están funcionando como se espera. Sólo haz clic Ejecutar Diagnósticos. Esto puede llevar varios minutos. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/DynamicDNS.raw.xml b/doc/manual/es/DynamicDNS.raw.xml index e842de929..a768f8ffd 100644 --- a/doc/manual/es/DynamicDNS.raw.xml +++ b/doc/manual/es/DynamicDNS.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/DynamicDNS52019-08-20 10:59:21fioddorSe incorpora la traducción de una sección nueva.42019-08-20 10:52:54fioddorSe incorpora la traducción de una sección nueva.32019-08-20 10:35:42fioddorSe incorpora la traducción de una sección nueva.22019-08-20 10:26:28fioddorSe incorpora la traducción de una sección nueva.12019-08-20 10:15:28fioddorSe crea la versión española (traducción incompleta).
Cliente de DNS Dinamico
¿Qué es DNS Dinamico?Para que se pueda llegar a un servidor desde Internet este necesita tener una dirección pública permanente, también conocida como dirección IP estática o fija. Muchos proveedores de servicio de Internet no otorgan IP fija a sus usuarios normales o la cobran. En su lugar les otorgan una IP temporal diferente cada vez que el usuario se conecta a internet. O una que cambia de vez en cuando. Si es tu caso los clientes que quieran contactar con tu servidor tendrán dificultades. Los proveedores de servicio de DNS Dinamico ayudan a solventar este problema. Primero te dan un nombre de dominio, como 'miservidor.ejemplo.org' y te permiten asociar tu dirección IP temporal a este nombre de dominio cada vez que esta cambia. De este modo quien quiera llegar a tu servidor empleará el nombre de dominio 'miservidor.ejemplo.org' que siempre apuntará a la última dirección IP de tu servidor. Para que esto funcione cada vez que te conectes a Internet tendrás que decirle a tu proveedor de servicio de DNS Dinamico cual es tu dirección IP provisional actual. Por esto necesitas tener un software especial en tu servidor que haga esto. La funcionalidad DNS Dinamico de tu FreedomBox permite a los usuarios sin dirección IP pública fija mantener su dirección IP pública temporal actualizada en el servicio de DNS Dinamico. Esto te permite exponer servicios de tu FreedomBox, como ownCloud, a Internet.
GnuDIP vs. Update URLEisten 2 mecanismos principales para notificar al the servicio de DNS Dinamico cual es tu dirección IP provisional actual: empleando el protocolo GnuDIP o empleando el mecanismo URL de actualización. Si un servicio expuesto usando URL de actualización no se securiza apropiadamente mediante HTTPS, tus credenciales podrían quedar expuestas. Una vez que un atacante accede a tus credenciales podrá reproducir tus comunicaciones con el servicio de DNS Dinamico y suplantar tu dominio. Por otra parte el protocolo GnuDIP solo transportará un valor MD5 salpimentado de tu contraseña de tal forma que es seguro contra ataques de este tipo.
Emplear el protocolo GnuDIPRegistra una cuenta en cualquier proveedor de servicio de DNS Dinamico. Hay un servicio gratuito provisto por la comunidad FreedomBox disponible en . Habilita el Servicio de DNS Dinamico en el interfaz de usuario de FreedomBox. Selecciona GnuDIP como tipo de servicio, introduce la dirección de tu proveedor de servicio de DNS Dinamico (por ejemplo, gnudip.datasystems24.net) en el campo Dirección del servidor GnuDIP. Dynamic DNS Settings Completa la información que te ha dado tu proveedor en los campos correspondientes Nombre de Dominio, Usuario y Contraseña.
Emplear URL de actualizaciónSe implementa esta funcionalidad porque los proveedores de servicio de DNS Dinamico más populares están empleando el mecanismo URL de actualización. Registra una cuenta en el proveedor de servicio de DNS Dinamico que emplea el mecanismo Update URL. Se listan algunos proveedores de ejemplo en la propia página de configuración. Habilita el Servicio de DNS Dinamico en el interfaz de usuario de FreedomBox. Selecciona URL de actualización como tipo de servicio, introduce la URL de actualización que te ha dado tu proveedor de servicio de DNS Dinamico en el campo URL de actualización. Si vas a la URL de actualización con tu navegador de Internet y te muestra un aviso acerca de un certificado no confiable, activa aceptar todos los certificados SSL. AVISO: ¡Tus credenciales podrían quedar expuestas en este punto a un ataque MIM (man-in-the-middle)! Valora la posibilidad de elegir otro proveedor de servicio mejor. Si vas a la URL de actualización con tu navegador de Internet y te muestra la caja de usuario/contraseña, selecciona usar autenticación HTTP basica e introduce el usuario y la contraseña. Si la URL de actualización contiene tu dirección IP temporal actual reemplaza la dirección IP por la cadena de texto <Ip>.
Comprobar si funcionaAsegúrate de que los servicios externos que has habilitado como /jwchat, /roundcube o /ikiwiki están disponibles en tu dirección de dominio. Ve a la página Estado y asegúrate de que el tipo de NAT se detecta correctamente. Si tu FreedomBox está detrás de un dispositivo NAT debería detectarse en este punto (Texto: Detrás de NAT). Si tu FreedomBox tiene una dirección IP pública asignada el texto debería ser "Conexión directa a Internet". Comprueba que el último estado de actualización no sea fallida.
Recap: How to create a DNS name with GnuDIPto delete or to replace the old text Access to GnuIP login page (answer Yes to all pop ups) Click on "Self Register" Fill the registration form (Username and domain will form the public IP address [username.domain]) Take note of the username/hostname and password that will be used on the FreedomBox app. Save and return to the GnuDIP login page to verify your username, domain and password (enter the datas, click login). Login output should display your new domain name along with your current public IP address (this is a unique address provided by your router for all your local devices). Leave the GnuDIP interface and open the Dynamic DNS Client app page in your FreedomBox. Click on "Set Up" in the top menu. Activate Dynamic DNS Choose GnuDIP service. Add server address (gnudip.datasystems24.net) Add your fresh domain name (username.domain, ie [username].freedombox.rocks) Add your fresh username (the one used in your new IP address) and password Add your GnuDIP password Fill the option with (try this url in your browser, you will figure out immediately) Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/DynamicDNS52019-08-20 10:59:21fioddorSe incorpora la traducción de una sección nueva.42019-08-20 10:52:54fioddorSe incorpora la traducción de una sección nueva.32019-08-20 10:35:42fioddorSe incorpora la traducción de una sección nueva.22019-08-20 10:26:28fioddorSe incorpora la traducción de una sección nueva.12019-08-20 10:15:28fioddorSe crea la versión española (traducción incompleta).
Cliente de DNS Dinamico
¿Qué es DNS Dinamico?Para que se pueda llegar a un servidor desde Internet este necesita tener una dirección pública permanente, también conocida como dirección IP estática o fija. Muchos proveedores de servicio de Internet no otorgan IP fija a sus usuarios normales o la cobran. En su lugar les otorgan una IP temporal diferente cada vez que el usuario se conecta a internet. O una que cambia de vez en cuando. Si es tu caso los clientes que quieran contactar con tu servidor tendrán dificultades. Los proveedores de servicio de DNS Dinamico ayudan a solventar este problema. Primero te dan un nombre de dominio, como 'miservidor.ejemplo.org' y te permiten asociar tu dirección IP temporal a este nombre de dominio cada vez que esta cambia. De este modo quien quiera llegar a tu servidor empleará el nombre de dominio 'miservidor.ejemplo.org' que siempre apuntará a la última dirección IP de tu servidor. Para que esto funcione cada vez que te conectes a Internet tendrás que decirle a tu proveedor de servicio de DNS Dinamico cual es tu dirección IP provisional actual. Por esto necesitas tener un software especial en tu servidor que haga esto. La funcionalidad DNS Dinamico de tu FreedomBox permite a los usuarios sin dirección IP pública fija mantener su dirección IP pública temporal actualizada en el servicio de DNS Dinamico. Esto te permite exponer servicios de tu FreedomBox, como ownCloud, a Internet.
GnuDIP vs. Update URLEisten 2 mecanismos principales para notificar al the servicio de DNS Dinamico cual es tu dirección IP provisional actual: empleando el protocolo GnuDIP o empleando el mecanismo URL de actualización. Si un servicio expuesto usando URL de actualización no se securiza apropiadamente mediante HTTPS, tus credenciales podrían quedar expuestas. Una vez que un atacante accede a tus credenciales podrá reproducir tus comunicaciones con el servicio de DNS Dinamico y suplantar tu dominio. Por otra parte el protocolo GnuDIP solo transportará un valor MD5 salpimentado de tu contraseña de tal forma que es seguro contra ataques de este tipo.
Emplear el protocolo GnuDIPRegistra una cuenta en cualquier proveedor de servicio de DNS Dinamico. Hay un servicio gratuito provisto por la comunidad FreedomBox disponible en . Habilita el Servicio de DNS Dinamico en el interfaz de usuario de FreedomBox. Selecciona GnuDIP como tipo de servicio, introduce la dirección de tu proveedor de servicio de DNS Dinamico (por ejemplo, gnudip.datasystems24.net) en el campo Dirección del servidor GnuDIP. Dynamic DNS Settings Completa la información que te ha dado tu proveedor en los campos correspondientes Nombre de Dominio, Usuario y Contraseña.
Emplear URL de actualizaciónSe implementa esta funcionalidad porque los proveedores de servicio de DNS Dinamico más populares están empleando el mecanismo URL de actualización. Registra una cuenta en el proveedor de servicio de DNS Dinamico que emplea el mecanismo Update URL. Se listan algunos proveedores de ejemplo en la propia página de configuración. Habilita el Servicio de DNS Dinamico en el interfaz de usuario de FreedomBox. Selecciona URL de actualización como tipo de servicio, introduce la URL de actualización que te ha dado tu proveedor de servicio de DNS Dinamico en el campo URL de actualización. Si vas a la URL de actualización con tu navegador de Internet y te muestra un aviso acerca de un certificado no confiable, activa aceptar todos los certificados SSL. AVISO: ¡Tus credenciales podrían quedar expuestas en este punto a un ataque MIM (man-in-the-middle)! Valora la posibilidad de elegir otro proveedor de servicio mejor. Si vas a la URL de actualización con tu navegador de Internet y te muestra la caja de usuario/contraseña, selecciona usar autenticación HTTP basica e introduce el usuario y la contraseña. Si la URL de actualización contiene tu dirección IP temporal actual reemplaza la dirección IP por la cadena de texto <Ip>.
Comprobar si funcionaAsegúrate de que los servicios externos que has habilitado como /jwchat, /roundcube o /ikiwiki están disponibles en tu dirección de dominio. Ve a la página Estado y asegúrate de que el tipo de NAT se detecta correctamente. Si tu FreedomBox está detrás de un dispositivo NAT debería detectarse en este punto (Texto: Detrás de NAT). Si tu FreedomBox tiene una dirección IP pública asignada el texto debería ser "Conexión directa a Internet". Comprueba que el último estado de actualización no sea fallida.
Recap: How to create a DNS name with GnuDIPto delete or to replace the old text Access to GnuIP login page (answer Yes to all pop ups) Click on "Self Register" Fill the registration form (Username and domain will form the public IP address [username.domain]) Take note of the username/hostname and password that will be used on the FreedomBox app. Save and return to the GnuDIP login page to verify your username, domain and password (enter the datas, click login). Login output should display your new domain name along with your current public IP address (this is a unique address provided by your router for all your local devices). Leave the GnuDIP interface and open the Dynamic DNS Client app page in your FreedomBox. Click on "Set Up" in the top menu. Activate Dynamic DNS Choose GnuDIP service. Add server address (gnudip.datasystems24.net) Add your fresh domain name (username.domain, ie [username].freedombox.rocks) Add your fresh username (the one used in your new IP address) and password Add your GnuDIP password Fill the option with (try this url in your browser, you will figure out immediately) Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Firewall.raw.xml b/doc/manual/es/Firewall.raw.xml index fda486d50..cdc879d3f 100644 --- a/doc/manual/es/Firewall.raw.xml +++ b/doc/manual/es/Firewall.raw.xml @@ -14,4 +14,4 @@ firewall-cmd --permanent --zone=internal --add-port=5353/udp]]> --remove-interface=]]>Ejemplo: Para añadir un interfaz a una zona: --add-interface= firewall-cmd --permanent --zone= --add-interface=]]>Ejemplo: InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +firewall-cmd --permanent --zone=internal --add-interface=eth0]]>InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/I2P.raw.xml b/doc/manual/es/I2P.raw.xml index 03630f9c1..8a7a7886c 100644 --- a/doc/manual/es/I2P.raw.xml +++ b/doc/manual/es/I2P.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/I2P62019-09-17 13:59:23fioddorCorrección52019-09-17 13:58:00fioddorCorrecciones menores.42019-09-17 13:56:45fioddorCorrección32019-09-17 13:55:36fioddorMejora menor22019-09-17 13:54:52fioddorSe crea la versión española.12019-09-17 12:37:09fioddorSe crea la versión española (traducción incompleta).
Red de Anonimato (I2P)
Acerca de I2PEl Proyecto Internet Invisible (I2P) es una capa anonimizadora de red concebida para protejer las comunicaciones de la censura y la vigilancia. I2P proporciona anonimato enviando tráfico cifrado a través de una red distribuída alrededor del mundo gestionada por voluntarios. Más información acerca de I2P en la página principal del proyecto.
Servicios OfrecidosLos siguientes servicios se ofrecen en FreedomBox a través de I2P de serie. Se pueden habilitar más servicios desde la consola de enrutado I2P que se puede abrir desde el interfaz web de FreedomBox. Navegación web anónima: I2P se puede usar para navegar por la web de forma anónima. Para ello configura tu navegador (preferíblemente un navegador Tor) para conectar al proxy I2P. Esto se puede hacer estableciendo los proxies HTTP y HTTPS a freedombox.local (o la IP local de tu FreedomBox) con sus respectivos puertos a 4444 y 4445. Este servicio está disponible sólo cuando accedes a la FreedomBox usando la red local (redes de la zona interna del cortaguegos) y no cuando llegas a la FreedomBox desde Internet. Una excepción a esto es cuando te conectas al servicio VPN de la FreedomBox desde Internet, en cuyo caso sí puedes usar el servicio de navegación web anónima a través de I2P. Acceso a eepsites: La red I2P puede albergar sitios web anónimos llamados eepsites cuyo nombre de dominio acaba en .i2p. Por ejemplo, http://i2p-projekt.i2p/ es el sitio web del proyecto I2P en la red I2P. Los eepsites son inaccesibles a un navegador normal a través de una conexión Internet normal. Para navegar a los eepsites tu navegador necesita configurarse para usar los proxies HTTP y HTTPS como se describió antes. Este servicio solo está disponible cuando accedes a la FreedomBox usando la red local (redes de la zona interna del cortaguegos) y no cuando llegas a la FreedomBox desde Internet. Una excepción a esto es cuando te conectas al servicio VPN de la FreedomBox desde Internet, en cuyo caso sí puedes usar el servicio de acceso a eepsites a través de I2P. Descargas anónima de torrentes: I2PSnark, una aplicación para descargar y compartir archivos anónimamente mediante la red BitTorrent está disponible y habilitada por defecto en FreedomBox. Esta aplicación se controla mediante un interfaz web que se puede abrir desde la sección Torrentes Anonimos de la app I2P en el interfaz web de FreedomBox o de la consola de enrutado I2P. Solo los usuarios ingresados pertenecientes al grupo Manage I2P application pueden usar este servicio. Red IRC: La red I2P contiene una red IRC llamada Irc2P. Esta red alberga el canal IRC oficial del proyecto I2P, entre otros. Este servicio viene habilitdo de serie en FreedomBox. Para usarlo abre tu cliente IRC favorito y configuralo para conectar con freedombox.local (o la IP local de tu FreedomBox) en el puerto 6668. Este servicio solo está disponible cuando accedes a la FreedomBox usando la red local (redes de la zona interna del cortaguegos) y no cuando llegas a la FreedomBox desde Internet. Una excepción a esto es cuando te conectas al servicio VPN de la FreedomBox desde Internet, en cuyo caso sí puedes usar el servicio de IRC a través de I2P. Consola de enrutado I2P: Este es el interfaz central de administración de I2P. Muestra el estado actual de I2P, estadísticas de ancho de banda y permite modificar varias preferencias de configuración. Puedes adecuar tu participación en la red I2P y usar/editar una lista con tus sitios I2P (eepsites) favoritos. Solo los usuarios ingresados pertenecientes al grupo Manage I2P application pueden usar este servicio. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0).
\ No newline at end of file +
es/FreedomBox/Manual/I2P62019-09-17 13:59:23fioddorCorrección52019-09-17 13:58:00fioddorCorrecciones menores.42019-09-17 13:56:45fioddorCorrección32019-09-17 13:55:36fioddorMejora menor22019-09-17 13:54:52fioddorSe crea la versión española.12019-09-17 12:37:09fioddorSe crea la versión española (traducción incompleta).
Red de Anonimato (I2P)
Acerca de I2PEl Proyecto Internet Invisible (I2P) es una capa anonimizadora de red concebida para protejer las comunicaciones de la censura y la vigilancia. I2P proporciona anonimato enviando tráfico cifrado a través de una red distribuída alrededor del mundo gestionada por voluntarios. Más información acerca de I2P en la página principal del proyecto.
Servicios OfrecidosLos siguientes servicios se ofrecen en FreedomBox a través de I2P de serie. Se pueden habilitar más servicios desde la consola de enrutado I2P que se puede abrir desde el interfaz web de FreedomBox. Navegación web anónima: I2P se puede usar para navegar por la web de forma anónima. Para ello configura tu navegador (preferíblemente un navegador Tor) para conectar al proxy I2P. Esto se puede hacer estableciendo los proxies HTTP y HTTPS a freedombox.local (o la IP local de tu FreedomBox) con sus respectivos puertos a 4444 y 4445. Este servicio está disponible sólo cuando accedes a la FreedomBox usando la red local (redes de la zona interna del cortaguegos) y no cuando llegas a la FreedomBox desde Internet. Una excepción a esto es cuando te conectas al servicio VPN de la FreedomBox desde Internet, en cuyo caso sí puedes usar el servicio de navegación web anónima a través de I2P. Acceso a eepsites: La red I2P puede albergar sitios web anónimos llamados eepsites cuyo nombre de dominio acaba en .i2p. Por ejemplo, http://i2p-projekt.i2p/ es el sitio web del proyecto I2P en la red I2P. Los eepsites son inaccesibles a un navegador normal a través de una conexión Internet normal. Para navegar a los eepsites tu navegador necesita configurarse para usar los proxies HTTP y HTTPS como se describió antes. Este servicio solo está disponible cuando accedes a la FreedomBox usando la red local (redes de la zona interna del cortaguegos) y no cuando llegas a la FreedomBox desde Internet. Una excepción a esto es cuando te conectas al servicio VPN de la FreedomBox desde Internet, en cuyo caso sí puedes usar el servicio de acceso a eepsites a través de I2P. Descargas anónima de torrentes: I2PSnark, una aplicación para descargar y compartir archivos anónimamente mediante la red BitTorrent está disponible y habilitada por defecto en FreedomBox. Esta aplicación se controla mediante un interfaz web que se puede abrir desde la sección Torrentes Anonimos de la app I2P en el interfaz web de FreedomBox o de la consola de enrutado I2P. Solo los usuarios ingresados pertenecientes al grupo Manage I2P application pueden usar este servicio. Red IRC: La red I2P contiene una red IRC llamada Irc2P. Esta red alberga el canal IRC oficial del proyecto I2P, entre otros. Este servicio viene habilitdo de serie en FreedomBox. Para usarlo abre tu cliente IRC favorito y configuralo para conectar con freedombox.local (o la IP local de tu FreedomBox) en el puerto 6668. Este servicio solo está disponible cuando accedes a la FreedomBox usando la red local (redes de la zona interna del cortaguegos) y no cuando llegas a la FreedomBox desde Internet. Una excepción a esto es cuando te conectas al servicio VPN de la FreedomBox desde Internet, en cuyo caso sí puedes usar el servicio de IRC a través de I2P. Consola de enrutado I2P: Este es el interfaz central de administración de I2P. Muestra el estado actual de I2P, estadísticas de ancho de banda y permite modificar varias preferencias de configuración. Puedes adecuar tu participación en la red I2P y usar/editar una lista con tus sitios I2P (eepsites) favoritos. Solo los usuarios ingresados pertenecientes al grupo Manage I2P application pueden usar este servicio. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0).
\ No newline at end of file diff --git a/doc/manual/es/Ikiwiki.raw.xml b/doc/manual/es/Ikiwiki.raw.xml index a029a128b..a5b74fab5 100644 --- a/doc/manual/es/Ikiwiki.raw.xml +++ b/doc/manual/es/Ikiwiki.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Ikiwiki32019-09-17 12:09:26fioddorMejora menor22019-09-17 12:07:08fioddorMejora menor12019-09-17 12:05:55fioddorSe crea la versión española.
Wiki y Blog (Ikiwiki)
¿Qué es Ikiwiki?Ikiwiki convierte páginas wiki a páginas HTML listas para publicar en un sitio web. En particular, proporciona blogs, podcasts, calendarios y una amplia selección de extensiones (plugins).
Inicio rápidoTras instalar la app en el interfaz de administración de tu FreedomBox: Ve a la sección Crear y crea un wiki o un blog. Vuelve a la sección Configurar y haz clic en el enlace /ikiwiki. Haz clic en el nombre de tu nuevo wiki o blog bajo Directorio Padre. Disfruta de tu nueva página de publicación.
Crear un wiki o blogPuedes crear un wiki o blog para albergarlo en tu FreedomBox mediante la página Wiki y Blog (Ikiwiki) de Plinth. La primera vez que visites esta página te pedirá instalar paquetes requiridos por Ikiwiki. Tras completar la instalación de paquetes selecciona la solapa Crear. Puedes elegir el tipo: Wiki o Blog. Teclea también un nombre para el wiki o blog, y el usuario y contraseña para su cuenta de administrador. Al hacer clic en Actualizar configuración verás el wiki/blog añadido a tu lista. Observa que cada wiki/blog tiene su propia cuenta de administrador. ikiwiki: Create
Acceder a tu wiki o blogDesde la página de Wiki y Blog (Ikiwiki) selecciona la solapa Administrar y verás una lista de tus wikis y blogs. Haz clic en un nombre para navegar a ese wiki o blog. ikiwiki: Manage Desde aquí, si le das a Editar o a Preferencias se te llevará a una página de ingreso. Para ingresar con la cuenta de administrador que creaste antes selecciona la solapa Otros, introduce el usuario y la contraseña y haz clic en Ingresar.
Ingreso único de usuarios (SSO)Se puede dar permiso para editar a otros usuarios de FreedomBox además de al administrador del wiki/blog. Sin embargo no tendrán todos los permisos del administrador. Podrán añadir o editar páginas pero no podrán cambiar la configuración del wiki. Para añadir a un usuario al wiki ve a la página Usuarios y Grupos de Plinth (bajo Configuración del Sistema, el icono del engranaje de la esquina superior derecha de la página). Crea o modifica un usuario y añádele al grupo wiki. (Los usuarios del grupo admin tendrán también acceso al wiki.) Para ingresar como usuario FreedomBox ve a la página de ingreso del wiki/blog y selecciona la solapa Otros. Luego haz clic en el botón Ingresar con autenticación HTTP. El navegador mostrá un diálogo emergente en el que podrás introducir el usuario y la contraseña del usuario de FreedomBox.
Añadir usuarios FreedomBox como admnistradores de wikiIngresa al wiki con su cuenta de administrador. Haz clic en Preferencias y luego en Configurar. Debajo de Principal, en usuarios administradores de algún wiki, añade el nombre de un usuario de FreedomBox. (Opcional) Desmarca la opción habilitar autenticación mediante contraseña de extensión de autenticación: autenticación mediante contraseña. (Nota: Esto deshabilitará el ingreso con la cuenta de administrador anterior. Solo se podrá ingresar mediante ingreso único usando autenticación HTTP.) Haz clic en Grabar Configuración. Pulsa Preferencias y a continuación Salir. Ingresa como el nuevo usuario administrador usando Ingresar con autenticación HTTP. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Ikiwiki32019-09-17 12:09:26fioddorMejora menor22019-09-17 12:07:08fioddorMejora menor12019-09-17 12:05:55fioddorSe crea la versión española.
Wiki y Blog (Ikiwiki)
¿Qué es Ikiwiki?Ikiwiki convierte páginas wiki a páginas HTML listas para publicar en un sitio web. En particular, proporciona blogs, podcasts, calendarios y una amplia selección de extensiones (plugins).
Inicio rápidoTras instalar la app en el interfaz de administración de tu FreedomBox: Ve a la sección Crear y crea un wiki o un blog. Vuelve a la sección Configurar y haz clic en el enlace /ikiwiki. Haz clic en el nombre de tu nuevo wiki o blog bajo Directorio Padre. Disfruta de tu nueva página de publicación.
Crear un wiki o blogPuedes crear un wiki o blog para albergarlo en tu FreedomBox mediante la página Wiki y Blog (Ikiwiki) de Plinth. La primera vez que visites esta página te pedirá instalar paquetes requiridos por Ikiwiki. Tras completar la instalación de paquetes selecciona la solapa Crear. Puedes elegir el tipo: Wiki o Blog. Teclea también un nombre para el wiki o blog, y el usuario y contraseña para su cuenta de administrador. Al hacer clic en Actualizar configuración verás el wiki/blog añadido a tu lista. Observa que cada wiki/blog tiene su propia cuenta de administrador. ikiwiki: Create
Acceder a tu wiki o blogDesde la página de Wiki y Blog (Ikiwiki) selecciona la solapa Administrar y verás una lista de tus wikis y blogs. Haz clic en un nombre para navegar a ese wiki o blog. ikiwiki: Manage Desde aquí, si le das a Editar o a Preferencias se te llevará a una página de ingreso. Para ingresar con la cuenta de administrador que creaste antes selecciona la solapa Otros, introduce el usuario y la contraseña y haz clic en Ingresar.
Ingreso único de usuarios (SSO)Se puede dar permiso para editar a otros usuarios de FreedomBox además de al administrador del wiki/blog. Sin embargo no tendrán todos los permisos del administrador. Podrán añadir o editar páginas pero no podrán cambiar la configuración del wiki. Para añadir a un usuario al wiki ve a la página Usuarios y Grupos de Plinth (bajo Configuración del Sistema, el icono del engranaje de la esquina superior derecha de la página). Crea o modifica un usuario y añádele al grupo wiki. (Los usuarios del grupo admin tendrán también acceso al wiki.) Para ingresar como usuario FreedomBox ve a la página de ingreso del wiki/blog y selecciona la solapa Otros. Luego haz clic en el botón Ingresar con autenticación HTTP. El navegador mostrá un diálogo emergente en el que podrás introducir el usuario y la contraseña del usuario de FreedomBox.
Añadir usuarios FreedomBox como admnistradores de wikiIngresa al wiki con su cuenta de administrador. Haz clic en Preferencias y luego en Configurar. Debajo de Principal, en usuarios administradores de algún wiki, añade el nombre de un usuario de FreedomBox. (Opcional) Desmarca la opción habilitar autenticación mediante contraseña de extensión de autenticación: autenticación mediante contraseña. (Nota: Esto deshabilitará el ingreso con la cuenta de administrador anterior. Solo se podrá ingresar mediante ingreso único usando autenticación HTTP.) Haz clic en Grabar Configuración. Pulsa Preferencias y a continuación Salir. Ingresa como el nuevo usuario administrador usando Ingresar con autenticación HTTP. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Infinoted.raw.xml b/doc/manual/es/Infinoted.raw.xml index aa5e5b85c..31358937d 100644 --- a/doc/manual/es/Infinoted.raw.xml +++ b/doc/manual/es/Infinoted.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Infinoted22019-09-12 11:09:53fioddorMejora menor12019-09-12 11:08:05fioddorSe crea la versión española.
Servidor Gobby (infinoted)Infinoted es un servidor de edición colaborativa de textos para Gobby. Para usarlo descarga el cliente Gobby para escritorio e instalalo. Inicialo, selecciona "Conectar a un Servidor" e introduce el nombre de dominio de tu FreedomBox.
Redirección de PuertosSi tu FreedomBox está detras de un router necesitarás configurar la redirección de puertos en tu router. Redirije los siguientes puertos de infinoted: TCP 6523 Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Infinoted22019-09-12 11:09:53fioddorMejora menor12019-09-12 11:08:05fioddorSe crea la versión española.
Servidor Gobby (infinoted)Infinoted es un servidor de edición colaborativa de textos para Gobby. Para usarlo descarga el cliente Gobby para escritorio e instalalo. Inicialo, selecciona "Conectar a un Servidor" e introduce el nombre de dominio de tu FreedomBox.
Redirección de PuertosSi tu FreedomBox está detras de un router necesitarás configurar la redirección de puertos en tu router. Redirije los siguientes puertos de infinoted: TCP 6523 Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/LetsEncrypt.raw.xml b/doc/manual/es/LetsEncrypt.raw.xml index 299414986..289b71889 100644 --- a/doc/manual/es/LetsEncrypt.raw.xml +++ b/doc/manual/es/LetsEncrypt.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/LetsEncrypt22019-08-20 12:56:47fioddorSe incorpora la traducción de una sección nueva.12019-08-20 12:48:05fioddorSe incorpora la traducción de una sección nueva.
Certificados (Let's Encrypt)Un certificado digital permite a los usuarios de un servicio web verificar la identidad del servicio y comunicar con él de modo seguro. FreedomBox puede obtener y configurar automaticamente certificados digitales para cada dominio disponible. Lo hace probando a Let's Encrypt, una authoridad de certificación (CA) ser el dueño de un dominio. Let's Encrypt es una autoridad de certificación abierta, automatizada, libre y gratuita administrada para beneficio público por el Internet Security Research Group (ISRG). Por favor, lee y acepta los términos del Acuerdo de Suscripción de Let's Encrypt antes de usar este servicio.
Por Qué Usar CertificadosLa comunicación con tu FreedomBox se puede asegurar de modo que se imposibilite interceptar los contenidos que tus servicios intercambian con sus usuarios.
Cómo configurarSi tu FreedomBox está detrás de un router, necesitarás configurar la redirección de puertos en tu router. Debes redirigir los siguientes puertos: TCP 80 (http) TCP 443 (https) Publica tu nombre de dominio: En Configurar inserta tu nombre de dominio, p.ej. MiWeb.com Let's Encrypt Verifica que se aceptó tu nombre de dominio Comprueba que está habilitado en Nombres de Servicio Let's Encrypt Name Services Ve a la página de los Certificados (Let's Encrypt) y completa la instalación del modulo si hace falta. Entonces haz clic en el botón "Obtain" de tu nombre de dominio. Tras algunos minutos estará disponible un certificado válido Let's Encrypt Verifica en tu navegador comprobando https://MiWeb.com Let's Encrypt Certificate Screencast: Let's Encrypt
UsarEl certificado es válido por 3 meses. Se renueva automáticamente y también se puede volcer a obtener o revocar manualmente. Ejecutando diagnostics se puede también verificar el certificado. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/LetsEncrypt22019-08-20 12:56:47fioddorSe incorpora la traducción de una sección nueva.12019-08-20 12:48:05fioddorSe incorpora la traducción de una sección nueva.
Certificados (Let's Encrypt)Un certificado digital permite a los usuarios de un servicio web verificar la identidad del servicio y comunicar con él de modo seguro. FreedomBox puede obtener y configurar automaticamente certificados digitales para cada dominio disponible. Lo hace probando a Let's Encrypt, una authoridad de certificación (CA) ser el dueño de un dominio. Let's Encrypt es una autoridad de certificación abierta, automatizada, libre y gratuita administrada para beneficio público por el Internet Security Research Group (ISRG). Por favor, lee y acepta los términos del Acuerdo de Suscripción de Let's Encrypt antes de usar este servicio.
Por Qué Usar CertificadosLa comunicación con tu FreedomBox se puede asegurar de modo que se imposibilite interceptar los contenidos que tus servicios intercambian con sus usuarios.
Cómo configurarSi tu FreedomBox está detrás de un router, necesitarás configurar la redirección de puertos en tu router. Debes redirigir los siguientes puertos: TCP 80 (http) TCP 443 (https) Publica tu nombre de dominio: En Configurar inserta tu nombre de dominio, p.ej. MiWeb.com Let's Encrypt Verifica que se aceptó tu nombre de dominio Comprueba que está habilitado en Nombres de Servicio Let's Encrypt Name Services Ve a la página de los Certificados (Let's Encrypt) y completa la instalación del modulo si hace falta. Entonces haz clic en el botón "Obtain" de tu nombre de dominio. Tras algunos minutos estará disponible un certificado válido Let's Encrypt Verifica en tu navegador comprobando https://MiWeb.com Let's Encrypt Certificate Screencast: Let's Encrypt
UsarEl certificado es válido por 3 meses. Se renueva automáticamente y también se puede volcer a obtener o revocar manualmente. Ejecutando diagnostics se puede también verificar el certificado. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/MLDonkey.raw.xml b/doc/manual/es/MLDonkey.raw.xml index d20cbce49..8d1702eea 100644 --- a/doc/manual/es/MLDonkey.raw.xml +++ b/doc/manual/es/MLDonkey.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/MLDonkey22019-09-11 14:51:57fioddorCorrecciones menores.12019-09-11 14:46:33fioddorSe crea la versión española.
Compartición de Archivos (MLDonkey)
¿Qué es MLDonkey?MLDonkey es una aplicación libre y multiprotocolo para compartir archivos entre pares (P2P) que ejecuta un servidor back-end sobre muchas plataformas. Se puede controlar mediante algún interfaz front-end, ya sea web, telnet o cualquier otro de entre una docena de programas cliente nativos. Originalmente era un cliente Linux para el protocolo eDonkey pero ahora se ejecuta en multiples sabores de Unix y derivados, OS X, Microsoft Windows y MorphOS. Y soporta muchos protocolos P2P, incluyendo ED2K (y Kademlia sobre Overnet), BitTorrent, DC++ y más. Más información acerca de MLDonkey en el Wiki del Proyecto MLDonkey Disponible desde: versión 0.48.0
Captura de PantallaMLDonkey Web Interface
Usar el Interfaz Web MLDonkeyTras instalar MLDonkey su interfaz web está accesible a los usuarios de los grupos ed2k y admin en https://<tu_freedombox>/mldonkey.
Usar el Interfaz para Escritorio/MóvilSe pueden usar muchas aplicaciones de escritorio y móviles para controlar a MLDonkey. El servidor MLDonkey estará ejecutándose siempre en la FreedomBox y (cargará o) descargará archivos y los mantendrá almacenados incluso cuando tu máquina local esté apagada o desconectada del MLDonkey de FreedomBox. Por restricciones de acceso via SSH a la FreedomBox solo los usuarios del grupo admin pueden acceder a su MLDonkey. Crea un usuario nuevo en el grupo admin o usa uno que ya esté allí. En tu máquina de escritorio abre una terminal y ejecuta el siguiente comando. Para este paso se recomienda que configures y uses claves SSH en vez de contraseñas. Arranca la aplicación gráfica y conéctala a MLDonkey como si MLDonkey se estuviera ejecutando en la máquina local de escritorio. Cuando hayas terminado mata el proceso SSH pulsando Control-C. Para más información lee acerca de los túneles SSH en la documentación MLDonkey. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/MLDonkey22019-09-11 14:51:57fioddorCorrecciones menores.12019-09-11 14:46:33fioddorSe crea la versión española.
Compartición de Archivos (MLDonkey)
¿Qué es MLDonkey?MLDonkey es una aplicación libre y multiprotocolo para compartir archivos entre pares (P2P) que ejecuta un servidor back-end sobre muchas plataformas. Se puede controlar mediante algún interfaz front-end, ya sea web, telnet o cualquier otro de entre una docena de programas cliente nativos. Originalmente era un cliente Linux para el protocolo eDonkey pero ahora se ejecuta en multiples sabores de Unix y derivados, OS X, Microsoft Windows y MorphOS. Y soporta muchos protocolos P2P, incluyendo ED2K (y Kademlia sobre Overnet), BitTorrent, DC++ y más. Más información acerca de MLDonkey en el Wiki del Proyecto MLDonkey Disponible desde: versión 0.48.0
Captura de PantallaMLDonkey Web Interface
Usar el Interfaz Web MLDonkeyTras instalar MLDonkey su interfaz web está accesible a los usuarios de los grupos ed2k y admin en https://<tu_freedombox>/mldonkey.
Usar el Interfaz para Escritorio/MóvilSe pueden usar muchas aplicaciones de escritorio y móviles para controlar a MLDonkey. El servidor MLDonkey estará ejecutándose siempre en la FreedomBox y (cargará o) descargará archivos y los mantendrá almacenados incluso cuando tu máquina local esté apagada o desconectada del MLDonkey de FreedomBox. Por restricciones de acceso via SSH a la FreedomBox solo los usuarios del grupo admin pueden acceder a su MLDonkey. Crea un usuario nuevo en el grupo admin o usa uno que ya esté allí. En tu máquina de escritorio abre una terminal y ejecuta el siguiente comando. Para este paso se recomienda que configures y uses claves SSH en vez de contraseñas. Arranca la aplicación gráfica y conéctala a MLDonkey como si MLDonkey se estuviera ejecutando en la máquina local de escritorio. Cuando hayas terminado mata el proceso SSH pulsando Control-C. Para más información lee acerca de los túneles SSH en la documentación MLDonkey. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/MatrixSynapse.raw.xml b/doc/manual/es/MatrixSynapse.raw.xml index 63a63c429..5dc79a034 100644 --- a/doc/manual/es/MatrixSynapse.raw.xml +++ b/doc/manual/es/MatrixSynapse.raw.xml @@ -7,4 +7,4 @@ chmod 600 /etc/matrix-synapse/conf.d/registration_shared_secret.yaml chown matrix-synapse:nogroup /etc/matrix-synapse/conf.d/registration_shared_secret.yaml systemctl restart matrix-synapse register_new_matrix_user -c /etc/matrix-synapse/conf.d/registration_shared_secret.yaml]]>Si quieres ver la lista de usuarios registrados en Matrix Syanpse haz lo siguiente como usuario root: Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox \ No newline at end of file +echo 'select name from users' | sqlite3 /var/lib/matrix-synapse/homeserver.db ]]>Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox \ No newline at end of file diff --git a/doc/manual/es/MediaWiki.raw.xml b/doc/manual/es/MediaWiki.raw.xml index e814c7e85..815dc8764 100644 --- a/doc/manual/es/MediaWiki.raw.xml +++ b/doc/manual/es/MediaWiki.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/MediaWiki62019-10-14 08:01:12fioddorEnlace a nueva página traducida.52019-10-11 00:38:07SunilMohanAdapaRemove formatting on link to MediaWiki page that is causing issues with PDF conversion42019-09-17 11:26:11fioddorMejora menor32019-09-17 11:24:09fioddorCorrección menor22019-09-17 11:22:32fioddorMejora menor12019-09-17 11:21:21fioddorSe crea la versión española.
Wiki (MediaWiki)
Acerca de MediaWikiMediaWiki es el software de base de la gama de wikis Wikimedia. Lee más acerca de MediaWiki en Wikipedia Disponible desde: versión 0.20.0
MediaWiki en FreedomBoxMediaWiki viene configurado en FreedomBox para ser públicamente legible y editable en privado. Sólo los usuarios ingresados pueden editar el wiki. Esta configuración evita publicidad indeseada (spam) y otros vandalismos en tu wiki.
Administración de UsuariosSolo el administrador de MediaWiki (usuario "admin") puede crear los usuarios. El usuario "admin" puede usarse también para restablecer contraseñas de usuarios MediaWiki. Si se olvida la contraseña del administrador se puede restablecer desde la página de MediaWiki del interfaz Plinth.
Casos de usoMediaWiki es muy versátil y se puede emplear para muchos usos creativos. También es áltamente adaptable y viene con un montón de extensiones (plugins) y estilos estéticos.
Repositorio Personal de ConocimientoEl MediaWiki de FreedomBox puede ser tu propio repositorio de conocimiento personal. Como MediaWiki tiene buen soporte multimedia puedes escribir notas, almacenar imágenes, crear listas de comprobación, guardar referencias y enlaces, etc. de manera organizada. Puedes almacenar el conocimiento de una vida en tu instancia de MediaWiki.
Wiki ComunitarioUna comunidad de usuarios podría usar MediaWiki como su repositorio común de conocimiento y material de referencia. Se puede emplear como un tablón de anunciós de universidad, como un servidor de documentación para una pequeña empresa, como un bloc de notas para grupos de estudio o como un wiki de fans al estilo de wikia.
Sitio Web Personal implementado mediante un WikiVarios sitios web de internet son sólo instancias de MediaWiki. El MediaWiki de FreedomBox es de solo lectura para visitantes. Se puede por tanto adaptar para servir como tu sitio web y/o blog personal. El contenido de MediaWiki es fácil de exportar y puede moverse después a otro motor de blogs.
Editar Contenido del Wiki
Editor VisualComo su nombre indica, el nuevo Editor Visual de MediaWiki ofrece un interfaz de usuario visual (WYSIWYG) para crear páginas del wiki. Por desgracia aún no está disponible en la versión actual de MediaWiki en Debian. Una solución temporal posible sería escribir tu contenido con el Editor Visual del borrador de Wikipedia, cambiar el modo de edición a texto y copiarlo a tu wiki.
Otros FormatosNo es imprescindible que aprendas el lenguaje de formateo de MediaWiki. Puedes escribir en tu formato favorito (Markdown, Org-mode, LaTeX etc.) y convertirlo al formato de MediaWiki usando Pandoc.
Cargar ImágenesSe puede habilitar la carga de imágenes desde FreedomBox versión 0.36.0. También puedes usar directamente imágenes de Wikimedia Commons mediante una funcionalidad llamada Instant Commons. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/MediaWiki62019-10-14 08:01:12fioddorEnlace a nueva página traducida.52019-10-11 00:38:07SunilMohanAdapaRemove formatting on link to MediaWiki page that is causing issues with PDF conversion42019-09-17 11:26:11fioddorMejora menor32019-09-17 11:24:09fioddorCorrección menor22019-09-17 11:22:32fioddorMejora menor12019-09-17 11:21:21fioddorSe crea la versión española.
Wiki (MediaWiki)
Acerca de MediaWikiMediaWiki es el software de base de la gama de wikis Wikimedia. Lee más acerca de MediaWiki en Wikipedia Disponible desde: versión 0.20.0
MediaWiki en FreedomBoxMediaWiki viene configurado en FreedomBox para ser públicamente legible y editable en privado. Sólo los usuarios ingresados pueden editar el wiki. Esta configuración evita publicidad indeseada (spam) y otros vandalismos en tu wiki.
Administración de UsuariosSolo el administrador de MediaWiki (usuario "admin") puede crear los usuarios. El usuario "admin" puede usarse también para restablecer contraseñas de usuarios MediaWiki. Si se olvida la contraseña del administrador se puede restablecer desde la página de MediaWiki del interfaz Plinth.
Casos de usoMediaWiki es muy versátil y se puede emplear para muchos usos creativos. También es áltamente adaptable y viene con un montón de extensiones (plugins) y estilos estéticos.
Repositorio Personal de ConocimientoEl MediaWiki de FreedomBox puede ser tu propio repositorio de conocimiento personal. Como MediaWiki tiene buen soporte multimedia puedes escribir notas, almacenar imágenes, crear listas de comprobación, guardar referencias y enlaces, etc. de manera organizada. Puedes almacenar el conocimiento de una vida en tu instancia de MediaWiki.
Wiki ComunitarioUna comunidad de usuarios podría usar MediaWiki como su repositorio común de conocimiento y material de referencia. Se puede emplear como un tablón de anunciós de universidad, como un servidor de documentación para una pequeña empresa, como un bloc de notas para grupos de estudio o como un wiki de fans al estilo de wikia.
Sitio Web Personal implementado mediante un WikiVarios sitios web de internet son sólo instancias de MediaWiki. El MediaWiki de FreedomBox es de solo lectura para visitantes. Se puede por tanto adaptar para servir como tu sitio web y/o blog personal. El contenido de MediaWiki es fácil de exportar y puede moverse después a otro motor de blogs.
Editar Contenido del Wiki
Editor VisualComo su nombre indica, el nuevo Editor Visual de MediaWiki ofrece un interfaz de usuario visual (WYSIWYG) para crear páginas del wiki. Por desgracia aún no está disponible en la versión actual de MediaWiki en Debian. Una solución temporal posible sería escribir tu contenido con el Editor Visual del borrador de Wikipedia, cambiar el modo de edición a texto y copiarlo a tu wiki.
Otros FormatosNo es imprescindible que aprendas el lenguaje de formateo de MediaWiki. Puedes escribir en tu formato favorito (Markdown, Org-mode, LaTeX etc.) y convertirlo al formato de MediaWiki usando Pandoc.
Cargar ImágenesSe puede habilitar la carga de imágenes desde FreedomBox versión 0.36.0. También puedes usar directamente imágenes de Wikimedia Commons mediante una funcionalidad llamada Instant Commons. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Minetest.raw.xml b/doc/manual/es/Minetest.raw.xml index 70f39a0b5..27ab485eb 100644 --- a/doc/manual/es/Minetest.raw.xml +++ b/doc/manual/es/Minetest.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Minetest22019-09-04 09:50:46fioddorCorrección menor12019-09-04 09:50:27fioddorSe crea la versión española.
Block Sandbox (Minetest)Minetest es un Block Sandbox multijugador para mundos infinitos. Este módulo permite ejecutar el servidor Minetest en esta FreedomBox, en su puerto por defecto (30000). Para conectar al servidor se necesita un cliente de Minetest.
Enrutado de PuertosSi tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos en tu router para los siguientes puertos de Minetest: UDP 30000 Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Minetest22019-09-04 09:50:46fioddorCorrección menor12019-09-04 09:50:27fioddorSe crea la versión española.
Block Sandbox (Minetest)Minetest es un Block Sandbox multijugador para mundos infinitos. Este módulo permite ejecutar el servidor Minetest en esta FreedomBox, en su puerto por defecto (30000). Para conectar al servidor se necesita un cliente de Minetest.
Enrutado de PuertosSi tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos en tu router para los siguientes puertos de Minetest: UDP 30000 Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Monkeysphere.raw.xml b/doc/manual/es/Monkeysphere.raw.xml index e85dd3998..516e44b4d 100644 --- a/doc/manual/es/Monkeysphere.raw.xml +++ b/doc/manual/es/Monkeysphere.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Monkeysphere12019-08-23 10:48:17fioddorSe crea la versión española.
MonkeysphereCon Monkeysphere se puede generar una clave OpenPGP para cada dominio configurado para servir SSH. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante SSH podrán verificar que se están conectando a la máquina correcta. Para que los usuarios puedan confiar en la clave alguien (generalmente el dueño de la máquina) tiene que firmarla siguiendo el proceso normal de firmado de claves OpenPGP. Para más detalles, ver la documentación de Monkeysphere SSH. Monkeysphere también puede generar una clave OpenPGP para cada certificado de servidor web seguro (HTTPS) instalado en esta máquina. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante SSH podrán verificar que se están conectando a la máquina correcta. Para validar el certificado el usuario deberá instalar cierto software disponible en el sitio web de Monkeysphere. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Monkeysphere12019-08-23 10:48:17fioddorSe crea la versión española.
MonkeysphereCon Monkeysphere se puede generar una clave OpenPGP para cada dominio configurado para servir SSH. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante SSH podrán verificar que se están conectando a la máquina correcta. Para que los usuarios puedan confiar en la clave alguien (generalmente el dueño de la máquina) tiene que firmarla siguiendo el proceso normal de firmado de claves OpenPGP. Para más detalles, ver la documentación de Monkeysphere SSH. Monkeysphere también puede generar una clave OpenPGP para cada certificado de servidor web seguro (HTTPS) instalado en esta máquina. La clave pública OpenPGP se puede subir entonces a los servidores de claves OpenPGP. Los usuarios que se conecten mediante SSH podrán verificar que se están conectando a la máquina correcta. Para validar el certificado el usuario deberá instalar cierto software disponible en el sitio web de Monkeysphere. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Mumble.raw.xml b/doc/manual/es/Mumble.raw.xml index 90caca564..c3d518561 100644 --- a/doc/manual/es/Mumble.raw.xml +++ b/doc/manual/es/Mumble.raw.xml @@ -2,4 +2,5 @@ -
es/FreedomBox/Manual/Mumble12019-09-16 10:58:59fioddorSe crea la versión española.
Conversaciones de Voz (Mumble)
¿Qué es Mumble?Mumble es un software de conversaciones de voz. Principalmente diseñado para uso con juegos multijugador por red, sirve para hablar con alta calidad de audio, cancelación de ruido, comunicación cifrada, autenticación de interlocutores por defecto mediante par de claves pública/privada, y "asistentes" para configurar tu micrófono, por ejemplo. Se puede marcar a un usuario dentro de un canal como "interlocutor prioritario".
Usar MumbleFreedomBox incluye el servidor Mumble. Para conectar con el servidor los usuarios pueden descargar algún cliente de entre los disponibles para plataformas de escritorio y móviles.
Redirección de PuertosSi tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos de tu router. Deberías redirigir los siguientes puertos para Mumble: TCP 64738 UDP 64738 Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Mumble32019-11-14 16:30:35fioddorCorrecciones menores22019-11-14 16:29:09fioddorSe alinea con la versión 09 del 07 de noviembre de 201912019-09-16 10:58:59fioddorSe crea la versión española.
Conversaciones de Voz (Mumble)
¿Qué es Mumble?Mumble es un software de conversaciones de voz. Principalmente diseñado para uso con juegos multijugador por red, sirve para hablar con alta calidad de audio, cancelación de ruido, comunicación cifrada, autenticación de interlocutores por defecto mediante par de claves pública/privada, y "asistentes" para configurar tu micrófono, por ejemplo. Se puede marcar a un usuario dentro de un canal como "interlocutor prioritario".
Usar MumbleFreedomBox incluye el servidor Mumble. Para conectar con el servidor los usuarios pueden descargar algún cliente de entre los disponibles para plataformas de escritorio y móviles.
Redirección de PuertosSi tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos de tu router. Deberías redirigir los siguientes puertos para Mumble: TCP 64738 UDP 64738
Administrar PermisosEn Mumble un supeusuario puede crear cuentas de administrador que a su vez pueden administrar permisos a grupos y canales. Esto se puede hacer tras ingresar con el usuario "SuperUser" y la contraseña de superusuario. Ver la Guía de Mumble para obtener información respecto a cómo hacer esto. Actualmente FreedomBox no ofrece una interfaz gráfica para obtener o establecer la contraseña de superusuario en Mumble. Se genera una contraseña de superusuario automáticamente durante la instalación de Mumble. Para obtenerla ingresa en el terminal como admin usando Cockpit , la Shell Segura o la consola. Y ejecuta el siguiente comando: Deberás ver una salida como esta: 2019-11-06 02:47:41.313 1 => Password for 'SuperUser' set to 'noo8Dahwiesh']]>O puedes establecer una contraseña nueva así: Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/NameServices.raw.xml b/doc/manual/es/NameServices.raw.xml index 976789d37..1f9c372b4 100644 --- a/doc/manual/es/NameServices.raw.xml +++ b/doc/manual/es/NameServices.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/NameServices12019-06-20 15:23:22fioddorSe crea la versión española.
Servicios de NombreLos Servicios de Nombre proporcionan una vista general a las formas de acceder desde la Internet pública a tu !Freedombox: nombre de dominio, servicio oculto Tor y cometa (Pagekite). Para cada tipo de nombre se indica si los servicios HTTP, HTTPS, y SSH están habilitados o deshabilitados para conexiones entrantes. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/NameServices22019-11-14 18:09:00fioddorSe alinea con la versión 04 en inglés del 11 de noviembre de 201912019-06-20 15:23:22fioddorSe crea la versión española.
Servicios de NombreLos Servicios de Nombre proporcionan una vista general a las formas de acceder desde la Internet pública a tu !Freedombox: nombre de dominio, servicio Tor Onion y cometa (Pagekite). Para cada tipo de nombre se indica si los servicios HTTP, HTTPS, y SSH están habilitados o deshabilitados para conexiones entrantes. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Networks.raw.xml b/doc/manual/es/Networks.raw.xml index 89b1834eb..c41419bfd 100644 --- a/doc/manual/es/Networks.raw.xml +++ b/doc/manual/es/Networks.raw.xml @@ -6,4 +6,4 @@ wifi.scan-rand-mac-address=no]]>Luego reinicia la FreedomBox.
Añadir un nuevo dispositivo de redAl añadir un nuevo dispositivo de red network manager lo configurará automáticamente. En la mayoría de los casos esto no funcionará. Borra la configuración creada automáticamente en el interfaz y crea una conexión de red nueva. Selecciona tu interfaz recién creado en la página "añadir conexión". Configura la zona del cortafuegos como corresponda. Puedes configurar los interfaces para conectar a la red o proporcionar configuración de red a cualquier máquina que se le conecte. De modo similar, si es un interfaz Wi-Fi puedes configurarlo para ser un punto de acceso Wi-FI o para conectarse a puntos de acceso existentes en la red.
Configurar una red MeshFreedomBox tiene un soporte rudimentario para participar en redes mesh basadas en BATMAN-Adv. Es posible unirse a una red existe en tu zona o crear una red mesh nueva y compartir tu conexión a Internet con el resto de nodos que se unan a tu red. Tanto para unirte a una red mesh como para crear otra, actualmente hay que crear 2 conexiones y activarlas manualmente.
Unirse a una red MeshPara unirse a una red mesh existente en tu zona primero consulta a sus organizadores y obtén información acerca de la red. Crea una conexión nueva y selecciona el tipo de conexión Wi-Fi. En el siguiente diálogo rellena los valores como se indica: Nombre del campoValor de ejemploExplicación Nombre de la Conexión Mesh Join - BATMAN El nombre tiene que acabar en BATMAN (con mayúsculas). Interfaz físico wlan0 El dispositivo Wi-Fi que quieres usar para conectar a la red mesh. Zona del cortafuegos Externa Ya que no quieres que los participantes en la red mesh usen dispositivos internos de tu FreedomBox. SSID ch1.freifunk.net Tal como te lo hayan dado los operadores de la red mesh. Esta red debería mostrarse en Redes Wi-Fi accesibles. Modo Ad-hoc Porque esta red es una red de pares (peer-to-peer). Banda de Frecuencia 2.4Ghz Tal como te lo hayan dado los operadores de la red mesh. Canal 1 Tal como te lo hayan dado los operadores de la red mesh. BSSID 12:CA:FF:EE:BA:BE Tal como te lo hayan dado los operadores de la red mesh. Autenticación Abierta Déjala abierta salvo que sepas que tu red mesh necesite otro valor. Contraseña Déjala en blanco salvo que sepas el valor que necesite tu red mesh. Método de direccionamiento IPv4 Deshabilitado Todavía no queremos pedir una configuración IP. Graba la conexión y únete a la red mesh activándola. Crea una segunda conexión nueva y selecciona el tipo Genérica. En el siguiente diálogo rellena los valores como se indica: Nombre del campoValor de ejemploExplicación Nombre de la Conexión Mesh Connect Cualquier nombre para identificar ésta conexión. Interfaz físico bat0 Este interfaz solo aparecerá tras activar con éxito la conexión del paso anterior. Zona del cortafuegos Externa Ya que no quieres que los participantes en la red mesh usen dispositivos internos de tu FreedomBox. Método de direccionamiento IPv4 Auto Generalmente las redes mesh tienen un servidor DHCP en algún sitio que le proporciona una configuración IP a tu máquina. Si no, consulta al operador y configura la dirección IP como te diga por el método manual. Graba la conexión. Configura tu maquina para participar en la red activando esta conexión. Actualmente hay que activarla manualmente cada vez que quieras unirte a la red. En el futuro FreedomBox lo hará automáticamente. Ahora debieras poder llegar a otros nodos de la red. También podrás conectar a Internet a través de la red mesh si los operadores han instalado algúna puerta de enlace.
Crear una red MeshPara crear tu propia red mesh y compartir tu conexión a Internet con el resto de los nodos de la red: Sigue las instrucciones del paso 1 de Unirse a una red Mesh empleando los valores válidos para tu red en SSID (un nombre para tu red Mesh), Banda de Frecuencia (generalmente 2.4Ghz), Canal (entre 1 y 11 para la banda de 2.4Ghz) y BSSID (una secuencia hexadecimal como 12:CA:DE:AD:BE:EF). Crea esta conexión y actívala. Sigue las instrucciones del paso 2 de Unirse a una red Mesh seleccionando Compartido para Método de direccionamiento IPv4d. Esto proporcionará automáticamente una configuración IP a otros nodos de la red y compartirá la conexión a Internet de tu maquina (ya sea mediante un segudo interfaz Wi-Fi, Ethernet, etc.) con el otros nodos de la red mesh. Corre la voz entre tus vecinos acerca de tu red mesh y pásales los parámetros que has empleado al crearla. Cuando otros nodos se conecten a esta red mesh tendrán que seguir las instrucciones del paso 1 de Unirse a una red Mesh empleando en SSID, Banda de Frecuencia y Canal los valores que has elegido para tu red mesh al crearla.
Operación de Red ManualFreedomBox configura redes automáticamente por defecto y proporciona un interfaz simplificado para personalizar la configuración a necesidades específicas. En la mayoría de los casos la operación manual no es necesaria. Los siguientes pasos describen cómo operar la configuración de red a mano en caso de que el interfaz de FreedomBox le resulte insuficiente a un usuario para realizar una tarea o para diagnosticar un problema que FreedomBox no identifique. En el interfaz de línea de comandos: Para acceder a un interfaz de configuración de conexiones de red basado en texto: Para ver la lista de dispositivos de red disponibles: Para ver la lista de conexiones configuradas: Para ver el estado actual de una conexión: ']]>Para ver la zona asignada actualmente en el cortafuegos a un interfaz de red: ' | grep zone]]>o Para crear una conexión nueva: " ifname "" type ethernet nmcli con modify "" connection.autoconnect TRUE -nmcli con modify "" connection.zone internal]]>Para cambiarle la zona a una conexión en el cortafuegos: " connection.zone ""]]>Para más información acerca del uso del comando nmcli mira su página man. Para obtener una lista completa de configuraciones y tipos de conexión que acepta Network Manager mira: Para ver el estado actual del cortafuegos y operarlo manualmente lee la sección Cortafuegos. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +nmcli con modify "" connection.zone internal]]>Para cambiarle la zona a una conexión en el cortafuegos: " connection.zone ""]]>Para más información acerca del uso del comando nmcli mira su página man. Para obtener una lista completa de configuraciones y tipos de conexión que acepta Network Manager mira: Para ver el estado actual del cortafuegos y operarlo manualmente lee la sección Cortafuegos. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox \ No newline at end of file diff --git a/doc/manual/es/OpenVPN.raw.xml b/doc/manual/es/OpenVPN.raw.xml index e290c64ff..bcb83704a 100644 --- a/doc/manual/es/OpenVPN.raw.xml +++ b/doc/manual/es/OpenVPN.raw.xml @@ -2,6 +2,7 @@ -
es/FreedomBox/Manual/OpenVPN42019-10-10 19:50:32JosephNuthalapatiFix FreedomBox Portal include in the footer32019-09-16 09:36:03fioddorCorrección menor22019-09-16 09:34:40fioddorCorrección menor12019-09-16 09:32:56fioddorSe crea la versión española.
Red Privada Virtual (OpenVPN)
¿Qué es OpenVPN?OpenVPN proporciona un servicio de red privada virtual a tu FreedomBox. Puedes usar este software para acceso remoto, VPNs punto-a-punto y seguridad Wi-Fi. OpenVPN incluye soporte para direcciones IP dinámicas y NAT.
Redirección de puertosSi tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos en tu router. Debes redirigir los siguientes puertos para OpenVPN: UDP 1194
ConfigurarEn el menú de apps de Plinth selecciona Red Privada Virtual (OpenVPN) y haz clic en Instalar. Tras instalar el módulo todavía queda un paso de configuración que puede llevar largo tiempo completar. Haz clic en "Iniciar configuración" para empezar. OpenVPN service page Espera a que termine la configuración. Puede tardar un rato. Una vez completada la configuración del servidor OpenVPN puedes descargar tu perfil. Esto descargará un archivo llamado <usuario>.ovpn, siendo <usuario> un usuario de FreedomBox. Todos los usuarios de FreedomBox podrán descargar un perfil propio y diferente. Los usuarios que no sean administradores pueden descargar el perfil desde la portada después de ingresar. El archivo ovpn contiene toda la información que necesita un cliente vpn para conectar con un servidor. El perfil descargado contiene el nombre de dominio de FreedomBox al que debe conectarse el cliente. Este se obtiene del dominio configurado en la sección 'Configuración' de la página de 'Sistema'. En caso de que tu dominio no esté configurado adecuadamente quizá necesites cambiar este valor después de descargar el perfil. Si tu cliente OpenVPN lo permite puedes hacer esto después de importar el perfil OpenVPN. De lo contrario puedes editar el perfil .ovpn con un editor de texto y cambiar la línea 'remote' para que contenga la dirección IP WAN o el hostname de tu FreedomBox como se indica aquí. es/FreedomBox/Manual/OpenVPN52019-11-20 11:00:10fioddorSe alinea con la versión 16 en inglés del 18 de noviembre de 201942019-10-10 19:50:32JosephNuthalapatiFix FreedomBox Portal include in the footer32019-09-16 09:36:03fioddorCorrección menor22019-09-16 09:34:40fioddorCorrección menor12019-09-16 09:32:56fioddorSe crea la versión española.
Red Privada Virtual (OpenVPN)
¿Qué es OpenVPN?OpenVPN proporciona un servicio de red privada virtual a tu FreedomBox. Puedes usar este software para acceso remoto, VPNs punto-a-punto y seguridad Wi-Fi. OpenVPN incluye soporte para direcciones IP dinámicas y NAT.
Redirección de puertosSi tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos en tu router. Debes redirigir los siguientes puertos para OpenVPN: UDP 1194
ConfigurarEn el menú de apps de Plinth selecciona Red Privada Virtual (OpenVPN) y haz clic en Instalar. Tras instalar el módulo todavía queda un paso de configuración que puede llevar largo tiempo completar. Haz clic en "Iniciar configuración" para empezar. OpenVPN service page Espera a que termine la configuración. Puede tardar un rato. Una vez completada la configuración del servidor OpenVPN puedes descargar tu perfil. Esto descargará un archivo llamado <usuario>.ovpn, siendo <usuario> un usuario de FreedomBox. Todos los usuarios de FreedomBox podrán descargar un perfil propio y diferente. Los usuarios que no sean administradores pueden descargar el perfil desde la portada después de ingresar. El archivo ovpn contiene toda la información que necesita un cliente vpn para conectar con un servidor. El perfil descargado contiene el nombre de dominio de FreedomBox al que debe conectarse el cliente. Este se obtiene del dominio configurado en la sección 'Configuración' de la página de 'Sistema'. En caso de que tu dominio no esté configurado adecuadamente quizá necesites cambiar este valor después de descargar el perfil. Si tu cliente OpenVPN lo permite puedes hacer esto después de importar el perfil OpenVPN. De lo contrario puedes editar el perfil .ovpn con un editor de texto y cambiar la línea 'remote' para que contenga la dirección IP WAN o el hostname de tu FreedomBox como se indica aquí.
Navegar por Internet tras conectar a una VPNTras conectar a la VPN el dispositivo cliente podrá navegar por Internet sin más configuración adicional. No obstante una pre-condición para que esto funcione es que necesitas tener al menos 1 interfaz (tarjeta) de red conectado a Internet en la zona Externa del cortafuegos. Usa la página de configuración de redes para editar la zona del cortafuegos con los interfaces (tarjetas) de red del dispositivo.
Uso
En Android/LineageOSVisita la página principal de FreedomBox. Ingresa con tu cuenta de usuario. Desde la página principal descarga el perfil OpenVPN. El archivo se llamará <usuario>.ovpn. OpenVPN Download Profile Descarga un cliente OpenVPN como OpenVPN for Android. Se recomienda el repositorio F-Droid. En la app, selecciona Importar perfil. OpenVPN App En el diálogo Seleccionar perfil elige el archivo <usuario>.opvn que acabas de descargar. Pon un nombre a la conexión y graba el perfil. OpenVPN import profile El perfil recién creado aparecera. Si hace falta edita el perfil y pon el nombre de dominio de tu FreedomBox como dirección de servidor. OpenVPN profile created OpenVPN edit domain name Conecta haciendo clic sobre el perfil. OpenVPN connect OpenVPN connected Cuando esté desconecta haciendo clic sobre el perfil. OpenVPN disconnect
En DebianInstala un cliente OpenVPN para tu sistema Abre el archivo ovpn con el cliente OpenVPN. .ovpn]]>
Comprobar si estás conectado
En DebianTrata de hacer ping a tu FreedomBox u otros dispositivos de tu red. El comando ip addr debe mostrar una conexión tun0. El comando traceroute freedombox.org debiera mostrar la dirección IP del servidor VPN como primer salto.
Enlaces Externos Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +proto udp]]>
Navegar por Internet tras conectar a una VPNTras conectar a la VPN el dispositivo cliente podrá navegar por Internet sin más configuración adicional. No obstante una pre-condición para que esto funcione es que necesitas tener al menos 1 interfaz (tarjeta) de red conectado a Internet en la zona Externa del cortafuegos. Usa la página de configuración de redes para editar la zona del cortafuegos con los interfaces (tarjetas) de red del dispositivo.
Uso
En Android/LineageOSVisita la página principal de FreedomBox. Ingresa con tu cuenta de usuario. Desde la página principal descarga el perfil OpenVPN. El archivo se llamará <usuario>.ovpn. OpenVPN Download Profile Descarga un cliente OpenVPN como OpenVPN for Android. Se recomienda el repositorio F-Droid. En la app, selecciona Importar perfil. OpenVPN App En el diálogo Seleccionar perfil elige el archivo <usuario>.opvn que acabas de descargar. Pon un nombre a la conexión y graba el perfil. OpenVPN import profile El perfil recién creado aparecera. Si hace falta edita el perfil y pon el nombre de dominio de tu FreedomBox como dirección de servidor. OpenVPN profile created OpenVPN edit domain name Conecta haciendo clic sobre el perfil. OpenVPN connect OpenVPN connected Cuando esté desconecta haciendo clic sobre el perfil. OpenVPN disconnect
En DebianInstala un cliente OpenVPN para tu sistema Abre el archivo ovpn con el cliente OpenVPN. .ovpn]]>
Comprobar si estás conectado
En DebianTrata de hacer ping a tu FreedomBox u otros dispositivos de tu red. El comando ip addr debe mostrar una conexión tun0. El comando traceroute freedombox.org debiera mostrar la dirección IP del servidor VPN como primer salto. Si usas Network Manager puedes crear una conexión nueva importando el fichero: .ovpn]]>
Enlaces Externos Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/PageKite.raw.xml b/doc/manual/es/PageKite.raw.xml index b53c4f856..57b06ad57 100644 --- a/doc/manual/es/PageKite.raw.xml +++ b/doc/manual/es/PageKite.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/PageKite12019-06-20 15:13:14fioddorSe crea la versión española.
Visibilidad Publica (PageKite)
¿Qué es PageKite?PageKite hace inmediata y públicamente accesibles desde internet a los sitios web y servicios locales sin tener que crear tu mismo una dirección IP pública. Lo hace tunelando protocolos como HTTPS o SSH a través de cortafuegos y NAT. Usar PageKite require ana cuenta en un servicio de repetidor de PageKite. es uno de de estos servicios. Un servicio de repetidor de PageKite te permitirá crear cometas (kites). Las cometas son similares a los nombres de dominio pero con ventajas y desventajas diferentes. Una cometa puede tener varios servicios configurados. Se sabe que PageKite funciona con HTTP, HTTPS, y SSH, y muchas funcionan con otros servicios, pero no todas.
Usar PageKiteCréate una cuenta en un servicio de repetidor de PageKite. Añade una cometa a tu cuenta. Anota el nombre y el sectreo de tu cometa. En Plinth, vé a la solapa "Configurar PageKite" de la página Visibilidad Publica (PageKite). Marca la caja "Habilitar PageKite" e introduce el nombre y el secreto de tu cometa. Haz clic en "Grabar propiedades". En la solapa "Servicios Estándar" puedes habilitar HTTP y HTTPS (recomendado) y SSH (opcional). HTTP se necesita para obtener el certificado Let's Encrypt. Puedes deshabilitarlo (HTTPS) más tarde. En la página Certificados (Let's Encrypt) puedes obtener un certificado Let's Encrypt para el nombre de tu cometa. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/PageKite12019-06-20 15:13:14fioddorSe crea la versión española.
Visibilidad Publica (PageKite)
¿Qué es PageKite?PageKite hace inmediata y públicamente accesibles desde internet a los sitios web y servicios locales sin tener que crear tu mismo una dirección IP pública. Lo hace tunelando protocolos como HTTPS o SSH a través de cortafuegos y NAT. Usar PageKite require ana cuenta en un servicio de repetidor de PageKite. es uno de de estos servicios. Un servicio de repetidor de PageKite te permitirá crear cometas (kites). Las cometas son similares a los nombres de dominio pero con ventajas y desventajas diferentes. Una cometa puede tener varios servicios configurados. Se sabe que PageKite funciona con HTTP, HTTPS, y SSH, y muchas funcionan con otros servicios, pero no todas.
Usar PageKiteCréate una cuenta en un servicio de repetidor de PageKite. Añade una cometa a tu cuenta. Anota el nombre y el sectreo de tu cometa. En Plinth, vé a la solapa "Configurar PageKite" de la página Visibilidad Publica (PageKite). Marca la caja "Habilitar PageKite" e introduce el nombre y el secreto de tu cometa. Haz clic en "Grabar propiedades". En la solapa "Servicios Estándar" puedes habilitar HTTP y HTTPS (recomendado) y SSH (opcional). HTTP se necesita para obtener el certificado Let's Encrypt. Puedes deshabilitarlo (HTTPS) más tarde. En la página Certificados (Let's Encrypt) puedes obtener un certificado Let's Encrypt para el nombre de tu cometa. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Power.raw.xml b/doc/manual/es/Power.raw.xml index 4b8510a8f..298863a1b 100644 --- a/doc/manual/es/Power.raw.xml +++ b/doc/manual/es/Power.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Power12019-06-18 15:25:34fioddorSe crea la versión española.
ApagadoPower proporciona un modo fácil de reiniciar o apagar tu FreedomBox. Después de seleccionar "Reiniciar" o "Apagar", se te pedirá confirmación. Se puede llegar también a las opciones "Reiniciar" y "Apagar" desde el menú desplegable del usuario en la esquina superior derecha. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Power12019-06-18 15:25:34fioddorSe crea la versión española.
ApagadoPower proporciona un modo fácil de reiniciar o apagar tu FreedomBox. Después de seleccionar "Reiniciar" o "Apagar", se te pedirá confirmación. Se puede llegar también a las opciones "Reiniciar" y "Apagar" desde el menú desplegable del usuario en la esquina superior derecha. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Privoxy.raw.xml b/doc/manual/es/Privoxy.raw.xml index 62ea9d386..bb2c65d4e 100644 --- a/doc/manual/es/Privoxy.raw.xml +++ b/doc/manual/es/Privoxy.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Privoxy22019-09-16 11:36:07fioddor12019-09-16 11:33:00fioddorSe crea la versión española.
Proxy Web (Privoxy)Un proxy web actúa como filtro para tráfico web entrante y saliente. Por tanto, puedes ofrecer a los ordenadores de tu red pasar su tráfico internet a través del proxy para eliminar anuncios y mecanismos de rastreo indeseados. Privoxy es un software para la seguridad, privacidad, y control certero sobre la web. Proporciona una navegación web mucho más controlada (y anónima) que la que te puede ofrecer tu navegador. Privoxy "es un proxy enfocado principalmente al aumento de la privacidad, eliminación de anuncios y morralla, y a liberar al usuario de las restricciones impuestas sobre sus propias actividades" (fuente: Preguntas frecuentes acerca de Privoxy).
VídeoMira el vídeo acerca de como configurar y usar Privoxy en FreedomBox.
ConfigurarInstala Proxy Web (Privoxy) desde Plinth Privoxy Installation Adapta las preferencias de proxy de tu navegador al hostname (o dirección IP) de tu FreedomBox con el puerto 8118. Observa por favor que Privoxy sólo puede tratar tráfico HTTP y HTTPS. No funciona con FTP u otros protocolos. Privoxy Browser Settings Vé a la página o . Si Privoxy está instalado adecuadamente podrás configurarlo en detalle y si no verás un mensaje de fallo. Si usas un portátil que tenga a veces que conectarse con FreedomBox y Privoxy pasando por routers de terceros quizá quieras instalar una extensión proxy switch que te permite activar y desactivar el proxy más fácilmente.
Usuarios AvanzadosLa instalación de serie debería proporcionar un punto de partida razonable para la mayoría de los usuarios. Indudablemente habrá ocasiones en las que quieras ajustar la configuración. Eso se puede afrontar cuando surja la necesidad. Con Privoxy activado puedes ver su documentación y los detalles de su configuración en http://config.privoxy.org/ o en http://p.p. Para habilitar los cambios en estas configuraciones primero tienes que cambiar el valor de habilitar-acciones-de-edición en /etc/privoxy/config a 1. Antes de hacerlo lee el manual con atención, especialmente: No se puede controlar por separado el accesso al editor por "ACLs" o authenticación HTTP, así que cualquiera con acceso a Privoxy puede modificar la configuración de todos los usuarios. Esta opción no se recomienda para entornos con usuarios no confiables. Nota que un código de cliente malicioso (p.ej. Java) también puede usar el editor de acciones y no deberías habilitar estas opciones a no ser que entiendas las consecuencias y estés seguro de que los navegadores están correctamente configurados. Ahora encontrarás un botón EDITAR en la pantalla de configuración de http://config.privoxy.org/. La Guía rápida es un buen punto de partida para leer acerca de cómo definir reglas de bloqueo y filtrado propias. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Privoxy22019-09-16 11:36:07fioddor12019-09-16 11:33:00fioddorSe crea la versión española.
Proxy Web (Privoxy)Un proxy web actúa como filtro para tráfico web entrante y saliente. Por tanto, puedes ofrecer a los ordenadores de tu red pasar su tráfico internet a través del proxy para eliminar anuncios y mecanismos de rastreo indeseados. Privoxy es un software para la seguridad, privacidad, y control certero sobre la web. Proporciona una navegación web mucho más controlada (y anónima) que la que te puede ofrecer tu navegador. Privoxy "es un proxy enfocado principalmente al aumento de la privacidad, eliminación de anuncios y morralla, y a liberar al usuario de las restricciones impuestas sobre sus propias actividades" (fuente: Preguntas frecuentes acerca de Privoxy).
VídeoMira el vídeo acerca de como configurar y usar Privoxy en FreedomBox.
ConfigurarInstala Proxy Web (Privoxy) desde Plinth Privoxy Installation Adapta las preferencias de proxy de tu navegador al hostname (o dirección IP) de tu FreedomBox con el puerto 8118. Observa por favor que Privoxy sólo puede tratar tráfico HTTP y HTTPS. No funciona con FTP u otros protocolos. Privoxy Browser Settings Vé a la página o . Si Privoxy está instalado adecuadamente podrás configurarlo en detalle y si no verás un mensaje de fallo. Si usas un portátil que tenga a veces que conectarse con FreedomBox y Privoxy pasando por routers de terceros quizá quieras instalar una extensión proxy switch que te permite activar y desactivar el proxy más fácilmente.
Usuarios AvanzadosLa instalación de serie debería proporcionar un punto de partida razonable para la mayoría de los usuarios. Indudablemente habrá ocasiones en las que quieras ajustar la configuración. Eso se puede afrontar cuando surja la necesidad. Con Privoxy activado puedes ver su documentación y los detalles de su configuración en http://config.privoxy.org/ o en http://p.p. Para habilitar los cambios en estas configuraciones primero tienes que cambiar el valor de habilitar-acciones-de-edición en /etc/privoxy/config a 1. Antes de hacerlo lee el manual con atención, especialmente: No se puede controlar por separado el accesso al editor por "ACLs" o authenticación HTTP, así que cualquiera con acceso a Privoxy puede modificar la configuración de todos los usuarios. Esta opción no se recomienda para entornos con usuarios no confiables. Nota que un código de cliente malicioso (p.ej. Java) también puede usar el editor de acciones y no deberías habilitar estas opciones a no ser que entiendas las consecuencias y estés seguro de que los navegadores están correctamente configurados. Ahora encontrarás un botón EDITAR en la pantalla de configuración de http://config.privoxy.org/. La Guía rápida es un buen punto de partida para leer acerca de cómo definir reglas de bloqueo y filtrado propias. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Quassel.raw.xml b/doc/manual/es/Quassel.raw.xml index 25faadfe1..72d22f6f7 100644 --- a/doc/manual/es/Quassel.raw.xml +++ b/doc/manual/es/Quassel.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Quassel22019-09-12 12:18:51fioddorSe crea la versión española.12019-09-12 12:11:29fioddorSe crea la versión española.
Cliente IRC (Quassel)Quassel es una aplicación IRC separada en 2 partes: un "núcleo" y un "cliente". Esto permite que el núcleo permanezca conectado a los servidores IRC recibiendo mensajes aunque el cliente esté desconectado. Ejecutando el servicio nucleo de Quassel FreedomBox puede mantenerte siempre en línea. Se pueden usar uno o varios clentes Quassel para conectarse intermitentemente desde escritorios o dispositivos móviles.
¿Para qué ejecutar Quassel?Muchos debates acerca de FreedomBox tienen lugar en el canal IRC irc://irc.debian.org/freedombox. Si tu FreedomBox ejecuta Quassel recolectará todos ellos mientras estás ausente, capturando las respuestas a tus preguntas. Recuerda que el proyecto FreedomBox es mundial y participa gente de casi todos los husos horarios. Usarás tu cliente para conectar al núcleo de Quassel y leer y/o responder cuando tengas tiempo y disponibilidad.
¿Cómo activar Quassel?En Plinth selecciona Aplicaciones ve a Cliente IRC (Quassel) e instala la aplicación y asegúrate de que está habilitada Quassel Installation tu núcleo de Quassel se está ejecutando
Redirección de PuertosSi tu FreedomBox está detras de un router necesitarás configurar la redirección de puertos en tu router. Redirije los siguientes puertos de Quassel: TCP 4242 Ejemplo de configuración en el router: Quassel_PortForwarding.png
ClientesHay disponibles clientes para escritorio y dispositivos móviles para conectar a Quassel.
EscritorioEn un sistema Debian puedes, p. ej. usar quassel-client. Los siguientes pasos describen cómo conectar el Cliente Quassel con el Núcleo de Quassel de tu FreedomBox. La primera vez que te conectes el Núcleo de Quassel se inicializará también. Abre el Cliente Quassel. Te guiará paso a paso para Conectar con el Núcleo. Connect to Core Haz clic en el botón Añadir para abrir el diálogo Añadir Cuenta al Núcleo. Add Core Account Rellena cualquier cosa en el campo Nombre de Cuenta. Introduce el hostname DNS de tu FreedomBox en el campo Hostname. El campo Puerto debe tener el valor 4242. Pon el usuario y la contraseña de la cuenta que quieres crear para conectar con el Núcleo de Quassel en los campos Usuario y Contraseña. Si no quieres que se te pida la contraseña cada vez que arranques el cliente de Quassel marca la opción Recordarme. Tras pulsar OK en el diálogo Añadir Cuenta al Núcleo deberías ver la cuenta en el diálogo Conectar con el Núcleo. Connect to Core Selecciona la cuenta del núcleo recién creada y dale a OK para conectar con él. Si es la primera vez que te conectas a este núcleo verás un aviso de Certificado de Seguridad Desconocido y necesitarás aceptar el certificado del servidor. Untrusted Security Certificate Selecciona Continuar. Se te preguntará si quieres aceptar el certificado permanentemente. Selecciona Para siempre. Untrusted Security Certificate Si nadie se ha conectado nunca antes a este Núcleo Quassel antes verás un diálogo por pasos Asistente de Configuración del Núcleo. Selecciona Siguiente. Core Configuration Wizard En la página Crear Usuario Administrador introduce el usuario y la contraseña que has usado antes para crear la conexión al núcleo. Selecciona Recordar contraseña para que recuerde la contraseña para futuras sesiones. Haz clic en Siguiente. Create Admin User Page En la página Seleccionar Backend de Almacenamiento selecciona SQLite y haz clic en Confirmar. Select Storage Backend La configuración del núcleo está completa y verás un asistente Quassel IRC para configurar tus conexiones IRC. Haz clic en Siguiente. Welcome Wizard A continuación en la página de Configuración de Identidad pon un nombre y múltiples pseudónimos. Te presentarás con estos a otros usuarios de IRC. No es necesario dar tu nombre real. Los pseudónimos múltipes son útiles como suplentes cuando el primero no se pueda usar por cualquier motivo. Tras aportar la información haz clic en Siguiente. Setup Identity A continuación en la página de Configuración de Conexión de Red pon el nombre de red que quieras y una lista de servidores a los que se deba conectar el Núcleo de Quassel para unirte a esa red IRC (por ejemplo irc.debian.org:6667). Setup Network Connection Selecciona un servidor de la lista y dale a Editar. En el diálogo Información del Servidor pon el puerto 6697 (consulta la lista real de servidores y sus puertos seguros en la documentación de tu red) y haz clic en Usar SSL. Clic en OK. Esto es para asegurar que la comunicación entre tu FreedomBox y el servidor de la red IRC va cifrada. Server Info Server Info SSL Ya de vuelta en el diálogo Configuración de Conexión de Red proporciona una lista de canales IRC (como #freedombox) a los que unirte al conectarte a la red. Dale a Grabar y Conectar. Setup Network Connection Deberías conectar con la red y ver la lista de canales a los que te has unido en el panel Todas las conversaciones de la izquierda de la ventana principal del Cliente Quassel. Quassel Main Window Selecciona un canal y empieza a recibir mensajes de otros participantes del canal y a enviar los tuyos.
AndroidPara dispositivos Android puedes usar p.ej. Quasseldroid obtenido desde F-Droid introduce el núcleo, usuario, etc. Quasseldroid.png Por cierto el verbo alemán quasseln significa hablar mucho, rajar. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Quassel22019-09-12 12:18:51fioddorSe crea la versión española.12019-09-12 12:11:29fioddorSe crea la versión española.
Cliente IRC (Quassel)Quassel es una aplicación IRC separada en 2 partes: un "núcleo" y un "cliente". Esto permite que el núcleo permanezca conectado a los servidores IRC recibiendo mensajes aunque el cliente esté desconectado. Ejecutando el servicio nucleo de Quassel FreedomBox puede mantenerte siempre en línea. Se pueden usar uno o varios clentes Quassel para conectarse intermitentemente desde escritorios o dispositivos móviles.
¿Para qué ejecutar Quassel?Muchos debates acerca de FreedomBox tienen lugar en el canal IRC irc://irc.debian.org/freedombox. Si tu FreedomBox ejecuta Quassel recolectará todos ellos mientras estás ausente, capturando las respuestas a tus preguntas. Recuerda que el proyecto FreedomBox es mundial y participa gente de casi todos los husos horarios. Usarás tu cliente para conectar al núcleo de Quassel y leer y/o responder cuando tengas tiempo y disponibilidad.
¿Cómo activar Quassel?En Plinth selecciona Aplicaciones ve a Cliente IRC (Quassel) e instala la aplicación y asegúrate de que está habilitada Quassel Installation tu núcleo de Quassel se está ejecutando
Redirección de PuertosSi tu FreedomBox está detras de un router necesitarás configurar la redirección de puertos en tu router. Redirije los siguientes puertos de Quassel: TCP 4242 Ejemplo de configuración en el router: Quassel_PortForwarding.png
ClientesHay disponibles clientes para escritorio y dispositivos móviles para conectar a Quassel.
EscritorioEn un sistema Debian puedes, p. ej. usar quassel-client. Los siguientes pasos describen cómo conectar el Cliente Quassel con el Núcleo de Quassel de tu FreedomBox. La primera vez que te conectes el Núcleo de Quassel se inicializará también. Abre el Cliente Quassel. Te guiará paso a paso para Conectar con el Núcleo. Connect to Core Haz clic en el botón Añadir para abrir el diálogo Añadir Cuenta al Núcleo. Add Core Account Rellena cualquier cosa en el campo Nombre de Cuenta. Introduce el hostname DNS de tu FreedomBox en el campo Hostname. El campo Puerto debe tener el valor 4242. Pon el usuario y la contraseña de la cuenta que quieres crear para conectar con el Núcleo de Quassel en los campos Usuario y Contraseña. Si no quieres que se te pida la contraseña cada vez que arranques el cliente de Quassel marca la opción Recordarme. Tras pulsar OK en el diálogo Añadir Cuenta al Núcleo deberías ver la cuenta en el diálogo Conectar con el Núcleo. Connect to Core Selecciona la cuenta del núcleo recién creada y dale a OK para conectar con él. Si es la primera vez que te conectas a este núcleo verás un aviso de Certificado de Seguridad Desconocido y necesitarás aceptar el certificado del servidor. Untrusted Security Certificate Selecciona Continuar. Se te preguntará si quieres aceptar el certificado permanentemente. Selecciona Para siempre. Untrusted Security Certificate Si nadie se ha conectado nunca antes a este Núcleo Quassel antes verás un diálogo por pasos Asistente de Configuración del Núcleo. Selecciona Siguiente. Core Configuration Wizard En la página Crear Usuario Administrador introduce el usuario y la contraseña que has usado antes para crear la conexión al núcleo. Selecciona Recordar contraseña para que recuerde la contraseña para futuras sesiones. Haz clic en Siguiente. Create Admin User Page En la página Seleccionar Backend de Almacenamiento selecciona SQLite y haz clic en Confirmar. Select Storage Backend La configuración del núcleo está completa y verás un asistente Quassel IRC para configurar tus conexiones IRC. Haz clic en Siguiente. Welcome Wizard A continuación en la página de Configuración de Identidad pon un nombre y múltiples pseudónimos. Te presentarás con estos a otros usuarios de IRC. No es necesario dar tu nombre real. Los pseudónimos múltipes son útiles como suplentes cuando el primero no se pueda usar por cualquier motivo. Tras aportar la información haz clic en Siguiente. Setup Identity A continuación en la página de Configuración de Conexión de Red pon el nombre de red que quieras y una lista de servidores a los que se deba conectar el Núcleo de Quassel para unirte a esa red IRC (por ejemplo irc.debian.org:6667). Setup Network Connection Selecciona un servidor de la lista y dale a Editar. En el diálogo Información del Servidor pon el puerto 6697 (consulta la lista real de servidores y sus puertos seguros en la documentación de tu red) y haz clic en Usar SSL. Clic en OK. Esto es para asegurar que la comunicación entre tu FreedomBox y el servidor de la red IRC va cifrada. Server Info Server Info SSL Ya de vuelta en el diálogo Configuración de Conexión de Red proporciona una lista de canales IRC (como #freedombox) a los que unirte al conectarte a la red. Dale a Grabar y Conectar. Setup Network Connection Deberías conectar con la red y ver la lista de canales a los que te has unido en el panel Todas las conversaciones de la izquierda de la ventana principal del Cliente Quassel. Quassel Main Window Selecciona un canal y empieza a recibir mensajes de otros participantes del canal y a enviar los tuyos.
AndroidPara dispositivos Android puedes usar p.ej. Quasseldroid obtenido desde F-Droid introduce el núcleo, usuario, etc. Quasseldroid.png Por cierto el verbo alemán quasseln significa hablar mucho, rajar. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Radicale.raw.xml b/doc/manual/es/Radicale.raw.xml index 230b60a20..4651d9883 100644 --- a/doc/manual/es/Radicale.raw.xml +++ b/doc/manual/es/Radicale.raw.xml @@ -26,4 +26,4 @@ chown -R radicale:radicale /var/lib/radicale/collections/collection-root/ apt remove -y python-radicale if [ -f /etc/radicale/config.dpkg-dist ] ; then cp /etc/radicale/config.dpkg-dist /etc/radicale/config ; fi if [ -f /etc/default/radicale.dpkg-dist ] ; then cp /etc/default/radicale.dpkg-dist /etc/default/radicale ; fi -(Cuando FreedomBox 19.1 está disponble ve al interfaz web de FreedomBox y vuelve a configurar tu preferencia de compartición de calendario si no se muestra bien porque se habrá perdido durante la operación.)]]>Notas: python-radicale es un paquete antigüo de la versión 1.x de Radicale que sigue disponible en las versiones "en pruebas" (testing) de Debian. Esto es un hack alternativo para emplear la funcionalidad --export-storage que es responsable de la migración de datos. Por desgracia esta funcionalidad ya no está disponible en Radicale 2.x. Los ficheros que acaban en .dpkg-dist solo existirán si has elegido "Conservar tu versión actualmente instalada" cuando se te preguntó durante la actualización a Radicale 2.x. El procedimiento anterior sobrescribirá la configuración antigüa con una nueva. No se necesitan cambios a los 2 ficheros de configuración salvo que hayas cambiado la preferencia de compartición de calendario. Nota: Durante la migración tus datos permanecen a salvo en el directorio /var/lib/radicale/collections. Los datos nuevos se crearán y usarán en el directorio /var/lib/radicale/collections/collections-root/. El comando tar hace una copia de seguridad de tu configuración y tus datos en /root/radicale_backup.tgz por si haces o algo va mal y quieres deshacer los cambios.
Resolución de Problemas1. Si estás usando FreedomBox Pioneer Edition o instalando FreedomBox sobre Debian Buster Radicale podría no estar operativo inmediatamente después de la instalación. Esto se debe a un defecto ya corregido posteriormente. Para superar el problema actualiza FreedomBox haciendo clic en 'Actualización Manual' desde la app 'Actualizaciones'. Otra opción es simplemente esperar un par de días y dejar que FreedomBox se actualice solo. Después instala Radicale. Si Radicale ya está instalado deshabilitalo y rehabilitalo después de que se complete la actualización. Esto arreglará el problema y dejará a Radicale trabajando correctamente. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +(Cuando FreedomBox 19.1 está disponble ve al interfaz web de FreedomBox y vuelve a configurar tu preferencia de compartición de calendario si no se muestra bien porque se habrá perdido durante la operación.)]]>Notas: python-radicale es un paquete antigüo de la versión 1.x de Radicale que sigue disponible en las versiones "en pruebas" (testing) de Debian. Esto es un hack alternativo para emplear la funcionalidad --export-storage que es responsable de la migración de datos. Por desgracia esta funcionalidad ya no está disponible en Radicale 2.x. Los ficheros que acaban en .dpkg-dist solo existirán si has elegido "Conservar tu versión actualmente instalada" cuando se te preguntó durante la actualización a Radicale 2.x. El procedimiento anterior sobrescribirá la configuración antigüa con una nueva. No se necesitan cambios a los 2 ficheros de configuración salvo que hayas cambiado la preferencia de compartición de calendario. Nota: Durante la migración tus datos permanecen a salvo en el directorio /var/lib/radicale/collections. Los datos nuevos se crearán y usarán en el directorio /var/lib/radicale/collections/collections-root/. El comando tar hace una copia de seguridad de tu configuración y tus datos en /root/radicale_backup.tgz por si haces o algo va mal y quieres deshacer los cambios.
Resolución de Problemas1. Si estás usando FreedomBox Pioneer Edition o instalando FreedomBox sobre Debian Buster Radicale podría no estar operativo inmediatamente después de la instalación. Esto se debe a un defecto ya corregido posteriormente. Para superar el problema actualiza FreedomBox haciendo clic en 'Actualización Manual' desde la app 'Actualizaciones'. Otra opción es simplemente esperar un par de días y dejar que FreedomBox se actualice solo. Después instala Radicale. Si Radicale ya está instalado deshabilitalo y rehabilitalo después de que se complete la actualización. Esto arreglará el problema y dejará a Radicale trabajando correctamente. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Repro.raw.xml b/doc/manual/es/Repro.raw.xml index 5b3fda4eb..bd999e129 100644 --- a/doc/manual/es/Repro.raw.xml +++ b/doc/manual/es/Repro.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Repro12019-09-14 08:59:56fioddorSe crea la versión española (traducción incompleta).
Servidor SIP (Repro)App eliminada Repro ha sido eliminada de Debian 10 (Buster) y por tanto ya no está disponible en FreedomBox. Repro es un servidor de SIP, un estándar para llamadas de voz sobre IP (VoIP). Se requiere un cliente SIP de escritorio o móvil para usar Repro.
Cómo configurar el servidor SIPConfigura el dominio en la página /repro/domains.html de la FreedomBox. Repro Domains Añade usuarios en /repro/addUser.html. Repro Users Deshabilita y vuelve a habilitar la aplicaión Repro en Plinth.
Redirección de PuertosSi tu FreedomBox estrá detrás de un router necesitarás configurar la redirección de puertos de tu router. Deberías redirigir los siguientes puertos para Repro: TCP 5060 TCP 5061 UDP 5060 UDP 5061 Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Repro12019-09-14 08:59:56fioddorSe crea la versión española (traducción incompleta).
Servidor SIP (Repro)App eliminada Repro ha sido eliminada de Debian 10 (Buster) y por tanto ya no está disponible en FreedomBox. Repro es un servidor de SIP, un estándar para llamadas de voz sobre IP (VoIP). Se requiere un cliente SIP de escritorio o móvil para usar Repro.
Cómo configurar el servidor SIPConfigura el dominio en la página /repro/domains.html de la FreedomBox. Repro Domains Añade usuarios en /repro/addUser.html. Repro Users Deshabilita y vuelve a habilitar la aplicaión Repro en Plinth.
Redirección de PuertosSi tu FreedomBox estrá detrás de un router necesitarás configurar la redirección de puertos de tu router. Deberías redirigir los siguientes puertos para Repro: TCP 5060 TCP 5061 UDP 5060 UDP 5061 Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Roundcube.raw.xml b/doc/manual/es/Roundcube.raw.xml index 4dfee2339..e289cea95 100644 --- a/doc/manual/es/Roundcube.raw.xml +++ b/doc/manual/es/Roundcube.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Roundcube52019-09-11 09:40:48fioddorCorrección menor42019-09-11 09:40:18fioddorCorrección menor32019-09-11 09:39:03fioddorCorrección menor22019-09-11 09:37:31fioddor12019-09-11 09:35:26fioddorSe crea la versión española.
Cliente de Correo Electrónico (Email) (Roundcube)
¿Qué es Roundcube?Roundcube es un cliente de correo electrónico (email) para navegador con un interfaz de usuario parecido a una aplicación de escritorio. Admite varios lenguajes. Roundcube usa el protocolo de acceso a mensajes de Internet (IMAP = Internet Message Access Protocol) para acceder a los correos en un servidor remoto. Soporta MIME para enviar archivos adjuntos y en particular proporciona libreta de contactos, gestión de carpetas, búsquedas de mensajes y verificación ortográfica.
Usar RoundcubeTras instalar Roundcube se puede acceder a él en https://<tu_freedombox>/roundcube. Introduce tu usuario y contraseña. El usuario de muchos servicios de correo electrónico suele ser la propia dirección completa, como usuario_de_ejemplo@servicio_de_ejemplo.org, no solo el usuario usuario_de_ejemplo. Introduce la dirección del servidor IMAP de tu servicio de correo electrónico en el campo Servidor. Puedes probar a poner aquí tu nombre de dominio como servicio_de_ejemplo.org si la dirección es usuario_de_ejemplo@servicio_de_ejemplo.org y si esto no funciona consulta la dirección del servidor IMAP en la documentación de tu proveedor de correo electrónico. Se recomienda encarecidamente usar una conexión cifrada a tu servidor IMAP. Para ello inserta el prefijo "imaps://" al principio de la dirección del servidor IMAP. Por ejemplo, imaps://imap.servicio_de_ejemplo.org. Logging into your IMAP server
Usar Gmail con RoundcubeSi quieres usar Roundcube con tu cuenta Gmail necesitas habilitar primero el ingreso con contraseña en las preferencias de tu cuenta Google porque Gmail no va a permitir por defecto que ingresen aplicaciones mediante contraseña. Para hacerlo visita las preferencias de la Cuenta Google y habilita Apps Menos seguras. A continuación ingresa en Roundcube introduciendo tu dirección de Gmail como Usuario y tu contraseña. En el campo servidor pon imaps://imap.gmail.com. Logging into Gmail Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Roundcube52019-09-11 09:40:48fioddorCorrección menor42019-09-11 09:40:18fioddorCorrección menor32019-09-11 09:39:03fioddorCorrección menor22019-09-11 09:37:31fioddor12019-09-11 09:35:26fioddorSe crea la versión española.
Cliente de Correo Electrónico (Email) (Roundcube)
¿Qué es Roundcube?Roundcube es un cliente de correo electrónico (email) para navegador con un interfaz de usuario parecido a una aplicación de escritorio. Admite varios lenguajes. Roundcube usa el protocolo de acceso a mensajes de Internet (IMAP = Internet Message Access Protocol) para acceder a los correos en un servidor remoto. Soporta MIME para enviar archivos adjuntos y en particular proporciona libreta de contactos, gestión de carpetas, búsquedas de mensajes y verificación ortográfica.
Usar RoundcubeTras instalar Roundcube se puede acceder a él en https://<tu_freedombox>/roundcube. Introduce tu usuario y contraseña. El usuario de muchos servicios de correo electrónico suele ser la propia dirección completa, como usuario_de_ejemplo@servicio_de_ejemplo.org, no solo el usuario usuario_de_ejemplo. Introduce la dirección del servidor IMAP de tu servicio de correo electrónico en el campo Servidor. Puedes probar a poner aquí tu nombre de dominio como servicio_de_ejemplo.org si la dirección es usuario_de_ejemplo@servicio_de_ejemplo.org y si esto no funciona consulta la dirección del servidor IMAP en la documentación de tu proveedor de correo electrónico. Se recomienda encarecidamente usar una conexión cifrada a tu servidor IMAP. Para ello inserta el prefijo "imaps://" al principio de la dirección del servidor IMAP. Por ejemplo, imaps://imap.servicio_de_ejemplo.org. Logging into your IMAP server
Usar Gmail con RoundcubeSi quieres usar Roundcube con tu cuenta Gmail necesitas habilitar primero el ingreso con contraseña en las preferencias de tu cuenta Google porque Gmail no va a permitir por defecto que ingresen aplicaciones mediante contraseña. Para hacerlo visita las preferencias de la Cuenta Google y habilita Apps Menos seguras. A continuación ingresa en Roundcube introduciendo tu dirección de Gmail como Usuario y tu contraseña. En el campo servidor pon imaps://imap.gmail.com. Logging into Gmail Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Searx.raw.xml b/doc/manual/es/Searx.raw.xml index 1d4e1b076..b672c2458 100644 --- a/doc/manual/es/Searx.raw.xml +++ b/doc/manual/es/Searx.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Searx32019-09-16 12:06:12fioddorCorrección menor22019-09-16 12:04:34fioddorSe crea la versión española.12019-09-16 11:39:36fioddor
Búsqueda Web (Searx)
Acerca de SearxSearx es un metabuscador. Un metabuscador agrega los resultados de varios buscadores y los presenta en un interfaz unificado. Lee más acerca de Searx en su sitio web oficial. Disponible desde: versión 0.24.0
Captura de pantallaSearx Screenshot
VídeoSearx installation and first steps (14 MB)
¿Por qué usar Searx?
Personalización y Burbujas por FiltradoLos buscadores tienen la capacidad de perfilar a sus usuarios y les sirven los resultados más relevantes para ellos, encerrandoles en burbujas por filtrado y distorsionando la visión que la gente tiene del mundo. Los buscadores tienen un incentivo financiero para servir publicidad interesante a sus usuarios, ya que incrementa la probabilidad de que hagan clic en los anuncios. Un metabuscador es una solución posible a este problema, ya que agrega resultados de multiples buscadores puenteando así los intentos de personalización de los buscadores. Searx evita almacenar cookies de buscadores para eludir traceos y perfilados de buscadores.
Filtrado de publicidadSearx filtra anuncios de los resultados de búsqueda antes de servirlos al usuario, con lo que mejora la relevancia de tus resultados y te evita distracciones.
PrivacidadSearx usa por defecto HTTP POST en vez de GET para enviar tus consultas de búsqueda a los buscadores, así que si alguien espía tu tráfico no podrá leerlas. Tampoco se almacenarán las consultas en el histórico de tu navegador. Nota: Searx usado desde la barra (omnibar) del navegador Chrome hará peticiones GET en vez de POST.
Searx en FreedomBoxEn FreedomBox Searx usa las credenciales únicas de Single Sign On. Esto implica que tienes que haber ingresado en tu FreedomBox con el navegador en el que estás usando Searx. Se puede acceder fácilmente a SearX a través de Tor. Se puede añadir a Searx a la barra de buscadores del navegador Firefox. Mira la Ayuda de Firefox acerca de este asunto. Una vez esté Searx añadido también podrás establecerlo como tu buscador por defecto. Searx también ofrece resultados de búsqueda en formatos csv, json y rss, que se pueden usar desde scripts para automatizar algunas tareas. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Searx32019-09-16 12:06:12fioddorCorrección menor22019-09-16 12:04:34fioddorSe crea la versión española.12019-09-16 11:39:36fioddor
Búsqueda Web (Searx)
Acerca de SearxSearx es un metabuscador. Un metabuscador agrega los resultados de varios buscadores y los presenta en un interfaz unificado. Lee más acerca de Searx en su sitio web oficial. Disponible desde: versión 0.24.0
Captura de pantallaSearx Screenshot
VídeoSearx installation and first steps (14 MB)
¿Por qué usar Searx?
Personalización y Burbujas por FiltradoLos buscadores tienen la capacidad de perfilar a sus usuarios y les sirven los resultados más relevantes para ellos, encerrandoles en burbujas por filtrado y distorsionando la visión que la gente tiene del mundo. Los buscadores tienen un incentivo financiero para servir publicidad interesante a sus usuarios, ya que incrementa la probabilidad de que hagan clic en los anuncios. Un metabuscador es una solución posible a este problema, ya que agrega resultados de multiples buscadores puenteando así los intentos de personalización de los buscadores. Searx evita almacenar cookies de buscadores para eludir traceos y perfilados de buscadores.
Filtrado de publicidadSearx filtra anuncios de los resultados de búsqueda antes de servirlos al usuario, con lo que mejora la relevancia de tus resultados y te evita distracciones.
PrivacidadSearx usa por defecto HTTP POST en vez de GET para enviar tus consultas de búsqueda a los buscadores, así que si alguien espía tu tráfico no podrá leerlas. Tampoco se almacenarán las consultas en el histórico de tu navegador. Nota: Searx usado desde la barra (omnibar) del navegador Chrome hará peticiones GET en vez de POST.
Searx en FreedomBoxEn FreedomBox Searx usa las credenciales únicas de Single Sign On. Esto implica que tienes que haber ingresado en tu FreedomBox con el navegador en el que estás usando Searx. Se puede acceder fácilmente a SearX a través de Tor. Se puede añadir a Searx a la barra de buscadores del navegador Firefox. Mira la Ayuda de Firefox acerca de este asunto. Una vez esté Searx añadido también podrás establecerlo como tu buscador por defecto. Searx también ofrece resultados de búsqueda en formatos csv, json y rss, que se pueden usar desde scripts para automatizar algunas tareas. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/SecureShell.raw.xml b/doc/manual/es/SecureShell.raw.xml index 3271c75bf..70bacd1f3 100644 --- a/doc/manual/es/SecureShell.raw.xml +++ b/doc/manual/es/SecureShell.raw.xml @@ -2,7 +2,7 @@ -
es/FreedomBox/Manual/SecureShell32019-08-20 08:32:32fioddorSe incorpora la traducción de una sección nueva.22019-08-20 07:08:46fioddorSe incorpora la traducción de una sección nueva.12019-08-20 07:02:24fioddorSe crea la versión española.
Shell Segura
¿Qué es Shell Segura?FreedomBox ejecuta el servidor openssh-server por defecto permitiendo así accesos remotos desde todos los interfaces. Si tu dispositivo hardware está connectado a un monitor y un teclado, también puedes ingresar directamente. Para la operación habitual de FreedomBox no necesitas usar la shell. No obstante, algunas tareas o identificación de algún problema podrían requerirlo.
Configurando una Cuenta de Usuario
Primer ingreso a Plinth: Cuenta de AdminAl crear una cuenta en Plinth por primera vez, el usuario tendrá automaticamente privilegios de administrador. Los usuarios Admin pueden ingresar mediante ssh (abajo se explica cómo) y escalar sus privilegios a superusuario mediante sudo.
Cuenta de Usuario por DefectoNota: Si puedes acceder a Plinth es que no necesitas hacer esto. Puedes usar la cuenta de usuario de Plinth para conectar por SSH. Las imagenes precompiladas FreedomBox tienen una cuenta de usuario llamada fbx pero no tiene contraseña establecida, así que no se puede ingresar con esta cuenta. Hay un script incluído en el programa freedom-maker que permite establecer la contraseña de esta cuenta si fuera necesario: Descomprime la imagen. Obtén una copia de freedom-maker en . Ejecuta sudo ./bin/passwd-in-image <archivo_de_imagen> fbx. Copia el archivo de la imagen a la tarjeta SD e inicia el dispositivo. El usuario "fbx" también tiene privilegios de superusuario mediante sudo.
Ingresando
LocalPara ingresar mediante SSH a tu FreedomBox: Reemplaza fbx por el usuario con el que quieres ingresar. Hay que reemplazar freedombox por el hostname o dirección IP de tu dispositivo FreedomBox como se indica en el proceso de Inicio rápido. fbx es el usuario de FreedomBox con privilegios de superusuario por defecto. Cualquier otro usuario creado con Plinth que pertenezca al grupo admin podrá ingresar. La cuenta root no tiene contraseña configurada y no podrá ingresar. A todos los demás usuarios se les denegará el acceso. fbx y los otros usuarios del grupo admin podrán ingresar directamente por el terminal. A todos los demás usuarios se les denegará el acceso. Si fallas repetidamente intentando ingresar se te bloqueará el acceso por algún tiempo. Esto se debe al paquete libpam-abl que FreedomBox instala por defecto. Para controlar este comportamiento consulta la documentación de libpam-abl.
SSH via TorSi tienes habilitados en Plinth los servicios ocultos mediante Tor puedes acceder a tu FreedomBox mediante ssh sobre Tor. Instala netcat-openbsd. Edita ~/.ssh/config para habilitar conexiones sobre Tor. Añade lo siguiente: es/FreedomBox/Manual/SecureShell42019-11-14 18:13:56fioddorSe alinea con la versión 13 en inglés del 11 de noviembre de 201932019-08-20 08:32:32fioddorSe incorpora la traducción de una sección nueva.22019-08-20 07:08:46fioddorSe incorpora la traducción de una sección nueva.12019-08-20 07:02:24fioddorSe crea la versión española.
Shell Segura
¿Qué es Shell Segura?FreedomBox ejecuta el servidor openssh-server por defecto permitiendo así accesos remotos desde todos los interfaces. Si tu dispositivo hardware está connectado a un monitor y un teclado, también puedes ingresar directamente. Para la operación habitual de FreedomBox no necesitas usar la shell. No obstante, algunas tareas o identificación de algún problema podrían requerirlo.
Configurando una Cuenta de Usuario
Primer ingreso a Plinth: Cuenta de AdminAl crear una cuenta en Plinth por primera vez, el usuario tendrá automaticamente privilegios de administrador. Los usuarios Admin pueden ingresar mediante ssh (abajo se explica cómo) y escalar sus privilegios a superusuario mediante sudo.
Cuenta de Usuario por DefectoNota: Si puedes acceder a Plinth es que no necesitas hacer esto. Puedes usar la cuenta de usuario de Plinth para conectar por SSH. Las imagenes precompiladas FreedomBox tienen una cuenta de usuario llamada fbx pero no tiene contraseña establecida, así que no se puede ingresar con esta cuenta. Hay un script incluído en el programa freedom-maker que permite establecer la contraseña de esta cuenta si fuera necesario: Descomprime la imagen. Obtén una copia de freedom-maker en . Ejecuta sudo ./bin/passwd-in-image <archivo_de_imagen> fbx. Copia el archivo de la imagen a la tarjeta SD e inicia el dispositivo. El usuario "fbx" también tiene privilegios de superusuario mediante sudo.
Ingresando
LocalPara ingresar mediante SSH a tu FreedomBox: Reemplaza fbx por el usuario con el que quieres ingresar. Hay que reemplazar freedombox por el hostname o dirección IP de tu dispositivo FreedomBox como se indica en el proceso de Inicio rápido. fbx es el usuario de FreedomBox con privilegios de superusuario por defecto. Cualquier otro usuario creado con Plinth que pertenezca al grupo admin podrá ingresar. La cuenta root no tiene contraseña configurada y no podrá ingresar. A todos los demás usuarios se les denegará el acceso. fbx y los otros usuarios del grupo admin podrán ingresar directamente por el terminal. A todos los demás usuarios se les denegará el acceso. Si fallas repetidamente intentando ingresar se te bloqueará el acceso por algún tiempo. Esto se debe al paquete libpam-abl que FreedomBox instala por defecto. Para controlar este comportamiento consulta la documentación de libpam-abl.
SSH via TorSi tienes habilitados en Plinth los servicios Tor Onion puedes acceder a tu FreedomBox mediante ssh sobre Tor. Instala netcat-openbsd. Edita ~/.ssh/config para habilitar conexiones sobre Tor. Añade lo siguiente: Replace USUARIO por un usuario del grupo admin (ver arriba). En algunos casos podrías necesitar reemplazar 9050 por 9150. Ahora, para conectar a la FreedomBox abre un terminal y teclea: Reemplaza USUARIO por un usuario del grupo admin y DIRECCION por la dirección del servicio oculto de SSH de tu FreedomBox.
Escalar a SuperusuarioSi después de ingresar quieres volverte superusuario para realizar actividades administrativas: Habitúate a ingresar como root solo cuando sea estrictamente necesario. Si no ingresas como root no puedes romperlo todo accidentalmente.
Cambiar ContraseñasPara cambiar la contraseña de un usuario administrado en Plinth usa la página Cambiar contraseña. El usuario por debecto fbx no se administra en Plinth y su contraseña no se puede cambiar desde la interfaz web. Para cambiar la contraseña en el terminal ingresa a tu FreedomBox con el usuario cuya contraseña quieres cambiar y ejecuta el siguiente comando: Esto te preguntará tu contraseña actual antes de darte la oportunidad de establecer la nueva. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file + ProxyCommand nc -X 5 -x 127.0.0.1:9050 %h %p]]>Replace USUARIO por un usuario del grupo admin (ver arriba). En algunos casos podrías necesitar reemplazar 9050 por 9150. Ahora, para conectar a la FreedomBox abre un terminal y teclea: Reemplaza USUARIO por un usuario del grupo admin y DIRECCION por la dirección del servicio Tor Onion para SSH de tu FreedomBox.
Escalar a SuperusuarioSi después de ingresar quieres volverte superusuario para realizar actividades administrativas: Habitúate a ingresar como root solo cuando sea estrictamente necesario. Si no ingresas como root no puedes romperlo todo accidentalmente.
Cambiar ContraseñasPara cambiar la contraseña de un usuario administrado en Plinth usa la página Cambiar contraseña. El usuario por debecto fbx no se administra en Plinth y su contraseña no se puede cambiar desde la interfaz web. Para cambiar la contraseña en el terminal ingresa a tu FreedomBox con el usuario cuya contraseña quieres cambiar y ejecuta el siguiente comando: Esto te preguntará tu contraseña actual antes de darte la oportunidad de establecer la nueva. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Security.raw.xml b/doc/manual/es/Security.raw.xml index e62a36dca..68ca0033a 100644 --- a/doc/manual/es/Security.raw.xml +++ b/doc/manual/es/Security.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Security22019-10-14 07:25:52fioddorSe actualiza a la versión inglesa 03 del 12 de octubre de 2019.12019-06-19 12:14:30fioddorSe crea la versión española.
SeguridadCuando se habilita esta opción sólo los usuarios del grupo "admin" podrán entrar a la consola o mediante SSH. Los usuarios de consola podrán acceder a algunos servicios sin más autorización. La sección Usuarios explica cómo definir grupos de usuarios. Cuando la opción Restringir ingresos por consola está habilitada, sólo los usuarios del grupo admin podrán ingresar via consola, shell segura (SSH) o interfaz gráfico. Al desactivar esta funcionalidad cualquier usuario con cuenta en FreedomBox podrá ingresar y quizá tener acceso a ciertos servicios sin más autorización. Esta opción solo debería desactivarse si se confía plenamente en todos los usuarios del sistema. Si quieres usar tu máquina FreedomBox también como escritorio y admitir que usuarios no-admin ingresen mediante interfáz gráfica esta opción debe estar desactivada. Puedes determinar la lista de usuarios admin en la sección Users. Security.png Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Security22019-10-14 07:25:52fioddorSe actualiza a la versión inglesa 03 del 12 de octubre de 2019.12019-06-19 12:14:30fioddorSe crea la versión española.
SeguridadCuando se habilita esta opción sólo los usuarios del grupo "admin" podrán entrar a la consola o mediante SSH. Los usuarios de consola podrán acceder a algunos servicios sin más autorización. La sección Usuarios explica cómo definir grupos de usuarios. Cuando la opción Restringir ingresos por consola está habilitada, sólo los usuarios del grupo admin podrán ingresar via consola, shell segura (SSH) o interfaz gráfico. Al desactivar esta funcionalidad cualquier usuario con cuenta en FreedomBox podrá ingresar y quizá tener acceso a ciertos servicios sin más autorización. Esta opción solo debería desactivarse si se confía plenamente en todos los usuarios del sistema. Si quieres usar tu máquina FreedomBox también como escritorio y admitir que usuarios no-admin ingresen mediante interfáz gráfica esta opción debe estar desactivada. Puedes determinar la lista de usuarios admin en la sección Users. Security.png Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/ServiceDiscovery.raw.xml b/doc/manual/es/ServiceDiscovery.raw.xml index 006f58cbb..ce58f5878 100644 --- a/doc/manual/es/ServiceDiscovery.raw.xml +++ b/doc/manual/es/ServiceDiscovery.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/ServiceDiscovery12019-06-19 12:36:54fioddorSe crea la versión española.
Detección de ServiciosLa Detección de Servicios permite a otros dispositivos de la red detectar a tu FreedomBox y a los servicios que expone. Si un cliente de la red local soporta mDNS, puede encontrar tu FreedomBox en <hostname>.local (por ejemplo: freedombox.local). También permite a FreedomBox detectar otros dispositivos y servicios que están funcionando en tu red local. La Detección de Servicios no es esencial y solo funciona en redes internas. Se puede deshabilitar para mejorar la seguridad especialmente cuando la conectas a una red local hostil. Volver a la descripción de Funcionalidades o a las páginas del manual. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/ServiceDiscovery12019-06-19 12:36:54fioddorSe crea la versión española.
Detección de ServiciosLa Detección de Servicios permite a otros dispositivos de la red detectar a tu FreedomBox y a los servicios que expone. Si un cliente de la red local soporta mDNS, puede encontrar tu FreedomBox en <hostname>.local (por ejemplo: freedombox.local). También permite a FreedomBox detectar otros dispositivos y servicios que están funcionando en tu red local. La Detección de Servicios no es esencial y solo funciona en redes internas. Se puede deshabilitar para mejorar la seguridad especialmente cuando la conectas a una red local hostil. Volver a la descripción de Funcionalidades o a las páginas del manual. InformationSupportContributeReportsPromoteOverview Hardware Live Help Where To Start Translate Calls Talks Features Vision Q&A Design To Do Releases Press Download Manual Code Contributors Blog FreedomBox for Communities FreedomBox Developer Manual HELP & DISCUSSIONS: Discussion Forum - Mailing List - #freedombox irc.debian.org | CONTACT Foundation | JOIN Project Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 This page is copyright its contributors and is licensed under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Shadowsocks.raw.xml b/doc/manual/es/Shadowsocks.raw.xml index ef89f5b77..372a83d90 100644 --- a/doc/manual/es/Shadowsocks.raw.xml +++ b/doc/manual/es/Shadowsocks.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Shadowsocks22019-09-14 09:52:23fioddorCorrección menor12019-09-14 09:45:29fioddorSe crea la versión española.
Proxy SOCKS5 (Shadowsocks)
¿Qué es Shadowsocks?Shadowsocks es un proxy SOCKS5 ligero y seguro, diseñado para proteger tu tráfico Internet. Se puede usar para eludir la censura y los filtros de Internet. Tu FreedomBox puede ejecutar un cliente Shadowsocks que puede conectar con un servidor Shadowsocks. También ejecutará un proxy SOCKS5. Los dispositivos locales pueden conectar con este proxy y sus datos serán cifrados y retransmitidos a través del sevidor Shadowsocks. Nota: Shadowsocks está disponible en FreedomBox a partir de la versión 0.18 de Plinth.
Usar el cliente ShadowsocksLa implementación actual de Shadowsocks en FreedomBox solo soporta configurar FreedomBox como cliente Shadowsocks. Este caso de uso sería así: El client de Shadowsocks (FreedomBox) está en una región en la que partes de Internet están bloqueadas o censuradas. El servidor de Shadowsocks está en una región diferente que no tiene esos bloqueos. FreedomBox proporciona un servicio de proxy SOCKS en la red local para que otros dispositivos hagan uso de la conexión Shadowsocks. En el futuro será posible configurar FreedomBox como servidor Shadowsocks.
Configurar tu FreedomBox para el cliente ShadowsocksPara habilitar Shadowsocks primero navega a la página Proxy Socks5 (Shadowsocks) e instalalo. Servidor: el servidor Shadowsocks no es la IP o la URL de FreedomBox, sino que será otro servidor o VPS configurado como tal (servidor Shadowsocks). También hay algunos servidores Shadowsocks públicos listados en la web, pero sé consciente de que quienquiera que opere el servidor puede ver a dónde van las peticiones y cualquier dato no cifrado que se transmita. Para usar Shadowsocks una vez instalado configura la URL del proxy SOCKS5 en tu dispositivo, navegador o aplicación como http://<tu_freedombox>:1080/. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Shadowsocks22019-09-14 09:52:23fioddorCorrección menor12019-09-14 09:45:29fioddorSe crea la versión española.
Proxy SOCKS5 (Shadowsocks)
¿Qué es Shadowsocks?Shadowsocks es un proxy SOCKS5 ligero y seguro, diseñado para proteger tu tráfico Internet. Se puede usar para eludir la censura y los filtros de Internet. Tu FreedomBox puede ejecutar un cliente Shadowsocks que puede conectar con un servidor Shadowsocks. También ejecutará un proxy SOCKS5. Los dispositivos locales pueden conectar con este proxy y sus datos serán cifrados y retransmitidos a través del sevidor Shadowsocks. Nota: Shadowsocks está disponible en FreedomBox a partir de la versión 0.18 de Plinth.
Usar el cliente ShadowsocksLa implementación actual de Shadowsocks en FreedomBox solo soporta configurar FreedomBox como cliente Shadowsocks. Este caso de uso sería así: El client de Shadowsocks (FreedomBox) está en una región en la que partes de Internet están bloqueadas o censuradas. El servidor de Shadowsocks está en una región diferente que no tiene esos bloqueos. FreedomBox proporciona un servicio de proxy SOCKS en la red local para que otros dispositivos hagan uso de la conexión Shadowsocks. En el futuro será posible configurar FreedomBox como servidor Shadowsocks.
Configurar tu FreedomBox para el cliente ShadowsocksPara habilitar Shadowsocks primero navega a la página Proxy Socks5 (Shadowsocks) e instalalo. Servidor: el servidor Shadowsocks no es la IP o la URL de FreedomBox, sino que será otro servidor o VPS configurado como tal (servidor Shadowsocks). También hay algunos servidores Shadowsocks públicos listados en la web, pero sé consciente de que quienquiera que opere el servidor puede ver a dónde van las peticiones y cualquier dato no cifrado que se transmita. Para usar Shadowsocks una vez instalado configura la URL del proxy SOCKS5 en tu dispositivo, navegador o aplicación como http://<tu_freedombox>:1080/. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Snapshots.raw.xml b/doc/manual/es/Snapshots.raw.xml index 5981cc1cf..5f59d13fb 100644 --- a/doc/manual/es/Snapshots.raw.xml +++ b/doc/manual/es/Snapshots.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Snapshots12019-06-20 14:29:35fioddorSe crea la versión española.
InstantáneasLas Instantáneas te permiten crear instantáneas del sistema de archivos y devolver al sistema a un estado anterior. Nota: Esta funcionalidad requier un sistema de archivos Btrfs. Todas las imágenes de disco de FreedomBox estables usan Btrfs. Instantáneas Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Snapshots12019-06-20 14:29:35fioddorSe crea la versión española.
InstantáneasLas Instantáneas te permiten crear instantáneas del sistema de archivos y devolver al sistema a un estado anterior. Nota: Esta funcionalidad requier un sistema de archivos Btrfs. Todas las imágenes de disco de FreedomBox estables usan Btrfs. Instantáneas Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Storage.raw.xml b/doc/manual/es/Storage.raw.xml index c9bb91683..0437c22ee 100644 --- a/doc/manual/es/Storage.raw.xml +++ b/doc/manual/es/Storage.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Storage12019-06-20 14:42:39fioddorSe crea la versión española.
AlmacenamientoAlmacenamiento te permite ver los dispositivos de almacenamiento conectados a tu FreedomBox y el uso de su espacio. FreedomBox puede detectar y montar automáticamente medios extraíbles como unidades flash USB. Se muestran listados bajo la sección Dispositivos extraíbles junto con una opción para expulsarlos. Si queda espacio libre detrás de la partición de root, se mostrará también la opción para expandirla. Normalmente no se muestra ya que en el primer arranque de la FreedomBox se produce automáticamente una expansión total de la partición de root. Storage.png Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Storage12019-06-20 14:42:39fioddorSe crea la versión española.
AlmacenamientoAlmacenamiento te permite ver los dispositivos de almacenamiento conectados a tu FreedomBox y el uso de su espacio. FreedomBox puede detectar y montar automáticamente medios extraíbles como unidades flash USB. Se muestran listados bajo la sección Dispositivos extraíbles junto con una opción para expulsarlos. Si queda espacio libre detrás de la partición de root, se mostrará también la opción para expandirla. Normalmente no se muestra ya que en el primer arranque de la FreedomBox se produce automáticamente una expansión total de la partición de root. Storage.png Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Syncthing.raw.xml b/doc/manual/es/Syncthing.raw.xml index ee6f97a91..73d0a9a0d 100644 --- a/doc/manual/es/Syncthing.raw.xml +++ b/doc/manual/es/Syncthing.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Syncthing42019-11-04 11:25:50fioddorSe alinea con la versión 14 del 01 de noviembre de 201932019-10-28 09:30:15fioddorSe alinea con la versión 14 del 27 de octubre de 201922019-09-11 15:32:18fioddorSe crea la versión española.12019-09-11 15:25:11fioddorSe crea la versión española.
Sincronización de Archivos (Syncthing)Con Syncthing instalado en tu FreedomBox puedes sincronizar contenido desde otros dispositivos a tu FreedomBox y vice-versa. Por ejemplo puedes mantener sincronizadas las fotos tomadas desde tu teléfono móvil con tu FreedomBox. Disponible desde versión: 0.14. Syncthing es una solución de sincronización entre pares, no una de tipo cliente-servidor. Esto implica que FreedomBox no es realmente el servidor y tus otros dispositivos no son sus clientes. Desde la perspectiva de Syncthing todos son dispositivos equivalentes. Puedes emplear Syncthing para sincronizar tus archivos entre cualquiera de tus dispositivos. La ventaja que aporta FreedomBox consiste en que como es un servidor está encendida (casi) siempre. Supón que quieres sincronizar las fotos de tu teléfono con tu portátil. Si sincronizas tu teléfono con FreedomBox el portátil podrá obtenerlas desde la FreedomBox cuando vuelva a conectarse. No necesitas preocuparte de cuando se conectan los otros dispositivos. Si tu FreedomBox es uno de los dispositivos configurados con la carpeta compartida de Syncthing puedes estár tranquilo que tus otros dispositivos se sincronizarán en cuanto se conecten. Tras instalarlo sigue estas instrucciones del proyecto Syncthing: Arrancando. Syncthing permite compartir selectivamente carpetas individuales. Antes de compartir los dispositivos tienen que estar emparejados leyendo códigos QR o introduciendo manualmente identificadores de dispositivo. Syncthing tiene un servicio de autodescubrimiento para identicar fácilmente a los otros dispositivos de la misma subred que tengan Syncthing instalado. Para acceder al cliente web de la instancia Syncthing que se ejecuta en tu FreedomBox, usa la ruta /syncthing. Actualmente este cliente web está accesible solo a los usuarios de FreedomBox que tengan privilegios de administrador aunque en alguna futura versión podría estarlo a todos los usuarios de FreedomBox. Syncthing web interface Syncthing tiene apps Android disponibles en F-Droid y Google Play. También hay disponibles aplicaciones de escritorio multiplataforma. Para más información acerca de Syncthing visita su sitio web oficial y su documentación.
Sincronizar via TorSyncthing debe sincronizar automáticamente con tu FreedomBox incluso cuando esta solo sea accesible como servicio oculto Tor. Si quieres enrutar tu cliente Syncthing via Tor configura la variable de entorno all_proxy: Para más información mira la documentación de Syncthing acerca de el uso de proxies.
Evitar repetidores de SyncthingSyncthing emplea por defecto conexiones dinámicas para conectar con otros pares. Esto significa que si estás sincronizando a través de Internet, los datos quizá tengan que atravesar repetidores de Syncthing públicos para alcanzar tus dispositivos. Esto desaprovecha que tu FreedomBox tenga una dirección IP pública. Al añadir tu FreedomBox como dispositivo en otros clientes de Syncthing establece tu dirección como "tcp://<mi.dominio.freedombox>" en vez de "dinámica". Esto permite a tus pares Syncthing conectarse diréctamente a tu FreedomBox eludiendo la necesidad de repetidores. También permite sincronización rápida bajo demanda si no quieres mantener a Syncthing ejecuándose todo el tiempo en tus dispositivos móviles. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Syncthing52019-11-14 18:11:07fioddorSe alinea con la versión 18 en inglés del 11 de noviembre de 201942019-11-04 11:25:50fioddorSe alinea con la versión 14 del 01 de noviembre de 201932019-10-28 09:30:15fioddorSe alinea con la versión 14 del 27 de octubre de 201922019-09-11 15:32:18fioddorSe crea la versión española.12019-09-11 15:25:11fioddorSe crea la versión española.
Sincronización de Archivos (Syncthing)Con Syncthing instalado en tu FreedomBox puedes sincronizar contenido desde otros dispositivos a tu FreedomBox y vice-versa. Por ejemplo puedes mantener sincronizadas las fotos tomadas desde tu teléfono móvil con tu FreedomBox. Disponible desde versión: 0.14. Syncthing es una solución de sincronización entre pares, no una de tipo cliente-servidor. Esto implica que FreedomBox no es realmente el servidor y tus otros dispositivos no son sus clientes. Desde la perspectiva de Syncthing todos son dispositivos equivalentes. Puedes emplear Syncthing para sincronizar tus archivos entre cualquiera de tus dispositivos. La ventaja que aporta FreedomBox consiste en que como es un servidor está encendida (casi) siempre. Supón que quieres sincronizar las fotos de tu teléfono con tu portátil. Si sincronizas tu teléfono con FreedomBox el portátil podrá obtenerlas desde la FreedomBox cuando vuelva a conectarse. No necesitas preocuparte de cuando se conectan los otros dispositivos. Si tu FreedomBox es uno de los dispositivos configurados con la carpeta compartida de Syncthing puedes estár tranquilo que tus otros dispositivos se sincronizarán en cuanto se conecten. Tras instalarlo sigue estas instrucciones del proyecto Syncthing: Arrancando. Syncthing permite compartir selectivamente carpetas individuales. Antes de compartir los dispositivos tienen que estar emparejados leyendo códigos QR o introduciendo manualmente identificadores de dispositivo. Syncthing tiene un servicio de autodescubrimiento para identicar fácilmente a los otros dispositivos de la misma subred que tengan Syncthing instalado. Para acceder al cliente web de la instancia Syncthing que se ejecuta en tu FreedomBox, usa la ruta /syncthing. Actualmente este cliente web está accesible solo a los usuarios de FreedomBox que tengan privilegios de administrador aunque en alguna futura versión podría estarlo a todos los usuarios de FreedomBox. Syncthing web interface Syncthing tiene apps Android disponibles en F-Droid y Google Play. También hay disponibles aplicaciones de escritorio multiplataforma. Para más información acerca de Syncthing visita su sitio web oficial y su documentación.
Sincronizar via TorSyncthing debe sincronizar automáticamente con tu FreedomBox incluso cuando esta solo sea accesible como servicio Tor Onion. Si quieres enrutar tu cliente Syncthing via Tor configura la variable de entorno all_proxy: Para más información mira la documentación de Syncthing acerca de el uso de proxies.
Evitar repetidores de SyncthingSyncthing emplea por defecto conexiones dinámicas para conectar con otros pares. Esto significa que si estás sincronizando a través de Internet, los datos quizá tengan que atravesar repetidores de Syncthing públicos para alcanzar tus dispositivos. Esto desaprovecha que tu FreedomBox tenga una dirección IP pública. Al añadir tu FreedomBox como dispositivo en otros clientes de Syncthing establece tu dirección como "tcp://<mi.dominio.freedombox>" en vez de "dinámica". Esto permite a tus pares Syncthing conectarse diréctamente a tu FreedomBox eludiendo la necesidad de repetidores. También permite sincronización rápida bajo demanda si no quieres mantener a Syncthing ejecuándose todo el tiempo en tus dispositivos móviles. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/TinyTinyRSS.raw.xml b/doc/manual/es/TinyTinyRSS.raw.xml index 50cf8b2d5..21f8fdff2 100644 --- a/doc/manual/es/TinyTinyRSS.raw.xml +++ b/doc/manual/es/TinyTinyRSS.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/TinyTinyRSS12019-09-13 17:05:05fioddorSe crea la versión española.
Lector de Feeds de Noticias (Tiny Tiny RSS)Tiny Tiny RSS es un lector y agregador de feeds de noticias (RSS/Atom) diseñado para leer noticias desde cualquier lugar con una experiencia lo más parecida posible a una aplicación de escritorio. Cualquier usuario creado mediante el interfaz web de FreedomBox podrá ingresar y usar esta app. Cada usuario tiene sus propios feeds, estado y preferencias.
Usar el interfaz webCuando esté habilitado Tiny Tiny RSS estará disponible en la ruta /tt-rss del servidor web. Cualquier usuario creado mediante el interfaz web de FreedomBox podrá ingresar y usar esta app. Tiny Tiny RSS
Añadir un nuevo feed1. Ve a la página cuyo feed quieras y copia su enlace RSS/Atom feed. Selecting feeds 2. Selecciona "Subscribirse al feed.." en el desplegable Acciones. Subscribe to feed 3. Pega la URL que has copiado en el diálogo que aparece y pulsa el botón Subscribirse. Subscription dialog box Dale un minuto a la aplicación para obtener los feeds. En algunos sitios web el botón de feeds RSS no está claramente visible. En tal caso simplemente pega la URL del sitio web en el diálogo Subscribirse y deja que TT-RSS detecte automáticamente los feeds RSS que haya en la página. Puedes probarlo ahora con la página principal de WikiNews Como puedes ver en la imagen seguiente TT-RSS ha detectado y añadido el feed Atom de WikiNews a nuestra lista de feeds. WikiNews feed added Si no quieres conservar este feed haz clic con el botón derecho del ratón en el feed de la imagen anterior, selecciona Editar feed y dale a Desubscribir en el diálogo que aparece. Unsubscribe from a feed
Importar tus feeds desde otro lectorEncuentra en tu lector de feeds previo una opción para Exportar tus feeds a un fichero. Si tiene que elegir entre varios formatos elige OPML. Pongamos que tu fichero de feeds exportados se llama Subscriptions.opml Haz click en la esquina superior izquierda el menú Acciones y selecciona Preferencias. Se te llevará a otra página. En la cabecera superior selecciona la 2ª solapa llamada Feeds. Tiene varias secciones y la 2ª se llama OPML. Selecciónala. OPML feeds page Para importar tu fichero Subscriptions.opml a TT-RSS, Haz clic en Examinar... y selecciona el fichero en tu sistema de archivos. Haz clic en Importar mi OPML Tras importar se te llevará a la sección Feeds que está en la página encima de la de OPML. Puedes ver que los feeds del lector previo figuran ahora importados en Tiny Tiny RSS. Ahora puedes empezar a usar Tiny Tiny RSS como tu lector principal.
Usar la app móvilLa app oficial para Android del proyecto Tiny Tiny RSS funciona con el servidor Tiny Tiny RSS de FreedomBox. Se sabe que la aplicación anterior TTRSS-Reader no funciona. Desafortunadamente la app oficial para Android solo está disponible en la Play Store de Google y no en F-Droid. Todavía puedes obtener el código fuente y compilar el fichero apk por tu cuenta. Para configurarla, primero instálala y entonces en la página de configuración pon como URL. Pon tu usuario y contraseña en los detalles del Login así como los detalles de Autenticación HTTP. Si tu FreedomBox no tiene un certificado HTTPS válido configuralo para que admita cualquier certificado SSL y cualquier servidor. Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/TinyTinyRSS12019-09-13 17:05:05fioddorSe crea la versión española.
Lector de Feeds de Noticias (Tiny Tiny RSS)Tiny Tiny RSS es un lector y agregador de feeds de noticias (RSS/Atom) diseñado para leer noticias desde cualquier lugar con una experiencia lo más parecida posible a una aplicación de escritorio. Cualquier usuario creado mediante el interfaz web de FreedomBox podrá ingresar y usar esta app. Cada usuario tiene sus propios feeds, estado y preferencias.
Usar el interfaz webCuando esté habilitado Tiny Tiny RSS estará disponible en la ruta /tt-rss del servidor web. Cualquier usuario creado mediante el interfaz web de FreedomBox podrá ingresar y usar esta app. Tiny Tiny RSS
Añadir un nuevo feed1. Ve a la página cuyo feed quieras y copia su enlace RSS/Atom feed. Selecting feeds 2. Selecciona "Subscribirse al feed.." en el desplegable Acciones. Subscribe to feed 3. Pega la URL que has copiado en el diálogo que aparece y pulsa el botón Subscribirse. Subscription dialog box Dale un minuto a la aplicación para obtener los feeds. En algunos sitios web el botón de feeds RSS no está claramente visible. En tal caso simplemente pega la URL del sitio web en el diálogo Subscribirse y deja que TT-RSS detecte automáticamente los feeds RSS que haya en la página. Puedes probarlo ahora con la página principal de WikiNews Como puedes ver en la imagen seguiente TT-RSS ha detectado y añadido el feed Atom de WikiNews a nuestra lista de feeds. WikiNews feed added Si no quieres conservar este feed haz clic con el botón derecho del ratón en el feed de la imagen anterior, selecciona Editar feed y dale a Desubscribir en el diálogo que aparece. Unsubscribe from a feed
Importar tus feeds desde otro lectorEncuentra en tu lector de feeds previo una opción para Exportar tus feeds a un fichero. Si tiene que elegir entre varios formatos elige OPML. Pongamos que tu fichero de feeds exportados se llama Subscriptions.opml Haz click en la esquina superior izquierda el menú Acciones y selecciona Preferencias. Se te llevará a otra página. En la cabecera superior selecciona la 2ª solapa llamada Feeds. Tiene varias secciones y la 2ª se llama OPML. Selecciónala. OPML feeds page Para importar tu fichero Subscriptions.opml a TT-RSS, Haz clic en Examinar... y selecciona el fichero en tu sistema de archivos. Haz clic en Importar mi OPML Tras importar se te llevará a la sección Feeds que está en la página encima de la de OPML. Puedes ver que los feeds del lector previo figuran ahora importados en Tiny Tiny RSS. Ahora puedes empezar a usar Tiny Tiny RSS como tu lector principal.
Usar la app móvilLa app oficial para Android del proyecto Tiny Tiny RSS funciona con el servidor Tiny Tiny RSS de FreedomBox. Se sabe que la aplicación anterior TTRSS-Reader no funciona. Desafortunadamente la app oficial para Android solo está disponible en la Play Store de Google y no en F-Droid. Todavía puedes obtener el código fuente y compilar el fichero apk por tu cuenta. Para configurarla, primero instálala y entonces en la página de configuración pon como URL. Pon tu usuario y contraseña en los detalles del Login así como los detalles de Autenticación HTTP. Si tu FreedomBox no tiene un certificado HTTPS válido configuralo para que admita cualquier certificado SSL y cualquier servidor. Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Tiny Tiny RSS Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Tor.raw.xml b/doc/manual/es/Tor.raw.xml index a001ff452..94509cde0 100644 --- a/doc/manual/es/Tor.raw.xml +++ b/doc/manual/es/Tor.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Tor82019-10-28 09:44:53fioddorSe alinea con la versión 21 del 27 de octubre de 201972019-10-21 13:54:58fioddorCorrección menor62019-09-03 15:18:40fioddorMejora menor52019-09-03 15:17:22fioddortraducción de la sección TOR finalizada.42019-09-03 15:11:56fioddorSe incorpora la traducción de una sección nueva.32019-09-03 15:04:38fioddorSe incorpora la traducción de una sección nueva.22019-09-03 14:49:23fioddorSe incorpora la traducción de una sección nueva.12019-09-03 14:32:43fioddorSe crea la versión española (traducción incompleta).
Red para el anonimato (Tor)
¿Qué es Tor?Tor es una red de servidores operada por voluntarios. Permite a los usuarios de esos servidores mejorar su privacidad y seguridad cuando navegan por Internet. Tu y tus amigos podéis acceder a tu FreedomBox a través de la red Tor sin revelar su dirección IP. Activando la aplicación Tor en tu FreedomBox podrás ofrecer servicios remotos (chat, wiki, file sharing, etc...) sin mostrar tu localización. Esta aplicación te dará una protección mejor que un servidor web público porque estarás menos expuesto a gente intrusiva.
Usar Tor para navegación anónimaTor Browser es la manera recomendada para navegar la web a través de Tor. Puedes descargar Tor Browser desde y seguir sus instrucciones para instalarlo y ejecutarlo.
Usar Servicio Oculto Tor para acceder a tu FreedomBoxEl Servicio Oculto Tor proporciona una manera de acceder a tu FreedomBox incluso aunque esté detrás de un router, cortafuegos, o redirector NAT (p.ej. si tu proveedor de Internet no proporciona una dirección pública IPv4 para tu router). Para habilitar el Servicio Oculto Tor primero navega a la página Red para el anónimato (Tor). (Si no la ves haz clic en el logo de FreedomBox de arriba a la izquierda de la página y ve a la página principal de Apps.) En la página Red para el anónimato (Tor), bajo Configuración, habilita la caja Habilitar los Servicios Ocultos Tor y pulsa el botón de Actualizar configuración. Tor se reconfigurará y se reiniciará. Transcurrido un rato la página se refrescará bajo Estado verás la tabla que lista la dirección .onion del servicio oculto. Copia toda la dirección (que termina en .onion) y pégala en el campo dirección de Tor Browser. Deberías poder acceder a tu FreedomBox. (Quizá veas un aviso de certificado porque FreedomBox tiene un certificado autofirmado.) Tor Browser - Plinth Actualmente solo HTTP (puerto 80), HTTPS (puerto 443) y SSH (puerto 22) están accesibles a través del Servicio Oculto Tor configurado en la FreedomBox.
Apps accesibles via TorLas siguientes apps se pueden acceder a través de Tor. Esta lista puede ser incompleta. Calendario y Libreta de direcciones (Radicale) Sincronización de ficheros (Syncthing) Búsqueda Web (Searx) Wiki (MediaWiki) Wiki y Blog (Ikiwiki)
Ejecutar un nodo TorCuando se instala Tor se configura por defecto para ejecutarse como puente a la red (bridge relay). Esta opción se puede deshabilitar en la página de configuración de Tor de Plinth. En la parte inferior de página de Tor de Plinth hay una lista de puertos que usa el puente a la red Tor. Si tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos de tu router para que estos puertos sean accesibles desde Internet. Los requisitos para ejecutar un puente a la red se listan en la Tor Relay Guide. En resúmen, se recomienda que un puente tenga disponibles para Tor al menos 16 Mbit/s (Mbps) de ancho de banda para subida y bajada. Mejor más. requiere que a se le permita al puente usar un mínimo de 100 GByte de tráfico mensual de salida y de entrada. recomienda que un nodo sin salida (mero reenrutador) de <40 Mbit/s tenga al menos 512 MB de RAM disponible; Uno más rápido de 40 Mbit/s debería tener al menos 1 GB de RAM.
Usar el puerto Tor SOCKS (avanzado)FreedomBox proporciona un puerto Tor SOCKS al que pueden conectar otras aplicaciones para enrutar su tráfico a través de la red Tor. Este puerto es accesible a cualquier interfaz (de red) configurado en la zona interna del cortafuegos. Para configurar la aplicación apunta el Host SOCKS a la dirección IP interna de la conexión y pon el Puerto SOCKS a 9050.
Exjemplo con FirefoxTu navegador web se puede configurar para emplear la red Tor para toda tu actividad de navegación. Esto permite eludir la censura y oculta tu dirección IP a los sitios web durante la navegación normal. Para anonimato se recomienda usar el Navegador Tor. Configura tu dirección IP local de FreedomBox y el puerto 9050 como un proxy SOCKS en Firefox. Hay extensiones para facilitar la activación y desactivación del proxy. Configuring Firefox with Tor SOCKS proxy Con en proxy SOCKS configurado puedes acceder cualquier URL de tipo onion diréctamente desde Firefox. FreedomBox tiene una dirección onion v3 propia a la que puedes conectarte por la red Tor (guárdala en tus favoritos para usarla en situaciones de emergencia).
Eludiendo la censura de TorSi tu proveedor de Internet (ISP) está tratando de bloquear el tráfico Tor puedes usar puentes (a la red Tor) para conectar (a la red Tor). 1. Obtén la configuración de los puentes de Tor BridgeDB Tor BridgeDB 2. Añade las líneas a la configuración de Tor de tu FreedomBox como se muestra. Tor Configuration Page Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Tor102019-11-30 18:08:09fioddorSe alinea con la versión 23 en inglés del 28 de noviembre de 201992019-11-14 17:59:44fioddorSe alinea con la versión 22 en inglés del 11 de noviembre de 201982019-10-28 09:44:53fioddorSe alinea con la versión 21 del 27 de octubre de 201972019-10-21 13:54:58fioddorCorrección menor62019-09-03 15:18:40fioddorMejora menor52019-09-03 15:17:22fioddortraducción de la sección TOR finalizada.42019-09-03 15:11:56fioddorSe incorpora la traducción de una sección nueva.32019-09-03 15:04:38fioddorSe incorpora la traducción de una sección nueva.22019-09-03 14:49:23fioddorSe incorpora la traducción de una sección nueva.12019-09-03 14:32:43fioddorSe crea la versión española (traducción incompleta).
Red para el anonimato (Tor)
¿Qué es Tor?Tor es una red de servidores operada por voluntarios. Permite a los usuarios de esos servidores mejorar su privacidad y seguridad cuando navegan por Internet. Tu y tus amigos podéis acceder a tu FreedomBox a través de la red Tor sin revelar su dirección IP. Activando la aplicación Tor en tu FreedomBox podrás ofrecer servicios remotos (chat, wiki, file sharing, etc...) sin mostrar tu localización. Esta aplicación te dará una protección mejor que un servidor web público porque estarás menos expuesto a gente intrusiva.
Usar Tor para navegación anónimaTor Browser es la manera recomendada para navegar la web a través de Tor. Puedes descargar Tor Browser desde y seguir sus instrucciones para instalarlo y ejecutarlo.
Usar Servicio Tor Onion para acceder a tu FreedomBoxEl Servicio Tor Onion proporciona una manera de acceder a tu FreedomBox incluso aunque esté detrás de un router, cortafuegos, o redirector NAT (p.ej. si tu proveedor de Internet no proporciona una dirección pública IPv4 para tu router). Para habilitar el Servicio Tor Onion primero navega a la página Red para el anónimato (Tor). (Si no la ves haz clic en el logo de FreedomBox de arriba a la izquierda de la página y ve a la página principal de Apps.) En la página Red para el anónimato (Tor), bajo Configuración, habilita la caja Habilitar los Servicios Tor Onion y pulsa el botón de Actualizar configuración. Tor se reconfigurará y se reiniciará. Transcurrido un rato la página se refrescará bajo Estado verás la tabla que lista la dirección .onion del servicio. Copia toda la dirección (que termina en .onion) y pégala en el campo dirección de Tor Browser. Deberías poder acceder a tu FreedomBox. (Quizá veas un aviso de certificado porque FreedomBox tiene un certificado autofirmado.) Tor Browser - Plinth Onion Actualmente solo HTTP (puerto 80), HTTPS (puerto 443) y SSH (puerto 22) están accesibles a través del Servicio Tor Onion configurado en la FreedomBox.
Apps accesibles via TorLas siguientes apps se pueden acceder a través de Tor. Esta lista puede ser incompleta. Calendario y Libreta de direcciones (Radicale) Sincronización de ficheros (Syncthing) Búsqueda Web (Searx) Wiki (MediaWiki) Wiki y Blog (Ikiwiki)
Ejecutar un nodo TorCuando se instala Tor se configura por defecto para ejecutarse como puente a la red (bridge relay). Esta opción se puede deshabilitar en la página de configuración de Tor de Plinth. En la parte inferior de página de Tor de Plinth hay una lista de puertos que usa el puente a la red Tor. Si tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos de tu router para que estos puertos sean accesibles desde Internet. Los requisitos para ejecutar un puente a la red se listan en la Tor Relay Guide. En resúmen, se recomienda que un puente tenga disponibles para Tor al menos 16 Mbit/s (Mbps) de ancho de banda para subida y bajada. Mejor más. requiere que a se le permita al puente usar un mínimo de 100 GByte de tráfico mensual de salida y de entrada. recomienda que un nodo sin salida (mero reenrutador) de <40 Mbit/s tenga al menos 512 MB de RAM disponible; Uno más rápido de 40 Mbit/s debería tener al menos 1 GB de RAM.
Usar el puerto Tor SOCKS (avanzado)FreedomBox proporciona un puerto Tor SOCKS al que pueden conectar otras aplicaciones para enrutar su tráfico a través de la red Tor. Este puerto es accesible a cualquier interfaz (de red) configurado en la zona interna del cortafuegos. Para configurar la aplicación apunta el Host SOCKS a la dirección IP interna de la conexión y pon el Puerto SOCKS a 9050.
Exjemplo con FirefoxTu navegador web se puede configurar para emplear la red Tor para toda tu actividad de navegación. Esto permite eludir la censura y oculta tu dirección IP a los sitios web durante la navegación normal. Para anonimato se recomienda usar el Navegador Tor. Configura tu dirección IP local de FreedomBox y el puerto 9050 como un proxy SOCKS en Firefox. Hay extensiones para facilitar la activación y desactivación del proxy. Configuring Firefox with Tor SOCKS proxy Con en proxy SOCKS configurado puedes acceder cualquier URL de tipo onion diréctamente desde Firefox. FreedomBox tiene una dirección onion v3 propia a la que puedes conectarte por la red Tor (guárdala en tus favoritos para usarla en situaciones de emergencia).
Eludiendo la censura de TorSi tu proveedor de Internet (ISP) está tratando de bloquear el tráfico Tor puedes usar puentes (a la red Tor) para conectar (a la red Tor). 1. Obtén la configuración de los puentes de Tor BridgeDB Tor BridgeDB 2. Añade las líneas a la configuración de Tor de tu FreedomBox como se muestra. Tor Configuration Page Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Transmission.raw.xml b/doc/manual/es/Transmission.raw.xml index e7aae4d11..53149df72 100644 --- a/doc/manual/es/Transmission.raw.xml +++ b/doc/manual/es/Transmission.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Transmission62019-10-28 09:16:06fioddorSe alinea con la versión 14 del 27 de octubre de 201952019-09-04 09:38:37fioddorCorrección menor42019-09-04 09:33:40fioddorEnlace a nueva página traducida.32019-09-04 09:19:10fioddorRecomendación de seguridad.22019-09-04 09:17:24fioddorCorrección menor12019-09-04 06:58:07fioddorSe crea la versión española.
BitTorrent (Transmission)
¿Qué es Transmission ?BitTorrent es un protocolo de comunicaciones para compartir ficheros entre pares (P2P = peer-to-peer). No es anónimo; debes asumir que otros puedan ver qué ficheros estás comprtiendo. Hay 2 clientes web para BitTorrent disponibles en FreedomBox: Transmission y Deluge. Tienen funcionalidades similares pero quizá prefieras uno sobre otro. Transmission es un cliente BitTorrent ligero, famoso por su simplicidad y una configuración por defecto que "símplemente funciona".
Captura de pantallaTransmission Web Interface
Usar TransmissionTras instalar Transmission está accesible en https://<tu freedombox>/transmission. Transmission emplea el ingreso único de FreedomBox lo que significa que si has ingresado en tu FreedomBox puedes acceder diréctamente a Transmission sin tener que volver a introducir las credenciales. Si no, se te pedirá que ingreses primero y luego se te redirigirá a la app Transmission.
Consejos
Transferir Descargas desde la FreedomBoxSe puede añadir el directorio de descargas de Transmission como directorio compartido en la app "Compartir" y así acceder a tus descargas en este directorio compartido empleando un navegador web. (Avanzado) Si tienes acceso SSH a tu FreedomBox puedes usar sftp para ver el directorio de descargas usando un gestor de archivos o un navegador apropiados (p.ej. dolphin o Konqueror). Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Transmission62019-10-28 09:16:06fioddorSe alinea con la versión 14 del 27 de octubre de 201952019-09-04 09:38:37fioddorCorrección menor42019-09-04 09:33:40fioddorEnlace a nueva página traducida.32019-09-04 09:19:10fioddorRecomendación de seguridad.22019-09-04 09:17:24fioddorCorrección menor12019-09-04 06:58:07fioddorSe crea la versión española.
BitTorrent (Transmission)
¿Qué es Transmission ?BitTorrent es un protocolo de comunicaciones para compartir ficheros entre pares (P2P = peer-to-peer). No es anónimo; debes asumir que otros puedan ver qué ficheros estás comprtiendo. Hay 2 clientes web para BitTorrent disponibles en FreedomBox: Transmission y Deluge. Tienen funcionalidades similares pero quizá prefieras uno sobre otro. Transmission es un cliente BitTorrent ligero, famoso por su simplicidad y una configuración por defecto que "símplemente funciona".
Captura de pantallaTransmission Web Interface
Usar TransmissionTras instalar Transmission está accesible en https://<tu freedombox>/transmission. Transmission emplea el ingreso único de FreedomBox lo que significa que si has ingresado en tu FreedomBox puedes acceder diréctamente a Transmission sin tener que volver a introducir las credenciales. Si no, se te pedirá que ingreses primero y luego se te redirigirá a la app Transmission.
Consejos
Transferir Descargas desde la FreedomBoxSe puede añadir el directorio de descargas de Transmission como directorio compartido en la app "Compartir" y así acceder a tus descargas en este directorio compartido empleando un navegador web. (Avanzado) Si tienes acceso SSH a tu FreedomBox puedes usar sftp para ver el directorio de descargas usando un gestor de archivos o un navegador apropiados (p.ej. dolphin o Konqueror). Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/Upgrades.raw.xml b/doc/manual/es/Upgrades.raw.xml index 8efc90ffa..a2ea6ff43 100644 --- a/doc/manual/es/Upgrades.raw.xml +++ b/doc/manual/es/Upgrades.raw.xml @@ -9,4 +9,4 @@ Password: # apt -f install # unattended-upgrade --debug # apt install freedombox -# apt update]]>Si apt-get update te pide confirmación para algo responde que . Si durante la actualización del paquete freedombox te pregunta acerca de los archivos de configuración responde que instale los archivos de configuración nuevos que vienen con la última versión del paquete. Este proceso solo actualizará los paquetes que no necesitan preguntar (excepto el paquete freedombox). Después, deja que FreedomBox se encargue de la actualización de los demás paquetes. Sé paciente mientras se crean nuevas versiones de FreedomBox para tratar los paquetes que necesitan intervención manual. Si quieres ir más allá de la recomendación e instalar todos los paquetes en tu FreedomBox y realmente estás muy seguro de poder tratar los cambios de configuración de paquetes por tí mismo, ejecuta el siguiente comando: InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox \ No newline at end of file +# apt update]]>Si apt-get update te pide confirmación para algo responde que . Si durante la actualización del paquete freedombox te pregunta acerca de los archivos de configuración responde que instale los archivos de configuración nuevos que vienen con la última versión del paquete. Este proceso solo actualizará los paquetes que no necesitan preguntar (excepto el paquete freedombox). Después, deja que FreedomBox se encargue de la actualización de los demás paquetes. Sé paciente mientras se crean nuevas versiones de FreedomBox para tratar los paquetes que necesitan intervención manual. Si quieres ir más allá de la recomendación e instalar todos los paquetes en tu FreedomBox y realmente estás muy seguro de poder tratar los cambios de configuración de paquetes por tí mismo, ejecuta el siguiente comando: InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox \ No newline at end of file diff --git a/doc/manual/es/Users.raw.xml b/doc/manual/es/Users.raw.xml index 7c75f0a77..e246cd390 100644 --- a/doc/manual/es/Users.raw.xml +++ b/doc/manual/es/Users.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/Users12019-06-18 13:55:35fioddorSe crea la versión española.
Usuarios y GruposPuedes otorgar acceso a tu FreedomBox a otros usuarios. Proporciona el nombre del usuario y su contraseña y asignale un grupo. Actualmente se soportan los grupos admin wiki El usuario podrá ingresar a los servicios que soporten ingreso único (single-sign-on) mediante LDAP si figuran en el grupo apropriado. Los usuarios del grupo admin podrán ingresar en todos los servicios. También pueden ingresar al sistema por SSH y escalar a privilegios administrativos (sudo). Estas características se pueden cambiar más tarde. Asimismo es posible establecer una clave pública SSH que permitirá al usuario ingresar al sistema de modo seguro sin emplear su contraseña. Pueder dar de alta varias claves, una en cada línea. Las líneas en blanco o que comiencen por # se ignoran. Se pueden desactivar temporalmente las cuentas de usuarios.
Reparos ConocidosActualmente Plinth not distingue entre usuarios y administradores. Todo usuario añadido mediante Plinth tendrá accesso completo al interfaz de Plinth. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/Users12019-06-18 13:55:35fioddorSe crea la versión española.
Usuarios y GruposPuedes otorgar acceso a tu FreedomBox a otros usuarios. Proporciona el nombre del usuario y su contraseña y asignale un grupo. Actualmente se soportan los grupos admin wiki El usuario podrá ingresar a los servicios que soporten ingreso único (single-sign-on) mediante LDAP si figuran en el grupo apropriado. Los usuarios del grupo admin podrán ingresar en todos los servicios. También pueden ingresar al sistema por SSH y escalar a privilegios administrativos (sudo). Estas características se pueden cambiar más tarde. Asimismo es posible establecer una clave pública SSH que permitirá al usuario ingresar al sistema de modo seguro sin emplear su contraseña. Pueder dar de alta varias claves, una en cada línea. Las líneas en blanco o que comiencen por # se ignoran. Se pueden desactivar temporalmente las cuentas de usuarios.
Reparos ConocidosActualmente Plinth not distingue entre usuarios y administradores. Todo usuario añadido mediante Plinth tendrá accesso completo al interfaz de Plinth. Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/ejabberd.raw.xml b/doc/manual/es/ejabberd.raw.xml index 625e282a6..567e8b39a 100644 --- a/doc/manual/es/ejabberd.raw.xml +++ b/doc/manual/es/ejabberd.raw.xml @@ -2,4 +2,4 @@ -
es/FreedomBox/Manual/ejabberd22019-09-05 12:44:11fioddorCorrección menor12019-09-05 11:59:04fioddorSe crea la versión española.
Servidor de Mensajería Instantánea (chat) (ejabberd)
¿Qué es XMPP?XMPP es un protocolo federatedo para Mensajería Instantánea. Esto significa que los usuarios que tengan cuenta en un servidor XMPP pueden conversar con los usuarios que estén en el mismo u otros servidores XMPP. XMPP se puede usar también para llamadas de voz y vídeo si los clientes las soportan. Con XMPP las conversaciones se pueden securizar de 2 maneras: TLS: Esto securiza la conexión entre el cliente y el servidor o entre 2 servidores. Esto está áltamente recomendado y ya debería estar soportado por todos los clientes. Punto a punto: Esto securiza los mensajes enviados entre los clientes de modo que ni siquiera el servidor pueda ver los contenidos. El último protocolo y también el más cómodo se llama OMEMO pero solo lo soportan algunos clientes. Algunos clientes que no soportan OMEMO podrían soportar otro protocolo llamado OTR. Para que funcione ambos clientes tienen que ser compatibles con el mismo protocolo.
Estableciendo un Nombre de DominioPara que funcione XMPP tu FreedomBox necesita tener Nombre de Dominio accesible desde Internet. Puedes leer acerca de la obtención de un Nombre de Dominio en la sección DNS Dinámico de este manual. Una vez tengas ya tu Nombre de Dominio puedes decirle a tu FreedomBox que lo use dándolo de alta en la configuración del sistema. Nota: Tras cambiar tu Nombre de Dominio la página del servidor (XMPP) de mensajería instantánea podría mostrar que el servicio no está funcionando. En un minuto más o menos se actualizará y lo volverá a mostrar operativo. Ten en cuenta que de momento PageKite no soporta el protocolo XMPP.
Registrando los usuarios XMPP mediante SSOActualmente todos los usuarios creados con Plinth podrán ingresar al servidor XMPP. Puedes añadir usuarios nuevos con el módulo de "Usuarios y Grupos del Sistema". Los grupos seleccionados para el usuario nuevo no importan.
Usar el cliente webTras completar la instalación del módulo XMPP el cliente web JSXC para XMPP está accesible en https://<tu_freedombox>/plinth/apps/xmpp/jsxc/. Automáticamente comprobará la conexión del servidor BOSH al nombre de dominio configurado.
Usar un cliente móvil o de escritorioHay disponibles clientes XMPP para varias platformas móviles y de escritorio.
Enrutado de PuertosSi tu FreedomBox está detrás de un router tendrás que configurar en él la redirección de puertos. Redirije los siguientes puertos de XMPP: TCP 5222 (cliente-a-servidor) TCP 5269 (servidor-a-servidor) Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, November 9th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file +
es/FreedomBox/Manual/ejabberd22019-09-05 12:44:11fioddorCorrección menor12019-09-05 11:59:04fioddorSe crea la versión española.
Servidor de Mensajería Instantánea (chat) (ejabberd)
¿Qué es XMPP?XMPP es un protocolo federatedo para Mensajería Instantánea. Esto significa que los usuarios que tengan cuenta en un servidor XMPP pueden conversar con los usuarios que estén en el mismo u otros servidores XMPP. XMPP se puede usar también para llamadas de voz y vídeo si los clientes las soportan. Con XMPP las conversaciones se pueden securizar de 2 maneras: TLS: Esto securiza la conexión entre el cliente y el servidor o entre 2 servidores. Esto está áltamente recomendado y ya debería estar soportado por todos los clientes. Punto a punto: Esto securiza los mensajes enviados entre los clientes de modo que ni siquiera el servidor pueda ver los contenidos. El último protocolo y también el más cómodo se llama OMEMO pero solo lo soportan algunos clientes. Algunos clientes que no soportan OMEMO podrían soportar otro protocolo llamado OTR. Para que funcione ambos clientes tienen que ser compatibles con el mismo protocolo.
Estableciendo un Nombre de DominioPara que funcione XMPP tu FreedomBox necesita tener Nombre de Dominio accesible desde Internet. Puedes leer acerca de la obtención de un Nombre de Dominio en la sección DNS Dinámico de este manual. Una vez tengas ya tu Nombre de Dominio puedes decirle a tu FreedomBox que lo use dándolo de alta en la configuración del sistema. Nota: Tras cambiar tu Nombre de Dominio la página del servidor (XMPP) de mensajería instantánea podría mostrar que el servicio no está funcionando. En un minuto más o menos se actualizará y lo volverá a mostrar operativo. Ten en cuenta que de momento PageKite no soporta el protocolo XMPP.
Registrando los usuarios XMPP mediante SSOActualmente todos los usuarios creados con Plinth podrán ingresar al servidor XMPP. Puedes añadir usuarios nuevos con el módulo de "Usuarios y Grupos del Sistema". Los grupos seleccionados para el usuario nuevo no importan.
Usar el cliente webTras completar la instalación del módulo XMPP el cliente web JSXC para XMPP está accesible en https://<tu_freedombox>/plinth/apps/xmpp/jsxc/. Automáticamente comprobará la conexión del servidor BOSH al nombre de dominio configurado.
Usar un cliente móvil o de escritorioHay disponibles clientes XMPP para varias platformas móviles y de escritorio.
Enrutado de PuertosSi tu FreedomBox está detrás de un router tendrás que configurar en él la redirección de puertos. Redirije los siguientes puertos de XMPP: TCP 5222 (cliente-a-servidor) TCP 5269 (servidor-a-servidor) Volver a la descripción de Funcionalidades o a las páginas del manual. InformaciónSoporteContribuyeInformesPromueveIntroducción Hardware Ayuda en línea Dónde empezar Traduce Reuniones Charlas Funcionalidades Visión Preguntas y Respuestas Diseño Por hacer Releases Prensa Descargas Manual Codigo Fuente Contribuyentes Blog FreedomBox para Comunidades Manual del Desarrolador de FreedomBox AYUDA y DEBATES: Foro de Debate - Lista de Correo - #freedombox irc.debian.org | CONTACTO Fundación | PARTICIPA Proyecto Next call: Saturday, December 14th at 14:00 UTC Latest news: Announcing Pioneer FreedomBox Kits - 2019-03-26 Esta página está sujeta a copyright y sus autores la publican bajo la licencia pública Creative Commons Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0). CategoryFreedomBox
\ No newline at end of file diff --git a/doc/manual/es/freedombox-manual.raw.xml b/doc/manual/es/freedombox-manual.raw.xml index 9c79f9d52..407d58513 100644 --- a/doc/manual/es/freedombox-manual.raw.xml +++ b/doc/manual/es/freedombox-manual.raw.xml @@ -366,6 +366,11 @@ Ayuda en directo de la comunidad + + + Manual del Desarrollador de FreedomBox + +
Uso típico: Nube Privada @@ -449,7 +454,7 @@ Si tu ordenador está conectado directamente a tu FreedomBox a través de un segundo puerto Ethernet de la red local, puedes navegar a o a . - Si tu ordenador sopora mDNS (GNU/Linux, Mac OSX o Windows con software mDNS instalado), puedes navegar a: (o a ) + Si tu ordenador soporta mDNS (GNU/Linux, Mac OSX o Windows con software mDNS instalado), puedes navegar a: (o a ) Si te manejas con el interfaz web de tu router, puedes buscar allí la dirección IP de tu FreedomBox y navegar a ella. @@ -873,7 +878,7 @@ Primary key fingerprint: BCBE BD57 A11F 70B2 3782 BC57 36C3 6144 0C9B C971]]> Para obtener el código fuente de cualquiera de esos programas ejecuta: ]]> - Esto requiere que el archivo /etc/apt/sources.list contenga información acerca de los repositorios de código fuente. Esto es así por defecto en todas las imágenes FreedomBox. Pero si has instalado FreedomBox desde Debian necesitas asegurarte de que los repositorios de código fuente figuren en este archivo. + Esto requiere que el archivo /etc/apt/sources/list contenga información acerca de los repositorios de código fuente. Esto es así por defecto en todas las imágenes FreedomBox. Pero si has instalado FreedomBox desde Debian necesitas asegurarte de que los repositorios de código fuente figuren en este archivo. Para construir el paquete desde su código fuente, primero instala sus dependencias @@ -1026,10 +1031,9 @@ dd if=temp/usr/lib/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin of=Tor Browser es la manera recomendada para navegar la web a través de Tor. Puedes descargar Tor Browser desde y seguir sus instrucciones para instalarlo y ejecutarlo.
- Usar Servicio Oculto Tor para acceder a tu FreedomBox - El Servicio Oculto Tor proporciona una manera de acceder a tu FreedomBox incluso aunque esté detrás de un router, cortafuegos, o redirector NAT (p.ej. si tu proveedor de Internet no proporciona una dirección pública IPv4 para tu router). - Para habilitar el Servicio Oculto Tor primero navega a la página Red para el anónimato (Tor). (Si no la ves haz clic en el logo de FreedomBox de arriba a la izquierda de la página y ve a la página principal de Apps.) En la página Red para el anónimato (Tor), bajo Configuración, habilita la caja Habilitar los Servicios Ocultos Tor y pulsa el botón de Actualizar configuración. Tor se reconfigurará y se reiniciará. - Transcurrido un rato la página se refrescará bajo Estado verás la tabla que lista la dirección .onion del servicio oculto. Copia toda la dirección (que termina en .onion) y pégala en el campo dirección de Tor Browser. Deberías poder acceder a tu FreedomBox. (Quizá veas un aviso de certificado porque FreedomBox tiene un certificado autofirmado.) + Usar Servicio Tor Onion para acceder a tu FreedomBox + El Servicio Tor Onion proporciona una manera de acceder a tu FreedomBox incluso aunque esté detrás de un router, cortafuegos, o redirector NAT (p.ej. si tu proveedor de Internet no proporciona una dirección pública IPv4 para tu router). Para habilitar el Servicio Tor Onion primero navega a la página Red para el anónimato (Tor). (Si no la ves haz clic en el logo de FreedomBox de arriba a la izquierda de la página y ve a la página principal de Apps.) En la página Red para el anónimato (Tor), bajo Configuración, habilita la caja Habilitar los Servicios Tor Onion y pulsa el botón de Actualizar configuración. Tor se reconfigurará y se reiniciará. + Transcurrido un rato la página se refrescará bajo Estado verás la tabla que lista la dirección .onion del servicio. Copia toda la dirección (que termina en .onion) y pégala en el campo dirección de Tor Browser. Deberías poder acceder a tu FreedomBox. (Quizá veas un aviso de certificado porque FreedomBox tiene un certificado autofirmado.) @@ -1040,7 +1044,12 @@ dd if=temp/usr/lib/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin of= - Actualmente solo HTTP (puerto 80), HTTPS (puerto 443) y SSH (puerto 22) están accesibles a través del Servicio Oculto Tor configurado en la FreedomBox. + + + Onion + + + Actualmente solo HTTP (puerto 80), HTTPS (puerto 443) y SSH (puerto 22) están accesibles a través del Servicio Tor Onion configurado en la FreedomBox.
Apps accesibles via Tor @@ -1067,7 +1076,7 @@ dd if=temp/usr/lib/u-boot/A20-OLinuXino-Lime2/u-boot-sunxi-with-spl.bin of=Ejecutar un nodo Tor Cuando se instala Tor se configura por defecto para ejecutarse como puente a la red (bridge relay). Esta opción se puede deshabilitar en la página de configuración de Tor de Plinth. En la parte inferior de página de Tor de Plinth hay una lista de puertos que usa el puente a la red Tor. Si tu FreedomBox está detrás de un router necesitarás configurar la redirección de puertos de tu router para que estos puertos sean accesibles desde Internet. - Los requisitos para ejecutar un puente a la red se listan en la Tor Relay Guide. En resúmen, se + Los requisitos para ejecutar un puente a la red se listan en la Tor Relay Guide. En resúmen, se recomienda que un puente tenga disponibles para Tor al menos 16 Mbit/s (Mbps) de ancho de banda para subida y bajada. Mejor más. @@ -1823,7 +1832,7 @@ echo 'select name from users' | sqlite3 /var/lib/matrix-synapse/homeserver.db ] Para más información acerca de Syncthing visita su sitio web oficial y su documentación.
Sincronizar via Tor - Syncthing debe sincronizar automáticamente con tu FreedomBox incluso cuando esta solo sea accesible como servicio oculto Tor. + Syncthing debe sincronizar automáticamente con tu FreedomBox incluso cuando esta solo sea accesible como servicio Tor Onion. Si quieres enrutar tu cliente Syncthing via Tor configura la variable de entorno all_proxy: Para más información mira la documentación de Syncthing acerca de el uso de proxies. @@ -2603,6 +2612,9 @@ proto udp]]> El comando traceroute freedombox.org debiera mostrar la dirección IP del servidor VPN como primer salto. + Si usas Network Manager puedes crear una conexión nueva importando el fichero: + .ovpn]]>
@@ -2634,6 +2646,16 @@ proto udp]]>
+
+ Administrar Permisos + En Mumble un supeusuario puede crear cuentas de administrador que a su vez pueden administrar permisos a grupos y canales. Esto se puede hacer tras ingresar con el usuario "SuperUser" y la contraseña de superusuario. Ver la Guía de Mumble para obtener información respecto a cómo hacer esto. Actualmente FreedomBox no ofrece una interfaz gráfica para obtener o establecer la contraseña de superusuario en Mumble. Se genera una contraseña de superusuario automáticamente durante la instalación de Mumble. Para obtenerla ingresa en el terminal como admin usando Cockpit , la Shell Segura o la consola. Y ejecuta el siguiente comando: + + Deberás ver una salida como esta: + 2019-11-06 02:47:41.313 1 => Password for 'SuperUser' set to 'noo8Dahwiesh']]> + O puedes establecer una contraseña nueva así: + +
Proxy Web (Privoxy) @@ -3403,7 +3425,7 @@ proto udp]]> 0.42 - includes configuración y secretos como las claves de servicios ocultos + includes configuración y secretos como las claves de servicios Tor Onion @@ -3808,7 +3830,7 @@ proto udp]]> A partir de la versión 19.15 funciona el dominio .local. Puedes acceder a Cockpit mediante la URL . El dominio .local se basa en tu hostname. Si tu hostname es mifb tu nombre de dominio .local será mifb.local y la URL de Cockpit será . - Para acceder apropiadamente a Cockpit, usa el nombre de dominio configurado en tu FreedomBox. Cockpit también funcionará cuando se use un Servicio Oculto Tor. Las siguientes URLs funcionarán: + Para acceder apropiadamente a Cockpit, usa el nombre de dominio configurado en tu FreedomBox. Cockpit también funcionará cuando se use un Servicio Tor Onion. Las siguientes URLs funcionarán: La razón para este comportamiento es que Cockpit emplea WebSockets para conectar con el servidor de backend. Por seguridad se deben evitar las peticiones a WebSockets con servidores cruzados. Para implementar esto Cockpit maintiene una lista de todos los dominios desde los que se admiten peticiones. FreedomBox configura automaticamente esta lista cuando añades o borras un dominio. Sin embargo, como no podemos fiarnos de las direcciones IP, FreedomBox no las añade a esta lista. Puedes mirar la lista actual de dominios aceptados administrada por FreedomBox en /etc/cockpit/cockpit.conf. Puedes editarla pero hazlo solo si comprendes sus consecuencias para la seguridad web. @@ -5949,7 +5971,7 @@ firewall-cmd --permanent --zone=internal --add-interface=eth0]]>
Servicios de Nombre - Los Servicios de Nombre proporcionan una vista general a las formas de acceder desde la Internet pública a tu !Freedombox: nombre de dominio, servicio oculto Tor y cometa (Pagekite). Para cada tipo de nombre se indica si los servicios HTTP, HTTPS, y SSH están habilitados o deshabilitados para conexiones entrantes. + Los Servicios de Nombre proporcionan una vista general a las formas de acceder desde la Internet pública a tu !Freedombox: nombre de dominio, servicio Tor Onion y cometa (Pagekite). Para cada tipo de nombre se indica si los servicios HTTP, HTTPS, y SSH están habilitados o deshabilitados para conexiones entrantes.
Redes @@ -6448,7 +6470,7 @@ nmcli con modify "" connection.zone internal]]>
SSH via Tor - Si tienes habilitados en Plinth los servicios ocultos mediante Tor puedes acceder a tu FreedomBox mediante ssh sobre Tor. Instala netcat-openbsd. + Si tienes habilitados en Plinth los servicios Tor Onion puedes acceder a tu FreedomBox mediante ssh sobre Tor. Instala netcat-openbsd. Edita ~/.ssh/config para habilitar conexiones sobre Tor. @@ -6461,7 +6483,7 @@ nmcli con modify "" connection.zone internal]]> En algunos casos podrías necesitar reemplazar 9050 por 9150. Ahora, para conectar a la FreedomBox abre un terminal y teclea: - Reemplaza USUARIO por un usuario del grupo admin y DIRECCION por la dirección del servicio oculto de SSH de tu FreedomBox. + Reemplaza USUARIO por un usuario del grupo admin y DIRECCION por la dirección del servicio Tor Onion para SSH de tu FreedomBox.
@@ -9785,7 +9807,131 @@ wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw] Release Notes The following are the release notes for each FreedomBox version.
- Freedombox 19.20 (2019-11-04) + FreedomBox 19.22 (2019-12-02) + + + samba: Add new app for Samba file sharing + + + pagekite: Remove tabs in the configuration page + + + openvpn: Fix text with manual link + + + pagekite: Show existing services only if there are any + + + pagekite: Move Custom Services under Configuration + + + pagekite: Use the new app toggle button + + + openvpn: Add client apps + + + backups: Fix title not appearing + + + diagnostics: Don't run on disabled modules + + + apps: Remove link to webapps in app descriptions + + + interface: Fix error with app toggle input + + + templates: Add toolbar for apps + + + toolbar: Move diagnostics button into dropdown menu + + + ssh: Fix Avahi SFTP service file + + + diagnostics: Fix IPv6 failures + + + matrix-synapse: Fix installation of 1.5 from buster-backports + + + app: Fix javascript constant redeclaration error + + + ikiwiki: Move the create button to manage section + + + gitweb: Move create button into manage section + + + networks: Move actions button into connection section + + + users: Move create button into users section + + + locale: Update translations for French, German, and Swedish + + +
+
+ FreedomBox 19.21 (2019-11-18) + + + gitweb: Allow to import from a remote repository + + + interface: Disable turbolinks on links that don't point to /plinth/... + + + backups: Show proper error when SSH server is not reachable + + + tor: Rename "Hidden Service" to "Onion Service" + + + ejabberd: Handle case where domain name is not set + + + tahoe: Mark Tahoe-LAFS as an advanced app + + + searx: Set safe_search to Moderate by default + + + backups: Make verify ssh host page string translatable + + + backups: Simplify SSH fingerprint verification command + + + doc: Fix unavailability of manual images + + + tor: Fix port diagnostics by correcting port data type + + + tor: Expect obfs service to be also available on IPv6 + + + tor: Listen on IPv6 for OrPort + + + clients: implement launch button feature + + + apps: Implement toggle button in apps pages + + + Update translations for German, Hungarian, Swedish, Norwegian Bokmål, French, Polish + + +
+
+ FreedomBox 19.20 (2019-11-04) doc: Add Spanish manual @@ -12177,6 +12323,9 @@ wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw] Desde la codificación, el diseño y la traducción hasta la divulgación y las donaciones he aquí varias formas de contribuir a FreedomBox.
Enlaces Rápidos + + Manual del Desarrollador de FreedomBox + Reuniones de revisión de avance @@ -12200,7 +12349,7 @@ wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw] Se necesitan Contribuciones
Añadir una Aplicación - Si eres desarrollador y quieres ver disponible en FreedomBox alguna aplicación, puedes contribuir añadiéndola a FreedomBox. Mira el Manual de Desarrollo de FreedomBox. + Si eres desarrollador y quieres ver disponible en FreedomBox alguna aplicación, puedes contribuir añadiéndola a FreedomBox. Mira el Manual del Desarrollador de FreedomBox.
Defectos @@ -12303,513 +12452,7 @@ wget https://www.thinkpenguin.com/files/ath9k_firmware_free-version/htc_7010.fw]
Guía del Desarrollador - This manual is meant for developers intending to develop applications for FreedomBox. It provides a step by step tutorial and an API reference. -
- Writing Applications - Tutorial - This tutorial covers writing an application for FreedomBox. FreedomBox is a pure blend of Debian with a web interface, known as Plinth, that configures its applications. We shall discuss various aspects of building an application for FreedomBox, by creating an example application. - There are two parts to writing a FreedomBox application. First is to make sure that the application is available as a Debian package uploaded to the repositories. This is the majority of the work involved. However, if an application is already available in Debian repositories, it is trivial to build a FreedomBox UI for it. The second part of writing an application for FreedomBox is to provide a thin web interface layer for configuring the application. This is done by extending Plinth's user interface to provide visibility to the application and to let the user control its operations in a highly simplified way. This layer is referred to as 'Plinth application'. - Plinth applications can either be distributed as part of Plinth source code by submitting the applications to the Plinth project or they can distributed independently. This tutorial covers writing an application that is meant to be distributed as part of Plinth. However, writing independent Plinth applications is also very similar and most of this tutorial is applicable. - - - Note - - The term application, in this tutorial, is used to mean multiple concepts. FreedomBox application is a combination of Debian package and a web interface layer. The web interface layer is also called a Plinth application which is very similar to and built upon a Django application. - -
- Before we begin - Plinth is a web interface built using Python3 and Django. FreedomBox applications are simply Django applications within the Plinth project. Hence, for the most part, writing a FreedomBox application is all about writing a Django application. - You should start by reading the Django tutorial. All the concepts described there are applicable for how plinth and its applications are be built. -
-
- Picking an application - We must first, of course, pick an application to add to FreedomBox. For the purpose of this tutorial, let us pick Tiny Tiny RSS. The project description reads as, Tiny Tiny RSS is an open source web-based news feed (RSS/Atom) reader and aggregator, designed to allow you to read news from any location, while feeling as close to a real desktop application as possible. - - - Choosing an application - - When choosing an application we must make sure that the application respects users' freedom and privacy. By choosing to use FreedomBox, users have explicitly made a choice to keep the data with themselves, to not provide privacy compromising data to centralized entities and to use Free Software that respects their Software Freedom. These are not properties of some of the applications in FreedomBox but all applications must adhere to these principles. Applications should not even ask the users questions to this effect, because users have already made a choice. - -
-
- Packaging the application - Majority of the effort in creating an application for FreedomBox is to package it for Debian and get it uploaded to Debian repositories. Going through the process of packaging itself is outside the scope of this tutorial. It is, however, well documented elsewhere. You should start here. - Debian packaging might seem like an unnecessary process that takes time with its adherence to standards, review process, legal checks, etc. However, upon close examination, one will find that without these steps the goals of the FreedomBox project cannot be met. Some of the advantages of Debian packaging are listed below: - - - Legal check ensures that proprietary licensed code or code with bad licenses does not inadvertently creep in. - - - Libraries have to be packaged separately easing security handling. When a security vulnerability is identified in a library, just the library will have to be updated and not all the applications that depend on it. - - - Upgrades become smoother. The dependency handling of the packaging system, configuration handling tools, tools to deal with various types of well known files help with ensuring a proper upgrade. - - - Collaborative maintenance teams ensure that the package is well cared for even if you get busy with other work and can't spend time on your package. Following standards and using common infrastructure is critical to enable this development methodology. - - -
-
- Creating the project structure - Create a directory structure as follows with empty files. We will fill them up in a step-by-step manner. - / - | - +- plinth/ - | | - | +- modules/ - | | - | +- ttrss/ - | | - | +- __init__.py - | | - | +- forms.py - | | - | +- urls.py - | | - | +- views.py - | | - | +- templates/ - | | | - | | +- ttrss.html - | | - | +- tests - | | - | +- __init__.py - | - +- actions/ - | | - | +- ttrss - | - +- data/ - | - +- etc/ - | - +- plinth/ - | - +- modules-enabled/ - | - +- ttrss]]> - The __init__.py indicates that the directory in which it is present is a Python module. For now, it is an empty file. - Plinth's setup script setup.py will automatically install the plinth/modules/ttrss directory (along with other files described later) to an appropriate location. If you are creating an application that stays independent and outside of Plinth source tree, then your setup.py script will need to install it a proper location on the system. The plinth/modules/ directory is a Python3 namespace package. So, you can install it with the plinth/modules/ directory structure into any Python path and still be discovered as plinth.modules.*. -
-
- Tell Plinth that we exist - The first thing to do is tell Plinth that our application exists. This is done by writing a small file with the Python import path to our application and placing it in data/etc/plinth/modules-enabled/. Let us create this file ttrss: - - This file is automatically installed to /etc/plinth/modules-enabled/ by Plinth's installation script setup.py. If we are writing a module that resides independently outside the Plinth's source code, the setup script will need to copy it to the target location. Further, it is not necessary for the application to be part of the plinth.modules namespace. It can, for example, be plinth_ttrss. -
-
- Writing the URLs - For a user to visit our application in Plinth, we need to provide a URL. When the user visits this URL, a view is executed and a page is displayed. In urls.py write the following: - - This routes the /apps/ttrss/ URL to a view called index defined in plinth/modules/ttrss/views.py. This is no different than how routing URLs are written in Django. See Django URL dispatcher for more information. -
-
- Adding a menu item - We have added a URL to be handled by our application but this does not yet show up to be a link in Plinth web interface. Let us add a link in the applications list. In __init__.py add the following: - - As soon as Plinth starts, it will load all the enabled modules into memory. After this, it gives a chance to each of the modules to initialize itself by calling the init() method if there is such a method available as <app>.init(). Here we have implemented this method and added our menu item to the applications menu as part of the initialization process. - We wish to add our menu item to the list of applications which is why we have retrieved the applications menu which is available under the main menu. After this we add our own menu item to this menu. There are several parameters during this process that are important: - - - In the first parameter we are providing the display name to use for our application when showing the menu item. - - - In the second parameter we are providing the icon to show for this menu item. This is an icon from the Twitter Bootstrap library. See - the Twitter Bootstrap library documentation for a list of available icons. We can pick an icon from the available list of icons and just mention its glyphicon class as name here. - - - The third parameter is the name of the URL we have created for our application. Note that when including this application's URLs, Plinth will automatically set the name of the module as the Django - URL namespace. Hence it is ttrss:index and not just index. - - - The final parameter is a short description of the application. - - - We have used the application menu item to insert our own menu item as a child. To be able to use the application menu item, we need to make sure that the module providing the application menu is loaded before our application is loaded. We will do that in the next step. -
-
- Specifying module dependencies - Specifying a simple list of applications to be loaded before our application provided to Plinth is sufficient. Add this in __init__.py. - - Plinth will now make sure that the apps module is loaded before our module is loaded. Application initialization is also ensured to happen in this order. We can safely use any features of this module knowing that they have been initialized. - - - Circular dependencies - - Circular dependencies are not possible among Plinth applications. Attempting to add them will result in error during startup. - -
-
- Writing the enable/disable form - We wish to provide a user interface to the user to enable and disable the application. Complex modules may require more options but this is sufficient for our application. Add the following forms.py. - - This creates a Django form that shows a single option to enable/disable the application. It also shows its current state. This is how a regular Django form is built. See Django Forms documentation for more information. - - - Too many options - - Resist the temptation to create a lot of configuration options. Although this will put more control in the hands of the users, it will make FreedomBox less usable. FreedomBox is a consumer product. Our target users are not technically savvy and we have make most of the decisions on behalf of the user to make the interface as simple and easy to use as possible. - -
-
- Writing a view - In views.py, let us add a view that can handle the URL we have provided above. - - This view works with the form we created in the previous step. It shows the current status of the service in form. This status is retrieved with the help of get_status() helper method. When the form is posted, again this view is called and it verifies whether the form's input values are correct. If so, it will apply the actions necessary for changed form values using the _apply_changes() method. -
-
- Getting the current status of the application - The view in the previous setup requires the status of the application to be retrieved using the get_status() method. Let us implement that method in views.py. - - This method retrieves the various statuses of the application for display in the view. Currently, we only need to show whether the application is enabled or disabled. So, we retrieve that using a helper method defined in __init__.py. - - This method uses one of the several action utilities provided by Plinth. This method checks whether a webserver configuration named 50-tt-rss is enabled. -
-
- Displaying the application page - The view that we have written above requires a template file known as ttrss.html to work. This template file controls how the web page for our application is displayed. Let us create this template file in templates/ttrss.html. - News Feed Reader (Tiny Tiny RSS) - -

Tiny Tiny RSS is a news feed (RSS/Atom) reader and aggregator, - designed to allow you to read news from any location, while feeling - as close to a real desktop application as possible.

- -

Configuration

- -
- {% csrf_token %} - - {{ form|bootstrap }} - - -
- -{% endblock %}]]>
- This template extends an existing template known as base.html. This template is available in Plinth core to provide all the basic layout, styling, menus, JavaScript and CSS libraries. We will override the content area of the base template and keep the rest. - Yet again, there is nothing special about the way this template is written. This is a regular Django template. See Django Template documentation. - For styling and UI components, Plinth uses the Twitter Bootstrap project. See Bootstrap documentation for reference. -
-
- Applying the changes from the form - The view we have created displays the form and processes the form after the user submits it. It used a helper method called _apply_changes() to actually get the work done. Let us implement that method in views.py. - - We check to make sure that we don't try to disable the application when it is already disabled or try to enable the application when it is already enabled. Although Plinth's operations are idempotent, meaning that running them twice will not be problematic, we still wish avoid unnecessary operations for the sake of speed. - We are actually perform the operation using Plinth actions. We will implement the action to be performed a bit later. - After we perform the operation, we will show a message on the response page showing that the action was successful or that nothing happened. We use the Django messaging framework to accomplish this. See Django messaging framework for more information. -
-
- Installing packages required for the application - Plinth takes care of installing all the Debian packages required for our application to work. All we need to do is specify the list of the Debian packages required using a decorator on our view as follows: - - The first time this application's view is accessed, Plinth shows a package installation page and allows the user to install the required packages. After the package installation is completed, the user is shown the application's configuration page. - If there are configuration tasks to be performed immediately before or after the package installation, Plinth provides hooks for it. The before_install= and on_install= parameters to the @package.required decorator take a callback methods that are called before installation of packages and after installation of packages respectively. See the reference section of this manual or the plinth.package module for details. Other modules in Plinth that use this feature provided example usage. -
-
- Writing actions - The actual work of performing the configuration change is carried out by a Plinth action. Actions are independent scripts that run with higher privileges required to perform a task. They are placed in a separate directory and invoked as scripts via sudo. For our application we need to write an action that can enable and disable the web configuration. We will do this by creating a file actions/ttrss. - - This is a simple Python3 program that parses command line arguments. While Python3 is preferred, it can be written in other languages also. It uses a helper utility provided by Plinth to actually enable and disable Apache2 web server configuration. - This script is automatically installed to /usr/share/plinth/actions by Plinth's installation script setup.py. Only from here will there is a possibility of running the script under sudo. If you are writing an application that resides indenpendently of Plinth's source code, your setup.py script will need to take care of copying the file to the target location. -
-
- Creating diagnostics - Plinth provides a simple API for showing diagnostics results. The application has to implement a method for actually running the diagnostics and return the results as a list. Plinth then takes care of calling the diagnostics method and displaying the list in a formatted manner. - To implement the diagnostics method, method called diagnose() has to be available as <app>.diagnose(). It must return a list in which each item is the result of a test performed. The item itself is a two-tuple containing the display name of the test followed by the result as passed, failed or error. - - There are several helpers available to implement some of the common diagnostic tests. For our application we wish to implement a test to check whether the /ttrss URL is accessible. Since this is a commonly performed test, there is a helper method available and we have used it in the above code. The {host} tag replaced with various IP addresses, hostnames and domain names by the helper to produce different kinds of URLs and they are all tested. Results for all tests are returned which we then pass on to Plinth. - The user can trigger the diagnostics test by going to System -> Diagnostics page. This runs diagnostics for all the applications. If we want users to be able to run diagnostics specifically for this application, we can include a button for it in our template immediately after the application description. - -
-
- Logging - Sometimes we may feel the need to write some debug messages to the console and Plinth log file. Doing this in Plinth is just like doing this any other Python application. - - For more information see Python logging framework documentation. -
-
- Adding a License - Plinth is licensed under the GNU Affero General Public License Version 3 or later. FreedomBox UI applications, which run as modules under Plinth, also need to be under the same license or under a compatible license. The license of our application needs to clear for our application to be accepted by users and other developers. Let us add license headers to our application. - . -#]]> - The above header needs to be present in every file of the application. It is suitable for Python files. However, in template files, we need to modify it slightly. - . -# -{% endcomment %} - -...]]> -
-
- Internationalization - Every string message that is visible to the user must be localized to user's native language. For this to happen, our application needs to be internationalized. This requires marking the user visible messages for translation. Plinth applications use the Django's localization methods to make that happen. - - Notice that the page's title is wrapped in the _() method call. Let us do that for the menu item of the application too. - - Notice that in this case, we have used the ugettext_lazy and in the first case we have used the regular ugettext. This is because in the second case the gettext lookup is made once and reused for every user looking at the interface. These users may each have a different language set for their interface. Lookup made for one language should not be used for other users. The _lazy method provided by Django makes sure that the return value is an object that will actually be converted to string at the final moment when the string is being displayed. In the first case, the looked is made and string is returned immediately. - All of this is the usual way internationalization is done in Django. See Django internationalization and localization documentation for more information. -
-
- Coding standards - For readability and easy collaboration it is important to follow common coding standards. Plinth uses the Python coding standards and uses the pylint and flake8 tools to check if the there are any violations. Run these tools on our application and fix any errors and warnings. Better yet, integrate these tools into your favorite IDE for on-the-fly checking. - For the most part, the code we have written so far, is already compliant with the coding standards. This includes variable/method naming, indentation, document strings, comments, etc. One thing we have to add are the module documentation strings. Let us add those. In __init__.py add the top: - -
-
-
- Reference Guide - This section describes Plinth API that is most frequently used by application. Note that since Plinth is under development and has not yet declared a stable API, this API is subject to change. This is not usually a problem because all the Plinth applications currently reside in Plinth source repository itself and are updated when the API is updated. -
- Applications - These methods are optionally provided by the application and Plinth calls/uses them if they are present. -
- <application>.init() - Optional. This method is called by Plinth soon after all the applications are loaded. The init() call order guarantees that other applications that this application depends on will be initialized before this application is initialized. -
-
- <application>.diagnose() - Optional. Called when the user invokes system-wide diagnostics by visiting System -> Diagnositcs. This method must return an array of diagnostic results. Each diagnostic result must be a two-tuple with first element as a string that is shown to the user as name of the test and second element is the result of the test. It must be one of passed, failed, error. Example return value: - -
-
- <appliation>.depends - Optional. This module property must contain a list of all applications that this application depends on. The application is specified as string containing the full module load path. For example, plinth.modules.apps. -
-
- plinth.package.required(package_list, before_install=None, on_install=on_install) - Make sure that a set of Debian packages are installed before a view can be accessed. If the packages are not currently installed on the system, a special installation view is displayed showing the list of packages to be installed. If the user chooses to proceed, package installation will start and an installation progress screen will be shown. After completion of the installation process, the original view is shown. - The package_list must be an iterable containing the Debian package names as strings. If provided, the before_install callable is called just before the installation process starts. Similarly, on_install callable is called just after the package installation completes. -
-
-
- Actions - Plinth's web front does not directly change any aspect of the underlying operating system. Instead, it calls upon Actions, as shell commands. Actions live in /usr/share/plinth/actions directory. They require no interaction beyond passing command line arguments or taking sensitive arguments via stdin. They change the operation of the services and applications of the FreedomBox and nothing else. These actions are also directly usable by a skilled administrator. - The following methods are provided by Plinth to run actions and to implement them easily by reusing code for common tasks. -
- plinth.actions.run(action, options=None, input=None, async=False) - Run an action command present under the actions/ directory. This runs subprocess.Popen() after some checks. The action must be present in the actions/ directory. - options are a list of additional arguments to pass to the command. If input is given it must be bytearray containing the input to pass on to the executed action. If async is set to True, the method will return without waiting for the command to finish. -
-
- plinth.actions.superuser_run(action, options=None, input=None, async=False) - This is same as plinth.actions.run() except the command is run with superuser privelages. -
-
- plinth.action_utils - Several utilities to help with the implementation of actions and diagnostic tests are implemented in this module. Refer to the module source code for a list of these methods and their documentation. -
-
-
- Menus -
- plinth.cfg.main_menu - This is a reference to the global main menu. All menu entries in Plinth are descendents of this menu item. See Menu.add_item() and Menu.add_urlname() for adding items to this menu or its children. -
-
- plinth.menu.Menu.get(self, urlname, url_args=None, url_kwargs=None) - Return a child of this menu item. urlname must be the name of a URL as configured in Django. django.core.urlresolvers.reverse() is called before the lookup for child menu item is performed. url_args and url_kwargs are passed on to reverse(). -
-
- plinth.menu.Menu.add_item(self, label, icon, url, order=50) - Add a menu item as a child to the current menu item. label is the user visible string shown for the menu item. icon must be a glyphicon class from the Twitter Bootstrap library. url is the relative URL to which this menu item will take the user to. -
-
- plinth.menu.Menu.add_urlname(self, label, icon, urlname, order=50, url_args=None, url_kwargs=None) - Same as plinth.menu.Menu.add_item() but instead of URL as input it is the name of a URL as configured in Django. django.core.urlresolvers.reverse() is called before it is added to the parent menu item. url_args and url_kwargs are passed on to reverse(). -
-
-
- Services -
- plinth.service.Service.__init__(self, service_id, name, ports=None, is_external=False, enabled=True) - Create a new Service object to notify all applications about the existence and status of a given application. service_id is a unique identifier for this application. name is a display name of this application that is shown by other applications such as on the firewall status page. ports is a list of names recognized by firewalld when enabling or disabling firewalld services. If is_external is true, the ports for this service are accessible from external interfaces, that is, from the Internet. Otherwise, the service is only available for client connected via LAN. enabled is the current state of the application. -
-
- plinth.service.Service.is_enabled(self) - Return whether the service is currently enabled. -
-
- plinth.service.Service.notify_enabled(self, sender, enabled) - Notify other applications about the change of status of this application. sender object should identify which application made the change. enabled is a boolean that signifies whether the application is enabled (= True) or disabled (= False). - This is typically caught by the firewall application to enable or disable the ports corresponding to an application. -
-
-
+ The FreedomBox Developer Manual provides a step by step tutorial for writing apps for FreedomBox and an API reference. It is available from docs.freedombox.org.
Cacharreo @@ -12852,7 +12495,7 @@ FreedomBox app to configure Tiny Tiny RSS. - Home Page + Página Principal @@ -12862,7 +12505,7 @@ FreedomBox app to configure Tiny Tiny RSS. - Apps Page + Página de Apps @@ -12872,7 +12515,7 @@ FreedomBox app to configure Tiny Tiny RSS. - System Page + Página del Sistema @@ -12884,7 +12527,7 @@ FreedomBox app to configure Tiny Tiny RSS. - Enabling Tor Hidden Services + Habilitar Servicios or Onion @@ -12894,7 +12537,7 @@ FreedomBox app to configure Tiny Tiny RSS. - Newsfeed from anywhere + Newsfeed desde cualquier lugar @@ -12904,7 +12547,7 @@ FreedomBox app to configure Tiny Tiny RSS. - Email Client + Cliente Email @@ -12916,7 +12559,7 @@ FreedomBox app to configure Tiny Tiny RSS. - Manual Pages + Páginas Man @@ -12926,7 +12569,7 @@ FreedomBox app to configure Tiny Tiny RSS. - About Page + Página Acerca de From cb176d2a5dbeaebac0fc9dbbdc8d16288fac3f93 Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Mon, 2 Dec 2019 18:01:33 -0500 Subject: [PATCH 58/58] Release v19.22 to unstable Signed-off-by: James Valleroy --- debian/changelog | 82 ++++++++++++++++++++++++++++++++++++++++++++++ plinth/__init__.py | 2 +- 2 files changed, 83 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 87fba44ef..e259adaae 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,85 @@ +plinth (19.22) unstable; urgency=medium + + [ Matt Conroy ] + * pagekite: Get rid of tabs in the configuration page + * openvpn: manual link points to incorrect page + + [ Joseph Nuthalapati ] + * pagekite: Fix functional tests + * pagekite: Show existing services only if there are any + * pagekite: Make Custom Services look like it's under Configuration + * pagekite: Use the new app toggle button + * openvpn: Add client apps + + [ Thomas Vincent ] + * Translated using Weblate (French) + + [ Fred ] + * Translated using Weblate (French) + * Translated using Weblate (French) + + [ Alice Kile ] + * backups: fix title not appearing + * diagnostics: don't run on disabled modules + * apps: Remove link to webapps in app descriptions + * Fix error with app toggle input + * templates: Add toolbar for apps in app.html + * toolbar: Move diagnostics button into dropdown menu + + [ nautilusx ] + * Translated using Weblate (German) + + [ Michael Breidenbach ] + * Translated using Weblate (German) + * Translated using Weblate (Swedish) + + [ Veiko Aasa ] + * ssh: fix Avahi SFTP service file + * diagnostics: fix IPv6 failures + * matrix-synapse: Update requirement from buster-backports + * samba: Users can enable a guest share + * samba: user can select devices for sharing + * samba: fixes and improvements + * samba: fixes and improvements + * app: fix javascript constant redeclaration error + * samba: Fix javascript constant redeclaration error + + [ James Valleroy ] + * debian: Update German debconf translation (Closes: #945387) + - Thanks to Helge Kreutzmann for the patch. + * samba: Add acl to managed_packages + * samba: Fix restore command + * samba: Move urls under apps/ + * functional_tests: Add basic samba tests + * samba: Use register_group instead of create_group + * samba: Only show shortcut to users in freedombox-share group + * samba: Keep create_group in setup + * diagnostics: Use a distinct class for Run Diagnostics button on this page + * locale: Update translation strings + * doc: Fetch latest manual + + [ Sunil Mohan Adapa ] + * diagnostics: Use app.html instead of simple_app.html + * firewall: Use app.html instead of simple_app.html + * letsencrypt: Use app.html instead of simple_app.html + * monkeysphere: Use app.html instead of simple_app.html + * names: Use app.html instead of simple_app.html + * power: Use app.html instead of simple_app.html + * openvpn: Use app.html instead of simple_app.html + * tor: Use app.html instead of simple_app.html + * ikiwiki: Move the create button to manage section + * gitweb: Move create button into manage section + * networks: Move actions button into connection section + * templates: Remove the now unused simple_app.html + * users: Move create button into users section + * minetest: Minor cosmetic fix + * templates: Make internal zone and port forwarding info override-able + * toolbar: Make diagnostics button looks like other drop down items + * toolbar: Align extra actions drop down button to the right + * toolbar: Rewamp toolbar code for simplicity and to fix issues + + -- James Valleroy Mon, 02 Dec 2019 18:00:45 -0500 + plinth (19.21) unstable; urgency=medium [ Veiko Aasa ] diff --git a/plinth/__init__.py b/plinth/__init__.py index 4758e250d..d58f4b90a 100644 --- a/plinth/__init__.py +++ b/plinth/__init__.py @@ -18,4 +18,4 @@ Package init file. """ -__version__ = '19.21' +__version__ = '19.22'